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 | |
771b9a70 | 55 | register_avcodec(&mpeg1video_encoder); |
0da71265 | 56 | // register_avcodec(&h264_encoder); |
1d0d55da | 57 | #ifdef CONFIG_RISKY |
029911d1 | 58 | register_avcodec(&mpeg2video_encoder); |
771b9a70 FB |
59 | register_avcodec(&h263_encoder); |
60 | register_avcodec(&h263p_encoder); | |
dde38422 | 61 | register_avcodec(&flv_encoder); |
771b9a70 | 62 | register_avcodec(&rv10_encoder); |
771b9a70 FB |
63 | register_avcodec(&mpeg4_encoder); |
64 | register_avcodec(&msmpeg4v1_encoder); | |
65 | register_avcodec(&msmpeg4v2_encoder); | |
66 | register_avcodec(&msmpeg4v3_encoder); | |
0151a6f5 | 67 | register_avcodec(&wmv1_encoder); |
1457ab52 | 68 | register_avcodec(&wmv2_encoder); |
1d0d55da MN |
69 | #endif |
70 | register_avcodec(&mjpeg_encoder); | |
b1e6b355 | 71 | register_avcodec(&ljpeg_encoder); |
11f18faf | 72 | register_avcodec(&huffyuv_encoder); |
3d2e8cce | 73 | register_avcodec(&asv1_encoder); |
1149acdc | 74 | register_avcodec(&asv2_encoder); |
5e20f836 | 75 | register_avcodec(&ffv1_encoder); |
771b9a70 | 76 | #endif /* CONFIG_ENCODERS */ |
63167088 RS |
77 | register_avcodec(&rawvideo_encoder); |
78 | register_avcodec(&rawvideo_decoder); | |
771b9a70 FB |
79 | |
80 | /* decoders */ | |
81 | #ifdef CONFIG_DECODERS | |
1d0d55da | 82 | #ifdef CONFIG_RISKY |
771b9a70 FB |
83 | register_avcodec(&h263_decoder); |
84 | register_avcodec(&mpeg4_decoder); | |
85 | register_avcodec(&msmpeg4v1_decoder); | |
86 | register_avcodec(&msmpeg4v2_decoder); | |
87 | register_avcodec(&msmpeg4v3_decoder); | |
88 | register_avcodec(&wmv1_decoder); | |
1457ab52 | 89 | register_avcodec(&wmv2_decoder); |
771b9a70 | 90 | register_avcodec(&h263i_decoder); |
dde38422 | 91 | register_avcodec(&flv_decoder); |
771b9a70 | 92 | register_avcodec(&rv10_decoder); |
be8ffec9 | 93 | register_avcodec(&svq1_decoder); |
8b82a956 | 94 | register_avcodec(&svq3_decoder); |
1d0d55da MN |
95 | register_avcodec(&wmav1_decoder); |
96 | register_avcodec(&wmav2_decoder); | |
deabd4fd | 97 | register_avcodec(&indeo3_decoder); |
280bd7b7 ZK |
98 | #ifdef CONFIG_FAAD |
99 | register_avcodec(&aac_decoder); | |
100 | register_avcodec(&mpeg4aac_decoder); | |
101 | #endif | |
1d0d55da | 102 | #endif |
922bc38d MN |
103 | register_avcodec(&mpeg1video_decoder); |
104 | register_avcodec(&mpeg2video_decoder); | |
2e7b4c84 IK |
105 | #ifdef HAVE_XVMC |
106 | register_avcodec(&mpeg_xvmc_decoder); | |
107 | #endif | |
020fcc94 | 108 | register_avcodec(&dvvideo_decoder); |
771b9a70 | 109 | register_avcodec(&mjpeg_decoder); |
b135d9fb | 110 | register_avcodec(&mjpegb_decoder); |
5e83dec4 | 111 | register_avcodec(&sp5x_decoder); |
771b9a70 FB |
112 | register_avcodec(&mp2_decoder); |
113 | register_avcodec(&mp3_decoder); | |
3f95e843 FR |
114 | register_avcodec(&mace3_decoder); |
115 | register_avcodec(&mace6_decoder); | |
11f18faf | 116 | register_avcodec(&huffyuv_decoder); |
5e20f836 | 117 | register_avcodec(&ffv1_decoder); |
c78f73c8 | 118 | register_avcodec(&cyuv_decoder); |
0da71265 | 119 | register_avcodec(&h264_decoder); |
d86053a4 | 120 | register_avcodec(&vp3_decoder); |
f44ee2c3 | 121 | register_avcodec(&theora_decoder); |
3d2e8cce | 122 | register_avcodec(&asv1_decoder); |
9b56edf5 | 123 | register_avcodec(&asv2_decoder); |
be3564ed | 124 | register_avcodec(&vcr1_decoder); |
3aff069b | 125 | register_avcodec(&cljr_decoder); |
8809cfee | 126 | register_avcodec(&fourxm_decoder); |
c3bf0288 | 127 | register_avcodec(&mdec_decoder); |
3ef8be2b MM |
128 | register_avcodec(&roq_decoder); |
129 | register_avcodec(&interplay_video_decoder); | |
9937e686 | 130 | register_avcodec(&xan_wc3_decoder); |
2fdf638b MM |
131 | register_avcodec(&rpza_decoder); |
132 | register_avcodec(&cinepak_decoder); | |
133 | register_avcodec(&msrle_decoder); | |
134 | register_avcodec(&msvideo1_decoder); | |
6955a882 | 135 | register_avcodec(&vqa_decoder); |
4120a53a | 136 | register_avcodec(&idcin_decoder); |
1dc1ed99 | 137 | register_avcodec(&eightbps_decoder); |
11e29a41 | 138 | register_avcodec(&smc_decoder); |
771b9a70 FB |
139 | #ifdef CONFIG_AC3 |
140 | register_avcodec(&ac3_decoder); | |
141 | #endif | |
b8414bbd NK |
142 | register_avcodec(&ra_144_decoder); |
143 | register_avcodec(&ra_288_decoder); | |
3ef8be2b MM |
144 | register_avcodec(&roq_dpcm_decoder); |
145 | register_avcodec(&interplay_dpcm_decoder); | |
9937e686 | 146 | register_avcodec(&xan_dpcm_decoder); |
771b9a70 FB |
147 | #endif /* CONFIG_DECODERS */ |
148 | ||
891f64b3 | 149 | #ifdef AMR_NB |
150 | register_avcodec(&amr_nb_decoder); | |
fc384777 | 151 | #ifdef CONFIG_ENCODERS |
bc634f6f | 152 | register_avcodec(&amr_nb_encoder); |
fc384777 | 153 | #endif //CONFIG_ENCODERS |
891f64b3 | 154 | #endif /* AMR_NB */ |
d663a1fd MN |
155 | |
156 | #ifdef AMR_WB | |
157 | register_avcodec(&amr_wb_decoder); | |
fc384777 | 158 | #ifdef CONFIG_ENCODERS |
d663a1fd | 159 | register_avcodec(&amr_wb_encoder); |
fc384777 | 160 | #endif //CONFIG_ENCODERS |
d663a1fd MN |
161 | #endif /* AMR_WB */ |
162 | ||
771b9a70 FB |
163 | /* pcm codecs */ |
164 | ||
fc384777 | 165 | #ifdef CONFIG_ENCODERS |
771b9a70 FB |
166 | #define PCM_CODEC(id, name) \ |
167 | register_avcodec(& name ## _encoder); \ | |
168 | register_avcodec(& name ## _decoder); \ | |
169 | ||
fc384777 MM |
170 | #else |
171 | #define PCM_CODEC(id, name) \ | |
172 | register_avcodec(& name ## _decoder); | |
173 | #endif | |
174 | ||
771b9a70 FB |
175 | PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le); |
176 | PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be); | |
177 | PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le); | |
178 | PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be); | |
179 | PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8); | |
180 | PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); | |
181 | PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); | |
182 | PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); | |
183 | ||
0147f198 FR |
184 | /* adpcm codecs */ |
185 | PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt); | |
186 | PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav); | |
9937e686 MM |
187 | PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3); |
188 | PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4); | |
2fdf638b | 189 | PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws); |
0147f198 | 190 | PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); |
4b465299 | 191 | PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm); |
fc384777 MM |
192 | PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa); |
193 | PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx); | |
0147f198 | 194 | |
771b9a70 FB |
195 | #undef PCM_CODEC |
196 | } | |
197 |