diff options
Diffstat (limited to 'media/libstagefright/codecs/common/include/voAudio.h')
-rw-r--r-- | media/libstagefright/codecs/common/include/voAudio.h | 346 |
1 files changed, 173 insertions, 173 deletions
diff --git a/media/libstagefright/codecs/common/include/voAudio.h b/media/libstagefright/codecs/common/include/voAudio.h index 64c9dfb..21d0cf6 100644 --- a/media/libstagefright/codecs/common/include/voAudio.h +++ b/media/libstagefright/codecs/common/include/voAudio.h @@ -1,173 +1,173 @@ -/*
- ** Copyright 2003-2010, VisualOn, Inc.
- **
- ** Licensed under the Apache License, Version 2.0 (the "License");
- ** you may not use this file except in compliance with the License.
- ** You may obtain a copy of the License at
- **
- ** http://www.apache.org/licenses/LICENSE-2.0
- **
- ** Unless required by applicable law or agreed to in writing, software
- ** distributed under the License is distributed on an "AS IS" BASIS,
- ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ** See the License for the specific language governing permissions and
- ** limitations under the License.
- */
-/*******************************************************************************
- File: voAudio.h
-
- Content: Audio types and functions
-
-*******************************************************************************/
-
-#ifndef __voAudio_H__
-#define __voAudio_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include "voIndex.h"
-#include "voMem.h"
-
-#define VO_PID_AUDIO_BASE 0x42000000 /*!< The base param ID for AUDIO codec */
-#define VO_PID_AUDIO_FORMAT (VO_PID_AUDIO_BASE | 0X0001) /*!< The format data of audio in track */
-#define VO_PID_AUDIO_SAMPLEREATE (VO_PID_AUDIO_BASE | 0X0002) /*!< The sample rate of audio */
-#define VO_PID_AUDIO_CHANNELS (VO_PID_AUDIO_BASE | 0X0003) /*!< The channel of audio */
-#define VO_PID_AUDIO_BITRATE (VO_PID_AUDIO_BASE | 0X0004) /*!< The bit rate of audio */
-#define VO_PID_AUDIO_CHANNELMODE (VO_PID_AUDIO_BASE | 0X0005) /*!< The channel mode of audio */
-
-#define VO_ERR_AUDIO_BASE 0x82000000
-#define VO_ERR_AUDIO_UNSCHANNEL VO_ERR_AUDIO_BASE | 0x0001
-#define VO_ERR_AUDIO_UNSSAMPLERATE VO_ERR_AUDIO_BASE | 0x0002
-#define VO_ERR_AUDIO_UNSFEATURE VO_ERR_AUDIO_BASE | 0x0003
-
-
-/**
- *Enumeration used to define the possible audio coding formats.
- */
-typedef enum VO_AUDIO_CODINGTYPE {
- VO_AUDIO_CodingUnused = 0, /**< Placeholder value when coding is N/A */
- VO_AUDIO_CodingPCM, /**< Any variant of PCM coding */
- VO_AUDIO_CodingADPCM, /**< Any variant of ADPCM encoded data */
- VO_AUDIO_CodingAMRNB, /**< Any variant of AMR encoded data */
- VO_AUDIO_CodingAMRWB, /**< Any variant of AMR encoded data */
- VO_AUDIO_CodingAMRWBP, /**< Any variant of AMR encoded data */
- VO_AUDIO_CodingQCELP13, /**< Any variant of QCELP 13kbps encoded data */
- VO_AUDIO_CodingEVRC, /**< Any variant of EVRC encoded data */
- VO_AUDIO_CodingAAC, /**< Any variant of AAC encoded data, 0xA106 - ISO/MPEG-4 AAC, 0xFF - AAC */
- VO_AUDIO_CodingAC3, /**< Any variant of AC3 encoded data */
- VO_AUDIO_CodingFLAC, /**< Any variant of FLAC encoded data */
- VO_AUDIO_CodingMP1, /**< Any variant of MP1 encoded data */
- VO_AUDIO_CodingMP3, /**< Any variant of MP3 encoded data */
- VO_AUDIO_CodingOGG, /**< Any variant of OGG encoded data */
- VO_AUDIO_CodingWMA, /**< Any variant of WMA encoded data */
- VO_AUDIO_CodingRA, /**< Any variant of RA encoded data */
- VO_AUDIO_CodingMIDI, /**< Any variant of MIDI encoded data */
- VO_AUDIO_CodingDRA, /**< Any variant of dra encoded data */
- VO_AUDIO_CodingG729, /**< Any variant of dra encoded data */
- VO_AUDIO_Coding_MAX = VO_MAX_ENUM_VALUE
-} VO_AUDIO_CODINGTYPE;
-
-/*!
-* the channel type value
-*/
-typedef enum {
- VO_CHANNEL_CENTER = 1, /*!<center channel*/
- VO_CHANNEL_FRONT_LEFT = 1<<1, /*!<front left channel*/
- VO_CHANNEL_FRONT_RIGHT = 1<<2, /*!<front right channel*/
- VO_CHANNEL_SIDE_LEFT = 1<<3, /*!<side left channel*/
- VO_CHANNEL_SIDE_RIGHT = 1<<4, /*!<side right channel*/
- VO_CHANNEL_BACK_LEFT = 1<<5, /*!<back left channel*/
- VO_CHANNEL_BACK_RIGHT = 1<<6, /*!<back right channel*/
- VO_CHANNEL_BACK_CENTER = 1<<7, /*!<back center channel*/
- VO_CHANNEL_LFE_BASS = 1<<8, /*!<low-frequency effects bass channel*/
- VO_CHANNEL_ALL = 0xffff,/*!<[default] include all channels */
- VO_CHANNEL_MAX = VO_MAX_ENUM_VALUE
-} VO_AUDIO_CHANNELTYPE;
-
-/**
- * General audio format info
- */
-typedef struct
-{
- VO_S32 SampleRate; /*!< Sample rate */
- VO_S32 Channels; /*!< Channel count */
- VO_S32 SampleBits; /*!< Bits per sample */
-} VO_AUDIO_FORMAT;
-
-/**
- * General audio output info
- */
-typedef struct
-{
- VO_AUDIO_FORMAT Format; /*!< Sample rate */
- VO_U32 InputUsed; /*!< Channel count */
- VO_U32 Resever; /*!< Resevered */
-} VO_AUDIO_OUTPUTINFO;
-
-/**
- * General audio codec function set
- */
-typedef struct VO_AUDIO_CODECAPI
-{
- /**
- * Init the audio codec module and return codec handle
- * \param phCodec [OUT] Return the video codec handle
- * \param vType [IN] The codec type if the module support multi codec.
- * \param pUserData [IN] The init param. It is either a memory operator or an allocated memory
- * \retval VO_ERR_NONE Succeeded.
- */
- VO_U32 (VO_API * Init) (VO_HANDLE * phCodec, VO_AUDIO_CODINGTYPE vType, VO_CODEC_INIT_USERDATA * pUserData );
-
- /**
- * Set input audio data.
- * \param hCodec [IN]] The codec handle which was created by Init function.
- * \param pInput [IN] The input buffer param.
- * \retval VO_ERR_NONE Succeeded.
- */
- VO_U32 (VO_API * SetInputData) (VO_HANDLE hCodec, VO_CODECBUFFER * pInput);
-
- /**
- * Get the outut audio data
- * \param hCodec [IN]] The codec handle which was created by Init function.
- * \param pOutBuffer [OUT] The output audio data
- * \param pOutInfo [OUT] The codec fills audio format and the input data size used in current call.
- * pOutInfo->InputUsed is total used input data size in byte.
- * \retval VO_ERR_NONE Succeeded.
- * VO_ERR_INPUT_BUFFER_SMALL. The input was finished or the input data was not enought. Continue to input
- * data before next call.
- */
- VO_U32 (VO_API * GetOutputData) (VO_HANDLE hCodec, VO_CODECBUFFER * pOutBuffer, VO_AUDIO_OUTPUTINFO * pOutInfo);
-
- /**
- * Set the parameter for the specified param ID.
- * \param hCodec [IN]] The codec handle which was created by Init function.
- * \param uParamID [IN] The param ID.
- * \param pData [IN] The param value.
- * \retval VO_ERR_NONE Succeeded.
- */
- VO_U32 (VO_API * SetParam) (VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData);
-
- /**
- * Get the parameter for the specified param ID.
- * \param hCodec [IN]] The codec handle which was created by Init function.
- * \param uParamID [IN] The param ID.
- * \param pData [IN] The param value.
- * \retval VO_ERR_NONE Succeeded.
- */
- VO_U32 (VO_API * GetParam) (VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData);
-
- /**
- * Uninit the Codec.
- * \param hCodec [IN]] The codec handle which was created by Init function.
- * \retval VO_ERR_NONE Succeeded.
- */
- VO_U32 (VO_API * Uninit) (VO_HANDLE hCodec);
-} VO_AUDIO_CODECAPI;
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif // __voAudio_H__
+/* + ** Copyright 2003-2010, VisualOn, Inc. + ** + ** Licensed under the Apache License, Version 2.0 (the "License"); + ** you may not use this file except in compliance with the License. + ** You may obtain a copy of the License at + ** + ** http://www.apache.org/licenses/LICENSE-2.0 + ** + ** Unless required by applicable law or agreed to in writing, software + ** distributed under the License is distributed on an "AS IS" BASIS, + ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ** See the License for the specific language governing permissions and + ** limitations under the License. + */ +/******************************************************************************* + File: voAudio.h + + Content: Audio types and functions + +*******************************************************************************/ + +#ifndef __voAudio_H__ +#define __voAudio_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#include "voIndex.h" +#include "voMem.h" + +#define VO_PID_AUDIO_BASE 0x42000000 /*!< The base param ID for AUDIO codec */ +#define VO_PID_AUDIO_FORMAT (VO_PID_AUDIO_BASE | 0X0001) /*!< The format data of audio in track */ +#define VO_PID_AUDIO_SAMPLEREATE (VO_PID_AUDIO_BASE | 0X0002) /*!< The sample rate of audio */ +#define VO_PID_AUDIO_CHANNELS (VO_PID_AUDIO_BASE | 0X0003) /*!< The channel of audio */ +#define VO_PID_AUDIO_BITRATE (VO_PID_AUDIO_BASE | 0X0004) /*!< The bit rate of audio */ +#define VO_PID_AUDIO_CHANNELMODE (VO_PID_AUDIO_BASE | 0X0005) /*!< The channel mode of audio */ + +#define VO_ERR_AUDIO_BASE 0x82000000 +#define VO_ERR_AUDIO_UNSCHANNEL VO_ERR_AUDIO_BASE | 0x0001 +#define VO_ERR_AUDIO_UNSSAMPLERATE VO_ERR_AUDIO_BASE | 0x0002 +#define VO_ERR_AUDIO_UNSFEATURE VO_ERR_AUDIO_BASE | 0x0003 + + +/** + *Enumeration used to define the possible audio coding formats. + */ +typedef enum VO_AUDIO_CODINGTYPE { + VO_AUDIO_CodingUnused = 0, /**< Placeholder value when coding is N/A */ + VO_AUDIO_CodingPCM, /**< Any variant of PCM coding */ + VO_AUDIO_CodingADPCM, /**< Any variant of ADPCM encoded data */ + VO_AUDIO_CodingAMRNB, /**< Any variant of AMR encoded data */ + VO_AUDIO_CodingAMRWB, /**< Any variant of AMR encoded data */ + VO_AUDIO_CodingAMRWBP, /**< Any variant of AMR encoded data */ + VO_AUDIO_CodingQCELP13, /**< Any variant of QCELP 13kbps encoded data */ + VO_AUDIO_CodingEVRC, /**< Any variant of EVRC encoded data */ + VO_AUDIO_CodingAAC, /**< Any variant of AAC encoded data, 0xA106 - ISO/MPEG-4 AAC, 0xFF - AAC */ + VO_AUDIO_CodingAC3, /**< Any variant of AC3 encoded data */ + VO_AUDIO_CodingFLAC, /**< Any variant of FLAC encoded data */ + VO_AUDIO_CodingMP1, /**< Any variant of MP1 encoded data */ + VO_AUDIO_CodingMP3, /**< Any variant of MP3 encoded data */ + VO_AUDIO_CodingOGG, /**< Any variant of OGG encoded data */ + VO_AUDIO_CodingWMA, /**< Any variant of WMA encoded data */ + VO_AUDIO_CodingRA, /**< Any variant of RA encoded data */ + VO_AUDIO_CodingMIDI, /**< Any variant of MIDI encoded data */ + VO_AUDIO_CodingDRA, /**< Any variant of dra encoded data */ + VO_AUDIO_CodingG729, /**< Any variant of dra encoded data */ + VO_AUDIO_Coding_MAX = VO_MAX_ENUM_VALUE +} VO_AUDIO_CODINGTYPE; + +/*! +* the channel type value +*/ +typedef enum { + VO_CHANNEL_CENTER = 1, /*!<center channel*/ + VO_CHANNEL_FRONT_LEFT = 1<<1, /*!<front left channel*/ + VO_CHANNEL_FRONT_RIGHT = 1<<2, /*!<front right channel*/ + VO_CHANNEL_SIDE_LEFT = 1<<3, /*!<side left channel*/ + VO_CHANNEL_SIDE_RIGHT = 1<<4, /*!<side right channel*/ + VO_CHANNEL_BACK_LEFT = 1<<5, /*!<back left channel*/ + VO_CHANNEL_BACK_RIGHT = 1<<6, /*!<back right channel*/ + VO_CHANNEL_BACK_CENTER = 1<<7, /*!<back center channel*/ + VO_CHANNEL_LFE_BASS = 1<<8, /*!<low-frequency effects bass channel*/ + VO_CHANNEL_ALL = 0xffff,/*!<[default] include all channels */ + VO_CHANNEL_MAX = VO_MAX_ENUM_VALUE +} VO_AUDIO_CHANNELTYPE; + +/** + * General audio format info + */ +typedef struct +{ + VO_S32 SampleRate; /*!< Sample rate */ + VO_S32 Channels; /*!< Channel count */ + VO_S32 SampleBits; /*!< Bits per sample */ +} VO_AUDIO_FORMAT; + +/** + * General audio output info + */ +typedef struct +{ + VO_AUDIO_FORMAT Format; /*!< Sample rate */ + VO_U32 InputUsed; /*!< Channel count */ + VO_U32 Resever; /*!< Resevered */ +} VO_AUDIO_OUTPUTINFO; + +/** + * General audio codec function set + */ +typedef struct VO_AUDIO_CODECAPI +{ + /** + * Init the audio codec module and return codec handle + * \param phCodec [OUT] Return the video codec handle + * \param vType [IN] The codec type if the module support multi codec. + * \param pUserData [IN] The init param. It is either a memory operator or an allocated memory + * \retval VO_ERR_NONE Succeeded. + */ + VO_U32 (VO_API * Init) (VO_HANDLE * phCodec, VO_AUDIO_CODINGTYPE vType, VO_CODEC_INIT_USERDATA * pUserData ); + + /** + * Set input audio data. + * \param hCodec [IN]] The codec handle which was created by Init function. + * \param pInput [IN] The input buffer param. + * \retval VO_ERR_NONE Succeeded. + */ + VO_U32 (VO_API * SetInputData) (VO_HANDLE hCodec, VO_CODECBUFFER * pInput); + + /** + * Get the outut audio data + * \param hCodec [IN]] The codec handle which was created by Init function. + * \param pOutBuffer [OUT] The output audio data + * \param pOutInfo [OUT] The codec fills audio format and the input data size used in current call. + * pOutInfo->InputUsed is total used input data size in byte. + * \retval VO_ERR_NONE Succeeded. + * VO_ERR_INPUT_BUFFER_SMALL. The input was finished or the input data was not enought. Continue to input + * data before next call. + */ + VO_U32 (VO_API * GetOutputData) (VO_HANDLE hCodec, VO_CODECBUFFER * pOutBuffer, VO_AUDIO_OUTPUTINFO * pOutInfo); + + /** + * Set the parameter for the specified param ID. + * \param hCodec [IN]] The codec handle which was created by Init function. + * \param uParamID [IN] The param ID. + * \param pData [IN] The param value. + * \retval VO_ERR_NONE Succeeded. + */ + VO_U32 (VO_API * SetParam) (VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData); + + /** + * Get the parameter for the specified param ID. + * \param hCodec [IN]] The codec handle which was created by Init function. + * \param uParamID [IN] The param ID. + * \param pData [IN] The param value. + * \retval VO_ERR_NONE Succeeded. + */ + VO_U32 (VO_API * GetParam) (VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData); + + /** + * Uninit the Codec. + * \param hCodec [IN]] The codec handle which was created by Init function. + * \retval VO_ERR_NONE Succeeded. + */ + VO_U32 (VO_API * Uninit) (VO_HANDLE hCodec); +} VO_AUDIO_CODECAPI; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif // __voAudio_H__ |