Hello,

Max has mentioned several times in #mpd that the ffmpeg plugin
extension list is incomplete at best, which has put me on a mini quest
this morning to see if I could dig better through the ffmpeg sources
myself for extensions and supported formats. Unfortunately, it appears
that 99% of formats are probed, which I guess would make MPD's update
slow to a crawl at best (though it would arguably be more accurate),
the attached script will give more insight as to which formats are
supported, and it must be run from the ffmpeg sources root.

There's also plenty of bugs with it, but it's usable and will, at the
very least, display formats which are currently supported by ffmpeg's
sources. It will also show lots of extra information, but it's not
really worth optimizing, just a reference.

Here's a copy of the output from ffmpeg (20090201), I realize this
probably isn't complete, but the only way I can imagine getting better
results is to probe formats.

File: libavformat/nutenc.c
    "nut",
    ("NUT format"),
    "video/x-nut",
    "nut",

File: libavformat/au.c
    "au",
    ("SUN AU format"),
    0,
    au_probe,

File: libavformat/au.c
    "au",
    ("SUN AU format"),
    "audio/basic",
    "au",

File: libavformat/dv.c
    "dv",
    ("DV video format"),
    sizeof(RawDVContext),
    NULL,

File: libavformat/mm.c
    "mm",
    ("American Laser Games MM format"),
    sizeof(MmDemuxContext),
    mm_probe,

File: libavformat/xa.c
    "xa",
    ("Maxis XA File Format"),
    sizeof(MaxisXADemuxContext),
    xa_probe,

File: libavformat/wv.c
    "wv",
    ("WavPack"),
    sizeof(WVContext),
    wv_probe,

File: libavformat/vc1testenc.c
    "rcv",
    ("VC-1 test bitstream"),
    "",
    "rcv",

File: libavformat/gxfenc.c
    "gxf",
    ("GXF format"),
    NULL,
    "gxf",

File: libavformat/psxstr.c
    "psxstr",
    ("Sony Playstation STR format"),
    sizeof(StrDemuxContext),
    str_probe,

File: libavformat/4xm.c
    "4xm",
    ("4X Technologies format"),
    sizeof(FourxmDemuxContext),
    fourxm_probe,

File: libavformat/westwood.c
    "wsaud",
    ("Westwood Studios audio format"),
    sizeof(WsAudDemuxContext),
    wsaud_probe,

File: libavformat/westwood.c
    "wsvqa",
    ("Westwood Studios VQA format"),
    sizeof(WsVqaDemuxContext),
    wsvqa_probe,

File: libavformat/c93.c
    "c93",
    ("Interplay C93"),
    sizeof(C93DemuxContext),
    probe,

File: libavformat/amr.c
    "amr",
    ("3GPP AMR file format"),
    0, /*priv_data_size*/
    amr_probe,

File: libavformat/amr.c
    "amr",
    ("3GPP AMR file format"),
    "audio/amr",
    "amr",

File: libavformat/apc.c
    "apc",
    ("CRYO APC format"),
    0,
    apc_probe,

File: libavformat/ape.c
    "ape",
    ("Monkey's Audio"),
    sizeof(APEContext),
    ape_probe,

File: libavformat/bfi.c
    "bfi",
    ("Brute Force & Ignorance"),
    sizeof(BFIContext),
    bfi_probe,

File: libavformat/asf.c
    "asf",
    ("ASF format"),
    sizeof(ASFContext),
    asf_probe,

File: libavformat/avs.c
    "avs",
    ("AVS format"),
    sizeof(AvsFormat),
    avs_probe,

File: libavformat/avisynth.c
  "avs",
  ("AVISynth"),
  sizeof(AVISynthContext),
  NULL,

File: libavformat/dxa.c
    "dxa",
    ("DXA"),
    sizeof(DXAContext),
    dxa_probe,

File: libavformat/yuv4mpeg.c
    "yuv4mpegpipe",
    ("YUV4MPEG pipe format"),
    sizeof(struct frame_attributes),
    yuv4_probe,

File: libavformat/yuv4mpeg.c
    "yuv4mpegpipe",
    ("YUV4MPEG pipe format"),
    "",
    "y4m",

File: libavformat/gif.c
    "gif",
    ("GIF Animation"),
    "image/gif",
    "gif",

File: libavformat/gxf.c
    "gxf",
    ("GXF format"),
    0,
    gxf_probe,

File: libavformat/iff.c
    "IFF",
    ("IFF format"),
    sizeof(IffDemuxContext),
    iff_probe,

File: libavformat/iss.c
    "ISS",
    ("Funcom ISS format"),
    sizeof(IssDemuxContext),
    iss_probe,

File: libavformat/r3d.c
    "r3d",
    ("REDCODE R3D format"),
    sizeof(R3DContext),
    r3d_probe,

File: libavformat/mp3.c
    "mp3",
    ("MPEG audio"),
    0,
    mp3_read_probe,

File: libavformat/mp3.c
    "mp2",
    ("MPEG audio layer 2"),
    "audio/x-mpeg",
#if CONFIG_LIBMP3LAME

File: libavformat/mp3.c
    "mp3",
    ("MPEG audio layer 3"),
    "audio/x-mpeg",
    "mp3",

File: libavformat/mmf.c
    "mmf",
    ("mmf format"),
    sizeof(MMFContext),
    mmf_probe,

File: libavformat/mmf.c
    "mmf",
    ("mmf format"),
    "application/vnd.smaf",
    "mmf",

File: libavformat/mpc.c
    "mpc",
    ("Musepack"),
    sizeof(MPCContext),
    mpc_probe,

File: libavformat/mov.c
    "mov,mp4,m4a,3gp,3g2,mj2",
    ("QuickTime/MPEG-4/Motion JPEG 2000 format"),
    sizeof(MOVContext),
    mov_probe,

File: libavformat/mtv.c
    "MTV",
    ("MTV format"),
    sizeof(MTVDemuxContext),
    mtv_probe,

File: libavformat/mvi.c
    "mvi",
    ("Motion Pixels MVI format"),
    sizeof(MviDemuxContext),
    NULL,

File: libavformat/nuv.c
    "nuv",
    ("NuppelVideo format"),
    sizeof(NUVContext),
    nuv_probe,

File: libavformat/oma.c
    "oma",
    ("Sony OpenMG audio"),
    0,
    oma_read_probe,

File: libavformat/pva.c
    "pva",
    ("TechnoTrend PVA file and stream format"),
    sizeof(PVAContext),
    pva_probe,

File: libavformat/raw.c
    "aac",
    ("ADTS AAC"),
    0,
    adts_aac_probe,

File: libavformat/raw.c
    "ac3",
    ("raw AC-3"),
    0,
    ac3_probe,

File: libavformat/raw.c
    "dirac",
    ("raw Dirac"),
    0,
    dirac_probe,

File: libavformat/raw.c
    "dnxhd",
    ("raw DNxHD (SMPTE VC-3)"),
    0,
    dnxhd_probe,

File: libavformat/raw.c
    "dts",
    ("raw DTS"),
    0,
    dts_probe,

File: libavformat/raw.c
    "eac3",
    ("raw E-AC-3"),
    0,
    eac3_probe,

File: libavformat/raw.c
    "flac",
    ("raw FLAC"),
    0,
    flac_probe,

File: libavformat/raw.c
    "gsm",
    ("GSM"),
    0,
    NULL,

File: libavformat/raw.c
    "h261",
    ("raw H.261"),
    0,
    h261_probe,

File: libavformat/raw.c
    "h263",
    ("raw H.263"),
    0,
    h263_probe,

File: libavformat/raw.c
    "h264",
    ("raw H.264 video format"),
    0,
    h264_probe,

File: libavformat/raw.c
    "ingenient",
    ("Ingenient MJPEG"),
    0,
    NULL,

File: libavformat/raw.c
    "m4v",
    ("raw MPEG-4 video format"),
    0,
    mpeg4video_probe, /** probing for MPEG-4 data */

File: libavformat/raw.c
    "mjpeg",
    ("MJPEG video"),
    0,
    NULL,

File: libavformat/raw.c
    "mlp",
    ("raw MLP"),
    0,
    NULL,

File: libavformat/raw.c
    "mpegvideo",
    ("MPEG video"),
    0,
    mpegvideo_probe,

File: libavformat/raw.c
    "rawvideo",
    ("raw video format"),
    0,
    NULL,

File: libavformat/raw.c
    "shn",
    ("raw Shorten"),
    0,
    NULL,

File: libavformat/raw.c
    "vc1",
    ("raw VC-1"),
    0,
    NULL /* vc1_probe */,

File: libavformat/raw.c
    #name,\
    (long_name),\
    0,\
    NULL,\

File: libavformat/raw.c
    "ac3",
    ("raw AC-3"),
    "audio/x-ac3",
    "ac3",

File: libavformat/raw.c
    "dirac",
    ("raw Dirac"),
    NULL,
    "drc",

File: libavformat/raw.c
    "dnxhd",
    ("raw DNxHD (SMPTE VC-3)"),
    NULL,
    "dnxhd",

File: libavformat/raw.c
    "dts",
    ("raw DTS"),
    "audio/x-dca",
    "dts",

File: libavformat/raw.c
    "eac3",
    ("raw E-AC-3"),
    "audio/x-eac3",
    "eac3",

File: libavformat/raw.c
    "flac",
    ("raw FLAC"),
    "audio/x-flac",
    "flac",

File: libavformat/raw.c
    "h261",
    ("raw H.261"),
    "video/x-h261",
    "h261",

File: libavformat/raw.c
    "h263",
    ("raw H.263"),
    "video/x-h263",
    "h263",

File: libavformat/raw.c
    "h264",
    ("raw H.264 video format"),
    NULL,
    "h264",

File: libavformat/raw.c
    "m4v",
    ("raw MPEG-4 video format"),
    NULL,
    "m4v",

File: libavformat/raw.c
    "mjpeg",
    ("MJPEG video"),
    "video/x-mjpeg",
    "mjpg,mjpeg",

File: libavformat/raw.c
    "mpeg1video",
    ("MPEG video"),
    "video/x-mpeg",
    "mpg,mpeg,m1v",

File: libavformat/raw.c
    "mpeg2video",
    ("MPEG-2 video"),
    NULL,
    "m2v",

File: libavformat/raw.c
    "null",
    ("null video format"),
    NULL,
    NULL,

File: libavformat/raw.c
    "rawvideo",
    ("raw video format"),
    NULL,
    "yuv,rgb",

File: libavformat/raw.c
    #name,\
    (long_name),\
    NULL,\
    ext,\

File: libavformat/rl2.c
    "rl2",
    ("rl2 format"),
    sizeof(Rl2DemuxContext),
    rl2_probe,

File: libavformat/rpl.c
    "rpl",
    ("RPL/ARMovie format"),
    sizeof(RPLContext),
    rpl_probe,

File: libavformat/sol.c
    "sol",
    ("Sierra SOL format"),
    0,
    sol_probe,

File: libavformat/thp.c
    "thp",
    ("THP"),
    sizeof(ThpDemuxContext),
    thp_probe,

File: libavformat/tta.c
    "tta",
    ("True Audio"),
    sizeof(TTAContext),
    tta_probe,

File: libavformat/wav.c
    "wav",
    ("WAV format"),
    sizeof(WAVContext),
    wav_probe,

File: libavformat/wav.c
    "wav",
    ("WAV format"),
    "audio/x-wav",
    "wav",

File: libavformat/swfdec.c
    "swf",
    ("Flash format"),
    sizeof(SWFContext),
    swf_probe,

File: libavformat/rmdec.c
    "rm",
    ("RM format"),
    sizeof(RMDemuxContext),
    rm_probe,

File: libavformat/rmdec.c
    "rdt",
    ("RDT demuxer"),
    sizeof(RMDemuxContext),
    NULL, NULL, NULL, rm_read_close, NULL, NULL

File: libavformat/swfenc.c
    "swf",
    ("Flash format"),
    "application/x-shockwave-flash",
    "swf",

File: libavformat/swfenc.c
    "avm2",
    ("Flash 9 (AVM2) format"),
    "application/x-shockwave-flash",
    NULL,

File: libavformat/rmenc.c
    "rm",
    ("RM format"),
    "application/vnd.rn-realmedia",
    "rm,ra",

File: libavformat/sierravmd.c
    "vmd",
    ("Sierra VMD format"),
    sizeof(VmdDemuxContext),
    vmd_probe,

File: libavformat/avidec.c
    "avi",
    ("AVI format"),
    sizeof(AVIContext),
    avi_probe,

File: libavformat/avienc.c
    "avi",
    ("AVI format"),
    "video/x-msvideo",
    "avi",

File: libavformat/vc1test.c
    "vc1test",
    ("VC-1 test bitstream format"),
    0,
    vc1t_probe,

File: libavformat/wc3movie.c
    "wc3movie",
    ("Wing Commander III movie format"),
    sizeof(Wc3DemuxContext),
    wc3_probe,

File: libavformat/dvenc.c
    "dv",
    ("DV video format"),
    NULL,
    "dv",

File: libavformat/bethsoftvid.c
    "bethsoftvid",
    ("Bethesda Softworks VID format"),
    sizeof(BVID_DemuxContext),
    vid_probe,

File: libavformat/smacker.c
    "smk",
    ("Smacker video"),
    sizeof(SmackerContext),
    smacker_probe,

File: libavformat/rtpenc.c
    "rtp",
    ("RTP output format"),
    NULL,
    NULL,

File: libavformat/mpegenc.c
    "mpeg",
    ("MPEG-1 System format"),
    "video/mpeg",
    "mpg,mpeg",

File: libavformat/mpegenc.c
    "vcd",
    ("MPEG-1 System format (VCD)"),
    "video/mpeg",
    NULL,

File: libavformat/mpegenc.c
    "vob",
    ("MPEG-2 PS format (VOB)"),
    "video/mpeg",
    "vob",

File: libavformat/mpegenc.c
    "svcd",
    ("MPEG-2 PS format (VOB)"),
    "video/mpeg",
    "vob",

File: libavformat/mpegenc.c
    "dvd",
    ("MPEG-2 PS format (DVD VOB)"),
    "video/mpeg",
    "dvd",

File: libavformat/ipmovie.c
    "ipmovie",
    ("Interplay MVE format"),
    sizeof(IPMVEContext),
    ipmovie_probe,

File: libavformat/lmlm4.c
    "lmlm4",
    ("lmlm4 raw format"),
    0,
    lmlm4_probe,

File: libavformat/tiertexseq.c
    "tiertexseq",
    ("Tiertex Limited SEQ format"),
    sizeof(SeqDemuxContext),
    seq_probe,

File: libavformat/eacdata.c
    "ea_cdata",
    ("Electronic Arts cdata"),
    sizeof(CdataDemuxContext),
    cdata_probe,

File: libavformat/oggdec.c
    "ogg",
    ("Ogg"),
    sizeof (struct ogg),
    ogg_probe,

File: libavformat/msnwc_tcp.c
    "msnwctcp",
    ("MSN TCP Webcam stream"),
    0,
    msnwc_tcp_probe,

File: libavformat/oggenc.c
    "ogg",
    ("Ogg"),
    "application/ogg",
    "ogg,ogv",

File: libavformat/aiff.c
    "aiff",
    ("Audio IFF"),
    0,
    aiff_probe,

File: libavformat/aiff.c
    "aiff",
    ("Audio IFF"),
    "audio/aiff",
    "aif,aiff,afc,aifc",

File: libavformat/daud.c
    "daud",
    ("D-Cinema audio format"),
    0,
    NULL,

File: libavformat/mpegts.c
    "mpegts",
    ("MPEG-2 transport stream format"),
    sizeof(MpegTSContext),
    mpegts_probe,

File: libavformat/mpegts.c
    "mpegtsraw",
    ("MPEG-2 raw transport stream format"),
    sizeof(MpegTSContext),
    NULL,

File: libavformat/flic.c
    "flic",
    ("FLI/FLC/FLX animation format"),
    sizeof(FlicDemuxContext),
    flic_probe,

File: libavformat/img2.c
    "image2",
    ("image2 sequence"),
    sizeof(VideoData),
    image_probe,

File: libavformat/img2.c
    "image2pipe",
    ("piped image2 sequence"),
    sizeof(VideoData),
    NULL, /* no probe */

File: libavformat/img2.c
    "image2",
    ("image2 sequence"),
    "",
    "bmp,jpeg,jpg,ljpg,pam,pbm,pgm,pgmyuv,png,ppm,sgi,tif,tiff,jp2",

File: libavformat/img2.c
    "image2pipe",
    ("piped image2 sequence"),
    "",
    "",

File: libavformat/movenc.c
    "mov",
    ("MOV format"),
    NULL,
    "mov",

File: libavformat/movenc.c
    "3gp",
    ("3GP format"),
    NULL,
    "3gp",

File: libavformat/movenc.c
    "mp4",
    ("MP4 format"),
    "application/mp4",
    "mp4",

File: libavformat/movenc.c
    "psp",
    ("PSP MP4 format"),
    NULL,
    "mp4,psp",

File: libavformat/movenc.c
    "3g2",
    ("3GP2 format"),
    NULL,
    "3g2",

File: libavformat/movenc.c
    "ipod",
    ("iPod H.264 MP4 format"),
    "application/mp4",
    "m4v,m4a",

File: libavformat/mpjpeg.c
    "mpjpeg",
    ("Mime multipart JPEG format"),
    "multipart/x-mixed-replace;boundary=" BOUNDARY_TAG,
    "mjpg",

File: libavformat/adtsenc.c
    "adts",
    ("ADTS AAC"),
    "audio/aac",
    "aac",

File: libavformat/mpc8.c
    "mpc8",
    ("Musepack SV8"),
    sizeof(MPCContext),
    mpc8_probe,

File: libavformat/mpeg.c
    "mpeg",
    ("MPEG-PS format"),
    sizeof(MpegDemuxContext),
    mpegps_probe,

File: libavformat/dsicin.c
    "dsicin",
    ("Delphine Software International CIN format"),
    sizeof(CinDemuxContext),
    cin_probe,

File: libavformat/mpegtsenc.c
    "mpegts",
    ("MPEG-2 transport stream format"),
    "video/x-mpegts",
    "ts,m2t",

File: libavformat/asf-enc.c
    "asf",
    ("ASF format"),
    "video/x-ms-asf",
    "asf,wmv,wma",

File: libavformat/asf-enc.c
    "asf_stream",
    ("ASF format"),
    "video/x-ms-asf",
    "asf,wmv,wma",

File: libavformat/mxfdec.c
    "mxf",
    ("Material eXchange Format"),
    sizeof(MXFContext),
    mxf_probe,

File: libavformat/mxfenc.c
    "mxf",
    ("Material eXchange Format"),
    NULL,
    "mxf",

File: libavformat/siff.c
    "siff",
    ("Beam Software SIFF"),
    sizeof(SIFFContext),
    siff_probe,

File: libavformat/rtsp.c
    "rtsp",
    ("RTSP input format"),
    sizeof(RTSPState),
    rtsp_probe,

File: libavformat/rtsp.c
    "sdp",
    ("SDP"),
    sizeof(RTSPState),
    sdp_probe,

File: libavformat/rtsp.c
    "redir",
    ("Redirector format"),
    0,
    redir_probe,

File: libavformat/electronicarts.c
    "ea",
    ("Electronic Arts Multimedia Format"),
    sizeof(EaDemuxContext),
    ea_probe,

File: libavformat/matroskadec.c
    "matroska",
    ("Matroska file format"),
    sizeof(MatroskaDemuxContext),
    matroska_probe,

File: libavformat/matroskaenc.c
    "matroska",
    ("Matroska file format"),
    "video/x-matroska",
    "mkv",

File: libavformat/matroskaenc.c
    "matroska",
    ("Matroska file format"),
    "audio/x-matroska",
    "mka",

File: libavformat/nsvdec.c
    "nsv",
    ("NullSoft Video format"),
    sizeof(NSVContext),
    nsv_probe,

File: libavformat/idcin.c
    "idcin",
    ("id CIN format"),
    sizeof(IdcinDemuxContext),
    idcin_probe,

File: libavformat/vocdec.c
    "voc",
    ("Creative Voice file format"),
    sizeof(VocDecContext),
    voc_probe,

File: libavformat/crcenc.c
    "crc",
    ("CRC testing format"),
    NULL,
    "",

File: libavformat/vocenc.c
    "voc",
    ("Creative Voice file format"),
    "audio/x-voc",
    "voc",

File: libavformat/idroq.c
    "RoQ",
    ("id RoQ format"),
    sizeof(RoqDemuxContext),
    roq_probe,

File: libavformat/libnut.c
    "libnut",
    ("NUT format"),
    sizeof(NUTContext),
    nut_probe,

File: libavformat/libnut.c
    "libnut",
    "nut format",
    "video/x-nut",
    "nut",

File: libavformat/framecrcenc.c
    "framecrc",
    ("framecrc testing format"),
    NULL,
    "",

File: libavformat/segafilm.c
    "film_cpk",
    ("Sega FILM/CPK format"),
    sizeof(FilmDemuxContext),
    film_probe,

File: libavformat/flvdec.c
    "flv",
    ("FLV format"),
    sizeof(FLVContext),
    flv_probe,

File: libavformat/assdec.c
    "ass",
    ("SSA/ASS format"),
    sizeof(ASSContext),
    probe,

File: libavformat/flvenc.c
    "flv",
    ("FLV format"),
    "video/x-flv",
    "flv",

File: libavformat/assenc.c
    "ass",
    ("SSA/ASS format"),
    NULL,
    "ass,ssa",

File: libavformat/ffmdec.c
    "ffm",
    ("FFM (FFserver live feed) format"),
    sizeof(FFMContext),
    ffm_probe,

File: libavformat/ffmenc.c
    "ffm",
    ("FFM (FFserver live feed) format"),
    "",
    "ffm",

File: libavformat/nutdec.c
    "nut",
    ("NUT format"),
    sizeof(NUTContext),
    nut_probe,
-- 
avuton
--
|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

Attachment: ffmpeg-formats.sh
Description: Bourne shell script

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to