annotate allformats.c @ 594:89a09ede50ad libavformat

First implementation of nsv demuxer. Get libavformat linked with lavc and lmp3lame is required. BeOS requires no undefined syms on link! (besides it's bad to leave undef syms)
author mmu_man
date Sat, 20 Nov 2004 23:10:07 +0000
parents f847832552e5
children d2bae3719018
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 #ifndef CONFIG_WIN32
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
92 ffm_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
93 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
94 #ifdef CONFIG_VIDEO4LINUX
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
95 video_grab_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
96 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
97 #if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
98 audio_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
99 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
100
27
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
101 #ifdef CONFIG_DV1394
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
102 dv1394_init();
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
103 #endif
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
104
571
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
105 #ifdef CONFIG_DC1394
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
106 dc1394_init();
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
107 #endif
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
108
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
109 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
110 matroska_init();
533
59da52e5f5a5 support for Sierra Online audio files and Apple QuickDraw codec,
melanson
parents: 497
diff changeset
111 sol_init();
565
485a529adaee Electronic Arts Game Multimedia format demuxer (WVE/UV2/etc.)
melanson
parents: 553
diff changeset
112 ea_init();
594
89a09ede50ad First implementation of nsv demuxer.
mmu_man
parents: 589
diff changeset
113 nsvdec_init();
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
114
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
115 #ifdef CONFIG_ENCODERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
116 /* image formats */
589
f847832552e5 disable redundant image formats, otherwise we wont get any bugreports about -f image2
michael
parents: 571
diff changeset
117 #if 0
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
118 av_register_image_format(&pnm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
119 av_register_image_format(&pbm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
120 av_register_image_format(&pgm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
121 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
122 av_register_image_format(&pam_image_format);
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
123 av_register_image_format(&pgmyuv_image_format);
589
f847832552e5 disable redundant image formats, otherwise we wont get any bugreports about -f image2
michael
parents: 571
diff changeset
124 #endif
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
125 av_register_image_format(&yuv_image_format);
589
f847832552e5 disable redundant image formats, otherwise we wont get any bugreports about -f image2
michael
parents: 571
diff changeset
126 #if 0
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
127 #ifdef CONFIG_ZLIB
44
7c5da7e7239a added basic png handling
bellard
parents: 40
diff changeset
128 av_register_image_format(&png_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
129 #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
130 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
131 #endif
52
2a60f406fccc added GIF image format (both read and write)
bellard
parents: 47
diff changeset
132 av_register_image_format(&gif_image_format);
382
37a29b5200d8 added SGI image format, encoding and decoding, courtesy of Todd Kirby
melanson
parents: 380
diff changeset
133 av_register_image_format(&sgi_image_format);
277
a313e1080322 disable encoders where appropriate (patch courtesy of BERO
melanson
parents: 274
diff changeset
134 #endif //CONFIG_ENCODERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
135
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
136 /* file protocols */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
137 register_protocol(&file_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
138 register_protocol(&pipe_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
139 #ifdef CONFIG_NETWORK
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
140 rtsp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
141 rtp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
142 register_protocol(&udp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
143 register_protocol(&rtp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
144 register_protocol(&tcp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
145 register_protocol(&http_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
146 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
147 }