Mercurial > libavcodec.hg
annotate allcodecs.c @ 712:e55b91623e09 libavcodec
fixing rv10, this isnt the cleanest solution (parsing the packet header in the codec & creating it in the muxer) but it was that way before things broke, and its the simplest solution
author | michaelni |
---|---|
date | Mon, 30 Sep 2002 21:36:43 +0000 |
parents | 57b9a37546a0 |
children | caa4c757a47d |
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 | 54 register_avcodec(&wmv1_encoder); |
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 | 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 | 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 |