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