Commit | Line | Data |
---|---|---|
4624540b FB |
1 | /* |
2 | * Register all the formats and protocols | |
3 | * Copyright (c) 2000, 2001, 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 | |
5509bffa | 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
4624540b FB |
18 | */ |
19 | #include "avformat.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 | * Initialize libavcodec and register all the codecs and formats. | |
26 | */ | |
27 | void av_register_all(void) | |
28 | { | |
caaeefc5 | 29 | static int inited = 0; |
115329f1 | 30 | |
caaeefc5 MN |
31 | if (inited != 0) |
32 | return; | |
33 | inited = 1; | |
34 | ||
4624540b FB |
35 | avcodec_init(); |
36 | avcodec_register_all(); | |
37 | ||
38 | mpegps_init(); | |
39 | mpegts_init(); | |
a9e35095 | 40 | #ifdef CONFIG_MUXERS |
4624540b FB |
41 | crc_init(); |
42 | img_init(); | |
03cfe134 | 43 | img2_init(); |
a9e35095 | 44 | #endif //CONFIG_MUXERS |
4624540b | 45 | raw_init(); |
6a58e151 | 46 | mp3_init(); |
4624540b FB |
47 | rm_init(); |
48 | asf_init(); | |
a9e35095 | 49 | #ifdef CONFIG_MUXERS |
4624540b | 50 | avienc_init(); |
a9e35095 | 51 | #endif //CONFIG_MUXERS |
4624540b | 52 | avidec_init(); |
c3775e54 | 53 | ff_wav_init(); |
93a23627 | 54 | ff_mmf_init(); |
4624540b FB |
55 | swf_init(); |
56 | au_init(); | |
a9e35095 | 57 | #ifdef CONFIG_MUXERS |
4624540b | 58 | gif_init(); |
a9e35095 | 59 | #endif //CONFIG_MUXERS |
4624540b | 60 | mov_init(); |
a9e35095 | 61 | #ifdef CONFIG_MUXERS |
1cb5f7fd | 62 | movenc_init(); |
4624540b | 63 | jpeg_init(); |
a9e35095 | 64 | #endif //CONFIG_MUXERS |
c3775e54 | 65 | ff_dv_init(); |
3c96b4ef | 66 | fourxm_init(); |
a9e35095 | 67 | #ifdef CONFIG_MUXERS |
d4f5d74a | 68 | flvenc_init(); |
a9e35095 | 69 | #endif //CONFIG_MUXERS |
d4f5d74a | 70 | flvdec_init(); |
3f16d933 | 71 | str_init(); |
3ef8be2b MM |
72 | roq_init(); |
73 | ipmovie_init(); | |
493645eb | 74 | wc3_init(); |
2fdf638b MM |
75 | westwood_init(); |
76 | film_init(); | |
4120a53a | 77 | idcin_init(); |
42cad81a | 78 | flic_init(); |
a7eb3c8d | 79 | vmd_init(); |
87a0a681 | 80 | |
d663a1fd | 81 | #if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB) |
bc634f6f ZK |
82 | amr_init(); |
83 | #endif | |
2864dfd5 | 84 | yuv4mpeg_init(); |
9146ca37 | 85 | |
81e0d0b4 | 86 | ogg_init(); |
9146ca37 MR |
87 | #ifdef CONFIG_LIBOGG |
88 | libogg_init(); | |
81e0d0b4 MH |
89 | #endif |
90 | ||
4624540b | 91 | ffm_init(); |
0a7b514f LA |
92 | #if defined(CONFIG_VIDEO4LINUX2) |
93 | v4l2_init(); | |
94 | #endif | |
6beefa40 | 95 | #if defined(CONFIG_VIDEO4LINUX) || defined(CONFIG_BKTR) |
4624540b FB |
96 | video_grab_init(); |
97 | #endif | |
dfdfa47c | 98 | #if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS) |
4624540b FB |
99 | audio_init(); |
100 | #endif | |
101 | ||
8aa3ee32 MK |
102 | #ifdef CONFIG_DV1394 |
103 | dv1394_init(); | |
104 | #endif | |
105 | ||
f02be79d RS |
106 | #ifdef CONFIG_DC1394 |
107 | dc1394_init(); | |
108 | #endif | |
109 | ||
3aa180b8 | 110 | nut_init(); |
08abe0fd | 111 | matroska_init(); |
d08d7142 | 112 | sol_init(); |
ad81a9fe | 113 | ea_init(); |
27d5f18f | 114 | nsvdec_init(); |
b93f738f | 115 | daud_init(); |
3aa180b8 | 116 | |
a9e35095 | 117 | #ifdef CONFIG_MUXERS |
87a0a681 | 118 | /* image formats */ |
9286699a | 119 | #if 0 |
87a0a681 FB |
120 | av_register_image_format(&pnm_image_format); |
121 | av_register_image_format(&pbm_image_format); | |
122 | av_register_image_format(&pgm_image_format); | |
123 | av_register_image_format(&ppm_image_format); | |
8975ba81 | 124 | av_register_image_format(&pam_image_format); |
87a0a681 FB |
125 | av_register_image_format(&pgmyuv_image_format); |
126 | av_register_image_format(&yuv_image_format); | |
3a13f6bd | 127 | #ifdef CONFIG_ZLIB |
0e04e4e9 | 128 | av_register_image_format(&png_image_format); |
3a13f6bd | 129 | #endif |
0250738f | 130 | av_register_image_format(&jpeg_image_format); |
9286699a | 131 | #endif |
115329f1 | 132 | av_register_image_format(&gif_image_format); |
568e18b1 | 133 | // av_register_image_format(&sgi_image_format); heap corruption, dont enable |
a9e35095 | 134 | #endif //CONFIG_MUXERS |
87a0a681 | 135 | |
04f46ced | 136 | #ifdef CONFIG_PROTOCOLS |
4624540b FB |
137 | /* file protocols */ |
138 | register_protocol(&file_protocol); | |
139 | register_protocol(&pipe_protocol); | |
140 | #ifdef CONFIG_NETWORK | |
141 | rtsp_init(); | |
142 | rtp_init(); | |
143 | register_protocol(&udp_protocol); | |
144 | register_protocol(&rtp_protocol); | |
145 | register_protocol(&tcp_protocol); | |
146 | register_protocol(&http_protocol); | |
147 | #endif | |
04f46ced | 148 | #endif |
4624540b | 149 | } |