annotate allcodecs.c @ 699:f69f9cb461bc libavcodec

automatically detect broken opendivx codec and workaround, so bug=1 shouldnt be needed anymore for mpeg4 files, if there still are files which need bug=1 then tell me ...
author michaelni
date Thu, 26 Sep 2002 22:37:33 +0000
parents 57b9a37546a0
children caa4c757a47d
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 */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
19 #include "avcodec.h"
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
20
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
21 /* 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
22 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
23
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
24 /**
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
25 * 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
26 */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
27 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
28 {
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
29 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
30
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
31 if (inited != 0)
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
32 return;
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
33 inited = 1;
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 /* encoders */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
36 #ifdef CONFIG_ENCODERS
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
37 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
38 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
39 #ifdef CONFIG_MP3LAME
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
40 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
41 #endif
636
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 573
diff changeset
42 #ifdef CONFIG_VORBIS
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 573
diff changeset
43 register_avcodec(&oggvorbis_encoder);
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 573
diff changeset
44 #endif
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
45 register_avcodec(&mpeg1video_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
46 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
47 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
48 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
49 register_avcodec(&mjpeg_encoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
50 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
51 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
52 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
53 register_avcodec(&msmpeg4v3_encoder);
500
460bc2ba363e wmv1 support
michaelni
parents: 491
diff changeset
54 register_avcodec(&wmv1_encoder);
460bc2ba363e wmv1 support
michaelni
parents: 491
diff changeset
55 register_avcodec(&wmv2_encoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
56 #endif /* CONFIG_ENCODERS */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
57 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
58
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
59 /* decoders */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
60 #ifdef CONFIG_DECODERS
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
61 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
62 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
63 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
64 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
65 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
66 register_avcodec(&wmv1_decoder);
500
460bc2ba363e wmv1 support
michaelni
parents: 491
diff changeset
67 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
68 register_avcodec(&mpeg_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
69 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
70 register_avcodec(&rv10_decoder);
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents: 500
diff changeset
71 register_avcodec(&svq1_decoder);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
72 register_avcodec(&mjpeg_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
73 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
74 register_avcodec(&mp3_decoder);
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
75 #ifdef CONFIG_AC3
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
76 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
77 #endif
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
78 #endif /* CONFIG_DECODERS */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
79
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
80 /* pcm codecs */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
81
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
82 #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
83 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
84 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
85
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
86 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
87 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
88 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
89 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
90 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
91 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
92 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
93 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
94
573
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
95 /* adpcm codecs */
b0f52172f4c5 beos/mov/adpcm patch by Franois Revol <revol at free dot fr>
michaelni
parents: 521
diff changeset
96 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
97 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
98 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
99
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
100 #undef PCM_CODEC
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
101 }
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
102