added SGI image format, encoding and decoding, courtesy of Todd Kirby
[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{
29 avcodec_init();
30 avcodec_register_all();
31
32 mpegps_init();
33 mpegts_init();
764ef400 34#ifdef CONFIG_ENCODERS
4624540b
FB
35 crc_init();
36 img_init();
764ef400 37#endif //CONFIG_ENCODERS
4624540b 38 raw_init();
6a58e151 39 mp3_init();
4624540b 40 rm_init();
1d0d55da 41#ifdef CONFIG_RISKY
4624540b 42 asf_init();
1d0d55da 43#endif
764ef400 44#ifdef CONFIG_ENCODERS
4624540b 45 avienc_init();
764ef400 46#endif //CONFIG_ENCODERS
4624540b
FB
47 avidec_init();
48 wav_init();
49 swf_init();
50 au_init();
764ef400 51#ifdef CONFIG_ENCODERS
4624540b 52 gif_init();
764ef400 53#endif //CONFIG_ENCODERS
4624540b 54 mov_init();
764ef400 55#ifdef CONFIG_ENCODERS
1cb5f7fd 56 movenc_init();
4624540b 57 jpeg_init();
764ef400 58#endif //CONFIG_ENCODERS
f20dca40 59 dv_init();
3c96b4ef 60 fourxm_init();
764ef400 61#ifdef CONFIG_ENCODERS
d4f5d74a 62 flvenc_init();
764ef400 63#endif //CONFIG_ENCODERS
d4f5d74a 64 flvdec_init();
3f16d933 65 str_init();
3ef8be2b
MM
66 roq_init();
67 ipmovie_init();
493645eb 68 wc3_init();
2fdf638b
MM
69 westwood_init();
70 film_init();
4120a53a 71 idcin_init();
42cad81a 72 flic_init();
a7eb3c8d 73 vmd_init();
87a0a681 74
d663a1fd 75#if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB)
bc634f6f
ZK
76 amr_init();
77#endif
2864dfd5 78 yuv4mpeg_init();
f20dca40 79
81e0d0b4
MH
80#ifdef CONFIG_VORBIS
81 ogg_init();
82#endif
83
4624540b
FB
84#ifndef CONFIG_WIN32
85 ffm_init();
86#endif
87#ifdef CONFIG_VIDEO4LINUX
88 video_grab_init();
89#endif
dfdfa47c 90#if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
4624540b
FB
91 audio_init();
92#endif
93
8aa3ee32
MK
94#ifdef CONFIG_DV1394
95 dv1394_init();
96#endif
97
3aa180b8 98 nut_init();
08abe0fd 99 matroska_init();
3aa180b8 100
764ef400 101#ifdef CONFIG_ENCODERS
87a0a681
FB
102 /* image formats */
103 av_register_image_format(&pnm_image_format);
104 av_register_image_format(&pbm_image_format);
105 av_register_image_format(&pgm_image_format);
106 av_register_image_format(&ppm_image_format);
8975ba81 107 av_register_image_format(&pam_image_format);
87a0a681
FB
108 av_register_image_format(&pgmyuv_image_format);
109 av_register_image_format(&yuv_image_format);
3a13f6bd 110#ifdef CONFIG_ZLIB
0e04e4e9 111 av_register_image_format(&png_image_format);
3a13f6bd 112#endif
0250738f 113 av_register_image_format(&jpeg_image_format);
cdc90af0 114 av_register_image_format(&gif_image_format);
6a91ec51 115 av_register_image_format(&sgi_image_format);
764ef400 116#endif //CONFIG_ENCODERS
87a0a681 117
4624540b
FB
118 /* file protocols */
119 register_protocol(&file_protocol);
120 register_protocol(&pipe_protocol);
121#ifdef CONFIG_NETWORK
122 rtsp_init();
123 rtp_init();
124 register_protocol(&udp_protocol);
125 register_protocol(&rtp_protocol);
126 register_protocol(&tcp_protocol);
127 register_protocol(&http_protocol);
128#endif
129}