First implementation of nsv demuxer.
[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 47 rm_init();
1d0d55da 48#ifdef CONFIG_RISKY
4624540b 49 asf_init();
1d0d55da 50#endif
764ef400 51#ifdef CONFIG_ENCODERS
4624540b 52 avienc_init();
764ef400 53#endif //CONFIG_ENCODERS
4624540b 54 avidec_init();
c3775e54 55 ff_wav_init();
4624540b
FB
56 swf_init();
57 au_init();
764ef400 58#ifdef CONFIG_ENCODERS
4624540b 59 gif_init();
764ef400 60#endif //CONFIG_ENCODERS
4624540b 61 mov_init();
764ef400 62#ifdef CONFIG_ENCODERS
1cb5f7fd 63 movenc_init();
4624540b 64 jpeg_init();
764ef400 65#endif //CONFIG_ENCODERS
c3775e54 66 ff_dv_init();
3c96b4ef 67 fourxm_init();
764ef400 68#ifdef CONFIG_ENCODERS
d4f5d74a 69 flvenc_init();
764ef400 70#endif //CONFIG_ENCODERS
d4f5d74a 71 flvdec_init();
3f16d933 72 str_init();
3ef8be2b
MM
73 roq_init();
74 ipmovie_init();
493645eb 75 wc3_init();
2fdf638b
MM
76 westwood_init();
77 film_init();
4120a53a 78 idcin_init();
42cad81a 79 flic_init();
a7eb3c8d 80 vmd_init();
87a0a681 81
d663a1fd 82#if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB)
bc634f6f
ZK
83 amr_init();
84#endif
2864dfd5 85 yuv4mpeg_init();
f20dca40 86
81e0d0b4
MH
87#ifdef CONFIG_VORBIS
88 ogg_init();
89#endif
90
4624540b
FB
91#ifndef CONFIG_WIN32
92 ffm_init();
93#endif
94#ifdef CONFIG_VIDEO4LINUX
95 video_grab_init();
96#endif
dfdfa47c 97#if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
4624540b
FB
98 audio_init();
99#endif
100
8aa3ee32
MK
101#ifdef CONFIG_DV1394
102 dv1394_init();
103#endif
104
f02be79d
RS
105#ifdef CONFIG_DC1394
106 dc1394_init();
107#endif
108
3aa180b8 109 nut_init();
08abe0fd 110 matroska_init();
d08d7142 111 sol_init();
ad81a9fe 112 ea_init();
27d5f18f 113 nsvdec_init();
3aa180b8 114
764ef400 115#ifdef CONFIG_ENCODERS
87a0a681 116 /* image formats */
9286699a 117#if 0
87a0a681
FB
118 av_register_image_format(&pnm_image_format);
119 av_register_image_format(&pbm_image_format);
120 av_register_image_format(&pgm_image_format);
121 av_register_image_format(&ppm_image_format);
8975ba81 122 av_register_image_format(&pam_image_format);
87a0a681 123 av_register_image_format(&pgmyuv_image_format);
9286699a 124#endif
87a0a681 125 av_register_image_format(&yuv_image_format);
9286699a 126#if 0
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
cdc90af0 132 av_register_image_format(&gif_image_format);
6a91ec51 133 av_register_image_format(&sgi_image_format);
764ef400 134#endif //CONFIG_ENCODERS
87a0a681 135
4624540b
FB
136 /* file protocols */
137 register_protocol(&file_protocol);
138 register_protocol(&pipe_protocol);
139#ifdef CONFIG_NETWORK
140 rtsp_init();
141 rtp_init();
142 register_protocol(&udp_protocol);
143 register_protocol(&rtp_protocol);
144 register_protocol(&tcp_protocol);
145 register_protocol(&http_protocol);
146#endif
147}