summaryrefslogtreecommitdiff
path: root/audio_codec/libadpcm/adpcm.h (plain)
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
8typedef 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"
26enum 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