2
* Provides registration of all codecs, parsers and bitstream filters for libavcodec.
3
3
* Copyright (c) 2002 Fabrice Bellard.
5
* This library is free software; you can redistribute it and/or
5
* This file is part of FFmpeg.
7
* FFmpeg is free software; you can redistribute it and/or
6
8
* modify it under the terms of the GNU Lesser General Public
7
9
* License as published by the Free Software Foundation; either
8
* version 2 of the License, or (at your option) any later version.
10
* version 2.1 of the License, or (at your option) any later version.
10
* This library is distributed in the hope that it will be useful,
12
* FFmpeg is distributed in the hope that it will be useful,
11
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
15
* Lesser General Public License for more details.
15
17
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
23
* @file allcodecs.c
22
* Utils for libavcodec.
24
* Provides registration of all codecs, parsers and bitstream filters for libavcodec.
25
27
#include "avcodec.h"
27
/* If you do not call this function, then you can select exactly which
28
formats you want to support */
29
#define REGISTER_ENCODER(X,x) \
30
if(ENABLE_##X##_ENCODER) register_avcodec(&x##_encoder)
31
#define REGISTER_DECODER(X,x) \
32
if(ENABLE_##X##_DECODER) register_avcodec(&x##_decoder)
33
#define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x)
35
#define REGISTER_PARSER(X,x) \
36
if(ENABLE_##X##_PARSER) av_register_codec_parser(&x##_parser)
31
* simple call to register all the codecs.
39
* Register all the codecs, parsers and bitstream filters which were enabled at
40
* configuration time. If you do not call this function you can select exactly
41
* which formats you want to support, by using the individual registration
44
* @see register_avcodec
45
* @see av_register_codec_parser
46
* @see av_register_bitstream_filter
33
48
void avcodec_register_all(void)
35
50
static int inited = 0;
42
#ifdef CONFIG_ENCODERS
43
register_avcodec(&ac3_encoder);
44
register_avcodec(&mp2_encoder);
46
register_avcodec(&mp3lame_encoder);
49
register_avcodec(&oggvorbis_encoder);
50
register_avcodec(&oggvorbis_decoder);
52
register_avcodec(&mpeg1video_encoder);
53
// register_avcodec(&h264_encoder);
55
register_avcodec(&mpeg2video_encoder);
56
register_avcodec(&h263_encoder);
57
register_avcodec(&h263p_encoder);
58
register_avcodec(&flv_encoder);
59
register_avcodec(&rv10_encoder);
60
register_avcodec(&mpeg4_encoder);
61
register_avcodec(&msmpeg4v1_encoder);
62
register_avcodec(&msmpeg4v2_encoder);
63
register_avcodec(&msmpeg4v3_encoder);
64
register_avcodec(&wmv1_encoder);
65
register_avcodec(&wmv2_encoder);
67
register_avcodec(&mjpeg_encoder);
68
register_avcodec(&ljpeg_encoder);
69
register_avcodec(&huffyuv_encoder);
70
register_avcodec(&asv1_encoder);
71
register_avcodec(&asv2_encoder);
72
register_avcodec(&ffv1_encoder);
73
#endif /* CONFIG_ENCODERS */
74
register_avcodec(&rawvideo_encoder);
75
register_avcodec(&rawvideo_decoder);
78
#ifdef CONFIG_DECODERS
80
register_avcodec(&h263_decoder);
81
register_avcodec(&mpeg4_decoder);
82
register_avcodec(&msmpeg4v1_decoder);
83
register_avcodec(&msmpeg4v2_decoder);
84
register_avcodec(&msmpeg4v3_decoder);
85
register_avcodec(&wmv1_decoder);
86
register_avcodec(&wmv2_decoder);
87
register_avcodec(&h263i_decoder);
88
register_avcodec(&flv_decoder);
89
register_avcodec(&rv10_decoder);
90
register_avcodec(&svq1_decoder);
91
register_avcodec(&svq3_decoder);
92
register_avcodec(&wmav1_decoder);
93
register_avcodec(&wmav2_decoder);
94
register_avcodec(&indeo3_decoder);
96
register_avcodec(&aac_decoder);
97
register_avcodec(&mpeg4aac_decoder);
100
register_avcodec(&mpeg1video_decoder);
101
register_avcodec(&mpeg2video_decoder);
103
register_avcodec(&mpeg_xvmc_decoder);
105
register_avcodec(&dvvideo_decoder);
106
register_avcodec(&dvaudio_decoder);
107
register_avcodec(&mjpeg_decoder);
108
register_avcodec(&mjpegb_decoder);
109
register_avcodec(&mp2_decoder);
110
register_avcodec(&mp3_decoder);
111
register_avcodec(&mace3_decoder);
112
register_avcodec(&mace6_decoder);
113
register_avcodec(&huffyuv_decoder);
114
register_avcodec(&ffv1_decoder);
115
register_avcodec(&cyuv_decoder);
116
register_avcodec(&h264_decoder);
117
register_avcodec(&vp3_decoder);
118
register_avcodec(&asv1_decoder);
119
register_avcodec(&asv2_decoder);
120
register_avcodec(&vcr1_decoder);
121
register_avcodec(&cljr_decoder);
122
register_avcodec(&fourxm_decoder);
123
register_avcodec(&mdec_decoder);
124
register_avcodec(&roq_decoder);
125
register_avcodec(&interplay_video_decoder);
126
register_avcodec(&xan_wc3_decoder);
128
register_avcodec(&ac3_decoder);
130
register_avcodec(&ra_144_decoder);
131
register_avcodec(&ra_288_decoder);
132
register_avcodec(&roq_dpcm_decoder);
133
register_avcodec(&interplay_dpcm_decoder);
134
register_avcodec(&xan_dpcm_decoder);
135
#endif /* CONFIG_DECODERS */
138
register_avcodec(&amr_nb_decoder);
139
register_avcodec(&amr_nb_encoder);
57
REGISTER_DECODER(AASC, aasc);
58
REGISTER_ENCDEC (ASV1, asv1);
59
REGISTER_ENCDEC (ASV2, asv2);
60
REGISTER_DECODER(AVS, avs);
61
REGISTER_ENCDEC (BMP, bmp);
62
REGISTER_DECODER(CAVS, cavs);
63
REGISTER_DECODER(CINEPAK, cinepak);
64
REGISTER_DECODER(CLJR, cljr);
65
REGISTER_DECODER(CSCD, cscd);
66
REGISTER_DECODER(CYUV, cyuv);
67
REGISTER_DECODER(DCA, dca);
68
REGISTER_DECODER(DSICINVIDEO, dsicinvideo);
69
REGISTER_ENCDEC (DVVIDEO, dvvideo);
70
REGISTER_DECODER(EIGHTBPS, eightbps);
71
REGISTER_ENCDEC (FFV1, ffv1);
72
REGISTER_ENCDEC (FFVHUFF, ffvhuff);
73
REGISTER_ENCDEC (FLASHSV, flashsv);
74
REGISTER_DECODER(FLIC, flic);
75
REGISTER_ENCDEC (FLV, flv);
76
REGISTER_DECODER(FOURXM, fourxm);
77
REGISTER_DECODER(FRAPS, fraps);
78
REGISTER_ENCDEC (GIF, gif);
79
REGISTER_ENCDEC (H261, h261);
80
REGISTER_ENCDEC (H263, h263);
81
REGISTER_DECODER(H263I, h263i);
82
REGISTER_ENCODER(H263P, h263p);
83
REGISTER_DECODER(H264, h264);
84
REGISTER_ENCDEC (HUFFYUV, huffyuv);
85
REGISTER_DECODER(IDCIN, idcin);
86
REGISTER_DECODER(INDEO2, indeo2);
87
REGISTER_DECODER(INDEO3, indeo3);
88
REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video);
89
REGISTER_ENCODER(JPEGLS, jpegls);
90
REGISTER_DECODER(KMVC, kmvc);
91
REGISTER_ENCODER(LJPEG, ljpeg);
92
REGISTER_DECODER(LOCO, loco);
93
REGISTER_DECODER(MDEC, mdec);
94
REGISTER_ENCDEC (MJPEG, mjpeg);
95
REGISTER_DECODER(MJPEGB, mjpegb);
96
REGISTER_DECODER(MMVIDEO, mmvideo);
97
REGISTER_DECODER(MPEG_XVMC, mpeg_xvmc);
98
REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video);
99
REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video);
100
REGISTER_ENCDEC (MPEG4, mpeg4);
101
REGISTER_DECODER(MPEGVIDEO, mpegvideo);
102
REGISTER_ENCDEC (MSMPEG4V1, msmpeg4v1);
103
REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2);
104
REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3);
105
REGISTER_DECODER(MSRLE, msrle);
106
REGISTER_DECODER(MSVIDEO1, msvideo1);
107
REGISTER_DECODER(MSZH, mszh);
108
REGISTER_DECODER(NUV, nuv);
109
REGISTER_ENCODER(PAM, pam);
110
REGISTER_ENCODER(PBM, pbm);
111
REGISTER_ENCODER(PGM, pgm);
112
REGISTER_ENCODER(PGMYUV, pgmyuv);
113
REGISTER_ENCDEC (PNG, png);
114
REGISTER_ENCODER(PPM, ppm);
115
REGISTER_DECODER(QDRAW, qdraw);
116
REGISTER_DECODER(QPEG, qpeg);
117
REGISTER_DECODER(QTRLE, qtrle);
118
REGISTER_ENCDEC (RAWVIDEO, rawvideo);
119
REGISTER_DECODER(ROQ, roq);
120
REGISTER_DECODER(RPZA, rpza);
121
REGISTER_ENCDEC (RV10, rv10);
122
REGISTER_ENCDEC (RV20, rv20);
123
REGISTER_DECODER(SMACKER, smacker);
124
REGISTER_DECODER(SMC, smc);
125
REGISTER_ENCDEC (SNOW, snow);
126
REGISTER_DECODER(SP5X, sp5x);
127
REGISTER_ENCDEC (SVQ1, svq1);
128
REGISTER_DECODER(SVQ3, svq3);
129
REGISTER_DECODER(TARGA, targa);
130
REGISTER_DECODER(THEORA, theora);
131
REGISTER_DECODER(TIERTEXSEQVIDEO, tiertexseqvideo);
132
REGISTER_DECODER(TIFF, tiff);
133
REGISTER_DECODER(TRUEMOTION1, truemotion1);
134
REGISTER_DECODER(TRUEMOTION2, truemotion2);
135
REGISTER_DECODER(TSCC, tscc);
136
REGISTER_DECODER(ULTI, ulti);
137
REGISTER_DECODER(VC1, vc1);
138
REGISTER_DECODER(VCR1, vcr1);
139
REGISTER_DECODER(VMDVIDEO, vmdvideo);
140
REGISTER_DECODER(VMNC, vmnc);
141
REGISTER_DECODER(VP3, vp3);
142
REGISTER_DECODER(VP5, vp5);
143
REGISTER_DECODER(VP6, vp6);
144
REGISTER_DECODER(VP6F, vp6f);
145
REGISTER_DECODER(VQA, vqa);
146
REGISTER_ENCDEC (WMV1, wmv1);
147
REGISTER_ENCDEC (WMV2, wmv2);
148
REGISTER_DECODER(WMV3, wmv3);
149
REGISTER_DECODER(WNV1, wnv1);
150
REGISTER_ENCODER(X264, x264);
151
REGISTER_DECODER(XAN_WC3, xan_wc3);
152
REGISTER_DECODER(XL, xl);
153
REGISTER_ENCODER(XVID, xvid);
154
REGISTER_ENCDEC (ZLIB, zlib);
155
REGISTER_ENCDEC (ZMBV, zmbv);
158
REGISTER_DECODER(AAC, aac);
159
REGISTER_DECODER(MPEG4AAC, mpeg4aac);
160
REGISTER_ENCODER(AC3, ac3);
161
REGISTER_DECODER(ALAC, alac);
162
REGISTER_ENCDEC (AMR_NB, amr_nb);
163
REGISTER_ENCDEC (AMR_WB, amr_wb);
164
REGISTER_DECODER(COOK, cook);
165
REGISTER_DECODER(DSICINAUDIO, dsicinaudio);
166
REGISTER_DECODER(DTS, dts);
167
REGISTER_ENCODER(FAAC, faac);
168
REGISTER_ENCDEC (FLAC, flac);
169
REGISTER_DECODER(IMC, imc);
170
REGISTER_DECODER(LIBA52, liba52);
171
REGISTER_ENCDEC (LIBGSM, libgsm);
172
REGISTER_ENCDEC (LIBGSM_MS, libgsm_ms);
173
REGISTER_ENCODER(LIBTHEORA, libtheora);
174
REGISTER_DECODER(MACE3, mace3);
175
REGISTER_DECODER(MACE6, mace6);
176
REGISTER_ENCDEC (MP2, mp2);
177
REGISTER_DECODER(MP3, mp3);
178
REGISTER_DECODER(MP3ADU, mp3adu);
179
REGISTER_ENCODER(MP3LAME, mp3lame);
180
REGISTER_DECODER(MP3ON4, mp3on4);
181
REGISTER_DECODER(MPC7, mpc7);
182
if (!ENABLE_VORBIS_ENCODER) REGISTER_ENCODER(OGGVORBIS, oggvorbis);
183
if (!ENABLE_VORBIS_DECODER) REGISTER_DECODER(OGGVORBIS, oggvorbis);
184
REGISTER_DECODER(QDM2, qdm2);
185
REGISTER_DECODER(RA_144, ra_144);
186
REGISTER_DECODER(RA_288, ra_288);
187
REGISTER_DECODER(SHORTEN, shorten);
188
REGISTER_DECODER(SMACKAUD, smackaud);
189
REGISTER_ENCDEC (SONIC, sonic);
190
REGISTER_ENCODER(SONIC_LS, sonic_ls);
191
REGISTER_DECODER(TRUESPEECH, truespeech);
192
REGISTER_DECODER(TTA, tta);
193
REGISTER_DECODER(VMDAUDIO, vmdaudio);
194
REGISTER_ENCDEC (VORBIS, vorbis);
195
REGISTER_DECODER(WAVPACK, wavpack);
196
REGISTER_ENCDEC(WMAV1, wmav1);
197
REGISTER_ENCDEC(WMAV2, wmav2);
198
REGISTER_DECODER(WS_SND1, ws_snd1);
143
#define PCM_CODEC(id, name) \
144
register_avcodec(& name ## _encoder); \
145
register_avcodec(& name ## _decoder); \
147
PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le);
148
PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be);
149
PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le);
150
PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be);
151
PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8);
152
PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8);
153
PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw);
154
PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw);
201
REGISTER_ENCDEC (PCM_ALAW, pcm_alaw);
202
REGISTER_ENCDEC (PCM_MULAW, pcm_mulaw);
203
REGISTER_ENCDEC (PCM_S8, pcm_s8);
204
REGISTER_ENCDEC (PCM_S16BE, pcm_s16be);
205
REGISTER_ENCDEC (PCM_S16LE, pcm_s16le);
206
REGISTER_ENCDEC (PCM_S24BE, pcm_s24be);
207
REGISTER_ENCDEC (PCM_S24DAUD, pcm_s24daud);
208
REGISTER_ENCDEC (PCM_S24LE, pcm_s24le);
209
REGISTER_ENCDEC (PCM_S32BE, pcm_s32be);
210
REGISTER_ENCDEC (PCM_S32LE, pcm_s32le);
211
REGISTER_ENCDEC (PCM_U8, pcm_u8);
212
REGISTER_ENCDEC (PCM_U16BE, pcm_u16be);
213
REGISTER_ENCDEC (PCM_U16LE, pcm_u16le);
214
REGISTER_ENCDEC (PCM_U24BE, pcm_u24be);
215
REGISTER_ENCDEC (PCM_U24LE, pcm_u24le);
216
REGISTER_ENCDEC (PCM_U32BE, pcm_u32be);
217
REGISTER_ENCDEC (PCM_U32LE, pcm_u32le);
220
REGISTER_DECODER(INTERPLAY_DPCM, interplay_dpcm);
221
REGISTER_DECODER(ROQ_DPCM, roq_dpcm);
222
REGISTER_DECODER(SOL_DPCM, sol_dpcm);
223
REGISTER_DECODER(XAN_DPCM, xan_dpcm);
156
225
/* adpcm codecs */
157
PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
158
PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
159
PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
160
PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
161
PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
162
PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);
226
REGISTER_ENCDEC (ADPCM_4XM, adpcm_4xm);
227
REGISTER_ENCDEC (ADPCM_ADX, adpcm_adx);
228
REGISTER_ENCDEC (ADPCM_CT, adpcm_ct);
229
REGISTER_ENCDEC (ADPCM_EA, adpcm_ea);
230
REGISTER_ENCDEC (ADPCM_G726, adpcm_g726);
231
REGISTER_ENCDEC (ADPCM_IMA_DK3, adpcm_ima_dk3);
232
REGISTER_ENCDEC (ADPCM_IMA_DK4, adpcm_ima_dk4);
233
REGISTER_ENCDEC (ADPCM_IMA_QT, adpcm_ima_qt);
234
REGISTER_ENCDEC (ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
235
REGISTER_ENCDEC (ADPCM_IMA_WAV, adpcm_ima_wav);
236
REGISTER_ENCDEC (ADPCM_IMA_WS, adpcm_ima_ws);
237
REGISTER_ENCDEC (ADPCM_MS, adpcm_ms);
238
REGISTER_ENCDEC (ADPCM_SBPRO_2, adpcm_sbpro_2);
239
REGISTER_ENCDEC (ADPCM_SBPRO_3, adpcm_sbpro_3);
240
REGISTER_ENCDEC (ADPCM_SBPRO_4, adpcm_sbpro_4);
241
REGISTER_ENCDEC (ADPCM_SWF, adpcm_swf);
242
REGISTER_ENCDEC (ADPCM_XA, adpcm_xa);
243
REGISTER_ENCDEC (ADPCM_YAMAHA, adpcm_yamaha);
246
REGISTER_ENCDEC (DVBSUB, dvbsub);
247
REGISTER_ENCDEC (DVDSUB, dvdsub);
250
REGISTER_PARSER (AAC, aac);
251
REGISTER_PARSER (AC3, ac3);
252
REGISTER_PARSER (CAVSVIDEO, cavsvideo);
253
REGISTER_PARSER (DCA, dca);
254
REGISTER_PARSER (DVBSUB, dvbsub);
255
REGISTER_PARSER (DVDSUB, dvdsub);
256
REGISTER_PARSER (H261, h261);
257
REGISTER_PARSER (H263, h263);
258
REGISTER_PARSER (H264, h264);
259
REGISTER_PARSER (MJPEG, mjpeg);
260
REGISTER_PARSER (MPEG4VIDEO, mpeg4video);
261
REGISTER_PARSER (MPEGAUDIO, mpegaudio);
262
REGISTER_PARSER (MPEGVIDEO, mpegvideo);
263
REGISTER_PARSER (PNM, pnm);
264
REGISTER_PARSER (VC1, vc1);
266
av_register_bitstream_filter(&dump_extradata_bsf);
267
av_register_bitstream_filter(&remove_extradata_bsf);
268
av_register_bitstream_filter(&noise_bsf);
269
av_register_bitstream_filter(&mp3_header_compress_bsf);
270
av_register_bitstream_filter(&mp3_header_decompress_bsf);
271
av_register_bitstream_filter(&mjpega_dump_header_bsf);