Commit | Line | Data |
---|---|---|
771b9a70 FB |
1 | /* |
2 | * Utils for libavcodec | |
3 | * Copyright (c) 2002 Fabrice Bellard. | |
4 | * | |
5 | * This library is free software; you can redistribute it and/or | |
6 | * modify it under the terms of the GNU Lesser General Public | |
7 | * License as published by the Free Software Foundation; either | |
8 | * version 2 of the License, or (at your option) any later version. | |
9 | * | |
10 | * This library is distributed in the hope that it will be useful, | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | * Lesser General Public License for more details. | |
14 | * | |
15 | * 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 | */ | |
983e3246 MN |
19 | |
20 | /** | |
21 | * @file allcodecs.c | |
22 | * Utils for libavcodec. | |
23 | */ | |
24 | ||
771b9a70 FB |
25 | #include "avcodec.h" |
26 | ||
27 | /* If you do not call this function, then you can select exactly which | |
28 | formats you want to support */ | |
29 | ||
30 | /** | |
31 | * simple call to register all the codecs. | |
32 | */ | |
33 | void avcodec_register_all(void) | |
34 | { | |
35 | static int inited = 0; | |
36 | ||
37 | if (inited != 0) | |
38 | return; | |
39 | inited = 1; | |
40 | ||
41 | /* encoders */ | |
42 | #ifdef CONFIG_ENCODERS | |
43 | register_avcodec(&ac3_encoder); | |
44 | register_avcodec(&mp2_encoder); | |
45 | #ifdef CONFIG_MP3LAME | |
46 | register_avcodec(&mp3lame_encoder); | |
47 | #endif | |
81e0d0b4 MH |
48 | #ifdef CONFIG_VORBIS |
49 | register_avcodec(&oggvorbis_encoder); | |
3aca208a | 50 | register_avcodec(&oggvorbis_decoder); |
81e0d0b4 | 51 | #endif |
29d48296 MN |
52 | #ifdef CONFIG_FAAC |
53 | register_avcodec(&faac_encoder); | |
54 | #endif | |
1ddadfa9 AT |
55 | #ifdef CONFIG_XVID |
56 | register_avcodec(&xvid_encoder); | |
57 | #endif | |
771b9a70 | 58 | register_avcodec(&mpeg1video_encoder); |
0da71265 | 59 | // register_avcodec(&h264_encoder); |
029911d1 | 60 | register_avcodec(&mpeg2video_encoder); |
1c3990db | 61 | register_avcodec(&h261_encoder); |
771b9a70 FB |
62 | register_avcodec(&h263_encoder); |
63 | register_avcodec(&h263p_encoder); | |
dde38422 | 64 | register_avcodec(&flv_encoder); |
771b9a70 | 65 | register_avcodec(&rv10_encoder); |
d0271e8a | 66 | register_avcodec(&rv20_encoder); |
771b9a70 FB |
67 | register_avcodec(&mpeg4_encoder); |
68 | register_avcodec(&msmpeg4v1_encoder); | |
69 | register_avcodec(&msmpeg4v2_encoder); | |
70 | register_avcodec(&msmpeg4v3_encoder); | |
0151a6f5 | 71 | register_avcodec(&wmv1_encoder); |
1457ab52 | 72 | register_avcodec(&wmv2_encoder); |
3b64893d | 73 | register_avcodec(&svq1_encoder); |
1d0d55da | 74 | register_avcodec(&mjpeg_encoder); |
b1e6b355 | 75 | register_avcodec(&ljpeg_encoder); |
6c3890b6 | 76 | #ifdef CONFIG_ZLIB |
4eff7cf4 | 77 | register_avcodec(&png_encoder); |
6c3890b6 | 78 | #endif |
5b6d5596 MN |
79 | register_avcodec(&ppm_encoder); |
80 | register_avcodec(&pgm_encoder); | |
81 | register_avcodec(&pgmyuv_encoder); | |
82 | register_avcodec(&pbm_encoder); | |
83 | register_avcodec(&pam_encoder); | |
11f18faf | 84 | register_avcodec(&huffyuv_encoder); |
f37b9768 | 85 | register_avcodec(&ffvhuff_encoder); |
3d2e8cce | 86 | register_avcodec(&asv1_encoder); |
1149acdc | 87 | register_avcodec(&asv2_encoder); |
5e20f836 | 88 | register_avcodec(&ffv1_encoder); |
791e7b83 | 89 | register_avcodec(&snow_encoder); |
a273bbfb | 90 | register_avcodec(&zlib_encoder); |
6faa4645 | 91 | register_avcodec(&dvvideo_encoder); |
54f5fd22 AB |
92 | register_avcodec(&sonic_encoder); |
93 | register_avcodec(&sonic_ls_encoder); | |
771b9a70 | 94 | #endif /* CONFIG_ENCODERS */ |
63167088 RS |
95 | register_avcodec(&rawvideo_encoder); |
96 | register_avcodec(&rawvideo_decoder); | |
771b9a70 FB |
97 | |
98 | /* decoders */ | |
99 | #ifdef CONFIG_DECODERS | |
100 | register_avcodec(&h263_decoder); | |
c6148de2 | 101 | register_avcodec(&h261_decoder); |
771b9a70 FB |
102 | register_avcodec(&mpeg4_decoder); |
103 | register_avcodec(&msmpeg4v1_decoder); | |
104 | register_avcodec(&msmpeg4v2_decoder); | |
105 | register_avcodec(&msmpeg4v3_decoder); | |
106 | register_avcodec(&wmv1_decoder); | |
1457ab52 | 107 | register_avcodec(&wmv2_decoder); |
4c12e8be AB |
108 | register_avcodec(&vc9_decoder); |
109 | register_avcodec(&wmv3_decoder); | |
771b9a70 | 110 | register_avcodec(&h263i_decoder); |
dde38422 | 111 | register_avcodec(&flv_decoder); |
771b9a70 | 112 | register_avcodec(&rv10_decoder); |
68b94c35 | 113 | register_avcodec(&rv20_decoder); |
be8ffec9 | 114 | register_avcodec(&svq1_decoder); |
8b82a956 | 115 | register_avcodec(&svq3_decoder); |
1d0d55da MN |
116 | register_avcodec(&wmav1_decoder); |
117 | register_avcodec(&wmav2_decoder); | |
deabd4fd | 118 | register_avcodec(&indeo3_decoder); |
d0a0bbd2 MM |
119 | register_avcodec(&tscc_decoder); |
120 | register_avcodec(&ulti_decoder); | |
d08d7142 | 121 | register_avcodec(&qdraw_decoder); |
ab711b3c | 122 | register_avcodec(&xl_decoder); |
acfd8f0f | 123 | register_avcodec(&qpeg_decoder); |
280bd7b7 ZK |
124 | #ifdef CONFIG_FAAD |
125 | register_avcodec(&aac_decoder); | |
126 | register_avcodec(&mpeg4aac_decoder); | |
127 | #endif | |
922bc38d MN |
128 | register_avcodec(&mpeg1video_decoder); |
129 | register_avcodec(&mpeg2video_decoder); | |
c512b303 | 130 | register_avcodec(&mpegvideo_decoder); |
2e7b4c84 IK |
131 | #ifdef HAVE_XVMC |
132 | register_avcodec(&mpeg_xvmc_decoder); | |
133 | #endif | |
020fcc94 | 134 | register_avcodec(&dvvideo_decoder); |
771b9a70 | 135 | register_avcodec(&mjpeg_decoder); |
b135d9fb | 136 | register_avcodec(&mjpegb_decoder); |
5e83dec4 | 137 | register_avcodec(&sp5x_decoder); |
6c3890b6 | 138 | #ifdef CONFIG_ZLIB |
4eff7cf4 | 139 | register_avcodec(&png_decoder); |
6c3890b6 | 140 | #endif |
771b9a70 FB |
141 | register_avcodec(&mp2_decoder); |
142 | register_avcodec(&mp3_decoder); | |
1ede228a | 143 | register_avcodec(&mp3adu_decoder); |
d2a7718d | 144 | register_avcodec(&mp3on4_decoder); |
3f95e843 FR |
145 | register_avcodec(&mace3_decoder); |
146 | register_avcodec(&mace6_decoder); | |
11f18faf | 147 | register_avcodec(&huffyuv_decoder); |
f37b9768 | 148 | register_avcodec(&ffvhuff_decoder); |
5e20f836 | 149 | register_avcodec(&ffv1_decoder); |
791e7b83 | 150 | register_avcodec(&snow_decoder); |
c78f73c8 | 151 | register_avcodec(&cyuv_decoder); |
0da71265 | 152 | register_avcodec(&h264_decoder); |
d86053a4 | 153 | register_avcodec(&vp3_decoder); |
f44ee2c3 | 154 | register_avcodec(&theora_decoder); |
3d2e8cce | 155 | register_avcodec(&asv1_decoder); |
9b56edf5 | 156 | register_avcodec(&asv2_decoder); |
be3564ed | 157 | register_avcodec(&vcr1_decoder); |
3aff069b | 158 | register_avcodec(&cljr_decoder); |
8809cfee | 159 | register_avcodec(&fourxm_decoder); |
c3bf0288 | 160 | register_avcodec(&mdec_decoder); |
3ef8be2b MM |
161 | register_avcodec(&roq_decoder); |
162 | register_avcodec(&interplay_video_decoder); | |
9937e686 | 163 | register_avcodec(&xan_wc3_decoder); |
2fdf638b MM |
164 | register_avcodec(&rpza_decoder); |
165 | register_avcodec(&cinepak_decoder); | |
166 | register_avcodec(&msrle_decoder); | |
167 | register_avcodec(&msvideo1_decoder); | |
6955a882 | 168 | register_avcodec(&vqa_decoder); |
4120a53a | 169 | register_avcodec(&idcin_decoder); |
1dc1ed99 | 170 | register_avcodec(&eightbps_decoder); |
11e29a41 | 171 | register_avcodec(&smc_decoder); |
42cad81a | 172 | register_avcodec(&flic_decoder); |
9a4117d5 | 173 | register_avcodec(&truemotion1_decoder); |
fafa0b75 MM |
174 | register_avcodec(&vmdvideo_decoder); |
175 | register_avcodec(&vmdaudio_decoder); | |
a273bbfb RT |
176 | register_avcodec(&mszh_decoder); |
177 | register_avcodec(&zlib_decoder); | |
54f5fd22 | 178 | register_avcodec(&sonic_decoder); |
771b9a70 FB |
179 | #ifdef CONFIG_AC3 |
180 | register_avcodec(&ac3_decoder); | |
181 | #endif | |
23c99253 MN |
182 | #ifdef CONFIG_DTS |
183 | register_avcodec(&dts_decoder); | |
184 | #endif | |
b8414bbd NK |
185 | register_avcodec(&ra_144_decoder); |
186 | register_avcodec(&ra_288_decoder); | |
3ef8be2b MM |
187 | register_avcodec(&roq_dpcm_decoder); |
188 | register_avcodec(&interplay_dpcm_decoder); | |
9937e686 | 189 | register_avcodec(&xan_dpcm_decoder); |
d08d7142 | 190 | register_avcodec(&sol_dpcm_decoder); |
070ed1bc | 191 | register_avcodec(&qtrle_decoder); |
ac2570a8 | 192 | register_avcodec(&flac_decoder); |
771b9a70 FB |
193 | #endif /* CONFIG_DECODERS */ |
194 | ||
891f64b3 | 195 | #ifdef AMR_NB |
196 | register_avcodec(&amr_nb_decoder); | |
fc384777 | 197 | #ifdef CONFIG_ENCODERS |
bc634f6f | 198 | register_avcodec(&amr_nb_encoder); |
fc384777 | 199 | #endif //CONFIG_ENCODERS |
891f64b3 | 200 | #endif /* AMR_NB */ |
d663a1fd MN |
201 | |
202 | #ifdef AMR_WB | |
203 | register_avcodec(&amr_wb_decoder); | |
fc384777 | 204 | #ifdef CONFIG_ENCODERS |
d663a1fd | 205 | register_avcodec(&amr_wb_encoder); |
fc384777 | 206 | #endif //CONFIG_ENCODERS |
d663a1fd MN |
207 | #endif /* AMR_WB */ |
208 | ||
771b9a70 FB |
209 | /* pcm codecs */ |
210 | ||
fc384777 | 211 | #ifdef CONFIG_ENCODERS |
771b9a70 FB |
212 | #define PCM_CODEC(id, name) \ |
213 | register_avcodec(& name ## _encoder); \ | |
214 | register_avcodec(& name ## _decoder); \ | |
215 | ||
fc384777 MM |
216 | #else |
217 | #define PCM_CODEC(id, name) \ | |
218 | register_avcodec(& name ## _decoder); | |
219 | #endif | |
220 | ||
771b9a70 FB |
221 | PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le); |
222 | PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be); | |
223 | PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le); | |
224 | PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be); | |
225 | PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8); | |
226 | PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); | |
227 | PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); | |
228 | PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); | |
229 | ||
0147f198 FR |
230 | /* adpcm codecs */ |
231 | PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt); | |
232 | PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav); | |
9937e686 MM |
233 | PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3); |
234 | PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4); | |
2fdf638b | 235 | PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws); |
7d8379f2 | 236 | PCM_CODEC(CODEC_ID_ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg); |
0147f198 | 237 | PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); |
4b465299 | 238 | PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm); |
fc384777 MM |
239 | PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa); |
240 | PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx); | |
7d8379f2 | 241 | PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea); |
13b4c18e | 242 | PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726); |
b3bfb299 | 243 | PCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct); |
659c3692 | 244 | PCM_CODEC(CODEC_ID_ADPCM_SWF, adpcm_swf); |
0147f198 | 245 | |
771b9a70 | 246 | #undef PCM_CODEC |
8424cf50 FB |
247 | |
248 | /* parsers */ | |
249 | av_register_codec_parser(&mpegvideo_parser); | |
250 | av_register_codec_parser(&mpeg4video_parser); | |
c6148de2 | 251 | av_register_codec_parser(&h261_parser); |
8424cf50 FB |
252 | av_register_codec_parser(&h263_parser); |
253 | av_register_codec_parser(&h264_parser); | |
8e6325b9 | 254 | av_register_codec_parser(&mjpeg_parser); |
99f06236 | 255 | av_register_codec_parser(&pnm_parser); |
8424cf50 FB |
256 | |
257 | av_register_codec_parser(&mpegaudio_parser); | |
258 | #ifdef CONFIG_AC3 | |
259 | av_register_codec_parser(&ac3_parser); | |
260 | #endif | |
771b9a70 FB |
261 | } |
262 |