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); |
1d0d55da | 60 | #ifdef CONFIG_RISKY |
029911d1 | 61 | register_avcodec(&mpeg2video_encoder); |
1c3990db | 62 | register_avcodec(&h261_encoder); |
771b9a70 FB |
63 | register_avcodec(&h263_encoder); |
64 | register_avcodec(&h263p_encoder); | |
dde38422 | 65 | register_avcodec(&flv_encoder); |
771b9a70 | 66 | register_avcodec(&rv10_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 MN |
74 | #endif |
75 | register_avcodec(&mjpeg_encoder); | |
b1e6b355 | 76 | register_avcodec(&ljpeg_encoder); |
6c3890b6 | 77 | #ifdef CONFIG_ZLIB |
4eff7cf4 | 78 | register_avcodec(&png_encoder); |
6c3890b6 | 79 | #endif |
11f18faf | 80 | register_avcodec(&huffyuv_encoder); |
3d2e8cce | 81 | register_avcodec(&asv1_encoder); |
1149acdc | 82 | register_avcodec(&asv2_encoder); |
5e20f836 | 83 | register_avcodec(&ffv1_encoder); |
791e7b83 | 84 | register_avcodec(&snow_encoder); |
a273bbfb | 85 | register_avcodec(&zlib_encoder); |
6faa4645 | 86 | register_avcodec(&dvvideo_encoder); |
54f5fd22 AB |
87 | register_avcodec(&sonic_encoder); |
88 | register_avcodec(&sonic_ls_encoder); | |
771b9a70 | 89 | #endif /* CONFIG_ENCODERS */ |
63167088 RS |
90 | register_avcodec(&rawvideo_encoder); |
91 | register_avcodec(&rawvideo_decoder); | |
771b9a70 FB |
92 | |
93 | /* decoders */ | |
94 | #ifdef CONFIG_DECODERS | |
1d0d55da | 95 | #ifdef CONFIG_RISKY |
771b9a70 | 96 | register_avcodec(&h263_decoder); |
c6148de2 | 97 | register_avcodec(&h261_decoder); |
771b9a70 FB |
98 | register_avcodec(&mpeg4_decoder); |
99 | register_avcodec(&msmpeg4v1_decoder); | |
100 | register_avcodec(&msmpeg4v2_decoder); | |
101 | register_avcodec(&msmpeg4v3_decoder); | |
102 | register_avcodec(&wmv1_decoder); | |
1457ab52 | 103 | register_avcodec(&wmv2_decoder); |
771b9a70 | 104 | register_avcodec(&h263i_decoder); |
dde38422 | 105 | register_avcodec(&flv_decoder); |
771b9a70 | 106 | register_avcodec(&rv10_decoder); |
68b94c35 | 107 | register_avcodec(&rv20_decoder); |
be8ffec9 | 108 | register_avcodec(&svq1_decoder); |
8b82a956 | 109 | register_avcodec(&svq3_decoder); |
1d0d55da MN |
110 | register_avcodec(&wmav1_decoder); |
111 | register_avcodec(&wmav2_decoder); | |
deabd4fd | 112 | register_avcodec(&indeo3_decoder); |
d0a0bbd2 MM |
113 | register_avcodec(&tscc_decoder); |
114 | register_avcodec(&ulti_decoder); | |
d08d7142 | 115 | register_avcodec(&qdraw_decoder); |
ab711b3c | 116 | register_avcodec(&xl_decoder); |
280bd7b7 ZK |
117 | #ifdef CONFIG_FAAD |
118 | register_avcodec(&aac_decoder); | |
119 | register_avcodec(&mpeg4aac_decoder); | |
120 | #endif | |
1d0d55da | 121 | #endif |
922bc38d MN |
122 | register_avcodec(&mpeg1video_decoder); |
123 | register_avcodec(&mpeg2video_decoder); | |
c512b303 | 124 | register_avcodec(&mpegvideo_decoder); |
2e7b4c84 IK |
125 | #ifdef HAVE_XVMC |
126 | register_avcodec(&mpeg_xvmc_decoder); | |
127 | #endif | |
020fcc94 | 128 | register_avcodec(&dvvideo_decoder); |
771b9a70 | 129 | register_avcodec(&mjpeg_decoder); |
b135d9fb | 130 | register_avcodec(&mjpegb_decoder); |
5e83dec4 | 131 | register_avcodec(&sp5x_decoder); |
6c3890b6 | 132 | #ifdef CONFIG_ZLIB |
4eff7cf4 | 133 | register_avcodec(&png_decoder); |
6c3890b6 | 134 | #endif |
771b9a70 FB |
135 | register_avcodec(&mp2_decoder); |
136 | register_avcodec(&mp3_decoder); | |
3f95e843 FR |
137 | register_avcodec(&mace3_decoder); |
138 | register_avcodec(&mace6_decoder); | |
11f18faf | 139 | register_avcodec(&huffyuv_decoder); |
5e20f836 | 140 | register_avcodec(&ffv1_decoder); |
791e7b83 | 141 | register_avcodec(&snow_decoder); |
c78f73c8 | 142 | register_avcodec(&cyuv_decoder); |
0da71265 | 143 | register_avcodec(&h264_decoder); |
d86053a4 | 144 | register_avcodec(&vp3_decoder); |
f44ee2c3 | 145 | register_avcodec(&theora_decoder); |
3d2e8cce | 146 | register_avcodec(&asv1_decoder); |
9b56edf5 | 147 | register_avcodec(&asv2_decoder); |
be3564ed | 148 | register_avcodec(&vcr1_decoder); |
3aff069b | 149 | register_avcodec(&cljr_decoder); |
8809cfee | 150 | register_avcodec(&fourxm_decoder); |
c3bf0288 | 151 | register_avcodec(&mdec_decoder); |
3ef8be2b MM |
152 | register_avcodec(&roq_decoder); |
153 | register_avcodec(&interplay_video_decoder); | |
9937e686 | 154 | register_avcodec(&xan_wc3_decoder); |
2fdf638b MM |
155 | register_avcodec(&rpza_decoder); |
156 | register_avcodec(&cinepak_decoder); | |
157 | register_avcodec(&msrle_decoder); | |
158 | register_avcodec(&msvideo1_decoder); | |
6955a882 | 159 | register_avcodec(&vqa_decoder); |
4120a53a | 160 | register_avcodec(&idcin_decoder); |
1dc1ed99 | 161 | register_avcodec(&eightbps_decoder); |
11e29a41 | 162 | register_avcodec(&smc_decoder); |
42cad81a | 163 | register_avcodec(&flic_decoder); |
9a4117d5 | 164 | register_avcodec(&truemotion1_decoder); |
fafa0b75 MM |
165 | register_avcodec(&vmdvideo_decoder); |
166 | register_avcodec(&vmdaudio_decoder); | |
a273bbfb RT |
167 | register_avcodec(&mszh_decoder); |
168 | register_avcodec(&zlib_decoder); | |
54f5fd22 | 169 | register_avcodec(&sonic_decoder); |
771b9a70 FB |
170 | #ifdef CONFIG_AC3 |
171 | register_avcodec(&ac3_decoder); | |
172 | #endif | |
23c99253 MN |
173 | #ifdef CONFIG_DTS |
174 | register_avcodec(&dts_decoder); | |
175 | #endif | |
b8414bbd NK |
176 | register_avcodec(&ra_144_decoder); |
177 | register_avcodec(&ra_288_decoder); | |
3ef8be2b MM |
178 | register_avcodec(&roq_dpcm_decoder); |
179 | register_avcodec(&interplay_dpcm_decoder); | |
9937e686 | 180 | register_avcodec(&xan_dpcm_decoder); |
d08d7142 | 181 | register_avcodec(&sol_dpcm_decoder); |
070ed1bc | 182 | register_avcodec(&qtrle_decoder); |
ac2570a8 | 183 | register_avcodec(&flac_decoder); |
771b9a70 FB |
184 | #endif /* CONFIG_DECODERS */ |
185 | ||
891f64b3 | 186 | #ifdef AMR_NB |
187 | register_avcodec(&amr_nb_decoder); | |
fc384777 | 188 | #ifdef CONFIG_ENCODERS |
bc634f6f | 189 | register_avcodec(&amr_nb_encoder); |
fc384777 | 190 | #endif //CONFIG_ENCODERS |
891f64b3 | 191 | #endif /* AMR_NB */ |
d663a1fd MN |
192 | |
193 | #ifdef AMR_WB | |
194 | register_avcodec(&amr_wb_decoder); | |
fc384777 | 195 | #ifdef CONFIG_ENCODERS |
d663a1fd | 196 | register_avcodec(&amr_wb_encoder); |
fc384777 | 197 | #endif //CONFIG_ENCODERS |
d663a1fd MN |
198 | #endif /* AMR_WB */ |
199 | ||
771b9a70 FB |
200 | /* pcm codecs */ |
201 | ||
fc384777 | 202 | #ifdef CONFIG_ENCODERS |
771b9a70 FB |
203 | #define PCM_CODEC(id, name) \ |
204 | register_avcodec(& name ## _encoder); \ | |
205 | register_avcodec(& name ## _decoder); \ | |
206 | ||
fc384777 MM |
207 | #else |
208 | #define PCM_CODEC(id, name) \ | |
209 | register_avcodec(& name ## _decoder); | |
210 | #endif | |
211 | ||
771b9a70 FB |
212 | PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le); |
213 | PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be); | |
214 | PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le); | |
215 | PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be); | |
216 | PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8); | |
217 | PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); | |
218 | PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); | |
219 | PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); | |
220 | ||
0147f198 FR |
221 | /* adpcm codecs */ |
222 | PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt); | |
223 | PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav); | |
9937e686 MM |
224 | PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3); |
225 | PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4); | |
2fdf638b | 226 | PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws); |
7d8379f2 | 227 | PCM_CODEC(CODEC_ID_ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg); |
0147f198 | 228 | PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); |
4b465299 | 229 | PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm); |
fc384777 MM |
230 | PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa); |
231 | PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx); | |
7d8379f2 | 232 | PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea); |
13b4c18e | 233 | PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726); |
b3bfb299 | 234 | PCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct); |
0147f198 | 235 | |
771b9a70 | 236 | #undef PCM_CODEC |
8424cf50 FB |
237 | |
238 | /* parsers */ | |
239 | av_register_codec_parser(&mpegvideo_parser); | |
240 | av_register_codec_parser(&mpeg4video_parser); | |
c6148de2 | 241 | av_register_codec_parser(&h261_parser); |
8424cf50 FB |
242 | av_register_codec_parser(&h263_parser); |
243 | av_register_codec_parser(&h264_parser); | |
8e6325b9 | 244 | av_register_codec_parser(&mjpeg_parser); |
8424cf50 FB |
245 | |
246 | av_register_codec_parser(&mpegaudio_parser); | |
247 | #ifdef CONFIG_AC3 | |
248 | av_register_codec_parser(&ac3_parser); | |
249 | #endif | |
771b9a70 FB |
250 | } |
251 |