--- /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 <OMX_Audio.h>
+
+/** 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