annotate allformats.c @ 651:6a5ba24b2c6b libavformat

fixing demuxing for short files where the framerate detection failed
author michael
date Sat, 22 Jan 2005 02:30:45 +0000
parents 0b52743104ac
children 9b2cda2905cc
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 {
553
9e80f7595694 prevent multiple av_register_all()
michael
parents: 533
diff changeset
29 static int inited = 0;
9e80f7595694 prevent multiple av_register_all()
michael
parents: 533
diff changeset
30
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();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
40 #ifdef CONFIG_ENCODERS
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();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
44 #endif //CONFIG_ENCODERS
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();
40
721705c1f995 --disable-risky support
michaelni
parents: 29
diff changeset
48 #ifdef CONFIG_RISKY
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
49 asf_init();
40
721705c1f995 --disable-risky support
michaelni
parents: 29
diff changeset
50 #endif
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 avienc_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 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
55 ff_wav_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
56 swf_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
57 au_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
58 #ifdef CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
59 gif_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
60 #endif //CONFIG_ENCODERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
61 mov_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
62 #ifdef CONFIG_ENCODERS
201
85def00971c3 mov, 3gp, mp4 muxer by (Thomas Raivio <tjraivio at cc dot hut dot fi>)
michaelni
parents: 184
diff changeset
63 movenc_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
64 jpeg_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
65 #endif //CONFIG_ENCODERS
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
66 ff_dv_init();
138
7373bd0a8438 add 4xm to the family
tmmm
parents: 109
diff changeset
67 fourxm_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
68 #ifdef CONFIG_ENCODERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
69 flvenc_init();
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
70 #endif //CONFIG_ENCODERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
71 flvdec_init();
209
7414bbf64011 first pass at PSX STR demuxer; does not yet interact correctly with MDEC
tmmm
parents: 201
diff changeset
72 str_init();
211
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
73 roq_init();
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
74 ipmovie_init();
225
d0332f4362b6 demuxer for custom Wing Commander III movie (.mve) files
tmmm
parents: 219
diff changeset
75 wc3_init();
266
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
76 westwood_init();
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
77 film_init();
274
9fa2ec3b9982 implemented Id Quake II CIN support
tmmm
parents: 266
diff changeset
78 idcin_init();
315
ff595fc022ff yep, FLI support
melanson
parents: 279
diff changeset
79 flic_init();
338
6f50cb0ead51 initial commit for Sierra VMD file demuxer
melanson
parents: 315
diff changeset
80 vmd_init();
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
81
258
59c2e84817a1 AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 234
diff changeset
82 #if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB)
146
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
83 amr_init();
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
84 #endif
184
2438e76dde67 yuv4mpeg pipe reader for libavformat patch by (D Richard Felker III <dalias at aerifal dot cx>)
michaelni
parents: 164
diff changeset
85 yuv4mpeg_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
86
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
87 #ifdef CONFIG_VORBIS
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
88 ogg_init();
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();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
92 #ifdef CONFIG_VIDEO4LINUX
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();
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
112
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
113 #ifdef CONFIG_ENCODERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
114 /* image formats */
589
f847832552e5 disable redundant image formats, otherwise we wont get any bugreports about -f image2
michael
parents: 571
diff changeset
115 #if 0
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
116 av_register_image_format(&pnm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
117 av_register_image_format(&pbm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
118 av_register_image_format(&pgm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
119 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
120 av_register_image_format(&pam_image_format);
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
121 av_register_image_format(&pgmyuv_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
122 av_register_image_format(&yuv_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
123 #ifdef CONFIG_ZLIB
44
7c5da7e7239a added basic png handling
bellard
parents: 40
diff changeset
124 av_register_image_format(&png_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
125 #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
126 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
127 #endif
639
0b52743104ac integer overflows, heap corruption
michael
parents: 636
diff changeset
128 av_register_image_format(&gif_image_format);
0b52743104ac integer overflows, heap corruption
michael
parents: 636
diff changeset
129 // av_register_image_format(&sgi_image_format); heap corruption, dont enable
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
130 #endif //CONFIG_ENCODERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
131
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
132 /* file protocols */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
133 register_protocol(&file_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
134 register_protocol(&pipe_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
135 #ifdef CONFIG_NETWORK
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
136 rtsp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
137 rtp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
138 register_protocol(&udp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
139 register_protocol(&rtp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
140 register_protocol(&tcp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
141 register_protocol(&http_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
142 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
143 }