yading@10: /* yading@10: * Provide registration of all codecs, parsers and bitstream filters for libavcodec. yading@10: * Copyright (c) 2002 Fabrice Bellard yading@10: * yading@10: * This file is part of FFmpeg. yading@10: * yading@10: * FFmpeg is free software; you can redistribute it and/or yading@10: * modify it under the terms of the GNU Lesser General Public yading@10: * License as published by the Free Software Foundation; either yading@10: * version 2.1 of the License, or (at your option) any later version. yading@10: * yading@10: * FFmpeg is distributed in the hope that it will be useful, yading@10: * but WITHOUT ANY WARRANTY; without even the implied warranty of yading@10: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU yading@10: * Lesser General Public License for more details. yading@10: * yading@10: * You should have received a copy of the GNU Lesser General Public yading@10: * License along with FFmpeg; if not, write to the Free Software yading@10: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA yading@10: */ yading@10: yading@10: /** yading@10: * @file yading@10: * Provide registration of all codecs, parsers and bitstream filters for libavcodec. yading@10: */ yading@10: yading@10: #include "avcodec.h" yading@10: #include "config.h" yading@10: yading@10: #define REGISTER_HWACCEL(X, x) \ yading@10: { \ yading@10: extern AVHWAccel ff_##x##_hwaccel; \ yading@10: if (CONFIG_##X##_HWACCEL) \ yading@10: av_register_hwaccel(&ff_##x##_hwaccel); \ yading@10: } yading@10: yading@10: #define REGISTER_ENCODER(X, x) \ yading@10: { \ yading@10: extern AVCodec ff_##x##_encoder; \ yading@10: if (CONFIG_##X##_ENCODER) \ yading@10: avcodec_register(&ff_##x##_encoder); \ yading@10: } yading@10: yading@10: #define REGISTER_DECODER(X, x) \ yading@10: { \ yading@10: extern AVCodec ff_##x##_decoder; \ yading@10: if (CONFIG_##X##_DECODER) \ yading@10: avcodec_register(&ff_##x##_decoder); \ yading@10: } yading@10: yading@10: #define REGISTER_ENCDEC(X, x) REGISTER_ENCODER(X, x); REGISTER_DECODER(X, x) yading@10: yading@10: #define REGISTER_PARSER(X, x) \ yading@10: { \ yading@10: extern AVCodecParser ff_##x##_parser; \ yading@10: if (CONFIG_##X##_PARSER) \ yading@10: av_register_codec_parser(&ff_##x##_parser); \ yading@10: } yading@10: yading@10: #define REGISTER_BSF(X, x) \ yading@10: { \ yading@10: extern AVBitStreamFilter ff_##x##_bsf; \ yading@10: if (CONFIG_##X##_BSF) \ yading@10: av_register_bitstream_filter(&ff_##x##_bsf); \ yading@10: } yading@10: yading@10: void avcodec_register_all(void) yading@10: { yading@10: static int initialized; yading@10: yading@10: if (initialized) yading@10: return; yading@10: initialized = 1; yading@10: yading@10: /* hardware accelerators */ yading@10: REGISTER_HWACCEL(H263_VAAPI, h263_vaapi); yading@10: REGISTER_HWACCEL(H263_VDPAU, h263_vdpau); yading@10: REGISTER_HWACCEL(H264_DXVA2, h264_dxva2); yading@10: REGISTER_HWACCEL(H264_VAAPI, h264_vaapi); yading@10: REGISTER_HWACCEL(H264_VDA, h264_vda); yading@10: REGISTER_HWACCEL(H264_VDPAU, h264_vdpau); yading@10: REGISTER_HWACCEL(MPEG1_VDPAU, mpeg1_vdpau); yading@10: REGISTER_HWACCEL(MPEG2_DXVA2, mpeg2_dxva2); yading@10: REGISTER_HWACCEL(MPEG2_VAAPI, mpeg2_vaapi); yading@10: REGISTER_HWACCEL(MPEG2_VDPAU, mpeg2_vdpau); yading@10: REGISTER_HWACCEL(MPEG4_VAAPI, mpeg4_vaapi); yading@10: REGISTER_HWACCEL(MPEG4_VDPAU, mpeg4_vdpau); yading@10: REGISTER_HWACCEL(VC1_DXVA2, vc1_dxva2); yading@10: REGISTER_HWACCEL(VC1_VAAPI, vc1_vaapi); yading@10: REGISTER_HWACCEL(VC1_VDPAU, vc1_vdpau); yading@10: REGISTER_HWACCEL(WMV3_DXVA2, wmv3_dxva2); yading@10: REGISTER_HWACCEL(WMV3_VAAPI, wmv3_vaapi); yading@10: REGISTER_HWACCEL(WMV3_VDPAU, wmv3_vdpau); yading@10: yading@10: /* video codecs */ yading@10: REGISTER_ENCODER(A64MULTI, a64multi); yading@10: REGISTER_ENCODER(A64MULTI5, a64multi5); yading@10: REGISTER_DECODER(AASC, aasc); yading@10: REGISTER_ENCDEC (AMV, amv); yading@10: REGISTER_DECODER(ANM, anm); yading@10: REGISTER_DECODER(ANSI, ansi); yading@10: REGISTER_ENCDEC (ASV1, asv1); yading@10: REGISTER_ENCDEC (ASV2, asv2); yading@10: REGISTER_DECODER(AURA, aura); yading@10: REGISTER_DECODER(AURA2, aura2); yading@10: REGISTER_ENCDEC (AVRP, avrp); yading@10: REGISTER_DECODER(AVRN, avrn); yading@10: REGISTER_DECODER(AVS, avs); yading@10: REGISTER_ENCDEC (AVUI, avui); yading@10: REGISTER_ENCDEC (AYUV, ayuv); yading@10: REGISTER_DECODER(BETHSOFTVID, bethsoftvid); yading@10: REGISTER_DECODER(BFI, bfi); yading@10: REGISTER_DECODER(BINK, bink); yading@10: REGISTER_ENCDEC (BMP, bmp); yading@10: REGISTER_DECODER(BMV_VIDEO, bmv_video); yading@10: REGISTER_DECODER(BRENDER_PIX, brender_pix); yading@10: REGISTER_DECODER(C93, c93); yading@10: REGISTER_DECODER(CAVS, cavs); yading@10: REGISTER_DECODER(CDGRAPHICS, cdgraphics); yading@10: REGISTER_DECODER(CDXL, cdxl); yading@10: REGISTER_DECODER(CINEPAK, cinepak); yading@10: REGISTER_ENCDEC (CLJR, cljr); yading@10: REGISTER_DECODER(CLLC, cllc); yading@10: REGISTER_ENCDEC (COMFORTNOISE, comfortnoise); yading@10: REGISTER_DECODER(CPIA, cpia); yading@10: REGISTER_DECODER(CSCD, cscd); yading@10: REGISTER_DECODER(CYUV, cyuv); yading@10: REGISTER_DECODER(DFA, dfa); yading@10: REGISTER_DECODER(DIRAC, dirac); yading@10: REGISTER_ENCDEC (DNXHD, dnxhd); yading@10: REGISTER_ENCDEC (DPX, dpx); yading@10: REGISTER_DECODER(DSICINVIDEO, dsicinvideo); yading@10: REGISTER_ENCDEC (DVVIDEO, dvvideo); yading@10: REGISTER_DECODER(DXA, dxa); yading@10: REGISTER_DECODER(DXTORY, dxtory); yading@10: REGISTER_DECODER(EACMV, eacmv); yading@10: REGISTER_DECODER(EAMAD, eamad); yading@10: REGISTER_DECODER(EATGQ, eatgq); yading@10: REGISTER_DECODER(EATGV, eatgv); yading@10: REGISTER_DECODER(EATQI, eatqi); yading@10: REGISTER_DECODER(EIGHTBPS, eightbps); yading@10: REGISTER_DECODER(EIGHTSVX_EXP, eightsvx_exp); yading@10: REGISTER_DECODER(EIGHTSVX_FIB, eightsvx_fib); yading@10: REGISTER_DECODER(ESCAPE124, escape124); yading@10: REGISTER_DECODER(ESCAPE130, escape130); yading@10: REGISTER_DECODER(EXR, exr); yading@10: REGISTER_ENCDEC (FFV1, ffv1); yading@10: REGISTER_ENCDEC (FFVHUFF, ffvhuff); yading@10: REGISTER_ENCDEC (FLASHSV, flashsv); yading@10: REGISTER_ENCDEC (FLASHSV2, flashsv2); yading@10: REGISTER_DECODER(FLIC, flic); yading@10: REGISTER_ENCDEC (FLV, flv); yading@10: REGISTER_DECODER(FOURXM, fourxm); yading@10: REGISTER_DECODER(FRAPS, fraps); yading@10: REGISTER_DECODER(FRWU, frwu); yading@10: REGISTER_ENCDEC (GIF, gif); yading@10: REGISTER_ENCDEC (H261, h261); yading@10: REGISTER_ENCDEC (H263, h263); yading@10: REGISTER_DECODER(H263I, h263i); yading@10: REGISTER_ENCDEC (H263P, h263p); yading@10: REGISTER_DECODER(H264, h264); yading@10: REGISTER_DECODER(H264_CRYSTALHD, h264_crystalhd); yading@10: REGISTER_DECODER(H264_VDA, h264_vda); yading@10: REGISTER_DECODER(H264_VDPAU, h264_vdpau); yading@10: REGISTER_ENCDEC (HUFFYUV, huffyuv); yading@10: REGISTER_DECODER(IDCIN, idcin); yading@10: REGISTER_DECODER(IFF_BYTERUN1, iff_byterun1); yading@10: REGISTER_DECODER(IFF_ILBM, iff_ilbm); yading@10: REGISTER_DECODER(INDEO2, indeo2); yading@10: REGISTER_DECODER(INDEO3, indeo3); yading@10: REGISTER_DECODER(INDEO4, indeo4); yading@10: REGISTER_DECODER(INDEO5, indeo5); yading@10: REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video); yading@10: REGISTER_ENCDEC (JPEG2000, jpeg2000); yading@10: REGISTER_ENCDEC (JPEGLS, jpegls); yading@10: REGISTER_DECODER(JV, jv); yading@10: REGISTER_DECODER(KGV1, kgv1); yading@10: REGISTER_DECODER(KMVC, kmvc); yading@10: REGISTER_DECODER(LAGARITH, lagarith); yading@10: REGISTER_ENCODER(LJPEG, ljpeg); yading@10: REGISTER_DECODER(LOCO, loco); yading@10: REGISTER_DECODER(MDEC, mdec); yading@10: REGISTER_DECODER(MIMIC, mimic); yading@10: REGISTER_ENCDEC (MJPEG, mjpeg); yading@10: REGISTER_DECODER(MJPEGB, mjpegb); yading@10: REGISTER_DECODER(MMVIDEO, mmvideo); yading@10: REGISTER_DECODER(MOTIONPIXELS, motionpixels); yading@10: REGISTER_DECODER(MPEG_XVMC, mpeg_xvmc); yading@10: REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video); yading@10: REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video); yading@10: REGISTER_ENCDEC (MPEG4, mpeg4); yading@10: REGISTER_DECODER(MPEG4_CRYSTALHD, mpeg4_crystalhd); yading@10: REGISTER_DECODER(MPEG4_VDPAU, mpeg4_vdpau); yading@10: REGISTER_DECODER(MPEGVIDEO, mpegvideo); yading@10: REGISTER_DECODER(MPEG_VDPAU, mpeg_vdpau); yading@10: REGISTER_DECODER(MPEG1_VDPAU, mpeg1_vdpau); yading@10: REGISTER_DECODER(MPEG2_CRYSTALHD, mpeg2_crystalhd); yading@10: REGISTER_DECODER(MSA1, msa1); yading@10: REGISTER_DECODER(MSMPEG4_CRYSTALHD, msmpeg4_crystalhd); yading@10: REGISTER_DECODER(MSMPEG4V1, msmpeg4v1); yading@10: REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2); yading@10: REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3); yading@10: REGISTER_DECODER(MSRLE, msrle); yading@10: REGISTER_DECODER(MSS1, mss1); yading@10: REGISTER_DECODER(MSS2, mss2); yading@10: REGISTER_ENCDEC (MSVIDEO1, msvideo1); yading@10: REGISTER_DECODER(MSZH, mszh); yading@10: REGISTER_DECODER(MTS2, mts2); yading@10: REGISTER_DECODER(MVC1, mvc1); yading@10: REGISTER_DECODER(MVC2, mvc2); yading@10: REGISTER_DECODER(MXPEG, mxpeg); yading@10: REGISTER_DECODER(NUV, nuv); yading@10: REGISTER_DECODER(PAF_VIDEO, paf_video); yading@10: REGISTER_ENCDEC (PAM, pam); yading@10: REGISTER_ENCDEC (PBM, pbm); yading@10: REGISTER_ENCDEC (PCX, pcx); yading@10: REGISTER_ENCDEC (PGM, pgm); yading@10: REGISTER_ENCDEC (PGMYUV, pgmyuv); yading@10: REGISTER_DECODER(PICTOR, pictor); yading@10: REGISTER_ENCDEC (PNG, png); yading@10: REGISTER_ENCDEC (PPM, ppm); yading@10: REGISTER_ENCDEC (PRORES, prores); yading@10: REGISTER_ENCODER(PRORES_AW, prores_aw); yading@10: REGISTER_ENCODER(PRORES_KS, prores_ks); yading@10: REGISTER_DECODER(PRORES_LGPL, prores_lgpl); yading@10: REGISTER_DECODER(PTX, ptx); yading@10: REGISTER_DECODER(QDRAW, qdraw); yading@10: REGISTER_DECODER(QPEG, qpeg); yading@10: REGISTER_ENCDEC (QTRLE, qtrle); yading@10: REGISTER_ENCDEC (R10K, r10k); yading@10: REGISTER_ENCDEC (R210, r210); yading@10: REGISTER_ENCDEC (RAWVIDEO, rawvideo); yading@10: REGISTER_DECODER(RL2, rl2); yading@10: REGISTER_ENCDEC (ROQ, roq); yading@10: REGISTER_DECODER(RPZA, rpza); yading@10: REGISTER_ENCDEC (RV10, rv10); yading@10: REGISTER_ENCDEC (RV20, rv20); yading@10: REGISTER_DECODER(RV30, rv30); yading@10: REGISTER_DECODER(RV40, rv40); yading@10: REGISTER_DECODER(S302M, s302m); yading@10: REGISTER_DECODER(SANM, sanm); yading@10: REGISTER_ENCDEC (SGI, sgi); yading@10: REGISTER_DECODER(SGIRLE, sgirle); yading@10: REGISTER_DECODER(SMACKER, smacker); yading@10: REGISTER_DECODER(SMC, smc); yading@10: REGISTER_ENCDEC (SNOW, snow); yading@10: REGISTER_DECODER(SP5X, sp5x); yading@10: REGISTER_ENCDEC (SUNRAST, sunrast); yading@10: REGISTER_ENCDEC (SVQ1, svq1); yading@10: REGISTER_DECODER(SVQ3, svq3); yading@10: REGISTER_ENCDEC (TARGA, targa); yading@10: REGISTER_DECODER(TARGA_Y216, targa_y216); yading@10: REGISTER_DECODER(THEORA, theora); yading@10: REGISTER_DECODER(THP, thp); yading@10: REGISTER_DECODER(TIERTEXSEQVIDEO, tiertexseqvideo); yading@10: REGISTER_ENCDEC (TIFF, tiff); yading@10: REGISTER_DECODER(TMV, tmv); yading@10: REGISTER_DECODER(TRUEMOTION1, truemotion1); yading@10: REGISTER_DECODER(TRUEMOTION2, truemotion2); yading@10: REGISTER_DECODER(TSCC, tscc); yading@10: REGISTER_DECODER(TSCC2, tscc2); yading@10: REGISTER_DECODER(TXD, txd); yading@10: REGISTER_DECODER(ULTI, ulti); yading@10: REGISTER_ENCDEC (UTVIDEO, utvideo); yading@10: REGISTER_ENCDEC (V210, v210); yading@10: REGISTER_DECODER(V210X, v210x); yading@10: REGISTER_ENCDEC (V308, v308); yading@10: REGISTER_ENCDEC (V408, v408); yading@10: REGISTER_ENCDEC (V410, v410); yading@10: REGISTER_DECODER(VB, vb); yading@10: REGISTER_DECODER(VBLE, vble); yading@10: REGISTER_DECODER(VC1, vc1); yading@10: REGISTER_DECODER(VC1_CRYSTALHD, vc1_crystalhd); yading@10: REGISTER_DECODER(VC1_VDPAU, vc1_vdpau); yading@10: REGISTER_DECODER(VC1IMAGE, vc1image); yading@10: REGISTER_DECODER(VCR1, vcr1); yading@10: REGISTER_DECODER(VMDVIDEO, vmdvideo); yading@10: REGISTER_DECODER(VMNC, vmnc); yading@10: REGISTER_DECODER(VP3, vp3); yading@10: REGISTER_DECODER(VP5, vp5); yading@10: REGISTER_DECODER(VP6, vp6); yading@10: REGISTER_DECODER(VP6A, vp6a); yading@10: REGISTER_DECODER(VP6F, vp6f); yading@10: REGISTER_DECODER(VP8, vp8); yading@10: REGISTER_DECODER(VQA, vqa); yading@10: REGISTER_DECODER(WEBP, webp); yading@10: REGISTER_ENCDEC (WMV1, wmv1); yading@10: REGISTER_ENCDEC (WMV2, wmv2); yading@10: REGISTER_DECODER(WMV3, wmv3); yading@10: REGISTER_DECODER(WMV3_CRYSTALHD, wmv3_crystalhd); yading@10: REGISTER_DECODER(WMV3_VDPAU, wmv3_vdpau); yading@10: REGISTER_DECODER(WMV3IMAGE, wmv3image); yading@10: REGISTER_DECODER(WNV1, wnv1); yading@10: REGISTER_DECODER(XAN_WC3, xan_wc3); yading@10: REGISTER_DECODER(XAN_WC4, xan_wc4); yading@10: REGISTER_ENCDEC (XBM, xbm); yading@10: REGISTER_ENCDEC (XFACE, xface); yading@10: REGISTER_DECODER(XL, xl); yading@10: REGISTER_ENCDEC (XWD, xwd); yading@10: REGISTER_ENCDEC (Y41P, y41p); yading@10: REGISTER_DECODER(YOP, yop); yading@10: REGISTER_ENCDEC (YUV4, yuv4); yading@10: REGISTER_DECODER(ZERO12V, zero12v); yading@10: REGISTER_DECODER(ZEROCODEC, zerocodec); yading@10: REGISTER_ENCDEC (ZLIB, zlib); yading@10: REGISTER_ENCDEC (ZMBV, zmbv); yading@10: yading@10: /* audio codecs */ yading@10: REGISTER_ENCDEC (AAC, aac); yading@10: REGISTER_DECODER(AAC_LATM, aac_latm); yading@10: REGISTER_ENCDEC (AC3, ac3); yading@10: REGISTER_ENCODER(AC3_FIXED, ac3_fixed); yading@10: REGISTER_ENCDEC (ALAC, alac); yading@10: REGISTER_DECODER(ALS, als); yading@10: REGISTER_DECODER(AMRNB, amrnb); yading@10: REGISTER_DECODER(AMRWB, amrwb); yading@10: REGISTER_DECODER(APE, ape); yading@10: REGISTER_DECODER(ATRAC1, atrac1); yading@10: REGISTER_DECODER(ATRAC3, atrac3); yading@10: REGISTER_DECODER(BINKAUDIO_DCT, binkaudio_dct); yading@10: REGISTER_DECODER(BINKAUDIO_RDFT, binkaudio_rdft); yading@10: REGISTER_DECODER(BMV_AUDIO, bmv_audio); yading@10: REGISTER_DECODER(COOK, cook); yading@10: REGISTER_ENCDEC (DCA, dca); yading@10: REGISTER_DECODER(DSICINAUDIO, dsicinaudio); yading@10: REGISTER_ENCDEC (EAC3, eac3); yading@10: REGISTER_DECODER(EVRC, evrc); yading@10: REGISTER_DECODER(FFWAVESYNTH, ffwavesynth); yading@10: REGISTER_ENCDEC (FLAC, flac); yading@10: REGISTER_ENCDEC (G723_1, g723_1); yading@10: REGISTER_DECODER(G729, g729); yading@10: REGISTER_DECODER(GSM, gsm); yading@10: REGISTER_DECODER(GSM_MS, gsm_ms); yading@10: REGISTER_DECODER(IAC, iac); yading@10: REGISTER_DECODER(IMC, imc); yading@10: REGISTER_DECODER(MACE3, mace3); yading@10: REGISTER_DECODER(MACE6, mace6); yading@10: REGISTER_DECODER(MLP, mlp); yading@10: REGISTER_DECODER(MP1, mp1); yading@10: REGISTER_DECODER(MP1FLOAT, mp1float); yading@10: REGISTER_ENCDEC (MP2, mp2); yading@10: REGISTER_DECODER(MP2FLOAT, mp2float); yading@10: REGISTER_DECODER(MP3, mp3); yading@10: REGISTER_DECODER(MP3FLOAT, mp3float); yading@10: REGISTER_DECODER(MP3ADU, mp3adu); yading@10: REGISTER_DECODER(MP3ADUFLOAT, mp3adufloat); yading@10: REGISTER_DECODER(MP3ON4, mp3on4); yading@10: REGISTER_DECODER(MP3ON4FLOAT, mp3on4float); yading@10: REGISTER_DECODER(MPC7, mpc7); yading@10: REGISTER_DECODER(MPC8, mpc8); yading@10: REGISTER_ENCDEC (NELLYMOSER, nellymoser); yading@10: REGISTER_DECODER(PAF_AUDIO, paf_audio); yading@10: REGISTER_DECODER(QCELP, qcelp); yading@10: REGISTER_DECODER(QDM2, qdm2); yading@10: REGISTER_ENCDEC (RA_144, ra_144); yading@10: REGISTER_DECODER(RA_288, ra_288); yading@10: REGISTER_DECODER(RALF, ralf); yading@10: REGISTER_DECODER(SHORTEN, shorten); yading@10: REGISTER_DECODER(SIPR, sipr); yading@10: REGISTER_DECODER(SMACKAUD, smackaud); yading@10: REGISTER_ENCDEC (SONIC, sonic); yading@10: REGISTER_ENCODER(SONIC_LS, sonic_ls); yading@10: REGISTER_DECODER(TAK, tak); yading@10: REGISTER_DECODER(TRUEHD, truehd); yading@10: REGISTER_DECODER(TRUESPEECH, truespeech); yading@10: REGISTER_DECODER(TTA, tta); yading@10: REGISTER_DECODER(TWINVQ, twinvq); yading@10: REGISTER_DECODER(VMDAUDIO, vmdaudio); yading@10: REGISTER_ENCDEC (VORBIS, vorbis); yading@10: REGISTER_DECODER(WAVPACK, wavpack); yading@10: REGISTER_DECODER(WMALOSSLESS, wmalossless); yading@10: REGISTER_DECODER(WMAPRO, wmapro); yading@10: REGISTER_ENCDEC (WMAV1, wmav1); yading@10: REGISTER_ENCDEC (WMAV2, wmav2); yading@10: REGISTER_DECODER(WMAVOICE, wmavoice); yading@10: REGISTER_DECODER(WS_SND1, ws_snd1); yading@10: yading@10: /* PCM codecs */ yading@10: REGISTER_ENCDEC (PCM_ALAW, pcm_alaw); yading@10: REGISTER_DECODER(PCM_BLURAY, pcm_bluray); yading@10: REGISTER_DECODER(PCM_DVD, pcm_dvd); yading@10: REGISTER_ENCDEC (PCM_F32BE, pcm_f32be); yading@10: REGISTER_ENCDEC (PCM_F32LE, pcm_f32le); yading@10: REGISTER_ENCDEC (PCM_F64BE, pcm_f64be); yading@10: REGISTER_ENCDEC (PCM_F64LE, pcm_f64le); yading@10: REGISTER_DECODER(PCM_LXF, pcm_lxf); yading@10: REGISTER_ENCDEC (PCM_MULAW, pcm_mulaw); yading@10: REGISTER_ENCDEC (PCM_S8, pcm_s8); yading@10: REGISTER_ENCDEC (PCM_S8_PLANAR, pcm_s8_planar); yading@10: REGISTER_ENCDEC (PCM_S16BE, pcm_s16be); yading@10: REGISTER_ENCDEC (PCM_S16BE_PLANAR, pcm_s16be_planar); yading@10: REGISTER_ENCDEC (PCM_S16LE, pcm_s16le); yading@10: REGISTER_ENCDEC (PCM_S16LE_PLANAR, pcm_s16le_planar); yading@10: REGISTER_ENCDEC (PCM_S24BE, pcm_s24be); yading@10: REGISTER_ENCDEC (PCM_S24DAUD, pcm_s24daud); yading@10: REGISTER_ENCDEC (PCM_S24LE, pcm_s24le); yading@10: REGISTER_ENCDEC (PCM_S24LE_PLANAR, pcm_s24le_planar); yading@10: REGISTER_ENCDEC (PCM_S32BE, pcm_s32be); yading@10: REGISTER_ENCDEC (PCM_S32LE, pcm_s32le); yading@10: REGISTER_ENCDEC (PCM_S32LE_PLANAR, pcm_s32le_planar); yading@10: REGISTER_ENCDEC (PCM_U8, pcm_u8); yading@10: REGISTER_ENCDEC (PCM_U16BE, pcm_u16be); yading@10: REGISTER_ENCDEC (PCM_U16LE, pcm_u16le); yading@10: REGISTER_ENCDEC (PCM_U24BE, pcm_u24be); yading@10: REGISTER_ENCDEC (PCM_U24LE, pcm_u24le); yading@10: REGISTER_ENCDEC (PCM_U32BE, pcm_u32be); yading@10: REGISTER_ENCDEC (PCM_U32LE, pcm_u32le); yading@10: REGISTER_DECODER(PCM_ZORK, pcm_zork); yading@10: yading@10: /* DPCM codecs */ yading@10: REGISTER_DECODER(INTERPLAY_DPCM, interplay_dpcm); yading@10: REGISTER_ENCDEC (ROQ_DPCM, roq_dpcm); yading@10: REGISTER_DECODER(SOL_DPCM, sol_dpcm); yading@10: REGISTER_DECODER(XAN_DPCM, xan_dpcm); yading@10: yading@10: /* ADPCM codecs */ yading@10: REGISTER_DECODER(ADPCM_4XM, adpcm_4xm); yading@10: REGISTER_ENCDEC (ADPCM_ADX, adpcm_adx); yading@10: REGISTER_DECODER(ADPCM_AFC, adpcm_afc); yading@10: REGISTER_DECODER(ADPCM_CT, adpcm_ct); yading@10: REGISTER_DECODER(ADPCM_EA, adpcm_ea); yading@10: REGISTER_DECODER(ADPCM_EA_MAXIS_XA, adpcm_ea_maxis_xa); yading@10: REGISTER_DECODER(ADPCM_EA_R1, adpcm_ea_r1); yading@10: REGISTER_DECODER(ADPCM_EA_R2, adpcm_ea_r2); yading@10: REGISTER_DECODER(ADPCM_EA_R3, adpcm_ea_r3); yading@10: REGISTER_DECODER(ADPCM_EA_XAS, adpcm_ea_xas); yading@10: REGISTER_ENCDEC (ADPCM_G722, adpcm_g722); yading@10: REGISTER_ENCDEC (ADPCM_G726, adpcm_g726); yading@10: REGISTER_DECODER(ADPCM_IMA_AMV, adpcm_ima_amv); yading@10: REGISTER_DECODER(ADPCM_IMA_APC, adpcm_ima_apc); yading@10: REGISTER_DECODER(ADPCM_IMA_DK3, adpcm_ima_dk3); yading@10: REGISTER_DECODER(ADPCM_IMA_DK4, adpcm_ima_dk4); yading@10: REGISTER_DECODER(ADPCM_IMA_EA_EACS, adpcm_ima_ea_eacs); yading@10: REGISTER_DECODER(ADPCM_IMA_EA_SEAD, adpcm_ima_ea_sead); yading@10: REGISTER_DECODER(ADPCM_IMA_ISS, adpcm_ima_iss); yading@10: REGISTER_DECODER(ADPCM_IMA_OKI, adpcm_ima_oki); yading@10: REGISTER_ENCDEC (ADPCM_IMA_QT, adpcm_ima_qt); yading@10: REGISTER_DECODER(ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg); yading@10: REGISTER_ENCDEC (ADPCM_IMA_WAV, adpcm_ima_wav); yading@10: REGISTER_DECODER(ADPCM_IMA_WS, adpcm_ima_ws); yading@10: REGISTER_ENCDEC (ADPCM_MS, adpcm_ms); yading@10: REGISTER_DECODER(ADPCM_SBPRO_2, adpcm_sbpro_2); yading@10: REGISTER_DECODER(ADPCM_SBPRO_3, adpcm_sbpro_3); yading@10: REGISTER_DECODER(ADPCM_SBPRO_4, adpcm_sbpro_4); yading@10: REGISTER_ENCDEC (ADPCM_SWF, adpcm_swf); yading@10: REGISTER_DECODER(ADPCM_THP, adpcm_thp); yading@10: REGISTER_DECODER(ADPCM_XA, adpcm_xa); yading@10: REGISTER_ENCDEC (ADPCM_YAMAHA, adpcm_yamaha); yading@10: REGISTER_DECODER(VIMA, vima); yading@10: yading@10: /* subtitles */ yading@10: REGISTER_ENCDEC (SSA, ssa); yading@10: REGISTER_ENCDEC (ASS, ass); yading@10: REGISTER_ENCDEC (DVBSUB, dvbsub); yading@10: REGISTER_ENCDEC (DVDSUB, dvdsub); yading@10: REGISTER_DECODER(JACOSUB, jacosub); yading@10: REGISTER_DECODER(MICRODVD, microdvd); yading@10: REGISTER_ENCDEC (MOVTEXT, movtext); yading@10: REGISTER_DECODER(MPL2, mpl2); yading@10: REGISTER_DECODER(PGSSUB, pgssub); yading@10: REGISTER_DECODER(PJS, pjs); yading@10: REGISTER_DECODER(REALTEXT, realtext); yading@10: REGISTER_DECODER(SAMI, sami); yading@10: REGISTER_ENCDEC (SRT, srt); yading@10: REGISTER_ENCDEC (SUBRIP, subrip); yading@10: REGISTER_DECODER(SUBVIEWER, subviewer); yading@10: REGISTER_DECODER(SUBVIEWER1, subviewer1); yading@10: REGISTER_DECODER(TEXT, text); yading@10: REGISTER_DECODER(VPLAYER, vplayer); yading@10: REGISTER_DECODER(WEBVTT, webvtt); yading@10: REGISTER_ENCDEC (XSUB, xsub); yading@10: yading@10: /* external libraries */ yading@10: REGISTER_DECODER(LIBCELT, libcelt); yading@10: REGISTER_ENCODER(LIBFAAC, libfaac); yading@10: REGISTER_ENCODER(LIBFDK_AAC, libfdk_aac); yading@10: REGISTER_ENCDEC (LIBGSM, libgsm); yading@10: REGISTER_ENCDEC (LIBGSM_MS, libgsm_ms); yading@10: REGISTER_ENCDEC (LIBILBC, libilbc); yading@10: REGISTER_ENCODER(LIBMP3LAME, libmp3lame); yading@10: REGISTER_ENCDEC (LIBOPENCORE_AMRNB, libopencore_amrnb); yading@10: REGISTER_DECODER(LIBOPENCORE_AMRWB, libopencore_amrwb); yading@10: REGISTER_ENCDEC (LIBOPENJPEG, libopenjpeg); yading@10: REGISTER_ENCDEC (LIBOPUS, libopus); yading@10: REGISTER_ENCDEC (LIBSCHROEDINGER, libschroedinger); yading@10: REGISTER_ENCODER(LIBSHINE, libshine); yading@10: REGISTER_ENCDEC (LIBSPEEX, libspeex); yading@10: REGISTER_DECODER(LIBSTAGEFRIGHT_H264, libstagefright_h264); yading@10: REGISTER_ENCODER(LIBTHEORA, libtheora); yading@10: REGISTER_ENCODER(LIBTWOLAME, libtwolame); yading@10: REGISTER_ENCDEC (LIBUTVIDEO, libutvideo); yading@10: REGISTER_ENCODER(LIBVO_AACENC, libvo_aacenc); yading@10: REGISTER_ENCODER(LIBVO_AMRWBENC, libvo_amrwbenc); yading@10: REGISTER_ENCDEC (LIBVORBIS, libvorbis); yading@10: REGISTER_ENCDEC (LIBVPX_VP8, libvpx_vp8); yading@10: REGISTER_ENCDEC (LIBVPX_VP9, libvpx_vp9); yading@10: REGISTER_ENCODER(LIBX264, libx264); yading@10: REGISTER_ENCODER(LIBX264RGB, libx264rgb); yading@10: REGISTER_ENCODER(LIBXAVS, libxavs); yading@10: REGISTER_ENCODER(LIBXVID, libxvid); yading@10: REGISTER_ENCODER(LIBAACPLUS, libaacplus); yading@10: yading@10: /* text */ yading@10: REGISTER_DECODER(BINTEXT, bintext); yading@10: REGISTER_DECODER(XBIN, xbin); yading@10: REGISTER_DECODER(IDF, idf); yading@10: yading@10: /* parsers */ yading@10: REGISTER_PARSER(AAC, aac); yading@10: REGISTER_PARSER(AAC_LATM, aac_latm); yading@10: REGISTER_PARSER(AC3, ac3); yading@10: REGISTER_PARSER(ADX, adx); yading@10: REGISTER_PARSER(BMP, bmp); yading@10: REGISTER_PARSER(CAVSVIDEO, cavsvideo); yading@10: REGISTER_PARSER(COOK, cook); yading@10: REGISTER_PARSER(DCA, dca); yading@10: REGISTER_PARSER(DIRAC, dirac); yading@10: REGISTER_PARSER(DNXHD, dnxhd); yading@10: REGISTER_PARSER(DVBSUB, dvbsub); yading@10: REGISTER_PARSER(DVDSUB, dvdsub); yading@10: REGISTER_PARSER(DVD_NAV, dvd_nav); yading@10: REGISTER_PARSER(FLAC, flac); yading@10: REGISTER_PARSER(GSM, gsm); yading@10: REGISTER_PARSER(H261, h261); yading@10: REGISTER_PARSER(H263, h263); yading@10: REGISTER_PARSER(H264, h264); yading@10: REGISTER_PARSER(MJPEG, mjpeg); yading@10: REGISTER_PARSER(MLP, mlp); yading@10: REGISTER_PARSER(MPEG4VIDEO, mpeg4video); yading@10: REGISTER_PARSER(MPEGAUDIO, mpegaudio); yading@10: REGISTER_PARSER(MPEGVIDEO, mpegvideo); yading@10: REGISTER_PARSER(PNG, png); yading@10: REGISTER_PARSER(PNM, pnm); yading@10: REGISTER_PARSER(RV30, rv30); yading@10: REGISTER_PARSER(RV40, rv40); yading@10: REGISTER_PARSER(TAK, tak); yading@10: REGISTER_PARSER(VC1, vc1); yading@10: REGISTER_PARSER(VORBIS, vorbis); yading@10: REGISTER_PARSER(VP3, vp3); yading@10: REGISTER_PARSER(VP8, vp8); yading@10: yading@10: /* bitstream filters */ yading@10: REGISTER_BSF(AAC_ADTSTOASC, aac_adtstoasc); yading@10: REGISTER_BSF(CHOMP, chomp); yading@10: REGISTER_BSF(DUMP_EXTRADATA, dump_extradata); yading@10: REGISTER_BSF(H264_MP4TOANNEXB, h264_mp4toannexb); yading@10: REGISTER_BSF(IMX_DUMP_HEADER, imx_dump_header); yading@10: REGISTER_BSF(MJPEG2JPEG, mjpeg2jpeg); yading@10: REGISTER_BSF(MJPEGA_DUMP_HEADER, mjpega_dump_header); yading@10: REGISTER_BSF(MP3_HEADER_COMPRESS, mp3_header_compress); yading@10: REGISTER_BSF(MP3_HEADER_DECOMPRESS, mp3_header_decompress); yading@10: REGISTER_BSF(MOV2TEXTSUB, mov2textsub); yading@10: REGISTER_BSF(NOISE, noise); yading@10: REGISTER_BSF(REMOVE_EXTRADATA, remove_extradata); yading@10: REGISTER_BSF(TEXT2MOVSUB, text2movsub); yading@10: }