annotate allformats.c @ 896:edbe5c3717f9 libavformat

Update licensing information: The FSF changed postal address.
author diego
date Thu, 12 Jan 2006 22:43:26 +0000
parents da1d5db0ce5c
children dbc0145bbf11
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
896
edbe5c3717f9 Update licensing information: The FSF changed postal address.
diego
parents: 885
diff changeset
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0
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 {
553
9e80f7595694 prevent multiple av_register_all()
michael
parents: 533
diff changeset
29 static int inited = 0;
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 858
diff changeset
30
553
9e80f7595694 prevent multiple av_register_all()
michael
parents: 533
diff changeset
31 if (inited != 0)
9e80f7595694 prevent multiple av_register_all()
michael
parents: 533
diff changeset
32 return;
9e80f7595694 prevent multiple av_register_all()
michael
parents: 533
diff changeset
33 inited = 1;
9e80f7595694 prevent multiple av_register_all()
michael
parents: 533
diff changeset
34
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
35 avcodec_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
36 avcodec_register_all();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
37
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
38 mpegps_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
39 mpegts_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
40 #ifdef CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
41 crc_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
42 img_init();
497
d95e74ef39e0 image2 / image API cleanup phase-1
michael
parents: 384
diff changeset
43 img2_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
44 #endif //CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
45 raw_init();
234
b99548e3ab84 ID3 parsing and generation in MP3 format
bellard
parents: 225
diff changeset
46 mp3_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
47 rm_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
48 asf_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
49 #ifdef CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
50 avienc_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
51 #endif //CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
52 avidec_init();
384
9479dac25620 fix global name conflicts patch by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents: 382
diff changeset
53 ff_wav_init();
818
b1d7ee1c792d Yamaha SMAF file format support patch by (Vidar Madsen: vidarino, gmail com)
michael
parents: 795
diff changeset
54 ff_mmf_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
55 swf_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
56 au_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
57 #ifdef CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
58 gif_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
59 #endif //CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
60 mov_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
61 #ifdef CONFIG_MUXERS
201
85def00971c3 mov, 3gp, mp4 muxer by (Thomas Raivio <tjraivio at cc dot hut dot fi>)
michaelni
parents: 184
diff changeset
62 movenc_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
63 jpeg_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
64 #endif //CONFIG_MUXERS
384
9479dac25620 fix global name conflicts patch by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents: 382
diff changeset
65 ff_dv_init();
138
7373bd0a8438 add 4xm to the family
tmmm
parents: 109
diff changeset
66 fourxm_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
67 #ifdef CONFIG_MUXERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
68 flvenc_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
69 #endif //CONFIG_MUXERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
70 flvdec_init();
209
7414bbf64011 first pass at PSX STR demuxer; does not yet interact correctly with MDEC
tmmm
parents: 201
diff changeset
71 str_init();
211
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
72 roq_init();
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
73 ipmovie_init();
225
d0332f4362b6 demuxer for custom Wing Commander III movie (.mve) files
tmmm
parents: 219
diff changeset
74 wc3_init();
266
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
75 westwood_init();
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
76 film_init();
274
9fa2ec3b9982 implemented Id Quake II CIN support
tmmm
parents: 266
diff changeset
77 idcin_init();
315
ff595fc022ff yep, FLI support
melanson
parents: 279
diff changeset
78 flic_init();
338
6f50cb0ead51 initial commit for Sierra VMD file demuxer
melanson
parents: 315
diff changeset
79 vmd_init();
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
80
258
59c2e84817a1 AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 234
diff changeset
81 #if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB)
146
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
82 amr_init();
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
83 #endif
184
2438e76dde67 yuv4mpeg pipe reader for libavformat patch by (D Richard Felker III <dalias at aerifal dot cx>)
michaelni
parents: 164
diff changeset
84 yuv4mpeg_init();
726
17178af951b4 Ogg demuxer ported from tcvp by Luca Barbato <lu_zero at gentoo dot org>,
mru
parents: 682
diff changeset
85
17178af951b4 Ogg demuxer ported from tcvp by Luca Barbato <lu_zero at gentoo dot org>,
mru
parents: 682
diff changeset
86 ogg_init();
682
decfffe703bc 01-makefile_fix_updated.patch
michael
parents: 678
diff changeset
87 #ifdef CONFIG_LIBOGG
726
17178af951b4 Ogg demuxer ported from tcvp by Luca Barbato <lu_zero at gentoo dot org>,
mru
parents: 682
diff changeset
88 libogg_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
89 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
90
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
91 ffm_init();
795
391669d461d4 *BSD bktr grab support by (Jacob Meuser: jakemsr, jakemsr com)
michael
parents: 726
diff changeset
92 #if defined(CONFIG_VIDEO4LINUX) || defined(CONFIG_BKTR)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
93 video_grab_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
94 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
95 #if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
96 audio_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
97 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
98
27
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
99 #ifdef CONFIG_DV1394
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
100 dv1394_init();
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
101 #endif
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
102
571
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
103 #ifdef CONFIG_DC1394
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
104 dc1394_init();
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
105 #endif
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
106
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
107 nut_init();
380
9416dc106e06 matroska demuxer by ("Ronald S. Bultje" <R dot S dot Bultje at students dot uu dot nl>)
michael
parents: 338
diff changeset
108 matroska_init();
533
59da52e5f5a5 support for Sierra Online audio files and Apple QuickDraw codec,
melanson
parents: 497
diff changeset
109 sol_init();
565
485a529adaee Electronic Arts Game Multimedia format demuxer (WVE/UV2/etc.)
melanson
parents: 553
diff changeset
110 ea_init();
594
89a09ede50ad First implementation of nsv demuxer.
mmu_man
parents: 589
diff changeset
111 nsvdec_init();
847
f5a33919749a Support D-Cinema audio demuxing.
reimar
parents: 818
diff changeset
112 daud_init();
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
113
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
114 #ifdef CONFIG_MUXERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
115 /* image formats */
589
f847832552e5 disable redundant image formats, otherwise we wont get any bugreports about -f image2
michael
parents: 571
diff changeset
116 #if 0
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
117 av_register_image_format(&pnm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
118 av_register_image_format(&pbm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
119 av_register_image_format(&pgm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
120 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
121 av_register_image_format(&pam_image_format);
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
122 av_register_image_format(&pgmyuv_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
123 av_register_image_format(&yuv_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
124 #ifdef CONFIG_ZLIB
44
7c5da7e7239a added basic png handling
bellard
parents: 40
diff changeset
125 av_register_image_format(&png_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
126 #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
127 av_register_image_format(&jpeg_image_format);
589
f847832552e5 disable redundant image formats, otherwise we wont get any bugreports about -f image2
michael
parents: 571
diff changeset
128 #endif
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 858
diff changeset
129 av_register_image_format(&gif_image_format);
639
0b52743104ac integer overflows, heap corruption
michael
parents: 636
diff changeset
130 // av_register_image_format(&sgi_image_format); heap corruption, dont enable
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
131 #endif //CONFIG_MUXERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
132
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
133 /* file protocols */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
134 register_protocol(&file_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
135 register_protocol(&pipe_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
136 #ifdef CONFIG_NETWORK
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
137 rtsp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
138 rtp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
139 register_protocol(&udp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
140 register_protocol(&rtp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
141 register_protocol(&tcp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
142 register_protocol(&http_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
143 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
144 }