annotate allcodecs.c @ 1224:3fa9a3de913f libavcodec

first pass at a new VP3 video decoder
author tmmm
date Mon, 05 May 2003 02:54:15 +0000
parents 60bd91a6e218
children b88dfc4bbf8c
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
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
55 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
56 register_avcodec(&h263p_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(&rv10_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
58 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
59 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
60 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
61 register_avcodec(&msmpeg4v3_encoder);
500
460bc2ba363e wmv1 support
michaelni
parents: 491
diff changeset
62 register_avcodec(&wmv1_encoder);
936
caa77cd960c0 qpel encoding
michaelni
parents: 922
diff changeset
63 register_avcodec(&wmv2_encoder);
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
64 #endif
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
65 register_avcodec(&mjpeg_encoder);
866
725ef4ea3ecc huffyuv
michaelni
parents: 827
diff changeset
66 register_avcodec(&huffyuv_encoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
67 #endif /* CONFIG_ENCODERS */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
68 register_avcodec(&rawvideo_codec);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
69
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
70 /* decoders */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
71 #ifdef CONFIG_DECODERS
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
72 #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
73 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
74 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
75 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
76 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
77 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
78 register_avcodec(&wmv1_decoder);
936
caa77cd960c0 qpel encoding
michaelni
parents: 922
diff changeset
79 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
80 register_avcodec(&h263i_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(&rv10_decoder);
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents: 500
diff changeset
82 register_avcodec(&svq1_decoder);
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
83 register_avcodec(&wmav1_decoder);
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
84 register_avcodec(&wmav2_decoder);
1190
60bd91a6e218 native Indeo3 decoder implementation
tmmm
parents: 1168
diff changeset
85 register_avcodec(&indeo3_decoder);
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
86 #endif
a78f6f72d54e --disable-risky support
michaelni
parents: 1036
diff changeset
87 register_avcodec(&mpeg_decoder);
724
caa4c757a47d added DV support
bellard
parents: 636
diff changeset
88 register_avcodec(&dvvideo_decoder);
1036
c7922c5becf6 DV audio decoder by Roman Shaposhnick
bellard
parents: 936
diff changeset
89 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
90 register_avcodec(&mjpeg_decoder);
881
d326091dae9f mjpegb support (need more samples)
al3x
parents: 866
diff changeset
91 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
92 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
93 register_avcodec(&mp3_decoder);
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents: 783
diff changeset
94 register_avcodec(&mace3_decoder);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents: 783
diff changeset
95 register_avcodec(&mace6_decoder);
866
725ef4ea3ecc huffyuv
michaelni
parents: 827
diff changeset
96 register_avcodec(&huffyuv_decoder);
1056
eb403f8158eb register cyuv with allcodecs.c
tmmm
parents: 1042
diff changeset
97 register_avcodec(&cyuv_decoder);
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents: 1106
diff changeset
98 register_avcodec(&h264_decoder);
1224
3fa9a3de913f first pass at a new VP3 video decoder
tmmm
parents: 1190
diff changeset
99 register_avcodec(&vp3_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
100 #ifdef CONFIG_AC3
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
101 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
102 #endif
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
103 #endif /* CONFIG_DECODERS */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
104
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
105 /* pcm codecs */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
106
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
107 #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
108 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
109 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
110
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
111 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
112 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
113 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
114 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
115 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
116 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
117 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
118 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
119
573
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
120 /* adpcm codecs */
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
121 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
122 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
123 PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
124
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
125 #undef PCM_CODEC
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
126 }
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
127