34efcb3bfa5f1f70872f0aaf74965d6b4f388455
[libav.git] / libavcodec / allcodecs.h
1 /*
2 * copyright (c) 2001 Fabrice Bellard
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21 #ifndef ALLCODECS_H
22 #define ALLCODECS_H
23
24 #include "avcodec.h"
25
26 extern AVCodec ac3_encoder;
27 extern AVCodec asv1_encoder;
28 extern AVCodec asv2_encoder;
29 extern AVCodec bmp_encoder;
30 extern AVCodec dvvideo_encoder;
31 extern AVCodec ffv1_encoder;
32 extern AVCodec ffvhuff_encoder;
33 extern AVCodec flac_encoder;
34 extern AVCodec flashsv_encoder;
35 extern AVCodec flv_encoder;
36 extern AVCodec gif_encoder;
37 extern AVCodec h261_encoder;
38 extern AVCodec h263_encoder;
39 extern AVCodec h263p_encoder;
40 extern AVCodec h264_encoder;
41 extern AVCodec huffyuv_encoder;
42 extern AVCodec jpegls_encoder;
43 extern AVCodec ljpeg_encoder;
44 extern AVCodec mdec_encoder;
45 extern AVCodec mjpeg_encoder;
46 extern AVCodec mp2_encoder;
47 extern AVCodec mpeg1video_encoder;
48 extern AVCodec mpeg2video_encoder;
49 extern AVCodec mpeg4_encoder;
50 extern AVCodec msmpeg4v1_encoder;
51 extern AVCodec msmpeg4v2_encoder;
52 extern AVCodec msmpeg4v3_encoder;
53 extern AVCodec pam_encoder;
54 extern AVCodec pbm_encoder;
55 extern AVCodec pgm_encoder;
56 extern AVCodec pgmyuv_encoder;
57 extern AVCodec png_encoder;
58 extern AVCodec ppm_encoder;
59 extern AVCodec qtrle_encoder;
60 extern AVCodec roq_dpcm_encoder;
61 extern AVCodec roq_encoder;
62 extern AVCodec rv10_encoder;
63 extern AVCodec rv20_encoder;
64 extern AVCodec sgi_encoder;
65 extern AVCodec snow_encoder;
66 extern AVCodec sonic_encoder;
67 extern AVCodec sonic_ls_encoder;
68 extern AVCodec svq1_encoder;
69 extern AVCodec targa_encoder;
70 extern AVCodec tiff_encoder;
71 extern AVCodec vcr1_encoder;
72 extern AVCodec vorbis_encoder;
73 extern AVCodec wmav1_encoder;
74 extern AVCodec wmav2_encoder;
75 extern AVCodec wmv1_encoder;
76 extern AVCodec wmv2_encoder;
77 extern AVCodec zmbv_encoder;
78
79 extern AVCodec aasc_decoder;
80 extern AVCodec ac3_decoder;
81 extern AVCodec alac_decoder;
82 extern AVCodec asv1_decoder;
83 extern AVCodec asv2_decoder;
84 extern AVCodec atrac3_decoder;
85 extern AVCodec avs_decoder;
86 extern AVCodec bethsoftvid_decoder;
87 extern AVCodec bmp_decoder;
88 extern AVCodec c93_decoder;
89 extern AVCodec cavs_decoder;
90 extern AVCodec cinepak_decoder;
91 extern AVCodec cljr_decoder;
92 extern AVCodec cook_decoder;
93 extern AVCodec cscd_decoder;
94 extern AVCodec cyuv_decoder;
95 extern AVCodec dca_decoder;
96 extern AVCodec dnxhd_decoder;
97 extern AVCodec dsicinaudio_decoder;
98 extern AVCodec dsicinvideo_decoder;
99 extern AVCodec dvvideo_decoder;
100 extern AVCodec dxa_decoder;
101 extern AVCodec eightbps_decoder;
102 extern AVCodec ffv1_decoder;
103 extern AVCodec ffvhuff_decoder;
104 extern AVCodec flac_decoder;
105 extern AVCodec flashsv_decoder;
106 extern AVCodec flic_decoder;
107 extern AVCodec flv_decoder;
108 extern AVCodec fourxm_decoder;
109 extern AVCodec fraps_decoder;
110 extern AVCodec gif_decoder;
111 extern AVCodec h261_decoder;
112 extern AVCodec h263_decoder;
113 extern AVCodec h263i_decoder;
114 extern AVCodec h264_decoder;
115 extern AVCodec huffyuv_decoder;
116 extern AVCodec idcin_decoder;
117 extern AVCodec imc_decoder;
118 extern AVCodec indeo2_decoder;
119 extern AVCodec indeo3_decoder;
120 extern AVCodec interplay_dpcm_decoder;
121 extern AVCodec interplay_video_decoder;
122 extern AVCodec jpegls_decoder;
123 extern AVCodec kmvc_decoder;
124 extern AVCodec loco_decoder;
125 extern AVCodec mace3_decoder;
126 extern AVCodec mace6_decoder;
127 extern AVCodec mdec_decoder;
128 extern AVCodec mjpeg_decoder;
129 extern AVCodec mjpegb_decoder;
130 extern AVCodec mmvideo_decoder;
131 extern AVCodec mp2_decoder;
132 extern AVCodec mp3_decoder;
133 extern AVCodec mp3adu_decoder;
134 extern AVCodec mp3on4_decoder;
135 extern AVCodec mpc7_decoder;
136 extern AVCodec mpeg1video_decoder;
137 extern AVCodec mpeg2video_decoder;
138 extern AVCodec mpeg4_decoder;
139 extern AVCodec mpeg_xvmc_decoder;
140 extern AVCodec mpegvideo_decoder;
141 extern AVCodec msmpeg4v1_decoder;
142 extern AVCodec msmpeg4v2_decoder;
143 extern AVCodec msmpeg4v3_decoder;
144 extern AVCodec msrle_decoder;
145 extern AVCodec msvideo1_decoder;
146 extern AVCodec mszh_decoder;
147 extern AVCodec nuv_decoder;
148 extern AVCodec png_decoder;
149 extern AVCodec ptx_decoder;
150 extern AVCodec qdm2_decoder;
151 extern AVCodec qdraw_decoder;
152 extern AVCodec qpeg_decoder;
153 extern AVCodec qtrle_decoder;
154 extern AVCodec ra_144_decoder;
155 extern AVCodec ra_288_decoder;
156 extern AVCodec roq_decoder;
157 extern AVCodec roq_dpcm_decoder;
158 extern AVCodec rpza_decoder;
159 extern AVCodec rv10_decoder;
160 extern AVCodec rv20_decoder;
161 extern AVCodec rv30_decoder;
162 extern AVCodec rv40_decoder;
163 extern AVCodec sgi_decoder;
164 extern AVCodec shorten_decoder;
165 extern AVCodec smackaud_decoder;
166 extern AVCodec smacker_decoder;
167 extern AVCodec smc_decoder;
168 extern AVCodec snow_decoder;
169 extern AVCodec sol_dpcm_decoder;
170 extern AVCodec sonic_decoder;
171 extern AVCodec sp5x_decoder;
172 extern AVCodec svq1_decoder;
173 extern AVCodec svq3_decoder;
174 extern AVCodec targa_decoder;
175 extern AVCodec theora_decoder;
176 extern AVCodec thp_decoder;
177 extern AVCodec tiertexseqvideo_decoder;
178 extern AVCodec tiff_decoder;
179 extern AVCodec truemotion1_decoder;
180 extern AVCodec truemotion2_decoder;
181 extern AVCodec truespeech_decoder;
182 extern AVCodec tscc_decoder;
183 extern AVCodec tta_decoder;
184 extern AVCodec txd_decoder;
185 extern AVCodec ulti_decoder;
186 extern AVCodec vc1_decoder;
187 extern AVCodec vcr1_decoder;
188 extern AVCodec vmdaudio_decoder;
189 extern AVCodec vmdvideo_decoder;
190 extern AVCodec vmnc_decoder;
191 extern AVCodec vorbis_decoder;
192 extern AVCodec vp3_decoder;
193 extern AVCodec vp5_decoder;
194 extern AVCodec vp6_decoder;
195 extern AVCodec vp6f_decoder;
196 extern AVCodec vqa_decoder;
197 extern AVCodec wavpack_decoder;
198 extern AVCodec wmav1_decoder;
199 extern AVCodec wmav2_decoder;
200 extern AVCodec wmv1_decoder;
201 extern AVCodec wmv2_decoder;
202 extern AVCodec wmv3_decoder;
203 extern AVCodec wnv1_decoder;
204 extern AVCodec ws_snd1_decoder;
205 extern AVCodec xan_dpcm_decoder;
206 extern AVCodec xan_wc3_decoder;
207 extern AVCodec xl_decoder;
208 extern AVCodec xsub_decoder;
209 extern AVCodec zmbv_decoder;
210
211 /* PCM codecs */
212 #define PCM_CODEC(id, name) \
213 extern AVCodec name ## _decoder; \
214 extern AVCodec name ## _encoder
215
216 PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw);
217 PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw);
218 PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8);
219 PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be);
220 PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le);
221 PCM_CODEC(CODEC_ID_PCM_S24BE, pcm_s24be);
222 PCM_CODEC(CODEC_ID_PCM_S24DAUD, pcm_s24daud);
223 PCM_CODEC(CODEC_ID_PCM_S24LE, pcm_s24le);
224 PCM_CODEC(CODEC_ID_PCM_S32BE, pcm_s32be);
225 PCM_CODEC(CODEC_ID_PCM_S32LE, pcm_s32le);
226 PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8);
227 PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be);
228 PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le);
229 PCM_CODEC(CODEC_ID_PCM_U24BE, pcm_u24be);
230 PCM_CODEC(CODEC_ID_PCM_U24LE, pcm_u24le);
231 PCM_CODEC(CODEC_ID_PCM_U32BE, pcm_u32be);
232 PCM_CODEC(CODEC_ID_PCM_U32LE, pcm_u32le);
233 PCM_CODEC(CODEC_ID_PCM_ZORK, pcm_zork);
234
235 /* ADPCM codecs */
236
237 PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);
238 PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx);
239 PCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct);
240 PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea);
241 PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726);
242 PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
243 PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
244 PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
245 PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
246 PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws);
247 PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
248 PCM_CODEC(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2);
249 PCM_CODEC(CODEC_ID_ADPCM_SBPRO_3, adpcm_sbpro_3);
250 PCM_CODEC(CODEC_ID_ADPCM_SBPRO_4, adpcm_sbpro_4);
251 PCM_CODEC(CODEC_ID_ADPCM_SMJPEG, adpcm_ima_smjpeg);
252 PCM_CODEC(CODEC_ID_ADPCM_SWF, adpcm_swf);
253 PCM_CODEC(CODEC_ID_ADPCM_THP, adpcm_thp);
254 PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa);
255 PCM_CODEC(CODEC_ID_ADPCM_YAMAHA, adpcm_yamaha);
256
257 #undef PCM_CODEC
258
259 /* dummy raw video codec */
260 extern AVCodec rawvideo_decoder;
261 extern AVCodec rawvideo_encoder;
262
263 /* the following codecs use external libs */
264 extern AVCodec liba52_decoder;
265 extern AVCodec libamr_nb_decoder;
266 extern AVCodec libamr_nb_encoder;
267 extern AVCodec libamr_wb_decoder;
268 extern AVCodec libamr_wb_encoder;
269 extern AVCodec libfaac_encoder;
270 extern AVCodec libfaad_decoder;
271 extern AVCodec libgsm_decoder;
272 extern AVCodec libgsm_encoder;
273 extern AVCodec libgsm_ms_decoder;
274 extern AVCodec libgsm_ms_encoder;
275 extern AVCodec libmp3lame_encoder;
276 extern AVCodec libtheora_encoder;
277 extern AVCodec libvorbis_decoder;
278 extern AVCodec libvorbis_encoder;
279 extern AVCodec libx264_encoder;
280 extern AVCodec libxvid_encoder;
281 extern AVCodec mpeg4aac_decoder;
282 extern AVCodec zlib_decoder;
283 extern AVCodec zlib_encoder;
284
285 /* subtitles */
286 extern AVCodec dvbsub_decoder;
287 extern AVCodec dvbsub_encoder;
288 extern AVCodec dvdsub_decoder;
289 extern AVCodec dvdsub_encoder;
290
291 /* parsers */
292 extern AVCodecParser aac_parser;
293 extern AVCodecParser ac3_parser;
294 extern AVCodecParser cavsvideo_parser;
295 extern AVCodecParser dca_parser;
296 extern AVCodecParser dvbsub_parser;
297 extern AVCodecParser dvdsub_parser;
298 extern AVCodecParser h261_parser;
299 extern AVCodecParser h263_parser;
300 extern AVCodecParser h264_parser;
301 extern AVCodecParser mjpeg_parser;
302 extern AVCodecParser mpeg4video_parser;
303 extern AVCodecParser mpegaudio_parser;
304 extern AVCodecParser mpegvideo_parser;
305 extern AVCodecParser pnm_parser;
306 extern AVCodecParser vc1_parser;
307
308 /* bitstream filters */
309 extern AVBitStreamFilter dump_extradata_bsf;
310 extern AVBitStreamFilter h264_mp4toannexb_bsf;
311 extern AVBitStreamFilter imx_dump_header_bsf;
312 extern AVBitStreamFilter mjpega_dump_header_bsf;
313 extern AVBitStreamFilter mp3_header_compress_bsf;
314 extern AVBitStreamFilter mp3_header_decompress_bsf;
315 extern AVBitStreamFilter noise_bsf;
316 extern AVBitStreamFilter remove_extradata_bsf;
317
318 #endif /* ALLCODECS_H */