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 | */ | |
19 | #include "avcodec.h" | |
20 | ||
21 | /* If you do not call this function, then you can select exactly which | |
22 | formats you want to support */ | |
23 | ||
24 | /** | |
25 | * simple call to register all the codecs. | |
26 | */ | |
27 | void avcodec_register_all(void) | |
28 | { | |
29 | static int inited = 0; | |
30 | ||
31 | if (inited != 0) | |
32 | return; | |
33 | inited = 1; | |
34 | ||
35 | /* encoders */ | |
36 | #ifdef CONFIG_ENCODERS | |
37 | register_avcodec(&ac3_encoder); | |
38 | register_avcodec(&mp2_encoder); | |
39 | #ifdef CONFIG_MP3LAME | |
40 | register_avcodec(&mp3lame_encoder); | |
41 | #endif | |
81e0d0b4 MH |
42 | #ifdef CONFIG_VORBIS |
43 | register_avcodec(&oggvorbis_encoder); | |
3aca208a | 44 | register_avcodec(&oggvorbis_decoder); |
81e0d0b4 | 45 | #endif |
771b9a70 | 46 | register_avcodec(&mpeg1video_encoder); |
1d0d55da | 47 | #ifdef CONFIG_RISKY |
771b9a70 FB |
48 | register_avcodec(&h263_encoder); |
49 | register_avcodec(&h263p_encoder); | |
50 | register_avcodec(&rv10_encoder); | |
771b9a70 FB |
51 | register_avcodec(&mpeg4_encoder); |
52 | register_avcodec(&msmpeg4v1_encoder); | |
53 | register_avcodec(&msmpeg4v2_encoder); | |
54 | register_avcodec(&msmpeg4v3_encoder); | |
0151a6f5 | 55 | register_avcodec(&wmv1_encoder); |
1457ab52 | 56 | register_avcodec(&wmv2_encoder); |
1d0d55da MN |
57 | #endif |
58 | register_avcodec(&mjpeg_encoder); | |
11f18faf | 59 | register_avcodec(&huffyuv_encoder); |
771b9a70 FB |
60 | #endif /* CONFIG_ENCODERS */ |
61 | register_avcodec(&rawvideo_codec); | |
62 | ||
63 | /* decoders */ | |
64 | #ifdef CONFIG_DECODERS | |
1d0d55da | 65 | #ifdef CONFIG_RISKY |
771b9a70 FB |
66 | register_avcodec(&h263_decoder); |
67 | register_avcodec(&mpeg4_decoder); | |
68 | register_avcodec(&msmpeg4v1_decoder); | |
69 | register_avcodec(&msmpeg4v2_decoder); | |
70 | register_avcodec(&msmpeg4v3_decoder); | |
71 | register_avcodec(&wmv1_decoder); | |
1457ab52 | 72 | register_avcodec(&wmv2_decoder); |
771b9a70 FB |
73 | register_avcodec(&h263i_decoder); |
74 | register_avcodec(&rv10_decoder); | |
be8ffec9 | 75 | register_avcodec(&svq1_decoder); |
1d0d55da MN |
76 | register_avcodec(&wmav1_decoder); |
77 | register_avcodec(&wmav2_decoder); | |
78 | #endif | |
79 | register_avcodec(&mpeg_decoder); | |
020fcc94 | 80 | register_avcodec(&dvvideo_decoder); |
425ed6e2 | 81 | register_avcodec(&dvaudio_decoder); |
771b9a70 | 82 | register_avcodec(&mjpeg_decoder); |
b135d9fb | 83 | register_avcodec(&mjpegb_decoder); |
771b9a70 FB |
84 | register_avcodec(&mp2_decoder); |
85 | register_avcodec(&mp3_decoder); | |
3f95e843 FR |
86 | register_avcodec(&mace3_decoder); |
87 | register_avcodec(&mace6_decoder); | |
11f18faf | 88 | register_avcodec(&huffyuv_decoder); |
c78f73c8 | 89 | register_avcodec(&cyuv_decoder); |
771b9a70 FB |
90 | #ifdef CONFIG_AC3 |
91 | register_avcodec(&ac3_decoder); | |
92 | #endif | |
93 | #endif /* CONFIG_DECODERS */ | |
94 | ||
95 | /* pcm codecs */ | |
96 | ||
97 | #define PCM_CODEC(id, name) \ | |
98 | register_avcodec(& name ## _encoder); \ | |
99 | register_avcodec(& name ## _decoder); \ | |
100 | ||
101 | PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le); | |
102 | PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be); | |
103 | PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le); | |
104 | PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be); | |
105 | PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8); | |
106 | PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); | |
107 | PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); | |
108 | PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); | |
109 | ||
0147f198 FR |
110 | /* adpcm codecs */ |
111 | PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt); | |
112 | PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav); | |
113 | PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); | |
114 | ||
771b9a70 FB |
115 | #undef PCM_CODEC |
116 | } | |
117 |