annotate allcodecs.c @ 4595:340c876320eb libavcodec

Use pointers to avoid copying AVFrame. This ensure get_buffer() won't be confused with an AVFrame pointer which looks like it wasn't released.
author aurel
date Sun, 25 Feb 2007 15:33:38 +0000
parents c0bf618fbe7e
children 2cd245d65761
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 /*
4550
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
2 * Provides registration of all codecs, parsers and bitstream filters for libavcodec.
491
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 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3914
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3914
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3914
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
8 * 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
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3914
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3914
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
13 * 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
14 * 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
15 * 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
16 *
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3914
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 3030
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
20 */
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
21
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
22 /**
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
23 * @file allcodecs.c
4550
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
24 * Provides registration of all codecs, parsers and bitstream filters for libavcodec.
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
25 */
1e39f273ecd6 per file doxy
michaelni
parents: 1056
diff changeset
26
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
27 #include "avcodec.h"
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
28
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
29 #define REGISTER_ENCODER(X,x) \
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
30 if(ENABLE_##X##_ENCODER) register_avcodec(&x##_encoder)
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
31 #define REGISTER_DECODER(X,x) \
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
32 if(ENABLE_##X##_DECODER) register_avcodec(&x##_decoder)
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
33 #define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x)
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
34
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
35 #define REGISTER_PARSER(X,x) \
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
36 if(ENABLE_##X##_PARSER) av_register_codec_parser(&x##_parser)
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
37
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
38 /**
4550
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
39 * Register all the codecs, parsers and bitstream filters which were enabled at
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
40 * configuration time. If you do not call this function you can select exactly
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
41 * which formats you want to support, by using the individual registration
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
42 * functions.
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
43 *
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
44 * @see register_avcodec
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
45 * @see av_register_codec_parser
03b09678398d Provide Doxygen documentation.
takis
parents: 4513
diff changeset
46 * @see av_register_bitstream_filter
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
47 */
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
48 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
49 {
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
50 static int inited = 0;
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2956
diff changeset
51
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
52 if (inited != 0)
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2970
diff changeset
53 return;
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
54 inited = 1;
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
55
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
56 /* video codecs */
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
57 REGISTER_DECODER(AASC, aasc);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
58 REGISTER_ENCDEC (ASV1, asv1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
59 REGISTER_ENCDEC (ASV2, asv2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
60 REGISTER_DECODER(AVS, avs);
4477
87e943798698 BMP encoder by Michel Bardiaux, mbardiaux mediaxim be
diego
parents: 4465
diff changeset
61 REGISTER_ENCDEC (BMP, bmp);
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
62 REGISTER_DECODER(CAVS, cavs);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
63 REGISTER_DECODER(CINEPAK, cinepak);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
64 REGISTER_DECODER(CLJR, cljr);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
65 REGISTER_DECODER(CSCD, cscd);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
66 REGISTER_DECODER(CYUV, cyuv);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
67 REGISTER_DECODER(DSICINVIDEO, dsicinvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
68 REGISTER_ENCDEC (DVVIDEO, dvvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
69 REGISTER_DECODER(EIGHTBPS, eightbps);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
70 REGISTER_ENCDEC (FFV1, ffv1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
71 REGISTER_ENCDEC (FFVHUFF, ffvhuff);
4374
65bb4ce33467 Flash screen video encoder.
banan
parents: 4367
diff changeset
72 REGISTER_ENCDEC (FLASHSV, flashsv);
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
73 REGISTER_DECODER(FLIC, flic);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
74 REGISTER_ENCDEC (FLV, flv);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
75 REGISTER_DECODER(FOURXM, fourxm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
76 REGISTER_DECODER(FRAPS, fraps);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
77 REGISTER_ENCDEC (GIF, gif);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
78 REGISTER_ENCDEC (H261, h261);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
79 REGISTER_ENCDEC (H263, h263);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
80 REGISTER_DECODER(H263I, h263i);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
81 REGISTER_ENCODER(H263P, h263p);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
82 REGISTER_DECODER(H264, h264);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
83 REGISTER_ENCDEC (HUFFYUV, huffyuv);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
84 REGISTER_DECODER(IDCIN, idcin);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
85 REGISTER_DECODER(INDEO2, indeo2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
86 REGISTER_DECODER(INDEO3, indeo3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
87 REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
88 REGISTER_ENCODER(JPEGLS, jpegls);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
89 REGISTER_DECODER(KMVC, kmvc);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
90 REGISTER_ENCODER(LJPEG, ljpeg);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
91 REGISTER_DECODER(LOCO, loco);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
92 REGISTER_DECODER(MDEC, mdec);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
93 REGISTER_ENCDEC (MJPEG, mjpeg);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
94 REGISTER_DECODER(MJPEGB, mjpegb);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
95 REGISTER_DECODER(MMVIDEO, mmvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
96 REGISTER_DECODER(MPEG_XVMC, mpeg_xvmc);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
97 REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
98 REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
99 REGISTER_ENCDEC (MPEG4, mpeg4);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
100 REGISTER_DECODER(MPEGVIDEO, mpegvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
101 REGISTER_ENCDEC (MSMPEG4V1, msmpeg4v1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
102 REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
103 REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
104 REGISTER_DECODER(MSRLE, msrle);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
105 REGISTER_DECODER(MSVIDEO1, msvideo1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
106 REGISTER_DECODER(MSZH, mszh);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
107 REGISTER_DECODER(NUV, nuv);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
108 REGISTER_ENCODER(PAM, pam);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
109 REGISTER_ENCODER(PBM, pbm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
110 REGISTER_ENCODER(PGM, pgm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
111 REGISTER_ENCODER(PGMYUV, pgmyuv);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
112 REGISTER_ENCDEC (PNG, png);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
113 REGISTER_ENCODER(PPM, ppm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
114 REGISTER_DECODER(QDRAW, qdraw);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
115 REGISTER_DECODER(QPEG, qpeg);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
116 REGISTER_DECODER(QTRLE, qtrle);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
117 REGISTER_ENCDEC (RAWVIDEO, rawvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
118 REGISTER_DECODER(ROQ, roq);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
119 REGISTER_DECODER(RPZA, rpza);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
120 REGISTER_ENCDEC (RV10, rv10);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
121 REGISTER_ENCDEC (RV20, rv20);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
122 REGISTER_DECODER(SMACKER, smacker);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
123 REGISTER_DECODER(SMC, smc);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
124 REGISTER_ENCDEC (SNOW, snow);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
125 REGISTER_DECODER(SP5X, sp5x);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
126 REGISTER_ENCDEC (SVQ1, svq1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
127 REGISTER_DECODER(SVQ3, svq3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
128 REGISTER_DECODER(TARGA, targa);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
129 REGISTER_DECODER(THEORA, theora);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
130 REGISTER_DECODER(TIERTEXSEQVIDEO, tiertexseqvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
131 REGISTER_DECODER(TIFF, tiff);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
132 REGISTER_DECODER(TRUEMOTION1, truemotion1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
133 REGISTER_DECODER(TRUEMOTION2, truemotion2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
134 REGISTER_DECODER(TSCC, tscc);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
135 REGISTER_DECODER(ULTI, ulti);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
136 REGISTER_DECODER(VC1, vc1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
137 REGISTER_DECODER(VCR1, vcr1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
138 REGISTER_DECODER(VMDVIDEO, vmdvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
139 REGISTER_DECODER(VMNC, vmnc);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
140 REGISTER_DECODER(VP3, vp3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
141 REGISTER_DECODER(VP5, vp5);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
142 REGISTER_DECODER(VP6, vp6);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
143 REGISTER_DECODER(VP6F, vp6f);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
144 REGISTER_DECODER(VQA, vqa);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
145 REGISTER_ENCDEC (WMV1, wmv1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
146 REGISTER_ENCDEC (WMV2, wmv2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
147 REGISTER_DECODER(WMV3, wmv3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
148 REGISTER_DECODER(WNV1, wnv1);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
149 REGISTER_ENCODER(X264, x264);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
150 REGISTER_DECODER(XAN_WC3, xan_wc3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
151 REGISTER_DECODER(XL, xl);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
152 REGISTER_ENCODER(XVID, xvid);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
153 REGISTER_ENCDEC (ZLIB, zlib);
4286
26fe3b9dc852 Now ZMBV encoder compiles
kostya
parents: 4280
diff changeset
154 REGISTER_ENCDEC (ZMBV, zmbv);
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
155
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
156 /* audio codecs */
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
157 REGISTER_DECODER(AAC, aac);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
158 REGISTER_DECODER(MPEG4AAC, mpeg4aac);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
159 REGISTER_ENCODER(AC3, ac3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
160 REGISTER_DECODER(ALAC, alac);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
161 REGISTER_ENCDEC (AMR_NB, amr_nb);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
162 REGISTER_ENCDEC (AMR_WB, amr_wb);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
163 REGISTER_DECODER(COOK, cook);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
164 REGISTER_DECODER(DSICINAUDIO, dsicinaudio);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
165 REGISTER_DECODER(DTS, dts);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
166 REGISTER_ENCODER(FAAC, faac);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
167 REGISTER_ENCDEC (FLAC, flac);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
168 REGISTER_DECODER(IMC, imc);
4513
3367310f8460 Rename ac3 decoder to liba52 to prepare for native decoder.
diego
parents: 4490
diff changeset
169 REGISTER_DECODER(LIBA52, liba52);
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
170 REGISTER_ENCDEC (LIBGSM, libgsm);
4551
c0bf618fbe7e Add support for MS-GSM codec
mbardiaux
parents: 4550
diff changeset
171 REGISTER_ENCDEC (LIBGSM_MS, libgsm_ms);
4403
432d332b7def Theora encoding via libtheora.
diego
parents: 4382
diff changeset
172 REGISTER_ENCODER(LIBTHEORA, libtheora);
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
173 REGISTER_DECODER(MACE3, mace3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
174 REGISTER_DECODER(MACE6, mace6);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
175 REGISTER_ENCDEC (MP2, mp2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
176 REGISTER_DECODER(MP3, mp3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
177 REGISTER_DECODER(MP3ADU, mp3adu);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
178 REGISTER_ENCODER(MP3LAME, mp3lame);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
179 REGISTER_DECODER(MP3ON4, mp3on4);
4328
a0cfbd6679c0 Musepack SV7 decoding support
kostya
parents: 4286
diff changeset
180 REGISTER_DECODER(MPC7, mpc7);
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
181 if (!ENABLE_VORBIS_ENCODER) REGISTER_ENCODER(OGGVORBIS, oggvorbis);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
182 if (!ENABLE_VORBIS_DECODER) REGISTER_DECODER(OGGVORBIS, oggvorbis);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
183 REGISTER_DECODER(QDM2, qdm2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
184 REGISTER_DECODER(RA_144, ra_144);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
185 REGISTER_DECODER(RA_288, ra_288);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
186 REGISTER_DECODER(SHORTEN, shorten);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
187 REGISTER_DECODER(SMACKAUD, smackaud);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
188 REGISTER_ENCDEC (SONIC, sonic);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
189 REGISTER_ENCODER(SONIC_LS, sonic_ls);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
190 REGISTER_DECODER(TRUESPEECH, truespeech);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
191 REGISTER_DECODER(TTA, tta);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
192 REGISTER_DECODER(VMDAUDIO, vmdaudio);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
193 REGISTER_ENCDEC (VORBIS, vorbis);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
194 REGISTER_DECODER(WAVPACK, wavpack);
4490
0efc832d9102 wma encoder
michael
parents: 4477
diff changeset
195 REGISTER_ENCDEC(WMAV1, wmav1);
0efc832d9102 wma encoder
michael
parents: 4477
diff changeset
196 REGISTER_ENCDEC(WMAV2, wmav2);
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
197 REGISTER_DECODER(WS_SND1, ws_snd1);
3119
09ae2e981d64 complete American Laser Games MM playback system, courtesy of Peter Ross
melanson
parents: 3118
diff changeset
198
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
199 /* pcm codecs */
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
200 REGISTER_ENCDEC (PCM_ALAW, pcm_alaw);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
201 REGISTER_ENCDEC (PCM_MULAW, pcm_mulaw);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
202 REGISTER_ENCDEC (PCM_S8, pcm_s8);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
203 REGISTER_ENCDEC (PCM_S16BE, pcm_s16be);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
204 REGISTER_ENCDEC (PCM_S16LE, pcm_s16le);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
205 REGISTER_ENCDEC (PCM_S24BE, pcm_s24be);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
206 REGISTER_ENCDEC (PCM_S24DAUD, pcm_s24daud);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
207 REGISTER_ENCDEC (PCM_S24LE, pcm_s24le);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
208 REGISTER_ENCDEC (PCM_S32BE, pcm_s32be);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
209 REGISTER_ENCDEC (PCM_S32LE, pcm_s32le);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
210 REGISTER_ENCDEC (PCM_U8, pcm_u8);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
211 REGISTER_ENCDEC (PCM_U16BE, pcm_u16be);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
212 REGISTER_ENCDEC (PCM_U16LE, pcm_u16le);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
213 REGISTER_ENCDEC (PCM_U24BE, pcm_u24be);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
214 REGISTER_ENCDEC (PCM_U24LE, pcm_u24le);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
215 REGISTER_ENCDEC (PCM_U32BE, pcm_u32be);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
216 REGISTER_ENCDEC (PCM_U32LE, pcm_u32le);
1535
bcb30ec7e86f activate the XA and ADX ADPCM codecs
melanson
parents: 1519
diff changeset
217
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
218 /* dpcm codecs */
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
219 REGISTER_DECODER(INTERPLAY_DPCM, interplay_dpcm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
220 REGISTER_DECODER(ROQ_DPCM, roq_dpcm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
221 REGISTER_DECODER(SOL_DPCM, sol_dpcm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
222 REGISTER_DECODER(XAN_DPCM, xan_dpcm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
223
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
224 /* adpcm codecs */
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
225 REGISTER_ENCDEC (ADPCM_4XM, adpcm_4xm);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
226 REGISTER_ENCDEC (ADPCM_ADX, adpcm_adx);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
227 REGISTER_ENCDEC (ADPCM_CT, adpcm_ct);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
228 REGISTER_ENCDEC (ADPCM_EA, adpcm_ea);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
229 REGISTER_ENCDEC (ADPCM_G726, adpcm_g726);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
230 REGISTER_ENCDEC (ADPCM_IMA_DK3, adpcm_ima_dk3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
231 REGISTER_ENCDEC (ADPCM_IMA_DK4, adpcm_ima_dk4);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
232 REGISTER_ENCDEC (ADPCM_IMA_QT, adpcm_ima_qt);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
233 REGISTER_ENCDEC (ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
234 REGISTER_ENCDEC (ADPCM_IMA_WAV, adpcm_ima_wav);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
235 REGISTER_ENCDEC (ADPCM_IMA_WS, adpcm_ima_ws);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
236 REGISTER_ENCDEC (ADPCM_MS, adpcm_ms);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
237 REGISTER_ENCDEC (ADPCM_SBPRO_2, adpcm_sbpro_2);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
238 REGISTER_ENCDEC (ADPCM_SBPRO_3, adpcm_sbpro_3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
239 REGISTER_ENCDEC (ADPCM_SBPRO_4, adpcm_sbpro_4);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
240 REGISTER_ENCDEC (ADPCM_SWF, adpcm_swf);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
241 REGISTER_ENCDEC (ADPCM_XA, adpcm_xa);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
242 REGISTER_ENCDEC (ADPCM_YAMAHA, adpcm_yamaha);
1613
0279c6c61f11 new audio/video parser API
bellard
parents: 1610
diff changeset
243
2921
d22a3556292a avoid the registration of DECODERS if only CONFIG_DECODERS is not defined.
gpoirier
parents: 2913
diff changeset
244 /* subtitles */
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
245 REGISTER_ENCDEC (DVBSUB, dvbsub);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
246 REGISTER_ENCDEC (DVDSUB, dvdsub);
2921
d22a3556292a avoid the registration of DECODERS if only CONFIG_DECODERS is not defined.
gpoirier
parents: 2913
diff changeset
247
4242
ed5c8287d756 alphabetic reordering of codec registration
aurel
parents: 4194
diff changeset
248 /* parsers */
4244
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
249 REGISTER_PARSER (AAC, aac);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
250 REGISTER_PARSER (AC3, ac3);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
251 REGISTER_PARSER (CAVSVIDEO, cavsvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
252 REGISTER_PARSER (DVBSUB, dvbsub);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
253 REGISTER_PARSER (DVDSUB, dvdsub);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
254 REGISTER_PARSER (H261, h261);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
255 REGISTER_PARSER (H263, h263);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
256 REGISTER_PARSER (H264, h264);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
257 REGISTER_PARSER (MJPEG, mjpeg);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
258 REGISTER_PARSER (MPEG4VIDEO, mpeg4video);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
259 REGISTER_PARSER (MPEGAUDIO, mpegaudio);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
260 REGISTER_PARSER (MPEGVIDEO, mpegvideo);
54b594d31ac1 cleanup the #ifdef mess in encoder/decoder/parser registration
aurel
parents: 4242
diff changeset
261 REGISTER_PARSER (PNM, pnm);
4465
5c94205a4730 VC-1 parser
kostya
parents: 4403
diff changeset
262 REGISTER_PARSER (VC1, vc1);
3421
b7826511f7b6 AVBitStreamFilter (some thingy which can modify the bitstream like add or remove global headers or change the headers or ...)
michael
parents: 3395
diff changeset
263
b7826511f7b6 AVBitStreamFilter (some thingy which can modify the bitstream like add or remove global headers or change the headers or ...)
michael
parents: 3395
diff changeset
264 av_register_bitstream_filter(&dump_extradata_bsf);
b7826511f7b6 AVBitStreamFilter (some thingy which can modify the bitstream like add or remove global headers or change the headers or ...)
michael
parents: 3395
diff changeset
265 av_register_bitstream_filter(&remove_extradata_bsf);
3422
6ce5ece8e2ea noise bitstream filter
michael
parents: 3421
diff changeset
266 av_register_bitstream_filter(&noise_bsf);
4166
eced83504436 mp3 header (de)compression bitstream filter
michael
parents: 4125
diff changeset
267 av_register_bitstream_filter(&mp3_header_compress_bsf);
eced83504436 mp3 header (de)compression bitstream filter
michael
parents: 4125
diff changeset
268 av_register_bitstream_filter(&mp3_header_decompress_bsf);
4252
daaebca81d86 mjpeg a dump header bitstream filter, modifies bitstream to be decoded by quicktime
bcoudurier
parents: 4244
diff changeset
269 av_register_bitstream_filter(&mjpega_dump_header_bsf);
491
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
270 }
66d470d19feb put codec registering in another file so that the user can install the codecs he wants
bellard
parents:
diff changeset
271