annotate allformats.c @ 314:8756dec3281f libavformat

* *FILE needs <stdio.h>
author kabi
date Thu, 13 Nov 2003 22:15:11 +0000
parents 72ce51cc72c2
children ff595fc022ff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
1 /*
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
2 * Register all the formats and protocols
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
3 * Copyright (c) 2000, 2001, 2002 Fabrice Bellard
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
4 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
9 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
13 * Lesser General Public License for more details.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
14 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
16 * License along with this library; if not, write to the Free Software
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
18 */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
19 #include "avformat.h"
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
20
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
21 /* If you do not call this function, then you can select exactly which
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
22 formats you want to support */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
23
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
24 /**
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
25 * Initialize libavcodec and register all the codecs and formats.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
26 */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
27 void av_register_all(void)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
28 {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
29 avcodec_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
30 avcodec_register_all();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
31
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
32 mpegps_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
33 mpegts_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
34 #ifdef CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
35 crc_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
36 img_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
37 #endif //CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
38 raw_init();
234
b99548e3ab84 ID3 parsing and generation in MP3 format
bellard
parents: 225
diff changeset
39 mp3_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
40 rm_init();
40
721705c1f995 --disable-risky support
michaelni
parents: 29
diff changeset
41 #ifdef CONFIG_RISKY
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
42 asf_init();
40
721705c1f995 --disable-risky support
michaelni
parents: 29
diff changeset
43 #endif
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
44 #ifdef CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
45 avienc_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
46 #endif //CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
47 avidec_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
48 wav_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
49 swf_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
50 au_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
51 #ifdef CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
52 gif_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
53 #endif //CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
54 mov_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
55 #ifdef CONFIG_ENCODERS
201
85def00971c3 mov, 3gp, mp4 muxer by (Thomas Raivio <tjraivio at cc dot hut dot fi>)
michaelni
parents: 184
diff changeset
56 movenc_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
57 jpeg_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
58 #endif //CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
59 dv_init();
138
7373bd0a8438 add 4xm to the family
tmmm
parents: 109
diff changeset
60 fourxm_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
61 #ifdef CONFIG_ENCODERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
62 flvenc_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
63 #endif //CONFIG_ENCODERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
64 flvdec_init();
209
7414bbf64011 first pass at PSX STR demuxer; does not yet interact correctly with MDEC
tmmm
parents: 201
diff changeset
65 str_init();
211
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
66 roq_init();
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
67 ipmovie_init();
225
d0332f4362b6 demuxer for custom Wing Commander III movie (.mve) files
tmmm
parents: 219
diff changeset
68 wc3_init();
266
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
69 westwood_init();
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
70 film_init();
274
9fa2ec3b9982 implemented Id Quake II CIN support
tmmm
parents: 266
diff changeset
71 idcin_init();
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
72
258
59c2e84817a1 AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 234
diff changeset
73 #if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB)
146
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
74 amr_init();
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
75 #endif
184
2438e76dde67 yuv4mpeg pipe reader for libavformat patch by (D Richard Felker III <dalias at aerifal dot cx>)
michaelni
parents: 164
diff changeset
76 yuv4mpeg_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
77
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
78 #ifdef CONFIG_VORBIS
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
79 ogg_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
80 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
81
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
82 #ifndef CONFIG_WIN32
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
83 ffm_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
84 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
85 #ifdef CONFIG_VIDEO4LINUX
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
86 video_grab_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
87 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
88 #if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
89 audio_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
90 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
91
27
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
92 #ifdef CONFIG_DV1394
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
93 dv1394_init();
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
94 #endif
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
95
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
96 nut_init();
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
97
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
98 #ifdef CONFIG_ENCODERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
99 /* image formats */
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
100 av_register_image_format(&pnm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
101 av_register_image_format(&pbm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
102 av_register_image_format(&pgm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
103 av_register_image_format(&ppm_image_format);
109
c82a6062485e added new netpbm pam format support (needed for alpha plane support)
bellard
parents: 71
diff changeset
104 av_register_image_format(&pam_image_format);
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
105 av_register_image_format(&pgmyuv_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
106 av_register_image_format(&yuv_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
107 #ifdef CONFIG_ZLIB
44
7c5da7e7239a added basic png handling
bellard
parents: 40
diff changeset
108 av_register_image_format(&png_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
109 #endif
47
45308962220f added jpeg image encoder and decoder (new YUV handling routines and mjpeg codec fixes are necessary to go further)
bellard
parents: 44
diff changeset
110 av_register_image_format(&jpeg_image_format);
52
2a60f406fccc added GIF image format (both read and write)
bellard
parents: 47
diff changeset
111 av_register_image_format(&gif_image_format);
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
112 #endif //CONFIG_ENCODERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
113
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
114 /* file protocols */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
115 register_protocol(&file_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
116 register_protocol(&pipe_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
117 #ifdef CONFIG_NETWORK
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
118 rtsp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
119 rtp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
120 register_protocol(&udp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
121 register_protocol(&rtp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
122 register_protocol(&tcp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
123 register_protocol(&http_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
124 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
125 }