blob: c03f2a0e8ee517d27df854b44bd43c17602fc668
1 | #ifndef AMADEC_ADPCM_H |
2 | #define AMADEC_ADPCM_H |
3 | |
4 | |
5 | #define WAVE_TASK_STK_SIZE (2048*4) |
6 | #define WAVE_BLOCK_SIZE 2048 |
7 | |
8 | typedef struct { |
9 | unsigned int start; |
10 | int size; |
11 | unsigned int sr; |
12 | unsigned int ch; |
13 | unsigned int bps; |
14 | int wr; |
15 | int blk; |
16 | unsigned int sr_factor; |
17 | unsigned int last_rd; |
18 | unsigned int last_pts; |
19 | unsigned int totalSamplePlayed; |
20 | unsigned int totalSampleDecoded; |
21 | unsigned int totalSample; |
22 | } t_adpcm_output_buf_manager; |
23 | |
24 | //------------------------------------ |
25 | //copy from amffmepg/libavcodec/avcodec.h" |
26 | enum CodecID { |
27 | CODEC_ID_NONE, |
28 | |
29 | /* video codecs */ |
30 | CODEC_ID_MPEG1VIDEO, |
31 | CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding |
32 | CODEC_ID_MPEG2VIDEO_XVMC, |
33 | CODEC_ID_H261, |
34 | CODEC_ID_H263, |
35 | CODEC_ID_RV10, |
36 | CODEC_ID_RV20, |
37 | CODEC_ID_MJPEG, |
38 | CODEC_ID_MJPEGB, |
39 | CODEC_ID_LJPEG, |
40 | CODEC_ID_SP5X, |
41 | CODEC_ID_JPEGLS, |
42 | CODEC_ID_MPEG4, |
43 | CODEC_ID_RAWVIDEO, |
44 | CODEC_ID_MSMPEG4V1, |
45 | CODEC_ID_MSMPEG4V2, |
46 | CODEC_ID_MSMPEG4V3, |
47 | CODEC_ID_WMV1, |
48 | CODEC_ID_WMV2, |
49 | CODEC_ID_H263P, |
50 | CODEC_ID_H263I, |
51 | CODEC_ID_FLV1, |
52 | CODEC_ID_SVQ1, |
53 | CODEC_ID_SVQ3, |
54 | CODEC_ID_DVVIDEO, |
55 | CODEC_ID_HUFFYUV, |
56 | CODEC_ID_CYUV, |
57 | CODEC_ID_H264, |
58 | CODEC_ID_INDEO3, |
59 | CODEC_ID_VP3, |
60 | CODEC_ID_THEORA, |
61 | CODEC_ID_ASV1, |
62 | CODEC_ID_ASV2, |
63 | CODEC_ID_FFV1, |
64 | CODEC_ID_4XM, |
65 | CODEC_ID_VCR1, |
66 | CODEC_ID_CLJR, |
67 | CODEC_ID_MDEC, |
68 | CODEC_ID_ROQ, |
69 | CODEC_ID_INTERPLAY_VIDEO, |
70 | CODEC_ID_XAN_WC3, |
71 | CODEC_ID_XAN_WC4, |
72 | CODEC_ID_RPZA, |
73 | CODEC_ID_CINEPAK, |
74 | CODEC_ID_WS_VQA, |
75 | CODEC_ID_MSRLE, |
76 | CODEC_ID_MSVIDEO1, |
77 | CODEC_ID_IDCIN, |
78 | CODEC_ID_8BPS, |
79 | CODEC_ID_SMC, |
80 | CODEC_ID_FLIC, |
81 | CODEC_ID_TRUEMOTION1, |
82 | CODEC_ID_VMDVIDEO, |
83 | CODEC_ID_MSZH, |
84 | CODEC_ID_ZLIB, |
85 | CODEC_ID_QTRLE, |
86 | CODEC_ID_SNOW, |
87 | CODEC_ID_TSCC, |
88 | CODEC_ID_ULTI, |
89 | CODEC_ID_QDRAW, |
90 | CODEC_ID_VIXL, |
91 | CODEC_ID_QPEG, |
92 | CODEC_ID_XVID, |
93 | CODEC_ID_PNG, |
94 | CODEC_ID_PPM, |
95 | CODEC_ID_PBM, |
96 | CODEC_ID_PGM, |
97 | CODEC_ID_PGMYUV, |
98 | CODEC_ID_PAM, |
99 | CODEC_ID_FFVHUFF, |
100 | CODEC_ID_RV30, |
101 | CODEC_ID_RV40, |
102 | CODEC_ID_VC1, |
103 | CODEC_ID_WMV3, |
104 | CODEC_ID_LOCO, |
105 | CODEC_ID_WNV1, |
106 | CODEC_ID_AASC, |
107 | CODEC_ID_INDEO2, |
108 | CODEC_ID_FRAPS, |
109 | CODEC_ID_TRUEMOTION2, |
110 | CODEC_ID_BMP, |
111 | CODEC_ID_CSCD, |
112 | CODEC_ID_MMVIDEO, |
113 | CODEC_ID_ZMBV, |
114 | CODEC_ID_AVS, |
115 | CODEC_ID_SMACKVIDEO, |
116 | CODEC_ID_NUV, |
117 | CODEC_ID_KMVC, |
118 | CODEC_ID_FLASHSV, |
119 | CODEC_ID_CAVS, |
120 | CODEC_ID_JPEG2000, |
121 | CODEC_ID_VMNC, |
122 | CODEC_ID_VP5, |
123 | CODEC_ID_VP6, |
124 | CODEC_ID_VP6F, |
125 | CODEC_ID_TARGA, |
126 | CODEC_ID_DSICINVIDEO, |
127 | CODEC_ID_TIERTEXSEQVIDEO, |
128 | CODEC_ID_TIFF, |
129 | CODEC_ID_GIF, |
130 | CODEC_ID_FFH264, |
131 | CODEC_ID_DXA, |
132 | CODEC_ID_DNXHD, |
133 | CODEC_ID_THP, |
134 | CODEC_ID_SGI, |
135 | CODEC_ID_C93, |
136 | CODEC_ID_BETHSOFTVID, |
137 | CODEC_ID_PTX, |
138 | CODEC_ID_TXD, |
139 | CODEC_ID_VP6A, |
140 | CODEC_ID_AMV, |
141 | CODEC_ID_VB, |
142 | CODEC_ID_PCX, |
143 | CODEC_ID_SUNRAST, |
144 | CODEC_ID_INDEO4, |
145 | CODEC_ID_INDEO5, |
146 | CODEC_ID_MIMIC, |
147 | CODEC_ID_RL2, |
148 | CODEC_ID_8SVX_EXP, |
149 | CODEC_ID_8SVX_FIB, |
150 | CODEC_ID_ESCAPE124, |
151 | CODEC_ID_DIRAC, |
152 | CODEC_ID_BFI, |
153 | CODEC_ID_CMV, |
154 | CODEC_ID_MOTIONPIXELS, |
155 | CODEC_ID_TGV, |
156 | CODEC_ID_TGQ, |
157 | CODEC_ID_TQI, |
158 | CODEC_ID_AURA, |
159 | CODEC_ID_AURA2, |
160 | CODEC_ID_V210X, |
161 | CODEC_ID_TMV, |
162 | CODEC_ID_V210, |
163 | CODEC_ID_DPX, |
164 | CODEC_ID_MAD, |
165 | CODEC_ID_FRWU, |
166 | CODEC_ID_FLASHSV2, |
167 | CODEC_ID_CDGRAPHICS, |
168 | CODEC_ID_R210, |
169 | CODEC_ID_ANM, |
170 | CODEC_ID_BINKVIDEO, |
171 | CODEC_ID_IFF_ILBM, |
172 | CODEC_ID_IFF_BYTERUN1, |
173 | CODEC_ID_KGV1, |
174 | CODEC_ID_YOP, |
175 | CODEC_ID_VP8, |
176 | CODEC_ID_PICTOR, |
177 | CODEC_ID_ANSI, |
178 | CODEC_ID_A64_MULTI, |
179 | CODEC_ID_A64_MULTI5, |
180 | CODEC_ID_R10K, |
181 | CODEC_ID_MXPEG, |
182 | CODEC_ID_LAGARITH, |
183 | CODEC_ID_PRORES, |
184 | CODEC_ID_JV, |
185 | CODEC_ID_DFA, |
186 | CODEC_ID_8SVX_RAW, |
187 | |
188 | /* H264 MVC type */ |
189 | CODEC_ID_H264MVC, |
190 | |
191 | /* various PCM "codecs" */ |
192 | CODEC_ID_PCM_S16LE = 0x10000, |
193 | CODEC_ID_PCM_S16BE, |
194 | CODEC_ID_PCM_U16LE, |
195 | CODEC_ID_PCM_U16BE, |
196 | CODEC_ID_PCM_S8, |
197 | CODEC_ID_PCM_U8, |
198 | CODEC_ID_PCM_MULAW, |
199 | CODEC_ID_PCM_ALAW, |
200 | CODEC_ID_PCM_S32LE, |
201 | CODEC_ID_PCM_S32BE, |
202 | CODEC_ID_PCM_U32LE, |
203 | CODEC_ID_PCM_U32BE, |
204 | CODEC_ID_PCM_S24LE, |
205 | CODEC_ID_PCM_S24BE, |
206 | CODEC_ID_PCM_U24LE, |
207 | CODEC_ID_PCM_U24BE, |
208 | CODEC_ID_PCM_S24DAUD, |
209 | CODEC_ID_PCM_ZORK, |
210 | CODEC_ID_PCM_S16LE_PLANAR, |
211 | CODEC_ID_PCM_DVD, |
212 | CODEC_ID_PCM_F32BE, |
213 | CODEC_ID_PCM_F32LE, |
214 | CODEC_ID_PCM_F64BE, |
215 | CODEC_ID_PCM_F64LE, |
216 | CODEC_ID_PCM_BLURAY, |
217 | CODEC_ID_PCM_LXF, |
218 | CODEC_ID_S302M, |
219 | CODEC_ID_PCM_WIFIDISPLAY, |
220 | |
221 | /* various ADPCM codecs */ |
222 | CODEC_ID_ADPCM_IMA_QT = 0x11000, |
223 | CODEC_ID_ADPCM_IMA_WAV, |
224 | CODEC_ID_ADPCM_IMA_DK3, |
225 | CODEC_ID_ADPCM_IMA_DK4, |
226 | CODEC_ID_ADPCM_IMA_WS, |
227 | CODEC_ID_ADPCM_IMA_SMJPEG, |
228 | CODEC_ID_ADPCM_MS, |
229 | CODEC_ID_ADPCM_4XM, |
230 | CODEC_ID_ADPCM_XA, |
231 | CODEC_ID_ADPCM_ADX, |
232 | CODEC_ID_ADPCM_EA, |
233 | CODEC_ID_ADPCM_G726, |
234 | CODEC_ID_ADPCM_CT, |
235 | CODEC_ID_ADPCM_SWF, |
236 | CODEC_ID_ADPCM_YAMAHA, |
237 | CODEC_ID_ADPCM_SBPRO_4, |
238 | CODEC_ID_ADPCM_SBPRO_3, |
239 | CODEC_ID_ADPCM_SBPRO_2, |
240 | CODEC_ID_ADPCM_THP, |
241 | CODEC_ID_ADPCM_IMA_AMV, |
242 | CODEC_ID_ADPCM_EA_R1, |
243 | CODEC_ID_ADPCM_EA_R3, |
244 | CODEC_ID_ADPCM_EA_R2, |
245 | CODEC_ID_ADPCM_IMA_EA_SEAD, |
246 | CODEC_ID_ADPCM_IMA_EA_EACS, |
247 | CODEC_ID_ADPCM_EA_XAS, |
248 | CODEC_ID_ADPCM_EA_MAXIS_XA, |
249 | CODEC_ID_ADPCM_IMA_ISS, |
250 | CODEC_ID_ADPCM_G722, |
251 | |
252 | /* AMR */ |
253 | CODEC_ID_AMR_NB = 0x12000, |
254 | CODEC_ID_AMR_WB, |
255 | |
256 | /* RealAudio codecs*/ |
257 | CODEC_ID_RA_144 = 0x13000, |
258 | CODEC_ID_RA_288, |
259 | |
260 | /* various DPCM codecs */ |
261 | CODEC_ID_ROQ_DPCM = 0x14000, |
262 | CODEC_ID_INTERPLAY_DPCM, |
263 | CODEC_ID_XAN_DPCM, |
264 | CODEC_ID_SOL_DPCM, |
265 | |
266 | /* audio codecs */ |
267 | CODEC_ID_MP2 = 0x15000, |
268 | CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3 |
269 | CODEC_ID_AAC, |
270 | CODEC_ID_AC3, |
271 | CODEC_ID_DTS, |
272 | CODEC_ID_VORBIS, |
273 | CODEC_ID_DVAUDIO, |
274 | CODEC_ID_WMAV1, |
275 | CODEC_ID_WMAV2, |
276 | CODEC_ID_MACE3, |
277 | CODEC_ID_MACE6, |
278 | CODEC_ID_VMDAUDIO, |
279 | CODEC_ID_SONIC, |
280 | CODEC_ID_SONIC_LS, |
281 | CODEC_ID_FLAC, |
282 | CODEC_ID_MP3ADU, |
283 | CODEC_ID_MP3ON4, |
284 | CODEC_ID_SHORTEN, |
285 | CODEC_ID_ALAC, |
286 | CODEC_ID_WESTWOOD_SND1, |
287 | CODEC_ID_GSM, ///< as in Berlin toast format |
288 | CODEC_ID_QDM2, |
289 | CODEC_ID_COOK, |
290 | CODEC_ID_TRUESPEECH, |
291 | CODEC_ID_TTA, |
292 | CODEC_ID_SMACKAUDIO, |
293 | CODEC_ID_QCELP, |
294 | CODEC_ID_WAVPACK, |
295 | CODEC_ID_DSICINAUDIO, |
296 | CODEC_ID_IMC, |
297 | CODEC_ID_MUSEPACK7, |
298 | CODEC_ID_MLP, |
299 | CODEC_ID_GSM_MS, /* as found in WAV */ |
300 | CODEC_ID_ATRAC3, |
301 | CODEC_ID_VOXWARE, |
302 | CODEC_ID_APE, |
303 | CODEC_ID_NELLYMOSER, |
304 | CODEC_ID_MUSEPACK8, |
305 | CODEC_ID_SPEEX, |
306 | CODEC_ID_WMAVOICE, |
307 | CODEC_ID_WMAPRO, |
308 | CODEC_ID_WMALOSSLESS, |
309 | CODEC_ID_ATRAC3P, |
310 | CODEC_ID_EAC3, |
311 | CODEC_ID_SIPR, |
312 | CODEC_ID_MP1, |
313 | CODEC_ID_TWINVQ, |
314 | CODEC_ID_TRUEHD, |
315 | CODEC_ID_MP4ALS, |
316 | CODEC_ID_ATRAC1, |
317 | CODEC_ID_BINKAUDIO_RDFT, |
318 | CODEC_ID_BINKAUDIO_DCT, |
319 | CODEC_ID_AAC_LATM, |
320 | CODEC_ID_QDMC, |
321 | CODEC_ID_CELT, |
322 | |
323 | /* subtitle codecs */ |
324 | CODEC_ID_DVD_SUBTITLE = 0x17000, |
325 | CODEC_ID_DVB_SUBTITLE, |
326 | CODEC_ID_TEXT, ///< raw UTF-8 text |
327 | CODEC_ID_XSUB, |
328 | CODEC_ID_SSA, |
329 | CODEC_ID_MOV_TEXT, |
330 | CODEC_ID_HDMV_PGS_SUBTITLE, |
331 | CODEC_ID_DVB_TELETEXT, |
332 | CODEC_ID_SRT, |
333 | CODEC_ID_MICRODVD, |
334 | |
335 | /* other specific kind of codecs (generally used for attachments) */ |
336 | CODEC_ID_TTF = 0x18000, |
337 | |
338 | CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it |
339 | |
340 | CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS |
341 | * stream (only used by libavformat) */ |
342 | CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information. |
343 | }; |
344 | |
345 | |
346 | #endif |
347 |