Audio Signal Processing/audio_codecs_chipset_api.h
changeset 0 bb4b476bbb96
child 2 ea09f30a96a5
equal deleted inserted replaced
-1:000000000000 0:bb4b476bbb96
       
     1 /*
       
     2   audio_codecs_chipset_api.h
       
     3 
       
     4   Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     5   All rights reserved.
       
     6 
       
     7   This program and the accompanying materials are made available 
       
     8   under the terms of the Eclipse Public License v1.0 which accompanies 
       
     9   this distribution, and is available at 
       
    10   http://www.eclipse.org/legal/epl-v10.html
       
    11 
       
    12   Initial Contributors:
       
    13   Nokia Corporation - initial contribution.
       
    14 
       
    15   Contributors:
       
    16 */
       
    17 
       
    18 #ifndef AUDIO_CODECS_CHIPSET_API_H
       
    19 #define AUDIO_CODECS_CHIPSET_API_H
       
    20 
       
    21 #ifdef __cplusplus
       
    22 extern "C" {
       
    23 #endif /* __cplusplus */
       
    24 
       
    25 
       
    26 /* Each OMX header must include all required header files to allow the
       
    27  *  header to compile without errors.  The includes below are required
       
    28  *  for this header file to compile successfully 
       
    29  */
       
    30 
       
    31 #include <OMX_Audio.h>
       
    32 
       
    33 /** AMR-WB+ related **/
       
    34 
       
    35 typedef enum OMX_AUDIOCODINGEXTTYPE {
       
    36     OMX_AudioCodingExtStart = 0x6F000000,    /* =  OMX_AUDIO_CodingExtensions */
       
    37     /* Add Khronos approved extended components indexes here */
       
    38     OMX_AUDIO_CodingAMRWBPLUS,
       
    39     OMX_AudioCodingExtMax = 0x6FFFFFFF
       
    40 } OMX_AUDIOCODINGEXTTYPE;
       
    41 
       
    42 /** AMR Wideband Plus Extensions */
       
    43 /** AMR Frame format Extension */ 
       
    44 typedef enum OMX_AUDIO_AMREXT_FRAMEFORMATTYPE { 
       
    45     OMX_AUDIO_AMRFrameFormatConformance = 0,  /**< Frame Format is AMR Conformance 
       
    46                                                    (Standard) Format */ 
       
    47     OMX_AUDIO_AMRFrameFormatIF1,              /**< Frame Format is AMR Interface 
       
    48                                                    Format 1 */ 
       
    49     OMX_AUDIO_AMRFrameFormatIF2,              /**< Frame Format is AMR Interface 
       
    50                                                    Format 2*/ 
       
    51     OMX_AUDIO_AMRFrameFormatFSF,              /**< Frame Format is AMR File Storage 
       
    52                                                    Format */ 
       
    53     OMX_AUDIO_AMRFrameFormatRTPPayload,       /**< Frame Format is AMR Real-Time 
       
    54                                                    Transport Protocol Payload Format */ 
       
    55     OMX_AUDIO_AMRFrameFormatITU,              /**< Frame Format is ITU Format (added at Motorola request) */ 
       
    56     OMX_AUDIO_AMRWideBandPlusFrameFormat,     /**< 3GPP TS 26.290, clause 8.2 */
       
    57     OMX_AUDIO_AMRFrameFormatMax = 0x7FFFFFFF 
       
    58 } OMX_AUDIO_AMREXT_FRAMEFORMATTYPE; 
       
    59 
       
    60 typedef enum OMX_AUDIO_AMRDTXMODETYPE { 
       
    61     OMX_AUDIO_AMRDTXModeUsed = 0,  /**< DTX used or unused */ 
       
    62     OMX_AUDIO_AMRDTXModeOnVAD1,    /**< Use Type 1 VAD */ 
       
    63     OMX_AUDIO_AMRDTXModeOnVAD2,    /**< Use Type 2 VAD */
       
    64     OMX_AUDIO_AMRDTXModeOnAuto,    /**< VAD type automatic */
       
    65     OMX_AUDIO_AMRDTXModeAsEFR,     /**< DTX frames as EFR */
       
    66     OMX_AUDIO_AMRDTXModeMax = 0x7FFFFFFF 
       
    67 
       
    68  } OMX_AUDIO_AMRDTXMODETYPE; 
       
    69 
       
    70 
       
    71 
       
    72 /** AMR band mode extension */
       
    73 typedef enum OMX_AUDIO_AMREXT_BANDMODETYPE {
       
    74     OMX_AUDIO_AMRBandModeUnused = 0,          /**< AMRNB Mode unused / unknown */
       
    75     OMX_AUDIO_AMRBandModeNB0,                 /**< AMRNB Mode 0 =  4750 bps */
       
    76     OMX_AUDIO_AMRBandModeNB1,                 /**< AMRNB Mode 1 =  5150 bps */
       
    77     OMX_AUDIO_AMRBandModeNB2,                 /**< AMRNB Mode 2 =  5900 bps */ 
       
    78     OMX_AUDIO_AMRBandModeNB3,                 /**< AMRNB Mode 3 =  6700 bps */
       
    79     OMX_AUDIO_AMRBandModeNB4,                 /**< AMRNB Mode 4 =  7400 bps */
       
    80     OMX_AUDIO_AMRBandModeNB5,                 /**< AMRNB Mode 5 =  7950 bps */
       
    81     OMX_AUDIO_AMRBandModeNB6,                 /**< AMRNB Mode 6 = 10200 bps */
       
    82     OMX_AUDIO_AMRBandModeNB7,                 /**< AMRNB Mode 7 = 12200 bps */
       
    83     OMX_AUDIO_AMRBandModeWB0,                 /**< AMRWB Mode 0 =  6600 bps */
       
    84     OMX_AUDIO_AMRBandModeWB1,                 /**< AMRWB Mode 1 =  8850 bps */
       
    85     OMX_AUDIO_AMRBandModeWB2,                 /**< AMRWB Mode 2 = 12650 bps */ 
       
    86     OMX_AUDIO_AMRBandModeWB3,                 /**< AMRWB Mode 3 = 14250 bps */ 
       
    87     OMX_AUDIO_AMRBandModeWB4,                 /**< AMRWB Mode 4 = 15850 bps */
       
    88     OMX_AUDIO_AMRBandModeWB5,                 /**< AMRWB Mode 5 = 18250 bps */
       
    89     OMX_AUDIO_AMRBandModeWB6,                 /**< AMRWB Mode 6 = 19850 bps */
       
    90     OMX_AUDIO_AMRBandModeWB7,                 /**< AMRWB Mode 7 = 23050 bps */
       
    91     OMX_AUDIO_AMRBandModeWB8,                 /**< AMRWB Mode 8 = 23850 bps */      
       
    92     OMX_AUDIO_AMRBandModeWP0,                 /**< AMR-WB+ 13.6 kbps (mono, 16/24kHz output) */
       
    93     OMX_AUDIO_AMRBandModeWP1,                 /**< AMR-WB+ 18 kbps (stereo, 16/24kHz output) */
       
    94     OMX_AUDIO_AMRBandModeWP2,                 /**< AMR-WB+ 24 kbps (mono, 16/24kHz output) */
       
    95     OMX_AUDIO_AMRBandModeWP3,                 /**< AMR-WB+ 24 kbps (stereo, 16/24kHz output) */
       
    96     OMX_AUDIO_AMRBandModeWP4,                 /**< AMR-WB+ 10.4 kbps (mono) */
       
    97     OMX_AUDIO_AMRBandModeWP5,                 /**< AMR-WB+ 12.0 kbps (mono) */
       
    98     OMX_AUDIO_AMRBandModeWP6,                 /**< AMR-WB+ 13.6 kbps (mono) */
       
    99     OMX_AUDIO_AMRBandModeWP7,                 /**< AMR-WB+ 15.2 kbps (mono) */
       
   100     OMX_AUDIO_AMRBandModeWP8,                 /**< AMR-WB+ 16.8 kbps (mono) */
       
   101     OMX_AUDIO_AMRBandModeWP9,                 /**< AMR-WB+ 19.2 kbps (mono) */
       
   102     OMX_AUDIO_AMRBandModeWP10,                /**< AMR-WB+ 20.8 kbps (mono) */
       
   103     OMX_AUDIO_AMRBandModeWP11,                /**< AMR-WB+ 24.0 kbps (mono) */
       
   104     OMX_AUDIO_AMRBandModeWP12,                /**< AMR-WB+ 12.4 kbps (stereo) */
       
   105     OMX_AUDIO_AMRBandModeWP13,                /**< AMR-WB+ 12.8 kbps (stereo) */
       
   106     OMX_AUDIO_AMRBandModeWP14,                /**< AMR-WB+ 14.0 kbps (stereo) */
       
   107     OMX_AUDIO_AMRBandModeWP15,                /**< AMR-WB+ 14.4 kbps (stereo) */
       
   108     OMX_AUDIO_AMRBandModeWP16,                /**< AMR-WB+ 15.2 kbps (stereo) */
       
   109     OMX_AUDIO_AMRBandModeWP17,                /**< AMR-WB+ 16.0 kbps (stereo) */
       
   110     OMX_AUDIO_AMRBandModeWP18,                /**< AMR-WB+ 16.4 kbps (stereo) */
       
   111     OMX_AUDIO_AMRBandModeWP19,                /**< AMR-WB+ 17.2 kbps (stereo) */
       
   112     OMX_AUDIO_AMRBandModeWP20,                /**< AMR-WB+ 18.0 kbps (stereo) */
       
   113     OMX_AUDIO_AMRBandModeWP21,                /**< AMR-WB+ 18.4 kbps (stereo) */
       
   114     OMX_AUDIO_AMRBandModeWP22,                /**< AMR-WB+ 19.2 kbps (stereo) */
       
   115     OMX_AUDIO_AMRBandModeWP23,                /**< AMR-WB+ 20.0 kbps (stereo) */
       
   116     OMX_AUDIO_AMRBandModeWP24,                /**< AMR-WB+ 20.4 kbps (stereo) */
       
   117     OMX_AUDIO_AMRBandModeWP25,                /**< AMR-WB+ 21.2 kbps (stereo) */
       
   118     OMX_AUDIO_AMRBandModeWP26,                /**< AMR-WB+ 22.4 kbps (stereo) */
       
   119     OMX_AUDIO_AMRBandModeWP27,                /**< AMR-WB+ 23.2 kbps (stereo) */
       
   120     OMX_AUDIO_AMRBandModeWP28,                /**< AMR-WB+ 24.0 kbps (stereo) */
       
   121     OMX_AUDIO_AMRBandModeWP29,                /**< AMR-WB+ 25.6 kbps (stereo) */
       
   122     OMX_AUDIO_AMRBandModeWP30,                /**< AMR-WB+ 26.0 kbps (stereo) */
       
   123     OMX_AUDIO_AMRBandModeWP31,                /**< AMR-WB+ 26.8 kbps (stereo) */
       
   124     OMX_AUDIO_AMRBandModeWP32,                /**< AMR-WB+ 28.8 kbps (stereo) */
       
   125     OMX_AUDIO_AMRBandModeWP33,                /**< AMR-WB+ 29.6 kbps (stereo) */
       
   126     OMX_AUDIO_AMRBandModeWP34,                /**< AMR-WB+ 30.0 kbps (stereo) */
       
   127     OMX_AUDIO_AMRBandModeWP35,                /**< AMR-WB+ 32.0 kbps (stereo) */
       
   128     
       
   129     OMX_AUDIO_AMRBandModeMax = 0x7FFFFFFF /**< 5.15 kbps */
       
   130 } OMX_AUDIO_AMREXT_BANDMODETYPE;
       
   131      
       
   132 
       
   133 /** AMR params extension */
       
   134 
       
   135 
       
   136 typedef struct OMX_AUDIO_PARAM_AMREXT_TYPE {
       
   137     OMX_U32 nSize;                          /**< size of the structure in bytes */
       
   138     OMX_VERSIONTYPE nVersion;               /**< OMX specification version information */
       
   139     OMX_U32 nPortIndex;                     /**< port that this structure applies to */
       
   140     OMX_U32 nChannels;                      /**< Number of channels */
       
   141     OMX_U32 nBitRate;                       /**< Bit rate read only field */
       
   142     OMX_AUDIO_AMREXT_BANDMODETYPE eAMRBandMode; /**< AMR Band Mode enumeration */ 
       
   143     OMX_AUDIO_AMRDTXMODETYPE  eAMRDTXMode;  /**< AMR DTX Mode enumeration */
       
   144     OMX_AUDIO_AMREXT_FRAMEFORMATTYPE eAMRFrameFormat; /**< AMR frame format enumeration */
       
   145     OMX_U32 nAMRWideBandPlusISF;            /**< AMR-WB+ internal Sampling Frequency Factor expressed in percentage */
       
   146     OMX_BOOL bAMRWideBandPlusLC;            /**< Activates/deactivates AMR-WB+ low complexity Extended AMR Wide Band encoding mode */
       
   147     OMX_BOOL bAMRWideBandPlusLimiter        /**< Activates/deactivates the limiter option of the decoder */
       
   148 
       
   149 } OMX_AUDIO_PARAM_AMREXT_TYPE;
       
   150 
       
   151 /** End of AMR-WB+ related **/
       
   152 
       
   153 /** WMA Pro related **/
       
   154 
       
   155 /** WMA Pro params **/
       
   156 
       
   157 typedef enum OMX_AUDIO_WMAPROFORMATTYPE {
       
   158     OMX_AUDIO_WMAPROFormatUnused = 0,          /**< AMRNB Mode unused / unknown */
       
   159     OMX_AUDIO_WMAPROFormat9,           
       
   160     OMX_AUDIO_WMAPROFormat10,
       
   161     OMX_AUDIO_WMAPROFormatMax = 0x7FFFFFFF    
       
   162 } OMX_AUDIO_WMAPROFORMATTYPE;
       
   163 
       
   164 typedef enum OMX_AUDIO_WMAPROPROFILETYPE {
       
   165     OMX_AUDIO_WMAPROProfileUnused = 0,          /**< AMRNB Mode unused / unknown */
       
   166     OMX_AUDIO_WMAPROProfileM0,
       
   167     OMX_AUDIO_WMAPROProfileM1,
       
   168     OMX_AUDIO_WMAPROProfileM2,
       
   169     OMX_AUDIO_WMAPROProfileM3,               
       
   170     OMX_AUDIO_WMAPROProfileMax = 0x7FFFFFFF
       
   171 } OMX_AUDIO_WMAPROPROFILETYPE;
       
   172     
       
   173 typedef struct OMX_AUDIO_PARAM_WMAPROTYPE {
       
   174 		OMX_U32 nSize;
       
   175 		OMX_VERSIONTYPE nVersion;
       
   176 		OMX_U32 nPortIndex;
       
   177 		OMX_U16 nChannels;
       
   178 		OMX_U32 nBitRate;
       
   179 		OMX_AUDIO_WMAPROFORMATTYPE eFormat;
       
   180 		OMX_AUDIO_WMAPROPROFILETYPE eProfile;
       
   181 		OMX_U32 nSamplingRate;
       
   182 		OMX_U32 nBlockAlign;
       
   183 		OMX_U32 nSuperBlockAlign;
       
   184 		OMX_U32 nEncodeOptions;
       
   185 		OMX_U32 nAdvancedEncodeOptions;
       
   186 		OMX_U32 nAdvancedEncodeOptions2;
       
   187 		OMX_U32 nChannelMask;
       
   188 } OMX_AUDIO_PARAM_WMAPROTYPE;
       
   189 
       
   190 /** End of WMA Pro related **/
       
   191 
       
   192 /** iLBC related **/
       
   193 typedef struct OMX_AUDIO_PARAM_ILBCTYPE  { 
       
   194      OMX_U32 nSize;                                    
       
   195      OMX_VERSIONTYPE nVersion;                   
       
   196      OMX_U32 nPortIndex;            
       
   197      OMX_U32 nFrameLength;
       
   198      OMX_BOOL bIsDTXCNGSupported;
       
   199      OMX_BOOL bDTXCNGSelected;                       
       
   200      OMX_BOOL bPLCSelected;                                                                       
       
   201  } OMX_AUDIO_PARAM_ILBCTYPE;
       
   202 
       
   203 /** End of iLBC related **/
       
   204 
       
   205 /** G711 related **/
       
   206 typedef struct OMX_AUDIO_PARAM_G711TYPE  { 
       
   207      OMX_U32 nSize;                                    
       
   208      OMX_VERSIONTYPE nVersion;                   
       
   209      OMX_U32 nPortIndex; 
       
   210      OMX_BOOL bIsDTXCNGSupported;
       
   211      OMX_BOOL bIsPLCSupported;       
       
   212      OMX_BOOL bDTXCNGEnabled;           
       
   213      OMX_BOOL bPLCEnabled;
       
   214      OMX_U32  nFrameLength;                                                                     
       
   215  } OMX_AUDIO_PARAM_G711TYPE;
       
   216 
       
   217 /** End of G711 related **/
       
   218 
       
   219 
       
   220 /** End of Dummy component **/
       
   221 
       
   222 #ifdef __cplusplus
       
   223 }
       
   224 #endif /* __cplusplus */
       
   225 
       
   226 #endif