RoQ video encoder
[ffmpeg.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 St, 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 roq_dpcm_encoder;
60 extern AVCodec roq_encoder;
61 extern AVCodec rv10_encoder;
62 extern AVCodec rv20_encoder;
63 extern AVCodec sgi_encoder;
64 extern AVCodec snow_encoder;
65 extern AVCodec sonic_encoder;
66 extern AVCodec sonic_ls_encoder;
67 extern AVCodec svq1_encoder;
68 extern AVCodec targa_encoder;
69 extern AVCodec tiff_encoder;
70 extern AVCodec vcr1_encoder;
71 extern AVCodec vorbis_encoder;
72 extern AVCodec wmav1_encoder;
73 extern AVCodec wmav2_encoder;
74 extern AVCodec wmv1_encoder;
75 extern AVCodec wmv2_encoder;
76 extern AVCodec zmbv_encoder;
77
78 extern AVCodec aasc_decoder;
79 extern AVCodec alac_decoder;
80 extern AVCodec asv1_decoder;
81 extern AVCodec asv2_decoder;
82 extern AVCodec atrac3_decoder;
83 extern AVCodec avs_decoder;
84 extern AVCodec bethsoftvid_decoder;
85 extern AVCodec bmp_decoder;
86 extern AVCodec c93_decoder;
87 extern AVCodec cavs_decoder;
88 extern AVCodec cinepak_decoder;
89 extern AVCodec cljr_decoder;
90 extern AVCodec cook_decoder;
91 extern AVCodec cscd_decoder;
92 extern AVCodec cyuv_decoder;
93 extern AVCodec dca_decoder;
94 extern AVCodec dnxhd_decoder;
95 extern AVCodec dsicinaudio_decoder;
96 extern AVCodec dsicinvideo_decoder;
97 extern AVCodec dvvideo_decoder;
98 extern AVCodec dxa_decoder;
99 extern AVCodec eightbps_decoder;
100 extern AVCodec ffv1_decoder;
101 extern AVCodec ffvhuff_decoder;
102 extern AVCodec flac_decoder;
103 extern AVCodec flashsv_decoder;
104 extern AVCodec flic_decoder;
105 extern AVCodec flv_decoder;
106 extern AVCodec fourxm_decoder;
107 extern AVCodec fraps_decoder;
108 extern AVCodec gif_decoder;
109 extern AVCodec h261_decoder;
110 extern AVCodec h263_decoder;
111 extern AVCodec h263i_decoder;
112 extern AVCodec h264_decoder;
113 extern AVCodec huffyuv_decoder;
114 extern AVCodec idcin_decoder;
115 extern AVCodec imc_decoder;
116 extern AVCodec indeo2_decoder;
117 extern AVCodec indeo3_decoder;
118 extern AVCodec interplay_dpcm_decoder;
119 extern AVCodec interplay_video_decoder;
120 extern AVCodec jpegls_decoder;
121 extern AVCodec kmvc_decoder;
122 extern AVCodec loco_decoder;
123 extern AVCodec mace3_decoder;
124 extern AVCodec mace6_decoder;
125 extern AVCodec mdec_decoder;
126 extern AVCodec mjpeg_decoder;
127 extern AVCodec mjpegb_decoder;
128 extern AVCodec mmvideo_decoder;
129 extern AVCodec mp2_decoder;
130 extern AVCodec mp3_decoder;
131 extern AVCodec mp3adu_decoder;
132 extern AVCodec mp3on4_decoder;
133 extern AVCodec mpc7_decoder;
134 extern AVCodec mpeg1video_decoder;
135 extern AVCodec mpeg2video_decoder;
136 extern AVCodec mpeg4_decoder;
137 extern AVCodec mpeg_xvmc_decoder;
138 extern AVCodec mpegvideo_decoder;
139 extern AVCodec msmpeg4v1_decoder;
140 extern AVCodec msmpeg4v2_decoder;
141 extern AVCodec msmpeg4v3_decoder;
142 extern AVCodec msrle_decoder;
143 extern AVCodec msvideo1_decoder;
144 extern AVCodec mszh_decoder;
145 extern AVCodec nuv_decoder;
146 extern AVCodec png_decoder;
147 extern AVCodec ptx_decoder;
148 extern AVCodec qdm2_decoder;
149 extern AVCodec qdraw_decoder;
150 extern AVCodec qpeg_decoder;
151 extern AVCodec qtrle_decoder;
152 extern AVCodec ra_144_decoder;
153 extern AVCodec ra_288_decoder;
154 extern AVCodec roq_decoder;
155 extern AVCodec roq_dpcm_decoder;
156 extern AVCodec rpza_decoder;
157 extern AVCodec rv10_decoder;
158 extern AVCodec rv20_decoder;
159 extern AVCodec rv30_decoder;
160 extern AVCodec rv40_decoder;
161 extern AVCodec sgi_decoder;
162 extern AVCodec shorten_decoder;
163 extern AVCodec smackaud_decoder;
164 extern AVCodec smacker_decoder;
165 extern AVCodec smc_decoder;
166 extern AVCodec snow_decoder;
167 extern AVCodec sol_dpcm_decoder;
168 extern AVCodec sonic_decoder;
169 extern AVCodec sp5x_decoder;
170 extern AVCodec svq1_decoder;
171 extern AVCodec svq3_decoder;
172 extern AVCodec targa_decoder;
173 extern AVCodec theora_decoder;
174 extern AVCodec thp_decoder;
175 extern AVCodec tiertexseqvideo_decoder;
176 extern AVCodec tiff_decoder;
177 extern AVCodec truemotion1_decoder;
178 extern AVCodec truemotion2_decoder;
179 extern AVCodec truespeech_decoder;
180 extern AVCodec tscc_decoder;
181 extern AVCodec tta_decoder;
182 extern AVCodec txd_decoder;
183 extern AVCodec ulti_decoder;
184 extern AVCodec vc1_decoder;
185 extern AVCodec vcr1_decoder;
186 extern AVCodec vmdaudio_decoder;
187 extern AVCodec vmdvideo_decoder;
188 extern AVCodec vmnc_decoder;
189 extern AVCodec vorbis_decoder;
190 extern AVCodec vp3_decoder;
191 extern AVCodec vp5_decoder;
192 extern AVCodec vp6_decoder;
193 extern AVCodec vp6f_decoder;
194 extern AVCodec vqa_decoder;
195 extern AVCodec wavpack_decoder;
196 extern AVCodec wmav1_decoder;
197 extern AVCodec wmav2_decoder;
198 extern AVCodec wmv1_decoder;
199 extern AVCodec wmv2_decoder;
200 extern AVCodec wmv3_decoder;
201 extern AVCodec wnv1_decoder;
202 extern AVCodec ws_snd1_decoder;
203 extern AVCodec xan_dpcm_decoder;
204 extern AVCodec xan_wc3_decoder;
205 extern AVCodec xl_decoder;
206 extern AVCodec zmbv_decoder;
207
208 /* PCM codecs */
209 #define PCM_CODEC(id, name) \
210 extern AVCodec name ## _decoder; \
211 extern AVCodec name ## _encoder
212
213 PCM_CODEC(CODEC_ID_PCM_ALAW,    pcm_alaw);
214 PCM_CODEC(CODEC_ID_PCM_MULAW,   pcm_mulaw);
215 PCM_CODEC(CODEC_ID_PCM_S8,      pcm_s8);
216 PCM_CODEC(CODEC_ID_PCM_S16BE,   pcm_s16be);
217 PCM_CODEC(CODEC_ID_PCM_S16LE,   pcm_s16le);
218 PCM_CODEC(CODEC_ID_PCM_S24BE,   pcm_s24be);
219 PCM_CODEC(CODEC_ID_PCM_S24DAUD, pcm_s24daud);
220 PCM_CODEC(CODEC_ID_PCM_S24LE,   pcm_s24le);
221 PCM_CODEC(CODEC_ID_PCM_S32BE,   pcm_s32be);
222 PCM_CODEC(CODEC_ID_PCM_S32LE,   pcm_s32le);
223 PCM_CODEC(CODEC_ID_PCM_U8,      pcm_u8);
224 PCM_CODEC(CODEC_ID_PCM_U16BE,   pcm_u16be);
225 PCM_CODEC(CODEC_ID_PCM_U16LE,   pcm_u16le);
226 PCM_CODEC(CODEC_ID_PCM_U24BE,   pcm_u24be);
227 PCM_CODEC(CODEC_ID_PCM_U24LE,   pcm_u24le);
228 PCM_CODEC(CODEC_ID_PCM_U32BE,   pcm_u32be);
229 PCM_CODEC(CODEC_ID_PCM_U32LE,   pcm_u32le);
230
231 /* ADPCM codecs */
232
233 PCM_CODEC(CODEC_ID_ADPCM_4XM,     adpcm_4xm);
234 PCM_CODEC(CODEC_ID_ADPCM_ADX,     adpcm_adx);
235 PCM_CODEC(CODEC_ID_ADPCM_CT,      adpcm_ct);
236 PCM_CODEC(CODEC_ID_ADPCM_EA,      adpcm_ea);
237 PCM_CODEC(CODEC_ID_ADPCM_G726,    adpcm_g726);
238 PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
239 PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
240 PCM_CODEC(CODEC_ID_ADPCM_IMA_QT,  adpcm_ima_qt);
241 PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
242 PCM_CODEC(CODEC_ID_ADPCM_IMA_WS,  adpcm_ima_ws);
243 PCM_CODEC(CODEC_ID_ADPCM_MS,      adpcm_ms);
244 PCM_CODEC(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2);
245 PCM_CODEC(CODEC_ID_ADPCM_SBPRO_3, adpcm_sbpro_3);
246 PCM_CODEC(CODEC_ID_ADPCM_SBPRO_4, adpcm_sbpro_4);
247 PCM_CODEC(CODEC_ID_ADPCM_SMJPEG,  adpcm_ima_smjpeg);
248 PCM_CODEC(CODEC_ID_ADPCM_SWF,     adpcm_swf);
249 PCM_CODEC(CODEC_ID_ADPCM_THP,     adpcm_thp);
250 PCM_CODEC(CODEC_ID_ADPCM_XA,      adpcm_xa);
251 PCM_CODEC(CODEC_ID_ADPCM_YAMAHA,  adpcm_yamaha);
252
253 #undef PCM_CODEC
254
255 /* dummy raw video codec */
256 extern AVCodec rawvideo_decoder;
257 extern AVCodec rawvideo_encoder;
258
259 /* the following codecs use external libs */
260 extern AVCodec liba52_decoder;
261 extern AVCodec libamr_nb_decoder;
262 extern AVCodec libamr_nb_encoder;
263 extern AVCodec libamr_wb_decoder;
264 extern AVCodec libamr_wb_encoder;
265 extern AVCodec libfaac_encoder;
266 extern AVCodec libfaad_decoder;
267 extern AVCodec libgsm_decoder;
268 extern AVCodec libgsm_encoder;
269 extern AVCodec libgsm_ms_decoder;
270 extern AVCodec libgsm_ms_encoder;
271 extern AVCodec libmp3lame_encoder;
272 extern AVCodec libtheora_encoder;
273 extern AVCodec libvorbis_decoder;
274 extern AVCodec libvorbis_encoder;
275 extern AVCodec libx264_encoder;
276 extern AVCodec libxvid_encoder;
277 extern AVCodec mpeg4aac_decoder;
278 extern AVCodec zlib_decoder;
279 extern AVCodec zlib_encoder;
280
281 /* subtitles */
282 extern AVCodec dvbsub_decoder;
283 extern AVCodec dvbsub_encoder;
284 extern AVCodec dvdsub_decoder;
285 extern AVCodec dvdsub_encoder;
286
287 #endif /* ALLCODECS_H */