/*
- * Utils for libavcodec
+ * Provides registration of all codecs, parsers and bitstream filters for libavcodec.
* Copyright (c) 2002 Fabrice Bellard.
*
- * This library is free software; you can redistribute it and/or
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This library is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file allcodecs.c
- * Utils for libavcodec.
+ * Provides registration of all codecs, parsers and bitstream filters for libavcodec.
*/
#include "avcodec.h"
-/* If you do not call this function, then you can select exactly which
- formats you want to support */
+#define REGISTER_ENCODER(X,x) \
+ if(ENABLE_##X##_ENCODER) register_avcodec(&x##_encoder)
+#define REGISTER_DECODER(X,x) \
+ if(ENABLE_##X##_DECODER) register_avcodec(&x##_decoder)
+#define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x)
+
+#define REGISTER_PARSER(X,x) \
+ if(ENABLE_##X##_PARSER) av_register_codec_parser(&x##_parser)
/**
- * simple call to register all the codecs.
+ * Register all the codecs, parsers and bitstream filters which were enabled at
+ * configuration time. If you do not call this function you can select exactly
+ * which formats you want to support, by using the individual registration
+ * functions.
+ *
+ * @see register_avcodec
+ * @see av_register_codec_parser
+ * @see av_register_bitstream_filter
*/
void avcodec_register_all(void)
{
static int inited = 0;
-
+
if (inited != 0)
- return;
+ return;
inited = 1;
- /* encoders */
-#ifdef CONFIG_ENCODERS
-#ifdef CONFIG_AC3_ENCODER
- register_avcodec(&ac3_encoder);
-#endif //CONFIG_AC3_ENCODER
-#ifdef CONFIG_MP2_ENCODER
- register_avcodec(&mp2_encoder);
-#endif //CONFIG_MP2_ENCODER
-#ifdef CONFIG_MP3LAME
-#ifdef CONFIG_MP3LAME_ENCODER
- register_avcodec(&mp3lame_encoder);
-#endif //CONFIG_MP3LAME_ENCODER
-#endif
-#ifdef CONFIG_LIBVORBIS
-#ifdef CONFIG_OGGVORBIS_ENCODER
- register_avcodec(&oggvorbis_encoder);
-#endif //CONFIG_OGGVORBIS_ENCODER
-#if (defined CONFIG_OGGVORBIS_DECODER && !defined CONFIG_VORBIS_DECODER)
- register_avcodec(&oggvorbis_decoder);
-#endif //CONFIG_OGGVORBIS_DECODER
-#endif
-#ifdef CONFIG_LIBTHEORA
-#ifdef CONFIG_OGGTHEORA_ENCODER
-// register_avcodec(&oggtheora_encoder);
-#endif //CONFIG_OGGTHEORA_ENCODER
-#ifdef CONFIG_OGGTHEORA_DECODER
- register_avcodec(&oggtheora_decoder);
-#endif //CONFIG_OGGTHEORA_DECODER
-#endif
-#ifdef CONFIG_FAAC
-#ifdef CONFIG_FAAC_ENCODER
- register_avcodec(&faac_encoder);
-#endif //CONFIG_FAAC_ENCODER
-#endif
-#ifdef CONFIG_XVID
-#ifdef CONFIG_XVID_ENCODER
- register_avcodec(&xvid_encoder);
-#endif //CONFIG_XVID_ENCODER
-#endif
-#ifdef CONFIG_MPEG1VIDEO_ENCODER
- register_avcodec(&mpeg1video_encoder);
-#endif //CONFIG_MPEG1VIDEO_ENCODER
-#ifdef CONFIG_H264_ENCODER
-// register_avcodec(&h264_encoder);
-#endif //CONFIG_H264_ENCODER
-#ifdef CONFIG_MPEG2VIDEO_ENCODER
- register_avcodec(&mpeg2video_encoder);
-#endif //CONFIG_MPEG2VIDEO_ENCODER
-#ifdef CONFIG_H261_ENCODER
- register_avcodec(&h261_encoder);
-#endif //CONFIG_H261_ENCODER
-#ifdef CONFIG_H263_ENCODER
- register_avcodec(&h263_encoder);
-#endif //CONFIG_H263_ENCODER
-#ifdef CONFIG_H263P_ENCODER
- register_avcodec(&h263p_encoder);
-#endif //CONFIG_H263P_ENCODER
-#ifdef CONFIG_FLV_ENCODER
- register_avcodec(&flv_encoder);
-#endif //CONFIG_FLV_ENCODER
-#ifdef CONFIG_RV10_ENCODER
- register_avcodec(&rv10_encoder);
-#endif //CONFIG_RV10_ENCODER
-#ifdef CONFIG_RV20_ENCODER
- register_avcodec(&rv20_encoder);
-#endif //CONFIG_RV20_ENCODER
-#ifdef CONFIG_MPEG4_ENCODER
- register_avcodec(&mpeg4_encoder);
-#endif //CONFIG_MPEG4_ENCODER
-#ifdef CONFIG_MSMPEG4V1_ENCODER
- register_avcodec(&msmpeg4v1_encoder);
-#endif //CONFIG_MSMPEG4V1_ENCODER
-#ifdef CONFIG_MSMPEG4V2_ENCODER
- register_avcodec(&msmpeg4v2_encoder);
-#endif //CONFIG_MSMPEG4V2_ENCODER
-#ifdef CONFIG_MSMPEG4V3_ENCODER
- register_avcodec(&msmpeg4v3_encoder);
-#endif //CONFIG_MSMPEG4V3_ENCODER
-#ifdef CONFIG_WMV1_ENCODER
- register_avcodec(&wmv1_encoder);
-#endif //CONFIG_WMV1_ENCODER
-#ifdef CONFIG_WMV2_ENCODER
- register_avcodec(&wmv2_encoder);
-#endif //CONFIG_WMV2_ENCODER
-#ifdef CONFIG_SVQ1_ENCODER
- register_avcodec(&svq1_encoder);
-#endif //CONFIG_SVQ1_ENCODER
-#ifdef CONFIG_MJPEG_ENCODER
- register_avcodec(&mjpeg_encoder);
-#endif //CONFIG_MJPEG_ENCODER
-#ifdef CONFIG_LJPEG_ENCODER
- register_avcodec(&ljpeg_encoder);
-#endif //CONFIG_LJPEG_ENCODER
-#ifdef CONFIG_ZLIB
-#ifdef CONFIG_PNG_ENCODER
- register_avcodec(&png_encoder);
-#endif //CONFIG_PNG_ENCODER
-#endif
-#ifdef CONFIG_PPM_ENCODER
- register_avcodec(&ppm_encoder);
-#endif //CONFIG_PPM_ENCODER
-#ifdef CONFIG_PGM_ENCODER
- register_avcodec(&pgm_encoder);
-#endif //CONFIG_PGM_ENCODER
-#ifdef CONFIG_PGMYUV_ENCODER
- register_avcodec(&pgmyuv_encoder);
-#endif //CONFIG_PGMYUV_ENCODER
-#ifdef CONFIG_PBM_ENCODER
- register_avcodec(&pbm_encoder);
-#endif //CONFIG_PBM_ENCODER
-#ifdef CONFIG_PAM_ENCODER
- register_avcodec(&pam_encoder);
-#endif //CONFIG_PAM_ENCODER
-#ifdef CONFIG_HUFFYUV_ENCODER
- register_avcodec(&huffyuv_encoder);
-#endif //CONFIG_HUFFYUV_ENCODER
-#ifdef CONFIG_FFVHUFF_ENCODER
- register_avcodec(&ffvhuff_encoder);
-#endif //CONFIG_FFVHUFF_ENCODER
-#ifdef CONFIG_ASV1_ENCODER
- register_avcodec(&asv1_encoder);
-#endif //CONFIG_ASV1_ENCODER
-#ifdef CONFIG_ASV2_ENCODER
- register_avcodec(&asv2_encoder);
-#endif //CONFIG_ASV2_ENCODER
-#ifdef CONFIG_FFV1_ENCODER
- register_avcodec(&ffv1_encoder);
-#endif //CONFIG_FFV1_ENCODER
-#ifdef CONFIG_SNOW_ENCODER
- register_avcodec(&snow_encoder);
-#endif //CONFIG_SNOW_ENCODER
-#ifdef CONFIG_ZLIB_ENCODER
- register_avcodec(&zlib_encoder);
-#endif //CONFIG_ZLIB_ENCODER
-#ifdef CONFIG_DVVIDEO_ENCODER
- register_avcodec(&dvvideo_encoder);
-#endif //CONFIG_DVVIDEO_ENCODER
-#ifdef CONFIG_SONIC_ENCODER
- register_avcodec(&sonic_encoder);
-#endif //CONFIG_SONIC_ENCODER
-#ifdef CONFIG_SONIC_LS_ENCODER
- register_avcodec(&sonic_ls_encoder);
-#endif //CONFIG_SONIC_LS_ENCODER
-#ifdef CONFIG_X264
-#ifdef CONFIG_X264_ENCODER
- register_avcodec(&x264_encoder);
-#endif //CONFIG_X264_ENCODER
-#endif
-#ifdef CONFIG_LIBGSM
- register_avcodec(&libgsm_encoder);
-#endif //CONFIG_LIBGSM
-#ifdef CONFIG_RAWVIDEO_ENCODER
- register_avcodec(&rawvideo_encoder);
-#endif //CONFIG_RAWVIDEO_ENCODER
-#endif /* CONFIG_ENCODERS */
-
- /* decoders */
-#ifdef CONFIG_DECODERS
-#ifdef CONFIG_H263_DECODER
- register_avcodec(&h263_decoder);
-#endif //CONFIG_H263_DECODER
-#ifdef CONFIG_H261_DECODER
- register_avcodec(&h261_decoder);
-#endif //CONFIG_H261_DECODER
-#ifdef CONFIG_MPEG4_DECODER
- register_avcodec(&mpeg4_decoder);
-#endif //CONFIG_MPEG4_DECODER
-#ifdef CONFIG_MSMPEG4V1_DECODER
- register_avcodec(&msmpeg4v1_decoder);
-#endif //CONFIG_MSMPEG4V1_DECODER
-#ifdef CONFIG_MSMPEG4V2_DECODER
- register_avcodec(&msmpeg4v2_decoder);
-#endif //CONFIG_MSMPEG4V2_DECODER
-#ifdef CONFIG_MSMPEG4V3_DECODER
- register_avcodec(&msmpeg4v3_decoder);
-#endif //CONFIG_MSMPEG4V3_DECODER
-#ifdef CONFIG_WMV1_DECODER
- register_avcodec(&wmv1_decoder);
-#endif //CONFIG_WMV1_DECODER
-#ifdef CONFIG_WMV2_DECODER
- register_avcodec(&wmv2_decoder);
-#endif //CONFIG_WMV2_DECODER
-#ifdef CONFIG_VC9_DECODER
- register_avcodec(&vc9_decoder);
-#endif //CONFIG_VC9_DECODER
-#ifdef CONFIG_WMV3_DECODER
- register_avcodec(&wmv3_decoder);
-#endif //CONFIG_WMV3_DECODER
-#ifdef CONFIG_H263I_DECODER
- register_avcodec(&h263i_decoder);
-#endif //CONFIG_H263I_DECODER
-#ifdef CONFIG_FLV_DECODER
- register_avcodec(&flv_decoder);
-#endif //CONFIG_FLV_DECODER
-#ifdef CONFIG_RV10_DECODER
- register_avcodec(&rv10_decoder);
-#endif //CONFIG_RV10_DECODER
-#ifdef CONFIG_RV20_DECODER
- register_avcodec(&rv20_decoder);
-#endif //CONFIG_RV20_DECODER
-#ifdef CONFIG_SVQ1_DECODER
- register_avcodec(&svq1_decoder);
-#endif //CONFIG_SVQ1_DECODER
-#ifdef CONFIG_SVQ3_DECODER
- register_avcodec(&svq3_decoder);
-#endif //CONFIG_SVQ3_DECODER
-#ifdef CONFIG_WMAV1_DECODER
- register_avcodec(&wmav1_decoder);
-#endif //CONFIG_WMAV1_DECODER
-#ifdef CONFIG_WMAV2_DECODER
- register_avcodec(&wmav2_decoder);
-#endif //CONFIG_WMAV2_DECODER
-#ifdef CONFIG_INDEO2_DECODER
- register_avcodec(&indeo2_decoder);
-#endif //CONFIG_INDEO2_DECODER
-#ifdef CONFIG_INDEO3_DECODER
- register_avcodec(&indeo3_decoder);
-#endif //CONFIG_INDEO3_DECODER
-#ifdef CONFIG_TSCC_DECODER
- register_avcodec(&tscc_decoder);
-#endif //CONFIG_TSCC_DECODER
-#ifdef CONFIG_ULTI_DECODER
- register_avcodec(&ulti_decoder);
-#endif //CONFIG_ULTI_DECODER
-#ifdef CONFIG_QDRAW_DECODER
- register_avcodec(&qdraw_decoder);
-#endif //CONFIG_QDRAW_DECODER
-#ifdef CONFIG_XL_DECODER
- register_avcodec(&xl_decoder);
-#endif //CONFIG_XL_DECODER
-#ifdef CONFIG_QPEG_DECODER
- register_avcodec(&qpeg_decoder);
-#endif //CONFIG_QPEG_DECODER
-#ifdef CONFIG_LOCO_DECODER
- register_avcodec(&loco_decoder);
-#endif //CONFIG_LOCO_DECODER
-#ifdef CONFIG_WNV1_DECODER
- register_avcodec(&wnv1_decoder);
-#endif //CONFIG_WNV1_DECODER
-#ifdef CONFIG_AASC_DECODER
- register_avcodec(&aasc_decoder);
-#endif //CONFIG_AASC_DECODER
-#ifdef CONFIG_FRAPS_DECODER
- register_avcodec(&fraps_decoder);
-#endif //CONFIG_FRAPS_DECODER
-#ifdef CONFIG_FAAD
-#ifdef CONFIG_AAC_DECODER
- register_avcodec(&aac_decoder);
-#endif //CONFIG_AAC_DECODER
-#ifdef CONFIG_MPEG4AAC_DECODER
- register_avcodec(&mpeg4aac_decoder);
-#endif //CONFIG_MPEG4AAC_DECODER
-#endif
-#ifdef CONFIG_MPEG1VIDEO_DECODER
- register_avcodec(&mpeg1video_decoder);
-#endif //CONFIG_MPEG1VIDEO_DECODER
-#ifdef CONFIG_MPEG2VIDEO_DECODER
- register_avcodec(&mpeg2video_decoder);
-#endif //CONFIG_MPEG2VIDEO_DECODER
-#ifdef CONFIG_MPEGVIDEO_DECODER
- register_avcodec(&mpegvideo_decoder);
-#endif //CONFIG_MPEGVIDEO_DECODER
-#ifdef HAVE_XVMC
-#ifdef CONFIG_MPEG_XVMC_DECODER
- register_avcodec(&mpeg_xvmc_decoder);
-#endif //CONFIG_MPEG_XVMC_DECODER
-#endif
-#ifdef CONFIG_DVVIDEO_DECODER
- register_avcodec(&dvvideo_decoder);
-#endif //CONFIG_DVVIDEO_DECODER
-#ifdef CONFIG_MJPEG_DECODER
- register_avcodec(&mjpeg_decoder);
-#endif //CONFIG_MJPEG_DECODER
-#ifdef CONFIG_MJPEGB_DECODER
- register_avcodec(&mjpegb_decoder);
-#endif //CONFIG_MJPEGB_DECODER
-#ifdef CONFIG_SP5X_DECODER
- register_avcodec(&sp5x_decoder);
-#endif //CONFIG_SP5X_DECODER
-#ifdef CONFIG_ZLIB
-#ifdef CONFIG_PNG_DECODER
- register_avcodec(&png_decoder);
-#endif //CONFIG_PNG_DECODER
-#endif
-#ifdef CONFIG_MP2_DECODER
- register_avcodec(&mp2_decoder);
-#endif //CONFIG_MP2_DECODER
-#ifdef CONFIG_MP3_DECODER
- register_avcodec(&mp3_decoder);
-#endif //CONFIG_MP3_DECODER
-#ifdef CONFIG_MP3ADU_DECODER
- register_avcodec(&mp3adu_decoder);
-#endif //CONFIG_MP3ADU_DECODER
-#ifdef CONFIG_MP3ON4_DECODER
- register_avcodec(&mp3on4_decoder);
-#endif //CONFIG_MP3ON4_DECODER
-#ifdef CONFIG_MACE3_DECODER
- register_avcodec(&mace3_decoder);
-#endif //CONFIG_MACE3_DECODER
-#ifdef CONFIG_MACE6_DECODER
- register_avcodec(&mace6_decoder);
-#endif //CONFIG_MACE6_DECODER
-#ifdef CONFIG_HUFFYUV_DECODER
- register_avcodec(&huffyuv_decoder);
-#endif //CONFIG_HUFFYUV_DECODER
-#ifdef CONFIG_FFVHUFF_DECODER
- register_avcodec(&ffvhuff_decoder);
-#endif //CONFIG_FFVHUFF_DECODER
-#ifdef CONFIG_FFV1_DECODER
- register_avcodec(&ffv1_decoder);
-#endif //CONFIG_FFV1_DECODER
-#ifdef CONFIG_SNOW_DECODER
- register_avcodec(&snow_decoder);
-#endif //CONFIG_SNOW_DECODER
-#ifdef CONFIG_CYUV_DECODER
- register_avcodec(&cyuv_decoder);
-#endif //CONFIG_CYUV_DECODER
-#ifdef CONFIG_H264_DECODER
- register_avcodec(&h264_decoder);
-#endif //CONFIG_H264_DECODER
-#ifdef CONFIG_VP3_DECODER
- register_avcodec(&vp3_decoder);
-#endif //CONFIG_VP3_DECODER
-#if (defined CONFIG_THEORA_DECODER && !defined CONFIG_LIBTHEORA)
- register_avcodec(&theora_decoder);
-#endif //CONFIG_THEORA_DECODER
-#ifdef CONFIG_ASV1_DECODER
- register_avcodec(&asv1_decoder);
-#endif //CONFIG_ASV1_DECODER
-#ifdef CONFIG_ASV2_DECODER
- register_avcodec(&asv2_decoder);
-#endif //CONFIG_ASV2_DECODER
-#ifdef CONFIG_VCR1_DECODER
- register_avcodec(&vcr1_decoder);
-#endif //CONFIG_VCR1_DECODER
-#ifdef CONFIG_CLJR_DECODER
- register_avcodec(&cljr_decoder);
-#endif //CONFIG_CLJR_DECODER
-#ifdef CONFIG_FOURXM_DECODER
- register_avcodec(&fourxm_decoder);
-#endif //CONFIG_FOURXM_DECODER
-#ifdef CONFIG_MDEC_DECODER
- register_avcodec(&mdec_decoder);
-#endif //CONFIG_MDEC_DECODER
-#ifdef CONFIG_ROQ_DECODER
- register_avcodec(&roq_decoder);
-#endif //CONFIG_ROQ_DECODER
-#ifdef CONFIG_INTERPLAY_VIDEO_DECODER
- register_avcodec(&interplay_video_decoder);
-#endif //CONFIG_INTERPLAY_VIDEO_DECODER
-#ifdef CONFIG_XAN_WC3_DECODER
- register_avcodec(&xan_wc3_decoder);
-#endif //CONFIG_XAN_WC3_DECODER
-#ifdef CONFIG_RPZA_DECODER
- register_avcodec(&rpza_decoder);
-#endif //CONFIG_RPZA_DECODER
-#ifdef CONFIG_CINEPAK_DECODER
- register_avcodec(&cinepak_decoder);
-#endif //CONFIG_CINEPAK_DECODER
-#ifdef CONFIG_MSRLE_DECODER
- register_avcodec(&msrle_decoder);
-#endif //CONFIG_MSRLE_DECODER
-#ifdef CONFIG_MSVIDEO1_DECODER
- register_avcodec(&msvideo1_decoder);
-#endif //CONFIG_MSVIDEO1_DECODER
-#ifdef CONFIG_VQA_DECODER
- register_avcodec(&vqa_decoder);
-#endif //CONFIG_VQA_DECODER
-#ifdef CONFIG_IDCIN_DECODER
- register_avcodec(&idcin_decoder);
-#endif //CONFIG_IDCIN_DECODER
-#ifdef CONFIG_EIGHTBPS_DECODER
- register_avcodec(&eightbps_decoder);
-#endif //CONFIG_EIGHTBPS_DECODER
-#ifdef CONFIG_SMC_DECODER
- register_avcodec(&smc_decoder);
-#endif //CONFIG_SMC_DECODER
-#ifdef CONFIG_FLIC_DECODER
- register_avcodec(&flic_decoder);
-#endif //CONFIG_FLIC_DECODER
-#ifdef CONFIG_TRUEMOTION1_DECODER
- register_avcodec(&truemotion1_decoder);
-#endif //CONFIG_TRUEMOTION1_DECODER
-#ifdef CONFIG_TRUEMOTION2_DECODER
- register_avcodec(&truemotion2_decoder);
-#endif //CONFIG_TRUEMOTION2_DECODER
-#ifdef CONFIG_VMDVIDEO_DECODER
- register_avcodec(&vmdvideo_decoder);
-#endif //CONFIG_VMDVIDEO_DECODER
-#ifdef CONFIG_VMDAUDIO_DECODER
- register_avcodec(&vmdaudio_decoder);
-#endif //CONFIG_VMDAUDIO_DECODER
-#ifdef CONFIG_MSZH_DECODER
- register_avcodec(&mszh_decoder);
-#endif //CONFIG_MSZH_DECODER
-#ifdef CONFIG_ZLIB_DECODER
- register_avcodec(&zlib_decoder);
-#endif //CONFIG_ZLIB_DECODER
-#ifdef CONFIG_SONIC_DECODER
- register_avcodec(&sonic_decoder);
-#endif //CONFIG_SONIC_DECODER
-#ifdef CONFIG_AC3
-#ifdef CONFIG_AC3_DECODER
- register_avcodec(&ac3_decoder);
-#endif //CONFIG_AC3_DECODER
-#endif
-#ifdef CONFIG_DTS
-#ifdef CONFIG_DTS_DECODER
- register_avcodec(&dts_decoder);
-#endif //CONFIG_DTS_DECODER
-#endif
-#ifdef CONFIG_RA_144_DECODER
- register_avcodec(&ra_144_decoder);
-#endif //CONFIG_RA_144_DECODER
-#ifdef CONFIG_RA_288_DECODER
- register_avcodec(&ra_288_decoder);
-#endif //CONFIG_RA_288_DECODER
-#ifdef CONFIG_ROQ_DPCM_DECODER
- register_avcodec(&roq_dpcm_decoder);
-#endif //CONFIG_ROQ_DPCM_DECODER
-#ifdef CONFIG_INTERPLAY_DPCM_DECODER
- register_avcodec(&interplay_dpcm_decoder);
-#endif //CONFIG_INTERPLAY_DPCM_DECODER
-#ifdef CONFIG_XAN_DPCM_DECODER
- register_avcodec(&xan_dpcm_decoder);
-#endif //CONFIG_XAN_DPCM_DECODER
-#ifdef CONFIG_SOL_DPCM_DECODER
- register_avcodec(&sol_dpcm_decoder);
-#endif //CONFIG_SOL_DPCM_DECODER
-#ifdef CONFIG_QTRLE_DECODER
- register_avcodec(&qtrle_decoder);
-#endif //CONFIG_QTRLE_DECODER
-#ifdef CONFIG_FLAC_DECODER
- register_avcodec(&flac_decoder);
-#endif //CONFIG_FLAC_DECODER
-#ifdef CONFIG_SHORTEN_DECODER
- register_avcodec(&shorten_decoder);
-#endif //CONFIG_SHORTEN_DECODER
-#ifdef CONFIG_ALAC_DECODER
- register_avcodec(&alac_decoder);
-#endif //CONFIG_ALAC_DECODER
-#ifdef CONFIG_WS_SND1_DECODER
- register_avcodec(&ws_snd1_decoder);
-#endif //CONFIG_WS_SND1_DECODER
-#ifdef CONFIG_VORBIS_DECODER
- register_avcodec(&vorbis_decoder);
-#endif
-#ifdef CONFIG_LIBGSM
- register_avcodec(&libgsm_decoder);
-#endif //CONFIG_LIBGSM
-#ifdef CONFIG_QDM2_DECODER
- register_avcodec(&qdm2_decoder);
-#endif //CONFIG_QDM2_DECODER
-#ifdef CONFIG_RAWVIDEO_DECODER
- register_avcodec(&rawvideo_decoder);
-#endif //CONFIG_RAWVIDEO_DECODER
-#endif /* CONFIG_DECODERS */
+ /* video codecs */
+ REGISTER_DECODER(AASC, aasc);
+ REGISTER_ENCDEC (ASV1, asv1);
+ REGISTER_ENCDEC (ASV2, asv2);
+ REGISTER_DECODER(AVS, avs);
+ REGISTER_DECODER(BETHSOFTVID, bethsoftvid);
+ REGISTER_ENCDEC (BMP, bmp);
+ REGISTER_DECODER(C93, c93);
+ REGISTER_DECODER(CAVS, cavs);
+ REGISTER_DECODER(CINEPAK, cinepak);
+ REGISTER_DECODER(CLJR, cljr);
+ REGISTER_DECODER(CSCD, cscd);
+ REGISTER_DECODER(CYUV, cyuv);
+ REGISTER_DECODER(DCA, dca);
+ REGISTER_DECODER(DNXHD, dnxhd);
+ REGISTER_DECODER(DSICINVIDEO, dsicinvideo);
+ REGISTER_ENCDEC (DVVIDEO, dvvideo);
+ REGISTER_DECODER(DXA, dxa);
+ REGISTER_DECODER(EIGHTBPS, eightbps);
+ REGISTER_ENCDEC (FFV1, ffv1);
+ REGISTER_ENCDEC (FFVHUFF, ffvhuff);
+ REGISTER_ENCDEC (FLASHSV, flashsv);
+ REGISTER_DECODER(FLIC, flic);
+ REGISTER_ENCDEC (FLV, flv);
+ REGISTER_DECODER(FOURXM, fourxm);
+ REGISTER_DECODER(FRAPS, fraps);
+ REGISTER_ENCDEC (GIF, gif);
+ REGISTER_ENCDEC (H261, h261);
+ REGISTER_ENCDEC (H263, h263);
+ REGISTER_DECODER(H263I, h263i);
+ REGISTER_ENCODER(H263P, h263p);
+ REGISTER_DECODER(H264, h264);
+ REGISTER_ENCDEC (HUFFYUV, huffyuv);
+ REGISTER_DECODER(IDCIN, idcin);
+ REGISTER_DECODER(INDEO2, indeo2);
+ REGISTER_DECODER(INDEO3, indeo3);
+ REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video);
+ REGISTER_ENCODER(JPEGLS, jpegls);
+ REGISTER_DECODER(KMVC, kmvc);
+ REGISTER_ENCODER(LJPEG, ljpeg);
+ REGISTER_DECODER(LOCO, loco);
+ REGISTER_DECODER(MDEC, mdec);
+ REGISTER_ENCDEC (MJPEG, mjpeg);
+ REGISTER_DECODER(MJPEGB, mjpegb);
+ REGISTER_DECODER(MMVIDEO, mmvideo);
+ REGISTER_DECODER(MPEG_XVMC, mpeg_xvmc);
+ REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video);
+ REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video);
+ REGISTER_ENCDEC (MPEG4, mpeg4);
+ REGISTER_DECODER(MPEGVIDEO, mpegvideo);
+ REGISTER_ENCDEC (MSMPEG4V1, msmpeg4v1);
+ REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2);
+ REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3);
+ REGISTER_DECODER(MSRLE, msrle);
+ REGISTER_DECODER(MSVIDEO1, msvideo1);
+ REGISTER_DECODER(MSZH, mszh);
+ REGISTER_DECODER(NUV, nuv);
+ REGISTER_ENCODER(PAM, pam);
+ REGISTER_ENCODER(PBM, pbm);
+ REGISTER_ENCODER(PGM, pgm);
+ REGISTER_ENCODER(PGMYUV, pgmyuv);
+ REGISTER_ENCDEC (PNG, png);
+ REGISTER_ENCODER(PPM, ppm);
+ REGISTER_DECODER(QDRAW, qdraw);
+ REGISTER_DECODER(QPEG, qpeg);
+ REGISTER_DECODER(QTRLE, qtrle);
+ REGISTER_ENCDEC (RAWVIDEO, rawvideo);
+ REGISTER_DECODER(ROQ, roq);
+ REGISTER_DECODER(RPZA, rpza);
+ REGISTER_ENCDEC (RV10, rv10);
+ REGISTER_ENCDEC (RV20, rv20);
+ REGISTER_ENCDEC (SGI, sgi);
+ REGISTER_DECODER(SMACKER, smacker);
+ REGISTER_DECODER(SMC, smc);
+ REGISTER_ENCDEC (SNOW, snow);
+ REGISTER_DECODER(SP5X, sp5x);
+ REGISTER_ENCDEC (SVQ1, svq1);
+ REGISTER_DECODER(SVQ3, svq3);
+ REGISTER_ENCDEC (TARGA, targa);
+ REGISTER_DECODER(THEORA, theora);
+ REGISTER_DECODER(THP, thp);
+ REGISTER_DECODER(TIERTEXSEQVIDEO, tiertexseqvideo);
+ REGISTER_ENCDEC (TIFF, tiff);
+ REGISTER_DECODER(TRUEMOTION1, truemotion1);
+ REGISTER_DECODER(TRUEMOTION2, truemotion2);
+ REGISTER_DECODER(TSCC, tscc);
+ REGISTER_DECODER(ULTI, ulti);
+ REGISTER_DECODER(VC1, vc1);
+ REGISTER_DECODER(VCR1, vcr1);
+ REGISTER_DECODER(VMDVIDEO, vmdvideo);
+ REGISTER_DECODER(VMNC, vmnc);
+ REGISTER_DECODER(VP3, vp3);
+ REGISTER_DECODER(VP5, vp5);
+ REGISTER_DECODER(VP6, vp6);
+ REGISTER_DECODER(VP6F, vp6f);
+ REGISTER_DECODER(VQA, vqa);
+ REGISTER_ENCDEC (WMV1, wmv1);
+ REGISTER_ENCDEC (WMV2, wmv2);
+ REGISTER_DECODER(WMV3, wmv3);
+ REGISTER_DECODER(WNV1, wnv1);
+ REGISTER_ENCODER(X264, x264);
+ REGISTER_DECODER(XAN_WC3, xan_wc3);
+ REGISTER_DECODER(XL, xl);
+ REGISTER_ENCODER(XVID, xvid);
+ REGISTER_ENCDEC (ZLIB, zlib);
+ REGISTER_ENCDEC (ZMBV, zmbv);
-#ifdef AMR_NB
-#ifdef CONFIG_AMR_NB_DECODER
- register_avcodec(&amr_nb_decoder);
-#endif //CONFIG_AMR_NB_DECODER
-#ifdef CONFIG_ENCODERS
-#ifdef CONFIG_AMR_NB_ENCODER
- register_avcodec(&amr_nb_encoder);
-#endif //CONFIG_AMR_NB_ENCODER
-#endif //CONFIG_ENCODERS
-#endif /* AMR_NB */
-
-#ifdef AMR_WB
-#ifdef CONFIG_AMR_WB_DECODER
- register_avcodec(&amr_wb_decoder);
-#endif //CONFIG_AMR_WB_DECODER
-#ifdef CONFIG_ENCODERS
-#ifdef CONFIG_AMR_WB_ENCODER
- register_avcodec(&amr_wb_encoder);
-#endif //CONFIG_AMR_WB_ENCODER
-#endif //CONFIG_ENCODERS
-#endif /* AMR_WB */
-
-#ifdef CONFIG_BMP_DECODER
- register_avcodec(&bmp_decoder);
-#endif
+ /* audio codecs */
+ REGISTER_DECODER(AAC, aac);
+ REGISTER_DECODER(MPEG4AAC, mpeg4aac);
+ REGISTER_ENCODER(AC3, ac3);
+ REGISTER_DECODER(ALAC, alac);
+ REGISTER_ENCDEC (AMR_NB, amr_nb);
+ REGISTER_ENCDEC (AMR_WB, amr_wb);
+ REGISTER_DECODER(ATRAC3, atrac3);
+ REGISTER_DECODER(COOK, cook);
+ REGISTER_DECODER(DSICINAUDIO, dsicinaudio);
+ REGISTER_DECODER(DTS, dts);
+ REGISTER_ENCODER(FAAC, faac);
+ REGISTER_ENCDEC (FLAC, flac);
+ REGISTER_DECODER(IMC, imc);
+ REGISTER_DECODER(LIBA52, liba52);
+ REGISTER_ENCDEC (LIBGSM, libgsm);
+ REGISTER_ENCDEC (LIBGSM_MS, libgsm_ms);
+ REGISTER_ENCODER(LIBTHEORA, libtheora);
+ REGISTER_DECODER(MACE3, mace3);
+ REGISTER_DECODER(MACE6, mace6);
+ REGISTER_ENCDEC (MP2, mp2);
+ REGISTER_DECODER(MP3, mp3);
+ REGISTER_DECODER(MP3ADU, mp3adu);
+ REGISTER_ENCODER(MP3LAME, mp3lame);
+ REGISTER_DECODER(MP3ON4, mp3on4);
+ REGISTER_DECODER(MPC7, mpc7);
+ if (!ENABLE_VORBIS_ENCODER) REGISTER_ENCODER(OGGVORBIS, oggvorbis);
+ if (!ENABLE_VORBIS_DECODER) REGISTER_DECODER(OGGVORBIS, oggvorbis);
+ REGISTER_DECODER(QDM2, qdm2);
+ REGISTER_DECODER(RA_144, ra_144);
+ REGISTER_DECODER(RA_288, ra_288);
+ REGISTER_DECODER(SHORTEN, shorten);
+ REGISTER_DECODER(SMACKAUD, smackaud);
+ REGISTER_ENCDEC (SONIC, sonic);
+ REGISTER_ENCODER(SONIC_LS, sonic_ls);
+ REGISTER_DECODER(TRUESPEECH, truespeech);
+ REGISTER_DECODER(TTA, tta);
+ REGISTER_DECODER(VMDAUDIO, vmdaudio);
+ REGISTER_ENCDEC (VORBIS, vorbis);
+ REGISTER_DECODER(WAVPACK, wavpack);
+ REGISTER_ENCDEC(WMAV1, wmav1);
+ REGISTER_ENCDEC(WMAV2, wmav2);
+ REGISTER_DECODER(WS_SND1, ws_snd1);
/* pcm codecs */
-#if defined (CONFIG_ENCODERS) && defined (CONFIG_DECODERS)
- #define PCM_CODEC(id, name) \
- register_avcodec(& name ## _encoder); \
- register_avcodec(& name ## _decoder);
-#elif defined (CONFIG_ENCODERS)
- #define PCM_CODEC(id, name) \
- register_avcodec(& name ## _encoder);
-#elif defined (CONFIG_DECODERS)
- #define PCM_CODEC(id, name) \
- register_avcodec(& name ## _decoder);
-#endif
+ REGISTER_ENCDEC (PCM_ALAW, pcm_alaw);
+ REGISTER_ENCDEC (PCM_MULAW, pcm_mulaw);
+ REGISTER_ENCDEC (PCM_S8, pcm_s8);
+ REGISTER_ENCDEC (PCM_S16BE, pcm_s16be);
+ REGISTER_ENCDEC (PCM_S16LE, pcm_s16le);
+ REGISTER_ENCDEC (PCM_S24BE, pcm_s24be);
+ REGISTER_ENCDEC (PCM_S24DAUD, pcm_s24daud);
+ REGISTER_ENCDEC (PCM_S24LE, pcm_s24le);
+ REGISTER_ENCDEC (PCM_S32BE, pcm_s32be);
+ REGISTER_ENCDEC (PCM_S32LE, pcm_s32le);
+ REGISTER_ENCDEC (PCM_U8, pcm_u8);
+ REGISTER_ENCDEC (PCM_U16BE, pcm_u16be);
+ REGISTER_ENCDEC (PCM_U16LE, pcm_u16le);
+ REGISTER_ENCDEC (PCM_U24BE, pcm_u24be);
+ REGISTER_ENCDEC (PCM_U24LE, pcm_u24le);
+ REGISTER_ENCDEC (PCM_U32BE, pcm_u32be);
+ REGISTER_ENCDEC (PCM_U32LE, pcm_u32le);
-PCM_CODEC(CODEC_ID_PCM_S32LE, pcm_s32le);
-PCM_CODEC(CODEC_ID_PCM_S32BE, pcm_s32be);
-PCM_CODEC(CODEC_ID_PCM_U32LE, pcm_u32le);
-PCM_CODEC(CODEC_ID_PCM_U32BE, pcm_u32be);
-PCM_CODEC(CODEC_ID_PCM_S24LE, pcm_s24le);
-PCM_CODEC(CODEC_ID_PCM_S24BE, pcm_s24be);
-PCM_CODEC(CODEC_ID_PCM_U24LE, pcm_u24le);
-PCM_CODEC(CODEC_ID_PCM_U24BE, pcm_u24be);
-PCM_CODEC(CODEC_ID_PCM_S24DAUD, pcm_s24daud);
-PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le);
-PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be);
-PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le);
-PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be);
-PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8);
-PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8);
-PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw);
-PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw);
+ /* dpcm codecs */
+ REGISTER_DECODER(INTERPLAY_DPCM, interplay_dpcm);
+ REGISTER_DECODER(ROQ_DPCM, roq_dpcm);
+ REGISTER_DECODER(SOL_DPCM, sol_dpcm);
+ REGISTER_DECODER(XAN_DPCM, xan_dpcm);
/* adpcm codecs */
-PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
-PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
-PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);
-PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa);
-PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx);
-PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea);
-PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726);
-PCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct);
-PCM_CODEC(CODEC_ID_ADPCM_SWF, adpcm_swf);
-PCM_CODEC(CODEC_ID_ADPCM_YAMAHA, adpcm_yamaha);
-#undef PCM_CODEC
+ REGISTER_ENCDEC (ADPCM_4XM, adpcm_4xm);
+ REGISTER_ENCDEC (ADPCM_ADX, adpcm_adx);
+ REGISTER_ENCDEC (ADPCM_CT, adpcm_ct);
+ REGISTER_ENCDEC (ADPCM_EA, adpcm_ea);
+ REGISTER_ENCDEC (ADPCM_G726, adpcm_g726);
+ REGISTER_ENCDEC (ADPCM_IMA_DK3, adpcm_ima_dk3);
+ REGISTER_ENCDEC (ADPCM_IMA_DK4, adpcm_ima_dk4);
+ REGISTER_ENCDEC (ADPCM_IMA_QT, adpcm_ima_qt);
+ REGISTER_ENCDEC (ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
+ REGISTER_ENCDEC (ADPCM_IMA_WAV, adpcm_ima_wav);
+ REGISTER_ENCDEC (ADPCM_IMA_WS, adpcm_ima_ws);
+ REGISTER_ENCDEC (ADPCM_MS, adpcm_ms);
+ REGISTER_ENCDEC (ADPCM_SBPRO_2, adpcm_sbpro_2);
+ REGISTER_ENCDEC (ADPCM_SBPRO_3, adpcm_sbpro_3);
+ REGISTER_ENCDEC (ADPCM_SBPRO_4, adpcm_sbpro_4);
+ REGISTER_ENCDEC (ADPCM_SWF, adpcm_swf);
+ REGISTER_DECODER(ADPCM_THP, adpcm_thp);
+ REGISTER_ENCDEC (ADPCM_XA, adpcm_xa);
+ REGISTER_ENCDEC (ADPCM_YAMAHA, adpcm_yamaha);
/* subtitles */
-#ifdef CONFIG_DVDSUB_DECODER
- register_avcodec(&dvdsub_decoder);
-#endif
-#ifdef CONFIG_DVDSUB_ENCODER
- register_avcodec(&dvdsub_encoder);
-#endif
-
-#ifdef CONFIG_DVBSUB_DECODER
- register_avcodec(&dvbsub_decoder);
-#endif
-#ifdef CONFIG_DVBSUB_ENCODER
- register_avcodec(&dvbsub_encoder);
-#endif
-
- /* parsers */
- av_register_codec_parser(&mpegvideo_parser);
- av_register_codec_parser(&mpeg4video_parser);
-#if defined(CONFIG_H261_DECODER) || defined(CONFIG_H261_ENCODER)
- av_register_codec_parser(&h261_parser);
-#endif
- av_register_codec_parser(&h263_parser);
-#ifdef CONFIG_H264_DECODER
- av_register_codec_parser(&h264_parser);
-#endif
- av_register_codec_parser(&mjpeg_parser);
- av_register_codec_parser(&pnm_parser);
+ REGISTER_ENCDEC (DVBSUB, dvbsub);
+ REGISTER_ENCDEC (DVDSUB, dvdsub);
- av_register_codec_parser(&mpegaudio_parser);
-#ifdef CONFIG_AC3
- av_register_codec_parser(&ac3_parser);
-#endif
+ /* parsers */
+ REGISTER_PARSER (AAC, aac);
+ REGISTER_PARSER (AC3, ac3);
+ REGISTER_PARSER (CAVSVIDEO, cavsvideo);
+ REGISTER_PARSER (DCA, dca);
+ REGISTER_PARSER (DVBSUB, dvbsub);
+ REGISTER_PARSER (DVDSUB, dvdsub);
+ REGISTER_PARSER (H261, h261);
+ REGISTER_PARSER (H263, h263);
+ REGISTER_PARSER (H264, h264);
+ REGISTER_PARSER (MJPEG, mjpeg);
+ REGISTER_PARSER (MPEG4VIDEO, mpeg4video);
+ REGISTER_PARSER (MPEGAUDIO, mpegaudio);
+ REGISTER_PARSER (MPEGVIDEO, mpegvideo);
+ REGISTER_PARSER (PNM, pnm);
+ REGISTER_PARSER (VC1, vc1);
-#ifdef CONFIG_DVDSUB_DECODER
- av_register_codec_parser(&dvdsub_parser);
-#endif
-#ifdef CONFIG_DVBSUB_DECODER
- av_register_codec_parser(&dvbsub_parser);
-#endif
+ av_register_bitstream_filter(&dump_extradata_bsf);
+ av_register_bitstream_filter(&remove_extradata_bsf);
+ av_register_bitstream_filter(&noise_bsf);
+ av_register_bitstream_filter(&mp3_header_compress_bsf);
+ av_register_bitstream_filter(&mp3_header_decompress_bsf);
+ av_register_bitstream_filter(&mjpega_dump_header_bsf);
+ av_register_bitstream_filter(&imx_dump_header_bsf);
}