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