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; |