Yamaha SMAF file format support patch by (Vidar Madsen: vidarino, gmail com)
[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
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
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
MN
29 static int inited = 0;
30
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();
764ef400 40#ifdef CONFIG_ENCODERS
4624540b
FB
41 crc_init();
42 img_init();
03cfe134 43 img2_init();
764ef400 44#endif //CONFIG_ENCODERS
4624540b 45 raw_init();
6a58e151 46 mp3_init();
4624540b
FB
47 rm_init();
48 asf_init();
764ef400 49#ifdef CONFIG_ENCODERS
4624540b 50 avienc_init();
764ef400 51#endif //CONFIG_ENCODERS
4624540b 52 avidec_init();
c3775e54 53 ff_wav_init();
93a23627 54 ff_mmf_init();
4624540b
FB
55 swf_init();
56 au_init();
764ef400 57#ifdef CONFIG_ENCODERS
4624540b 58 gif_init();
764ef400 59#endif //CONFIG_ENCODERS
4624540b 60 mov_init();
764ef400 61#ifdef CONFIG_ENCODERS
1cb5f7fd 62 movenc_init();
4624540b 63 jpeg_init();
764ef400 64#endif //CONFIG_ENCODERS
c3775e54 65 ff_dv_init();
3c96b4ef 66 fourxm_init();
764ef400 67#ifdef CONFIG_ENCODERS
d4f5d74a 68 flvenc_init();
764ef400 69#endif //CONFIG_ENCODERS
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();
6beefa40 92#if defined(CONFIG_VIDEO4LINUX) || defined(CONFIG_BKTR)
4624540b
FB
93 video_grab_init();
94#endif
dfdfa47c 95#if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
4624540b
FB
96 audio_init();
97#endif
98
8aa3ee32
MK
99#ifdef CONFIG_DV1394
100 dv1394_init();
101#endif
102
f02be79d
RS
103#ifdef CONFIG_DC1394
104 dc1394_init();
105#endif
106
3aa180b8 107 nut_init();
08abe0fd 108 matroska_init();
d08d7142 109 sol_init();
ad81a9fe 110 ea_init();
27d5f18f 111 nsvdec_init();
3aa180b8 112
764ef400 113#ifdef CONFIG_ENCODERS
87a0a681 114 /* image formats */
9286699a 115#if 0
87a0a681
FB
116 av_register_image_format(&pnm_image_format);
117 av_register_image_format(&pbm_image_format);
118 av_register_image_format(&pgm_image_format);
119 av_register_image_format(&ppm_image_format);
8975ba81 120 av_register_image_format(&pam_image_format);
87a0a681
FB
121 av_register_image_format(&pgmyuv_image_format);
122 av_register_image_format(&yuv_image_format);
3a13f6bd 123#ifdef CONFIG_ZLIB
0e04e4e9 124 av_register_image_format(&png_image_format);
3a13f6bd 125#endif
0250738f 126 av_register_image_format(&jpeg_image_format);
9286699a 127#endif
568e18b1
MN
128 av_register_image_format(&gif_image_format);
129// av_register_image_format(&sgi_image_format); heap corruption, dont enable
764ef400 130#endif //CONFIG_ENCODERS
87a0a681 131
4624540b
FB
132 /* file protocols */
133 register_protocol(&file_protocol);
134 register_protocol(&pipe_protocol);
135#ifdef CONFIG_NETWORK
136 rtsp_init();
137 rtp_init();
138 register_protocol(&udp_protocol);
139 register_protocol(&rtp_protocol);
140 register_protocol(&tcp_protocol);
141 register_protocol(&http_protocol);
142#endif
143}