Audio Signal Processing/audio_codecs_chipset_api.h
changeset 2 ea09f30a96a5
parent 0 bb4b476bbb96
equal deleted inserted replaced
1:d7a6bb4d51e7 2:ea09f30a96a5
    12   Initial Contributors:
    12   Initial Contributors:
    13   Nokia Corporation - initial contribution.
    13   Nokia Corporation - initial contribution.
    14 
    14 
    15   Contributors:
    15   Contributors:
    16 */
    16 */
    17 
       
    18 #ifndef AUDIO_CODECS_CHIPSET_API_H
    17 #ifndef AUDIO_CODECS_CHIPSET_API_H
    19 #define AUDIO_CODECS_CHIPSET_API_H
    18 #define AUDIO_CODECS_CHIPSET_API_H
    20 
    19 
    21 #ifdef __cplusplus
    20 #ifdef __cplusplus
    22 extern "C" {
    21 extern "C" {
    28  *  for this header file to compile successfully 
    27  *  for this header file to compile successfully 
    29  */
    28  */
    30 
    29 
    31 #include <OMX_Audio.h>
    30 #include <OMX_Audio.h>
    32 
    31 
    33 /** AMR-WB+ related **/
       
    34 
    32 
    35 typedef enum OMX_AUDIOCODINGEXTTYPE {
    33 /** WMA param **/
    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 
    34 
    42 /** AMR Wideband Plus Extensions */
    35 typedef struct OMX_AUDIO_PARAM_WMAAVGBYTESTYPE { 
    43 /** AMR Frame format Extension */ 
    36 OMX_U32 nSize; 
    44 typedef enum OMX_AUDIO_AMREXT_FRAMEFORMATTYPE { 
    37 OMX_VERSIONTYPE nVersion; 
    45     OMX_AUDIO_AMRFrameFormatConformance = 0,  /**< Frame Format is AMR Conformance 
    38 OMX_U32 nPortIndex;  
    46                                                    (Standard) Format */ 
    39 OMX_U32 nAvgBytesPerSec;
    47     OMX_AUDIO_AMRFrameFormatIF1,              /**< Frame Format is AMR Interface 
    40 } OMX_AUDIO_PARAM_WMAAVGBYTESTYPE;
    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 
    41 
    60 typedef enum OMX_AUDIO_AMRDTXMODETYPE { 
    42 /** End of WMA related **/
    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 
    43 
   155 /** WMA Pro params **/
    44 /** 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 
    45 
   164 typedef enum OMX_AUDIO_WMAPROPROFILETYPE {
    46 typedef enum OMX_AUDIO_WMAPROPROFILETYPE {
   165     OMX_AUDIO_WMAPROProfileUnused = 0,          /**< AMRNB Mode unused / unknown */
    47     OMX_AUDIO_WMAPROProfileUnused = 0,          /**< AMRNB Mode unused / unknown */
   166     OMX_AUDIO_WMAPROProfileM0,
    48     OMX_AUDIO_WMAPROProfileM0,
   167     OMX_AUDIO_WMAPROProfileM1,
    49     OMX_AUDIO_WMAPROProfileM1,
   174 		OMX_U32 nSize;
    56 		OMX_U32 nSize;
   175 		OMX_VERSIONTYPE nVersion;
    57 		OMX_VERSIONTYPE nVersion;
   176 		OMX_U32 nPortIndex;
    58 		OMX_U32 nPortIndex;
   177 		OMX_U16 nChannels;
    59 		OMX_U16 nChannels;
   178 		OMX_U32 nBitRate;
    60 		OMX_U32 nBitRate;
   179 		OMX_AUDIO_WMAPROFORMATTYPE eFormat;
       
   180 		OMX_AUDIO_WMAPROPROFILETYPE eProfile;
    61 		OMX_AUDIO_WMAPROPROFILETYPE eProfile;
   181 		OMX_U32 nSamplingRate;
    62 		OMX_U32 nSamplingRate;
   182 		OMX_U32 nBlockAlign;
    63 		OMX_U32 nBlockAlign;
   183 		OMX_U32 nSuperBlockAlign;
    64 		OMX_U32 nSuperBlockAlign;
   184 		OMX_U32 nEncodeOptions;
    65 		OMX_U32 nEncodeOptions;
   185 		OMX_U32 nAdvancedEncodeOptions;
    66 		OMX_U32 nAdvancedEncodeOptions;
   186 		OMX_U32 nAdvancedEncodeOptions2;
    67 		OMX_U32 nAdvancedEncodeOptions2;
   187 		OMX_U32 nChannelMask;
    68 		OMX_U32 nChannelMask;
       
    69 		OMX_U32 nSourceBitsPerSample;
   188 } OMX_AUDIO_PARAM_WMAPROTYPE;
    70 } OMX_AUDIO_PARAM_WMAPROTYPE;
   189 
    71 
   190 /** End of WMA Pro related **/
    72 /** End of WMA Pro related **/
       
    73 
       
    74 typedef struct OMX_AUDIO_CONFIG_AMRMODETYPE {
       
    75 		OMX_U32 nSize;
       
    76 		OMX_VERSIONTYPE nVersion;
       
    77 		OMX_U32 nPortIndex;
       
    78 		OMX_U32 nBitRate;
       
    79 		OMX_AUDIO_AMRBANDMODETYPE eAMRBandMode;
       
    80 } OMX_AUDIO_CONFIG_AMRMODETYPE;
       
    81 
       
    82 typedef struct OMX_AUDIO_CONFIG_ILBCFRAMETYPE {
       
    83 		OMX_U32 nSize;
       
    84 		OMX_VERSIONTYPE nVersion;
       
    85 		OMX_U32 nPortIndex;
       
    86 		OMX_U32 nFrameLength; 
       
    87 } OMX_AUDIO_CONFIG_ILBCFRAMETYPE;
       
    88 
       
    89 /** SBC codec related **/
       
    90 typedef struct OMX_AUDIO_CONFIG_SBCBITPOOLTYPE {
       
    91 	  OMX_U32 nSize;
       
    92 	  OMX_VERSIONTYPE nVersion;
       
    93 	  OMX_U32 nPortIndex;
       
    94 	  OMX_U32 nNewBitPool; 
       
    95 } OMX_AUDIO_CONFIG_SBCBITPOOLTYPE;
       
    96 
       
    97 /** End of SBC codec related **/
   191 
    98 
   192 /** iLBC related **/
    99 /** iLBC related **/
   193 typedef struct OMX_AUDIO_PARAM_ILBCTYPE  { 
   100 typedef struct OMX_AUDIO_PARAM_ILBCTYPE  { 
   194      OMX_U32 nSize;                                    
   101      OMX_U32 nSize;                                    
   195      OMX_VERSIONTYPE nVersion;                   
   102      OMX_VERSIONTYPE nVersion;                   
   214      OMX_U32  nFrameLength;                                                                     
   121      OMX_U32  nFrameLength;                                                                     
   215  } OMX_AUDIO_PARAM_G711TYPE;
   122  } OMX_AUDIO_PARAM_G711TYPE;
   216 
   123 
   217 /** End of G711 related **/
   124 /** End of G711 related **/
   218 
   125 
   219 
       
   220 /** End of Dummy component **/
       
   221 
       
   222 #ifdef __cplusplus
   126 #ifdef __cplusplus
   223 }
   127 }
   224 #endif /* __cplusplus */
   128 #endif /* __cplusplus */
   225 
   129 
   226 #endif
   130 #endif