NuppelVideo/MythTVVideo support, including rtjpeg decoder
[libav.git] / libavformat / allformats.c
CommitLineData
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 */
27void 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();
f11288da 57 ff_aiff_init();
a9e35095 58#ifdef CONFIG_MUXERS
8cecedfb 59 ff_adts_init();
4624540b 60 gif_init();
a9e35095 61#endif //CONFIG_MUXERS
4624540b 62 mov_init();
a9e35095 63#ifdef CONFIG_MUXERS
1cb5f7fd 64 movenc_init();
4624540b 65 jpeg_init();
a9e35095 66#endif //CONFIG_MUXERS
c3775e54 67 ff_dv_init();
3c96b4ef 68 fourxm_init();
a9e35095 69#ifdef CONFIG_MUXERS
d4f5d74a 70 flvenc_init();
a9e35095 71#endif //CONFIG_MUXERS
d4f5d74a 72 flvdec_init();
3f16d933 73 str_init();
3ef8be2b
MM
74 roq_init();
75 ipmovie_init();
493645eb 76 wc3_init();
2fdf638b
MM
77 westwood_init();
78 film_init();
4120a53a 79 idcin_init();
42cad81a 80 flic_init();
a7eb3c8d 81 vmd_init();
4e114829 82 mm_init();
348efc18 83 smacker_init();
87a0a681 84
d663a1fd 85#if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB)
bc634f6f
ZK
86 amr_init();
87#endif
2864dfd5 88 yuv4mpeg_init();
9146ca37 89
81e0d0b4 90 ogg_init();
9146ca37
MR
91#ifdef CONFIG_LIBOGG
92 libogg_init();
81e0d0b4
MH
93#endif
94
4624540b 95 ffm_init();
0a7b514f
LA
96#if defined(CONFIG_VIDEO4LINUX2)
97 v4l2_init();
98#endif
6beefa40 99#if defined(CONFIG_VIDEO4LINUX) || defined(CONFIG_BKTR)
4624540b
FB
100 video_grab_init();
101#endif
dfdfa47c 102#if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
4624540b
FB
103 audio_init();
104#endif
105
8aa3ee32
MK
106#ifdef CONFIG_DV1394
107 dv1394_init();
108#endif
109
f02be79d
RS
110#ifdef CONFIG_DC1394
111 dc1394_init();
112#endif
113
3aa180b8 114 nut_init();
08abe0fd 115 matroska_init();
d08d7142 116 sol_init();
ad81a9fe 117 ea_init();
27d5f18f 118 nsvdec_init();
b93f738f 119 daud_init();
ea395e8c 120 voc_init();
aafaeabb 121 tta_init();
26376701 122 avs_init();
dfca23e3 123 nuv_init();
3aa180b8 124
a9e35095 125#ifdef CONFIG_MUXERS
87a0a681 126 /* image formats */
9286699a 127#if 0
87a0a681
FB
128 av_register_image_format(&pnm_image_format);
129 av_register_image_format(&pbm_image_format);
130 av_register_image_format(&pgm_image_format);
131 av_register_image_format(&ppm_image_format);
8975ba81 132 av_register_image_format(&pam_image_format);
87a0a681
FB
133 av_register_image_format(&pgmyuv_image_format);
134 av_register_image_format(&yuv_image_format);
3a13f6bd 135#ifdef CONFIG_ZLIB
0e04e4e9 136 av_register_image_format(&png_image_format);
3a13f6bd 137#endif
0250738f 138 av_register_image_format(&jpeg_image_format);
9286699a 139#endif
115329f1 140 av_register_image_format(&gif_image_format);
568e18b1 141// av_register_image_format(&sgi_image_format); heap corruption, dont enable
a9e35095 142#endif //CONFIG_MUXERS
87a0a681 143
04f46ced 144#ifdef CONFIG_PROTOCOLS
4624540b
FB
145 /* file protocols */
146 register_protocol(&file_protocol);
147 register_protocol(&pipe_protocol);
148#ifdef CONFIG_NETWORK
149 rtsp_init();
150 rtp_init();
151 register_protocol(&udp_protocol);
152 register_protocol(&rtp_protocol);
153 register_protocol(&tcp_protocol);
154 register_protocol(&http_protocol);
155#endif
04f46ced 156#endif
4624540b 157}