diff -r 000000000000 -r bb4b476bbb96 Audio Signal Processing/audio_codecs_chipset_api.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Audio Signal Processing/audio_codecs_chipset_api.h Fri Jun 26 15:44:04 2009 +0100 @@ -0,0 +1,226 @@ +/* + audio_codecs_chipset_api.h + + Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + All rights reserved. + + This program and the accompanying materials are made available + under the terms of the Eclipse Public License v1.0 which accompanies + this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Initial Contributors: + Nokia Corporation - initial contribution. + + Contributors: +*/ + +#ifndef AUDIO_CODECS_CHIPSET_API_H +#define AUDIO_CODECS_CHIPSET_API_H + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include + +/** AMR-WB+ related **/ + +typedef enum OMX_AUDIOCODINGEXTTYPE { + OMX_AudioCodingExtStart = 0x6F000000, /* = OMX_AUDIO_CodingExtensions */ + /* Add Khronos approved extended components indexes here */ + OMX_AUDIO_CodingAMRWBPLUS, + OMX_AudioCodingExtMax = 0x6FFFFFFF +} OMX_AUDIOCODINGEXTTYPE; + +/** AMR Wideband Plus Extensions */ +/** AMR Frame format Extension */ +typedef enum OMX_AUDIO_AMREXT_FRAMEFORMATTYPE { + OMX_AUDIO_AMRFrameFormatConformance = 0, /**< Frame Format is AMR Conformance + (Standard) Format */ + OMX_AUDIO_AMRFrameFormatIF1, /**< Frame Format is AMR Interface + Format 1 */ + OMX_AUDIO_AMRFrameFormatIF2, /**< Frame Format is AMR Interface + Format 2*/ + OMX_AUDIO_AMRFrameFormatFSF, /**< Frame Format is AMR File Storage + Format */ + OMX_AUDIO_AMRFrameFormatRTPPayload, /**< Frame Format is AMR Real-Time + Transport Protocol Payload Format */ + OMX_AUDIO_AMRFrameFormatITU, /**< Frame Format is ITU Format (added at Motorola request) */ + OMX_AUDIO_AMRWideBandPlusFrameFormat, /**< 3GPP TS 26.290, clause 8.2 */ + OMX_AUDIO_AMRFrameFormatMax = 0x7FFFFFFF +} OMX_AUDIO_AMREXT_FRAMEFORMATTYPE; + +typedef enum OMX_AUDIO_AMRDTXMODETYPE { + OMX_AUDIO_AMRDTXModeUsed = 0, /**< DTX used or unused */ + OMX_AUDIO_AMRDTXModeOnVAD1, /**< Use Type 1 VAD */ + OMX_AUDIO_AMRDTXModeOnVAD2, /**< Use Type 2 VAD */ + OMX_AUDIO_AMRDTXModeOnAuto, /**< VAD type automatic */ + OMX_AUDIO_AMRDTXModeAsEFR, /**< DTX frames as EFR */ + OMX_AUDIO_AMRDTXModeMax = 0x7FFFFFFF + + } OMX_AUDIO_AMRDTXMODETYPE; + + + +/** AMR band mode extension */ +typedef enum OMX_AUDIO_AMREXT_BANDMODETYPE { + OMX_AUDIO_AMRBandModeUnused = 0, /**< AMRNB Mode unused / unknown */ + OMX_AUDIO_AMRBandModeNB0, /**< AMRNB Mode 0 = 4750 bps */ + OMX_AUDIO_AMRBandModeNB1, /**< AMRNB Mode 1 = 5150 bps */ + OMX_AUDIO_AMRBandModeNB2, /**< AMRNB Mode 2 = 5900 bps */ + OMX_AUDIO_AMRBandModeNB3, /**< AMRNB Mode 3 = 6700 bps */ + OMX_AUDIO_AMRBandModeNB4, /**< AMRNB Mode 4 = 7400 bps */ + OMX_AUDIO_AMRBandModeNB5, /**< AMRNB Mode 5 = 7950 bps */ + OMX_AUDIO_AMRBandModeNB6, /**< AMRNB Mode 6 = 10200 bps */ + OMX_AUDIO_AMRBandModeNB7, /**< AMRNB Mode 7 = 12200 bps */ + OMX_AUDIO_AMRBandModeWB0, /**< AMRWB Mode 0 = 6600 bps */ + OMX_AUDIO_AMRBandModeWB1, /**< AMRWB Mode 1 = 8850 bps */ + OMX_AUDIO_AMRBandModeWB2, /**< AMRWB Mode 2 = 12650 bps */ + OMX_AUDIO_AMRBandModeWB3, /**< AMRWB Mode 3 = 14250 bps */ + OMX_AUDIO_AMRBandModeWB4, /**< AMRWB Mode 4 = 15850 bps */ + OMX_AUDIO_AMRBandModeWB5, /**< AMRWB Mode 5 = 18250 bps */ + OMX_AUDIO_AMRBandModeWB6, /**< AMRWB Mode 6 = 19850 bps */ + OMX_AUDIO_AMRBandModeWB7, /**< AMRWB Mode 7 = 23050 bps */ + OMX_AUDIO_AMRBandModeWB8, /**< AMRWB Mode 8 = 23850 bps */ + OMX_AUDIO_AMRBandModeWP0, /**< AMR-WB+ 13.6 kbps (mono, 16/24kHz output) */ + OMX_AUDIO_AMRBandModeWP1, /**< AMR-WB+ 18 kbps (stereo, 16/24kHz output) */ + OMX_AUDIO_AMRBandModeWP2, /**< AMR-WB+ 24 kbps (mono, 16/24kHz output) */ + OMX_AUDIO_AMRBandModeWP3, /**< AMR-WB+ 24 kbps (stereo, 16/24kHz output) */ + OMX_AUDIO_AMRBandModeWP4, /**< AMR-WB+ 10.4 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP5, /**< AMR-WB+ 12.0 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP6, /**< AMR-WB+ 13.6 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP7, /**< AMR-WB+ 15.2 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP8, /**< AMR-WB+ 16.8 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP9, /**< AMR-WB+ 19.2 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP10, /**< AMR-WB+ 20.8 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP11, /**< AMR-WB+ 24.0 kbps (mono) */ + OMX_AUDIO_AMRBandModeWP12, /**< AMR-WB+ 12.4 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP13, /**< AMR-WB+ 12.8 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP14, /**< AMR-WB+ 14.0 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP15, /**< AMR-WB+ 14.4 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP16, /**< AMR-WB+ 15.2 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP17, /**< AMR-WB+ 16.0 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP18, /**< AMR-WB+ 16.4 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP19, /**< AMR-WB+ 17.2 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP20, /**< AMR-WB+ 18.0 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP21, /**< AMR-WB+ 18.4 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP22, /**< AMR-WB+ 19.2 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP23, /**< AMR-WB+ 20.0 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP24, /**< AMR-WB+ 20.4 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP25, /**< AMR-WB+ 21.2 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP26, /**< AMR-WB+ 22.4 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP27, /**< AMR-WB+ 23.2 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP28, /**< AMR-WB+ 24.0 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP29, /**< AMR-WB+ 25.6 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP30, /**< AMR-WB+ 26.0 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP31, /**< AMR-WB+ 26.8 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP32, /**< AMR-WB+ 28.8 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP33, /**< AMR-WB+ 29.6 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP34, /**< AMR-WB+ 30.0 kbps (stereo) */ + OMX_AUDIO_AMRBandModeWP35, /**< AMR-WB+ 32.0 kbps (stereo) */ + + OMX_AUDIO_AMRBandModeMax = 0x7FFFFFFF /**< 5.15 kbps */ +} OMX_AUDIO_AMREXT_BANDMODETYPE; + + +/** AMR params extension */ + + +typedef struct OMX_AUDIO_PARAM_AMREXT_TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate read only field */ + OMX_AUDIO_AMREXT_BANDMODETYPE eAMRBandMode; /**< AMR Band Mode enumeration */ + OMX_AUDIO_AMRDTXMODETYPE eAMRDTXMode; /**< AMR DTX Mode enumeration */ + OMX_AUDIO_AMREXT_FRAMEFORMATTYPE eAMRFrameFormat; /**< AMR frame format enumeration */ + OMX_U32 nAMRWideBandPlusISF; /**< AMR-WB+ internal Sampling Frequency Factor expressed in percentage */ + OMX_BOOL bAMRWideBandPlusLC; /**< Activates/deactivates AMR-WB+ low complexity Extended AMR Wide Band encoding mode */ + OMX_BOOL bAMRWideBandPlusLimiter /**< Activates/deactivates the limiter option of the decoder */ + +} OMX_AUDIO_PARAM_AMREXT_TYPE; + +/** End of AMR-WB+ related **/ + +/** WMA Pro related **/ + +/** WMA Pro params **/ + +typedef enum OMX_AUDIO_WMAPROFORMATTYPE { + OMX_AUDIO_WMAPROFormatUnused = 0, /**< AMRNB Mode unused / unknown */ + OMX_AUDIO_WMAPROFormat9, + OMX_AUDIO_WMAPROFormat10, + OMX_AUDIO_WMAPROFormatMax = 0x7FFFFFFF +} OMX_AUDIO_WMAPROFORMATTYPE; + +typedef enum OMX_AUDIO_WMAPROPROFILETYPE { + OMX_AUDIO_WMAPROProfileUnused = 0, /**< AMRNB Mode unused / unknown */ + OMX_AUDIO_WMAPROProfileM0, + OMX_AUDIO_WMAPROProfileM1, + OMX_AUDIO_WMAPROProfileM2, + OMX_AUDIO_WMAPROProfileM3, + OMX_AUDIO_WMAPROProfileMax = 0x7FFFFFFF +} OMX_AUDIO_WMAPROPROFILETYPE; + +typedef struct OMX_AUDIO_PARAM_WMAPROTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U16 nChannels; + OMX_U32 nBitRate; + OMX_AUDIO_WMAPROFORMATTYPE eFormat; + OMX_AUDIO_WMAPROPROFILETYPE eProfile; + OMX_U32 nSamplingRate; + OMX_U32 nBlockAlign; + OMX_U32 nSuperBlockAlign; + OMX_U32 nEncodeOptions; + OMX_U32 nAdvancedEncodeOptions; + OMX_U32 nAdvancedEncodeOptions2; + OMX_U32 nChannelMask; +} OMX_AUDIO_PARAM_WMAPROTYPE; + +/** End of WMA Pro related **/ + +/** iLBC related **/ +typedef struct OMX_AUDIO_PARAM_ILBCTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nFrameLength; + OMX_BOOL bIsDTXCNGSupported; + OMX_BOOL bDTXCNGSelected; + OMX_BOOL bPLCSelected; + } OMX_AUDIO_PARAM_ILBCTYPE; + +/** End of iLBC related **/ + +/** G711 related **/ +typedef struct OMX_AUDIO_PARAM_G711TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bIsDTXCNGSupported; + OMX_BOOL bIsPLCSupported; + OMX_BOOL bDTXCNGEnabled; + OMX_BOOL bPLCEnabled; + OMX_U32 nFrameLength; + } OMX_AUDIO_PARAM_G711TYPE; + +/** End of G711 related **/ + + +/** End of Dummy component **/ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif \ No newline at end of file