annotate allcodecs.c @ 1422:efeed6e29f9b libavcodec

oooooops, having 2 Eterms open and doing cvs diff in one and cvs commit in the other sucks, especially if they are in different directories (MPlayer/main/libavcodec vs. ffmpeg/libavcodec)
author michaelni
date Mon, 25 Aug 2003 22:54:53 +0000
parents 340c90faa1dc
children 2e590fee59bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
1 /*
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
2 * Utils for libavcodec
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
3 * Copyright (c) 2002 Fabrice Bellard.
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
4 *
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
9 *
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
13 * Lesser General Public License for more details.
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
14 *
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
16 * License along with this library; if not, write to the Free Software
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
18 */
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
19
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
20 /**
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
21 * @file allcodecs.c
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
22 * Utils for libavcodec.
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
23 */
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
24
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
25 #include "avcodec.h"
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
26
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
27 /* If you do not call this function, then you can select exactly which
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
28 formats you want to support */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
29
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
30 /**
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
31 * simple call to register all the codecs.
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
32 */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
33 void avcodec_register_all(void)
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
34 {
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
35 static int inited = 0;
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
36
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
37 if (inited != 0)
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
38 return;
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
39 inited = 1;
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
40
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
41 /* encoders */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
42 #ifdef CONFIG_ENCODERS
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
43 register_avcodec(&ac3_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
44 register_avcodec(&mp2_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
45 #ifdef CONFIG_MP3LAME
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
46 register_avcodec(&mp3lame_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
47 #endif
636
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 573
diff changeset
48 #ifdef CONFIG_VORBIS
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 573
diff changeset
49 register_avcodec(&oggvorbis_encoder);
883
b0d29bf1cecd * Ogg/Vorbis patch by Mark Hills
kabi
parents: 881
diff changeset
50 register_avcodec(&oggvorbis_decoder);
636
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 573
diff changeset
51 #endif
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
52 register_avcodec(&mpeg1video_encoder);
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents: 1106
diff changeset
53 // register_avcodec(&h264_encoder);
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
54 #ifdef CONFIG_RISKY
1421
340c90faa1dc mpeg2 encoding
michaelni
parents: 1410
diff changeset
55 register_avcodec(&mpeg2video_encoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
56 register_avcodec(&h263_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
57 register_avcodec(&h263p_encoder);
1357
540dd445bf0f 1000l (forgot to commit)
michaelni
parents: 1315
diff changeset
58 register_avcodec(&flv_encoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
59 register_avcodec(&rv10_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
60 register_avcodec(&mpeg4_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
61 register_avcodec(&msmpeg4v1_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
62 register_avcodec(&msmpeg4v2_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
63 register_avcodec(&msmpeg4v3_encoder);
500
460bc2ba363e wmv1 support
michaelni
parents: 491
diff changeset
64 register_avcodec(&wmv1_encoder);
936
caa77cd960c0 qpel encoding
michaelni
parents: 922
diff changeset
65 register_avcodec(&wmv2_encoder);
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
66 #endif
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
67 register_avcodec(&mjpeg_encoder);
1315
6696d3bf4ff2 lossless mjpeg encoding (planar yuv & RGB) and somerelated bugfixes
michaelni
parents: 1304
diff changeset
68 register_avcodec(&ljpeg_encoder);
866
725ef4ea3ecc huffyuv
michaelni
parents: 827
diff changeset
69 register_avcodec(&huffyuv_encoder);
1273
a979fab41ed8 ASV1 codec
michaelni
parents: 1258
diff changeset
70 register_avcodec(&asv1_encoder);
1300
e18667d1e94d FFV1 codec (our very simple lossless intra only codec, compresses much better then huffyuv)
michaelni
parents: 1297
diff changeset
71 register_avcodec(&ffv1_encoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
72 #endif /* CONFIG_ENCODERS */
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1224
diff changeset
73 register_avcodec(&rawvideo_encoder);
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1224
diff changeset
74 register_avcodec(&rawvideo_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
75
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
76 /* decoders */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
77 #ifdef CONFIG_DECODERS
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
78 #ifdef CONFIG_RISKY
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
79 register_avcodec(&h263_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
80 register_avcodec(&mpeg4_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
81 register_avcodec(&msmpeg4v1_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
82 register_avcodec(&msmpeg4v2_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
83 register_avcodec(&msmpeg4v3_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
84 register_avcodec(&wmv1_decoder);
936
caa77cd960c0 qpel encoding
michaelni
parents: 922
diff changeset
85 register_avcodec(&wmv2_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
86 register_avcodec(&h263i_decoder);
1357
540dd445bf0f 1000l (forgot to commit)
michaelni
parents: 1315
diff changeset
87 register_avcodec(&flv_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
88 register_avcodec(&rv10_decoder);
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents: 500
diff changeset
89 register_avcodec(&svq1_decoder);
1234
fc2a7eefa9cc svq3 decoder by anonymous
michaelni
parents: 1231
diff changeset
90 register_avcodec(&svq3_decoder);
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
91 register_avcodec(&wmav1_decoder);
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
92 register_avcodec(&wmav2_decoder);
1190
60bd91a6e218 native Indeo3 decoder implementation
tmmm
parents: 1168
diff changeset
93 register_avcodec(&indeo3_decoder);
1245
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1234
diff changeset
94 #ifdef CONFIG_FAAD
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1234
diff changeset
95 register_avcodec(&aac_decoder);
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1234
diff changeset
96 register_avcodec(&mpeg4aac_decoder);
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1234
diff changeset
97 #endif
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
98 #endif
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
99 register_avcodec(&mpeg_decoder);
1381
f07e17427140 initial XvMC support
iive
parents: 1374
diff changeset
100 #ifdef HAVE_XVMC
f07e17427140 initial XvMC support
iive
parents: 1374
diff changeset
101 register_avcodec(&mpeg_xvmc_decoder);
f07e17427140 initial XvMC support
iive
parents: 1374
diff changeset
102 #endif
724
caa4c757a47d added DV support
bellard
parents: 636
diff changeset
103 register_avcodec(&dvvideo_decoder);
1036
c7922c5becf6 DV audio decoder by Roman Shaposhnick
bellard
parents: 936
diff changeset
104 register_avcodec(&dvaudio_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
105 register_avcodec(&mjpeg_decoder);
881
d326091dae9f mjpegb support (need more samples)
al3x
parents: 866
diff changeset
106 register_avcodec(&mjpegb_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
107 register_avcodec(&mp2_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
108 register_avcodec(&mp3_decoder);
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents: 783
diff changeset
109 register_avcodec(&mace3_decoder);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents: 783
diff changeset
110 register_avcodec(&mace6_decoder);
866
725ef4ea3ecc huffyuv
michaelni
parents: 827
diff changeset
111 register_avcodec(&huffyuv_decoder);
1300
e18667d1e94d FFV1 codec (our very simple lossless intra only codec, compresses much better then huffyuv)
michaelni
parents: 1297
diff changeset
112 register_avcodec(&ffv1_decoder);
1056
eb403f8158eb register cyuv with allcodecs.c
tmmm
parents: 1042
diff changeset
113 register_avcodec(&cyuv_decoder);
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents: 1106
diff changeset
114 register_avcodec(&h264_decoder);
1224
3fa9a3de913f first pass at a new VP3 video decoder
tmmm
parents: 1190
diff changeset
115 register_avcodec(&vp3_decoder);
1273
a979fab41ed8 ASV1 codec
michaelni
parents: 1258
diff changeset
116 register_avcodec(&asv1_decoder);
1374
f9b088451fb3 ATI VCR1 decoder
michaelni
parents: 1357
diff changeset
117 register_avcodec(&vcr1_decoder);
1385
a16990d50fce CLJR decoding support
al3x
parents: 1381
diff changeset
118 register_avcodec(&cljr_decoder);
1293
a918c7d38345 4xm codec
michaelni
parents: 1273
diff changeset
119 register_avcodec(&fourxm_decoder);
1410
524c904a66b8 PSX MDEC decoder, based upon some code from Sebastian Jedruszkiewicz <elf at frogger dot rules dot pl>
michaelni
parents: 1385
diff changeset
120 register_avcodec(&mdec_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
121 #ifdef CONFIG_AC3
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
122 register_avcodec(&ac3_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
123 #endif
1304
e8543aab0cc9 RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from a mplayerhq (originally from public domain player for Amiga
nickols_k
parents: 1300
diff changeset
124 register_avcodec(&ra_144_decoder);
e8543aab0cc9 RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from a mplayerhq (originally from public domain player for Amiga
nickols_k
parents: 1300
diff changeset
125 register_avcodec(&ra_288_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
126 #endif /* CONFIG_DECODERS */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
127
1258
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1245
diff changeset
128 #ifdef AMR_NB
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1245
diff changeset
129 register_avcodec(&amr_nb_decoder);
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1296
diff changeset
130 register_avcodec(&amr_nb_encoder);
1258
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1245
diff changeset
131 #endif /* AMR_NB */
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
132 /* pcm codecs */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
133
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
134 #define PCM_CODEC(id, name) \
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
135 register_avcodec(& name ## _encoder); \
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
136 register_avcodec(& name ## _decoder); \
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
137
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
138 PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
139 PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
140 PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
141 PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
142 PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
143 PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
144 PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
145 PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
146
573
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
147 /* adpcm codecs */
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
148 PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
149 PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
150 PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
1296
eff1dc4bed49 4xm adpcm
michaelni
parents: 1293
diff changeset
151 PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);
573
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
152
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
153 #undef PCM_CODEC
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
154 }
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
155