annotate allformats.c @ 1078:0bc9422cc0ad libavformat

Raw flac muxer, patch by Justin Ruggles (jruggle earthlink net). Can be used with "-acodec copy" to either copy a flac file verbatim or extract the raw flac from an ogg-flac file.
author banan
date Fri, 12 May 2006 15:13:51 +0000
parents 3aeb079a7e74
children e3a585883bbd
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();
925
2d9a65a1d9ea AIFF format support by (Patrick Guimond <patg a.t patg d.o.t homeunix d.o.t org)
michael
parents: 921
diff changeset
57 ff_aiff_init();
962
a0d0542fb5f0 ff_asts_init needs to be inside #ifdef CONFIG_MUXERS, remove some misplaced
diego
parents: 961
diff changeset
58 #ifdef CONFIG_MUXERS
939
61959072be81 generate adts frame headers if required
mru
parents: 937
diff changeset
59 ff_adts_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
60 gif_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
61 #endif //CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
62 mov_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
63 #ifdef CONFIG_MUXERS
201
85def00971c3 mov, 3gp, mp4 muxer by (Thomas Raivio <tjraivio at cc dot hut dot fi>)
michaelni
parents: 184
diff changeset
64 movenc_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
65 jpeg_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
66 #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
67 ff_dv_init();
138
7373bd0a8438 add 4xm to the family
tmmm
parents: 109
diff changeset
68 fourxm_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
69 #ifdef CONFIG_MUXERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
70 flvenc_init();
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
71 #endif //CONFIG_MUXERS
164
99fbacf0f764 flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
michaelni
parents: 146
diff changeset
72 flvdec_init();
209
7414bbf64011 first pass at PSX STR demuxer; does not yet interact correctly with MDEC
tmmm
parents: 201
diff changeset
73 str_init();
211
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
74 roq_init();
349d63d52e7e initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 209
diff changeset
75 ipmovie_init();
225
d0332f4362b6 demuxer for custom Wing Commander III movie (.mve) files
tmmm
parents: 219
diff changeset
76 wc3_init();
266
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
77 westwood_init();
8bb470d85249 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 258
diff changeset
78 film_init();
274
9fa2ec3b9982 implemented Id Quake II CIN support
tmmm
parents: 266
diff changeset
79 idcin_init();
315
ff595fc022ff yep, FLI support
melanson
parents: 279
diff changeset
80 flic_init();
338
6f50cb0ead51 initial commit for Sierra VMD file demuxer
melanson
parents: 315
diff changeset
81 vmd_init();
950
3a64595e57be complete American Laser Games MM playback system, courtesy of Peter Ross
melanson
parents: 948
diff changeset
82 mm_init();
1019
a9d8381ff40d Smacker demuxer and decoder.
kostya
parents: 1017
diff changeset
83 smacker_init();
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
84
258
59c2e84817a1 AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 234
diff changeset
85 #if defined(AMR_NB) || defined(AMR_NB_FIXED) || defined(AMR_WB)
146
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
86 amr_init();
b9703b3c10b6 * 3gp patch by Joca
kabi
parents: 138
diff changeset
87 #endif
184
2438e76dde67 yuv4mpeg pipe reader for libavformat patch by (D Richard Felker III <dalias at aerifal dot cx>)
michaelni
parents: 164
diff changeset
88 yuv4mpeg_init();
726
17178af951b4 Ogg demuxer ported from tcvp by Luca Barbato <lu_zero at gentoo dot org>,
mru
parents: 682
diff changeset
89
17178af951b4 Ogg demuxer ported from tcvp by Luca Barbato <lu_zero at gentoo dot org>,
mru
parents: 682
diff changeset
90 ogg_init();
682
decfffe703bc 01-makefile_fix_updated.patch
michael
parents: 678
diff changeset
91 #ifdef CONFIG_LIBOGG
726
17178af951b4 Ogg demuxer ported from tcvp by Luca Barbato <lu_zero at gentoo dot org>,
mru
parents: 682
diff changeset
92 libogg_init();
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
93 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
94
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
95 ffm_init();
921
547675092e98 video4linux2 input support
diego
parents: 905
diff changeset
96 #if defined(CONFIG_VIDEO4LINUX2)
547675092e98 video4linux2 input support
diego
parents: 905
diff changeset
97 v4l2_init();
547675092e98 video4linux2 input support
diego
parents: 905
diff changeset
98 #endif
795
391669d461d4 *BSD bktr grab support by (Jacob Meuser: jakemsr, jakemsr com)
michael
parents: 726
diff changeset
99 #if defined(CONFIG_VIDEO4LINUX) || defined(CONFIG_BKTR)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
100 video_grab_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
101 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
102 #if defined(CONFIG_AUDIO_OSS) || defined(CONFIG_AUDIO_BEOS)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
103 audio_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
104 #endif
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
105
27
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
106 #ifdef CONFIG_DV1394
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
107 dv1394_init();
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
108 #endif
fcdea3df94fe dv patch by Max Krasnyansky (maxk at qualcomm dot com)
bellard
parents: 20
diff changeset
109
571
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
110 #ifdef CONFIG_DC1394
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
111 dc1394_init();
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
112 #endif
4a755492b90b * Introducing IIDC1394 grabbing interface.
romansh
parents: 565
diff changeset
113
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
114 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
115 matroska_init();
533
59da52e5f5a5 support for Sierra Online audio files and Apple QuickDraw codec,
melanson
parents: 497
diff changeset
116 sol_init();
565
485a529adaee Electronic Arts Game Multimedia format demuxer (WVE/UV2/etc.)
melanson
parents: 553
diff changeset
117 ea_init();
594
89a09ede50ad First implementation of nsv demuxer.
mmu_man
parents: 589
diff changeset
118 nsvdec_init();
847
f5a33919749a Support D-Cinema audio demuxing.
reimar
parents: 818
diff changeset
119 daud_init();
937
a887adfe9dc5 add a Creative VOC (de)muxer
aurel
parents: 925
diff changeset
120 voc_init();
948
1e766711e6c8 tta demuxer, also usable for moving tta audio data into an other container
alex
parents: 939
diff changeset
121 tta_init();
961
d1d7a0e87dea complete AVS playback system (from Creature Shock computer game),
melanson
parents: 950
diff changeset
122 avs_init();
1044
3aeb079a7e74 NuppelVideo/MythTVVideo support, including rtjpeg decoder
reimar
parents: 1019
diff changeset
123 nuv_init();
219
2f16e3066399 initial nut muxer and demuxer (demuxer is not fail safe)
al3x
parents: 211
diff changeset
124
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 847
diff changeset
125 #ifdef CONFIG_MUXERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
126 /* image formats */
589
f847832552e5 disable redundant image formats, otherwise we wont get any bugreports about -f image2
michael
parents: 571
diff changeset
127 #if 0
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
128 av_register_image_format(&pnm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
129 av_register_image_format(&pbm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
130 av_register_image_format(&pgm_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
131 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
132 av_register_image_format(&pam_image_format);
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
133 av_register_image_format(&pgmyuv_image_format);
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
134 av_register_image_format(&yuv_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
135 #ifdef CONFIG_ZLIB
44
7c5da7e7239a added basic png handling
bellard
parents: 40
diff changeset
136 av_register_image_format(&png_image_format);
71
a803af1b10be * compile PNG only when ZLIB is available
kabi
parents: 52
diff changeset
137 #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
138 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
139 #endif
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 858
diff changeset
140 av_register_image_format(&gif_image_format);
639
0b52743104ac integer overflows, heap corruption
michael
parents: 636
diff changeset
141 // 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
142 #endif //CONFIG_MUXERS
20
3d52de18ecc3 added still image support
bellard
parents: 0
diff changeset
143
905
dbc0145bbf11 Add --disable-protocols option to configure to disable I/O protocol from
diego
parents: 896
diff changeset
144 #ifdef CONFIG_PROTOCOLS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
145 /* file protocols */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
146 register_protocol(&file_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
147 register_protocol(&pipe_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
148 #ifdef CONFIG_NETWORK
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
149 rtsp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
150 rtp_init();
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
151 register_protocol(&udp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
152 register_protocol(&rtp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
153 register_protocol(&tcp_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
154 register_protocol(&http_protocol);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
155 #endif
905
dbc0145bbf11 Add --disable-protocols option to configure to disable I/O protocol from
diego
parents: 896
diff changeset
156 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
157 }