Changeset 11aac010aca2776806eeee5f95fbdf6b87e751be

Show
Ignore:
Timestamp:
03/06/08 14:56:07 (4 months ago)
Author:
Antoine Cellerier <dionoea@videolan.org>
git-committer:
Antoine Cellerier <dionoea@videolan.org> 1212497767 +0200
git-parent:

[f289c1f178d4eee60e527153021fa6f91adb4d7a]

git-author:
Antoine Cellerier <dionoea@videolan.org> 1212497767 +0200
Message:

Some more seperation of the different ffmpeg based modules. They're now completely disjoint except for the common chroma.h and fourcc.h headers.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/codec/ffmpeg/Modules.am

    rc066242 r11aac010  
    55    audio.c \ 
    66    deinterlace.c \ 
     7    fourcc.h \ 
     8    chroma.h \ 
    79    $(NULL) 
    810 
     
    1921    avformat.h \ 
    2022    demux.c \ 
     23    fourcc.h \ 
     24    chroma.h \ 
    2125    $(NULL) 
    2226 
     
    3337    swscale.h \ 
    3438    scale.c \ 
     39    chroma.h \ 
    3540    $(NULL) 
    3641 
     
    4045        chroma.c \ 
    4146        video_filter.c \ 
     47    chroma.h \ 
    4248    $(NULL) 
    4349 
  • modules/codec/ffmpeg/audio.c

    r3561b9b r11aac010  
    4444#endif 
    4545 
    46 #include "ffmpeg.h" 
     46#include "avcodec.h" 
    4747 
    4848static unsigned int pi_channels_maps[7] = 
  • modules/codec/ffmpeg/avcodec.c

    rebbc287 r11aac010  
    4848#endif 
    4949 
    50 #include "ffmpeg.h" 
     50#include "avcodec.h" 
     51#include "fourcc.h" 
    5152 
    5253/***************************************************************************** 
     
    413414    vlc_mutex_unlock( lock ); 
    414415} 
    415  
    416 /***************************************************************************** 
    417  * Chroma fourcc -> ffmpeg_id mapping 
    418  *****************************************************************************/ 
    419 static struct 
    420 { 
    421     vlc_fourcc_t  i_chroma; 
    422     int  i_chroma_id; 
    423  
    424 } chroma_table[] = 
    425 { 
    426     /* Planar YUV formats */ 
    427     { VLC_FOURCC('Y','U','V','A'), PIX_FMT_YUV444P }, /* Hack */ 
    428     { VLC_FOURCC('I','4','4','4'), PIX_FMT_YUV444P }, 
    429     { VLC_FOURCC('J','4','4','4'), PIX_FMT_YUVJ444P }, 
    430     { VLC_FOURCC('I','4','2','2'), PIX_FMT_YUV422P }, 
    431     { VLC_FOURCC('J','4','2','2'), PIX_FMT_YUVJ422P }, 
    432     { VLC_FOURCC('I','4','2','0'), PIX_FMT_YUV420P }, 
    433     { VLC_FOURCC('Y','V','1','2'), PIX_FMT_YUV420P }, 
    434     { VLC_FOURCC('I','Y','U','V'), PIX_FMT_YUV420P }, 
    435     { VLC_FOURCC('J','4','2','0'), PIX_FMT_YUVJ420P }, 
    436     { VLC_FOURCC('I','4','1','1'), PIX_FMT_YUV411P }, 
    437     { VLC_FOURCC('I','4','1','0'), PIX_FMT_YUV410P }, 
    438     { VLC_FOURCC('Y','V','U','9'), PIX_FMT_YUV410P }, 
    439  
    440     /* Packed YUV formats */ 
    441     { VLC_FOURCC('Y','U','Y','2'), PIX_FMT_YUV422 }, 
    442     { VLC_FOURCC('Y','U','Y','V'), PIX_FMT_YUV422 }, 
    443     { VLC_FOURCC('U','Y','V','Y'), PIX_FMT_UYVY422 }, 
    444  
    445     /* Packed RGB formats */ 
    446 #if defined(WORDS_BIGENDIAN) 
    447     { VLC_FOURCC('R','G','B','8'), PIX_FMT_BGR8 }, 
    448     { VLC_FOURCC('R','V','1','5'), PIX_FMT_BGR555 }, 
    449     { VLC_FOURCC('R','V','1','6'), PIX_FMT_BGR565 }, 
    450     { VLC_FOURCC('R','V','2','4'), PIX_FMT_BGR24 }, 
    451 #else 
    452 #if defined(PIX_FMT_RGB8) 
    453     { VLC_FOURCC('R','G','B','8'), PIX_FMT_RGB8 }, 
    454 #endif 
    455     { VLC_FOURCC('R','V','1','5'), PIX_FMT_RGB555 }, 
    456     { VLC_FOURCC('R','V','1','6'), PIX_FMT_RGB565 }, 
    457     { VLC_FOURCC('R','V','2','4'), PIX_FMT_RGB24 }, 
    458 #endif 
    459     { VLC_FOURCC('R','V','3','2'), PIX_FMT_RGBA32 }, 
    460 #if defined(PIX_FMT_RGBA) 
    461     { VLC_FOURCC('R','G','B','A'), PIX_FMT_RGBA }, 
    462 #endif 
    463     { VLC_FOURCC('G','R','E','Y'), PIX_FMT_GRAY8 }, 
    464  
    465     { 0, 0 } 
    466 }; 
    467  
    468 int GetFfmpegChroma( vlc_fourcc_t i_chroma ) 
    469 { 
    470     int i; 
    471  
    472     for( i = 0; chroma_table[i].i_chroma != 0; i++ ) 
    473     { 
    474         if( chroma_table[i].i_chroma == i_chroma ) 
    475             return chroma_table[i].i_chroma_id; 
    476     } 
    477     return -1; 
    478 } 
    479  
    480 vlc_fourcc_t GetVlcChroma( int i_ffmpeg_chroma ) 
    481 { 
    482     int i; 
    483  
    484     for( i = 0; chroma_table[i].i_chroma != 0; i++ ) 
    485     { 
    486         if( chroma_table[i].i_chroma_id == i_ffmpeg_chroma ) 
    487             return chroma_table[i].i_chroma; 
    488     } 
    489     return 0; 
    490 } 
    491  
    492 /***************************************************************************** 
    493  * Codec fourcc -> ffmpeg_id mapping 
    494  *****************************************************************************/ 
    495 static struct 
    496 { 
    497     vlc_fourcc_t  i_fourcc; 
    498     int  i_codec; 
    499     int  i_cat; 
    500     const char *psz_name; 
    501  
    502 } codecs_table[] = 
    503 { 
    504     /* 
    505      * Video Codecs 
    506      */ 
    507  
    508     /* MPEG-1 Video */ 
    509     { VLC_FOURCC('m','p','1','v'), CODEC_ID_MPEG1VIDEO, 
    510       VIDEO_ES, "MPEG-1 Video" }, 
    511     { VLC_FOURCC('m','p','e','g'), CODEC_ID_MPEG1VIDEO, 
    512       VIDEO_ES, "MPEG-1 Video" }, 
    513     { VLC_FOURCC('m','p','g','1'), CODEC_ID_MPEG1VIDEO, 
    514       VIDEO_ES, "MPEG-1 Video" }, 
    515     { VLC_FOURCC('P','I','M','1'), CODEC_ID_MPEG1VIDEO, 
    516       VIDEO_ES, "Pinnacle DC1000 (MPEG-1 Video)" }, 
    517  
    518     /* MPEG-2 Video */ 
    519     { VLC_FOURCC('m','p','2','v'), CODEC_ID_MPEG2VIDEO, 
    520       VIDEO_ES, "MPEG-2 Video" }, 
    521     { VLC_FOURCC('M','P','E','G'), CODEC_ID_MPEG2VIDEO, 
    522       VIDEO_ES, "MPEG-2 Video" }, 
    523     { VLC_FOURCC('m','p','g','v'), CODEC_ID_MPEG2VIDEO, 
    524       VIDEO_ES, "MPEG-2 Video" }, 
    525     { VLC_FOURCC('m','p','g','2'), CODEC_ID_MPEG2VIDEO, 
    526       VIDEO_ES, "MPEG-2 Video" }, 
    527     { VLC_FOURCC('h','d','v','1'), CODEC_ID_MPEG2VIDEO, 
    528       VIDEO_ES, "HDV 720p30 (MPEG-2 Video)" }, 
    529     { VLC_FOURCC('h','d','v','2'), CODEC_ID_MPEG2VIDEO, 
    530       VIDEO_ES, "Sony HDV (MPEG-2 Video)" }, 
    531     { VLC_FOURCC('h','d','v','3'), CODEC_ID_MPEG2VIDEO, 
    532       VIDEO_ES, "FCP HDV (MPEG-2 Video)" }, 
    533     { VLC_FOURCC('h','d','v','5'), CODEC_ID_MPEG2VIDEO, 
    534       VIDEO_ES, "HDV 720p25 (MPEG-2 Video)" }, 
    535     { VLC_FOURCC('m','x','5','n'), CODEC_ID_MPEG2VIDEO, 
    536       VIDEO_ES, "MPEG2 IMX NTSC 525/60 50mb/s (FCP)" }, 
    537     { VLC_FOURCC('m','x','5','p'), CODEC_ID_MPEG2VIDEO, 
    538       VIDEO_ES, "MPEG2 IMX PAL 625/60 50mb/s (FCP)" }, 
    539     { VLC_FOURCC('m','x','4','n'), CODEC_ID_MPEG2VIDEO, 
    540       VIDEO_ES, "MPEG2 IMX NTSC 525/60 40mb/s (FCP)" }, 
    541     { VLC_FOURCC('m','x','4','p'), CODEC_ID_MPEG2VIDEO, 
    542       VIDEO_ES, "MPEG2 IMX PAL 625/50 40mb/s (FCP)" }, 
    543      { VLC_FOURCC('m','x','3','n'), CODEC_ID_MPEG2VIDEO, 
    544       VIDEO_ES, "MPEG2 IMX NTSC 525/60 30mb/s (FCP)" }, 
    545     { VLC_FOURCC('m','x','3','p'), CODEC_ID_MPEG2VIDEO, 
    546       VIDEO_ES, "MPEG2 IMX NTSC 625/50 30mb/s (FCP)" }, 
    547     { VLC_FOURCC('x','d','v','2'), CODEC_ID_MPEG2VIDEO, 
    548       VIDEO_ES, "XDCAM HD 1080i60" }, 
    549     { VLC_FOURCC('A','V','m','p'), CODEC_ID_MPEG2VIDEO, 
    550       VIDEO_ES, "AVID IMX PAL" }, 
    551     /* ATI VCR2 */ 
    552     { VLC_FOURCC('V','C','R','2'), CODEC_ID_MPEG2VIDEO, 
    553       VIDEO_ES, "ATI VCR2 Video" }, 
    554     { VLC_FOURCC('M','M','E','S'), CODEC_ID_MPEG2VIDEO, 
    555       VIDEO_ES, "Matrox MPEG-2" }, 
    556     { VLC_FOURCC('m','m','e','s'), CODEC_ID_MPEG2VIDEO, 
    557       VIDEO_ES, "Matrox MPEG-2" }, 
    558  
    559     /* MPEG-4 Video */ 
    560     { VLC_FOURCC('D','I','V','X'), CODEC_ID_MPEG4, 
    561       VIDEO_ES, "MPEG-4 Video" }, 
    562     { VLC_FOURCC('d','i','v','x'), CODEC_ID_MPEG4, 
    563       VIDEO_ES, "MPEG-4 Video" }, 
    564     { VLC_FOURCC('M','P','4','S'), CODEC_ID_MPEG4, 
    565       VIDEO_ES, "MPEG-4 Video" }, 
    566     { VLC_FOURCC('m','p','4','s'), CODEC_ID_MPEG4, 
    567       VIDEO_ES, "MPEG-4 Video" }, 
    568     { VLC_FOURCC('M','4','S','2'), CODEC_ID_MPEG4, 
    569       VIDEO_ES, "MPEG-4 Video" }, 
    570     { VLC_FOURCC('m','4','s','2'), CODEC_ID_MPEG4, 
    571       VIDEO_ES, "MPEG-4 Video" }, 
    572     /* XVID flavours */ 
    573     { VLC_FOURCC('x','v','i','d'), CODEC_ID_MPEG4, 
    574       VIDEO_ES, "MPEG-4 Video" }, 
    575     { VLC_FOURCC('X','V','I','D'), CODEC_ID_MPEG4, 
    576       VIDEO_ES, "MPEG-4 Video" }, 
    577     { VLC_FOURCC('X','v','i','D'), CODEC_ID_MPEG4, 
    578       VIDEO_ES, "MPEG-4 Video" }, 
    579     { VLC_FOURCC('X','V','I','X'), CODEC_ID_MPEG4, 
    580       VIDEO_ES, "MPEG-4 Video" }, 
    581     { VLC_FOURCC('x','v','i','x'), CODEC_ID_MPEG4, 
    582       VIDEO_ES, "MPEG-4 Video" }, 
    583     /* DX50 */ 
    584     { VLC_FOURCC('D','X','5','0'), CODEC_ID_MPEG4, 
    585       VIDEO_ES, "MPEG-4 Video" }, 
    586     { VLC_FOURCC('d','x','5','0'), CODEC_ID_MPEG4, 
    587       VIDEO_ES, "MPEG-4 Video" }, 
    588     { VLC_FOURCC('B','L','Z','0'), CODEC_ID_MPEG4, 
    589       VIDEO_ES, "Blizzard MPEG-4 Video" }, 
    590     { VLC_FOURCC('D','X','G','M'), CODEC_ID_MPEG4, 
    591       VIDEO_ES, "Electronic Arts Game MPEG-4 Video" }, 
    592     { VLC_FOURCC('m','p','4','v'), CODEC_ID_MPEG4, 
    593       VIDEO_ES, "MPEG-4 Video" }, 
    594     { VLC_FOURCC('M','P','4','V'), CODEC_ID_MPEG4, 
    595       VIDEO_ES, "MPEG-4 Video" }, 
    596     { VLC_FOURCC( 4,  0,  0,  0 ), CODEC_ID_MPEG4, 
    597       VIDEO_ES, "MPEG-4 Video" }, 
    598     { VLC_FOURCC('m','4','c','c'), CODEC_ID_MPEG4, 
    599       VIDEO_ES, "MPEG-4 Video" }, 
    600     { VLC_FOURCC('M','4','C','C'), CODEC_ID_MPEG4, 
    601       VIDEO_ES, "MPEG-4 Video" }, 
    602     { VLC_FOURCC('F','M','P','4'), CODEC_ID_MPEG4, 
    603       VIDEO_ES, "MPEG-4 Video" }, 
    604     { VLC_FOURCC('f','m','p','4'), CODEC_ID_MPEG4, 
    605       VIDEO_ES, "MPEG-4 Video" }, 
    606     /* 3ivx delta 3.5 Unsupported 
    607      * putting it here gives extreme distorted images 
    608     { VLC_FOURCC('3','I','V','1'), CODEC_ID_MPEG4, 
    609       VIDEO_ES, "MPEG-4 Video" }, 
    610     { VLC_FOURCC('3','i','v','1'), CODEC_ID_MPEG4, 
    611       VIDEO_ES, "MPEG-4 Video" }, */ 
    612     /* 3ivx delta 4 */ 
    613     { VLC_FOURCC('3','I','V','2'), CODEC_ID_MPEG4, 
    614       VIDEO_ES, "MPEG-4 Video" }, 
    615     { VLC_FOURCC('3','i','v','2'), CODEC_ID_MPEG4, 
    616       VIDEO_ES, "MPEG-4 Video" }, 
    617     { VLC_FOURCC('U','M','P','4'), CODEC_ID_MPEG4, 
    618       VIDEO_ES, "UB MPEG-4 Video" }, 
    619     { VLC_FOURCC('W','V','1','F'), CODEC_ID_MPEG4, 
    620       VIDEO_ES, "MPEG-4 Video" }, 
    621     { VLC_FOURCC('S','E','D','G'), CODEC_ID_MPEG4, 
    622       VIDEO_ES, "Samsung MPEG-4 Video" }, 
    623     { VLC_FOURCC('R','M','P','4'), CODEC_ID_MPEG4, 
    624       VIDEO_ES, "REALmagic MPEG-4 Video" }, 
    625     { VLC_FOURCC('H','D','X','4'), CODEC_ID_MPEG4, 
    626       VIDEO_ES, "Jomigo HDX4 (MPEG-4 Video)" }, 
    627     { VLC_FOURCC('h','d','x','4'), CODEC_ID_MPEG4, 
    628       VIDEO_ES, "Jomigo HDX4 (MPEG-4 Video)" }, 
    629     { VLC_FOURCC('S','M','P','4'), CODEC_ID_MPEG4, 
    630       VIDEO_ES, "Samsung SMP4 (MPEG-4 Video)" }, 
    631     { VLC_FOURCC('f','v','f','w'), CODEC_ID_MPEG4, 
    632       VIDEO_ES, "FFmpeg MPEG-4" }, 
    633     { VLC_FOURCC('F','V','F','W'), CODEC_ID_MPEG4, 
    634       VIDEO_ES, "FFmpeg MPEG-4" }, 
    635  
    636     /* MSMPEG4 v1 */ 
    637     { VLC_FOURCC('D','I','V','1'), CODEC_ID_MSMPEG4V1, 
    638       VIDEO_ES, "MS MPEG-4 Video v1" }, 
    639     { VLC_FOURCC('d','i','v','1'), CODEC_ID_MSMPEG4V1, 
    640       VIDEO_ES, "MS MPEG-4 Video v1" }, 
    641     { VLC_FOURCC('M','P','G','4'), CODEC_ID_MSMPEG4V1, 
    642       VIDEO_ES, "MS MPEG-4 Video v1" }, 
    643     { VLC_FOURCC('m','p','g','4'), CODEC_ID_MSMPEG4V1, 
    644       VIDEO_ES, "MS MPEG-4 Video v1" }, 
    645  
    646     /* MSMPEG4 v2 */ 
    647     { VLC_FOURCC('D','I','V','2'), CODEC_ID_MSMPEG4V2, 
    648       VIDEO_ES, "MS MPEG-4 Video v2" }, 
    649     { VLC_FOURCC('d','i','v','2'), CODEC_ID_MSMPEG4V2, 
    650       VIDEO_ES, "MS MPEG-4 Video v2" }, 
    651     { VLC_FOURCC('M','P','4','2'), CODEC_ID_MSMPEG4V2, 
    652       VIDEO_ES, "MS MPEG-4 Video v2" }, 
    653     { VLC_FOURCC('m','p','4','2'), CODEC_ID_MSMPEG4V2, 
    654       VIDEO_ES, "MS MPEG-4 Video v2" }, 
    655  
    656     /* MSMPEG4 v3 / M$ mpeg4 v3 */ 
    657     { VLC_FOURCC('M','P','G','3'), CODEC_ID_MSMPEG4V3, 
    658       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    659     { VLC_FOURCC('m','p','g','3'), CODEC_ID_MSMPEG4V3, 
    660       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    661     { VLC_FOURCC('d','i','v','3'), CODEC_ID_MSMPEG4V3, 
    662       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    663     { VLC_FOURCC('M','P','4','3'), CODEC_ID_MSMPEG4V3, 
    664       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    665     { VLC_FOURCC('m','p','4','3'), CODEC_ID_MSMPEG4V3, 
    666       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    667     /* DivX 3.20 */ 
    668     { VLC_FOURCC('D','I','V','3'), CODEC_ID_MSMPEG4V3, 
    669       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    670     { VLC_FOURCC('D','I','V','4'), CODEC_ID_MSMPEG4V3, 
    671       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    672     { VLC_FOURCC('d','i','v','4'), CODEC_ID_MSMPEG4V3, 
    673       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    674     { VLC_FOURCC('D','I','V','5'), CODEC_ID_MSMPEG4V3, 
    675       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    676     { VLC_FOURCC('d','i','v','5'), CODEC_ID_MSMPEG4V3, 
    677       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    678     { VLC_FOURCC('D','I','V','6'), CODEC_ID_MSMPEG4V3, 
    679       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    680     { VLC_FOURCC('d','i','v','6'), CODEC_ID_MSMPEG4V3, 
    681       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    682     /* Cool Codec */ 
    683     { VLC_FOURCC('C','O','L','1'), CODEC_ID_MSMPEG4V3, 
    684       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    685     { VLC_FOURCC('c','o','l','1'), CODEC_ID_MSMPEG4V3, 
    686       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    687     { VLC_FOURCC('C','O','L','0'), CODEC_ID_MSMPEG4V3, 
    688       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    689     { VLC_FOURCC('c','o','l','0'), CODEC_ID_MSMPEG4V3, 
    690       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    691     /* AngelPotion stuff */ 
    692     { VLC_FOURCC('A','P','4','1'), CODEC_ID_MSMPEG4V3, 
    693       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    694     /* 3ivx doctered divx files */ 
    695     { VLC_FOURCC('3','I','V','D'), CODEC_ID_MSMPEG4V3, 
    696       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    697     { VLC_FOURCC('3','i','v','d'), CODEC_ID_MSMPEG4V3, 
    698       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    699     /* who knows? */ 
    700     { VLC_FOURCC('3','V','I','D'), CODEC_ID_MSMPEG4V3, 
    701       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    702     { VLC_FOURCC('3','v','i','d'), CODEC_ID_MSMPEG4V3, 
    703       VIDEO_ES, "MS MPEG-4 Video v3" }, 
    704  
    705     /* Sorenson v1 */ 
    706     { VLC_FOURCC('S','V','Q','1'), CODEC_ID_SVQ1, 
    707       VIDEO_ES, "SVQ-1 (Sorenson Video v1)" }, 
    708     { VLC_FOURCC('s','v','q','1'), CODEC_ID_SVQ1, 
    709       VIDEO_ES, "SVQ-1 (Sorenson Video v1)" }, 
    710     { VLC_FOURCC('s','v','q','i'), CODEC_ID_SVQ1, 
    711       VIDEO_ES, "SVQ-1 (Sorenson Video v1)" }, 
    712  
    713     /* Sorenson v3 */ 
    714     { VLC_FOURCC('S','V','Q','3'), CODEC_ID_SVQ3, 
    715       VIDEO_ES, "SVQ-3 (Sorenson Video v3)" }, 
    716  
    717     /* h264 */ 
    718     { VLC_FOURCC('h','2','6','4'), CODEC_ID_H264, 
    719       VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" }, 
    720     { VLC_FOURCC('H','2','6','4'), CODEC_ID_H264, 
    721       VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" }, 
    722     { VLC_FOURCC('x','2','6','4'), CODEC_ID_H264, 
    723       VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" }, 
    724     { VLC_FOURCC('X','2','6','4'), CODEC_ID_H264, 
    725       VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" }, 
    726     /* avc1: special case h264 */ 
    727     { VLC_FOURCC('a','v','c','1'), CODEC_ID_H264, 
    728       VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" }, 
    729     { VLC_FOURCC('A','V','C','1'), CODEC_ID_H264, 
    730       VIDEO_ES, "H264 - MPEG-4 AVC (part 10)" }, 
    731     { VLC_FOURCC('V','S','S','H'), CODEC_ID_H264, 
    732       VIDEO_ES, "Vanguard VSS H264" }, 
    733     { VLC_FOURCC('V','S','S','W'), CODEC_ID_H264, 
    734       VIDEO_ES, "Vanguard VSS H264" }, 
    735     { VLC_FOURCC('v','s','s','h'), CODEC_ID_H264, 
    736       VIDEO_ES, "Vanguard VSS H264" }, 
    737     { VLC_FOURCC('D','A','V','C'), CODEC_ID_H264, 
    738       VIDEO_ES, "Dicas MPEGable H.264/MPEG-4 AVC" }, 
    739     { VLC_FOURCC('d','a','v','c'), CODEC_ID_H264, 
    740       VIDEO_ES, "Dicas MPEGable H.264/MPEG-4 AVC" }, 
    741  
    742 /* H263 and H263i */ 
    743 /* H263(+) is also known as Real Video 1.0 */ 
    744  
    745     /* H263 */ 
    746     { VLC_FOURCC('D','2','6','3'), CODEC_ID_H263, 
    747       VIDEO_ES, "DEC H263" }, 
    748     { VLC_FOURCC('H','2','6','3'), CODEC_ID_H263, 
    749       VIDEO_ES, "H263" }, 
    750     { VLC_FOURCC('h','2','6','3'), CODEC_ID_H263, 
    751       VIDEO_ES, "H263" }, 
    752     { VLC_FOURCC('L','2','6','3'), CODEC_ID_H263, 
    753       VIDEO_ES, "LEAD H263" }, 
    754     { VLC_FOURCC('s','2','6','3'), CODEC_ID_H263, 
    755       VIDEO_ES, "H263" }, 
    756     { VLC_FOURCC('S','2','6','3'), CODEC_ID_H263, 
    757       VIDEO_ES, "H263" }, 
    758     { VLC_FOURCC('M','2','6','3'), CODEC_ID_H263, 
    759       VIDEO_ES, "Microsoft H263" }, 
    760     { VLC_FOURCC('X','2','6','3'), CODEC_ID_H263, 
    761       VIDEO_ES, "Xirlink H263" }, 
    762  
    763     /* Zygo (partial) */ 
    764     { VLC_FOURCC('Z','y','G','o'), CODEC_ID_H263, 
    765       VIDEO_ES, "ITU H263+" }, 
    766  
    767     /* H263i */ 
    768     { VLC_FOURCC('I','2','6','3'), CODEC_ID_H263I, 
    769       VIDEO_ES, "I263.I" }, 
    770     { VLC_FOURCC('i','2','6','3'), CODEC_ID_H263I, 
    771       VIDEO_ES, "I263.I" }, 
    772  
    773     /* H263P */ 
    774     { VLC_FOURCC('v','i','v','1'), CODEC_ID_H263P, 
    775       VIDEO_ES, "H263+" }, 
    776     { VLC_FOURCC('v','i','v','O'), CODEC_ID_H263P, 
    777       VIDEO_ES, "H263+" }, 
    778     { VLC_FOURCC('v','i','v','2'), CODEC_ID_H263P, 
    779       VIDEO_ES, "H263+" }, 
    780     { VLC_FOURCC('U','2','6','3'), CODEC_ID_H263P, 
    781       VIDEO_ES, "UB H263+" }, 
    782     { VLC_FOURCC('I','L','V','R'), CODEC_ID_H263P, 
    783       VIDEO_ES, "ITU H263+" }, 
    784  
    785     /* Flash (H263) variant */ 
    786     { VLC_FOURCC('F','L','V','1'), CODEC_ID_FLV1, 
    787       VIDEO_ES, "Flash Video" }, 
    788  
    789     /* H261 */ 
    790     { VLC_FOURCC('H','2','6','1'), CODEC_ID_H261, 
    791       VIDEO_ES, "H.261" }, 
    792     { VLC_FOURCC('h','2','6','1'), CODEC_ID_H261, 
    793       VIDEO_ES, "H.261" }, 
    794  
    795     { VLC_FOURCC('F','L','I','C'), CODEC_ID_FLIC, 
    796       VIDEO_ES, "Flic Video" }, 
    797  
    798     /* MJPEG */ 
    799     { VLC_FOURCC( 'M','J','P','G' ), CODEC_ID_MJPEG, 
    800       VIDEO_ES, "Motion JPEG Video" }, 
    801     { VLC_FOURCC( 'm','j','p','g' ), CODEC_ID_MJPEG, 
    802       VIDEO_ES, "Motion JPEG Video" }, 
    803     { VLC_FOURCC( 'm','j','p','a' ), CODEC_ID_MJPEG, /* for mov file */ 
    804       VIDEO_ES, "Motion JPEG Video" }, 
    805     { VLC_FOURCC( 'j','p','e','g' ), CODEC_ID_MJPEG, 
    806       VIDEO_ES, "Motion JPEG Video" }, 
    807     { VLC_FOURCC( 'J','P','E','G' ), CODEC_ID_MJPEG, 
    808       VIDEO_ES, "Motion JPEG Video" }, 
    809     { VLC_FOURCC( 'J','F','I','F' ), CODEC_ID_MJPEG, 
    810       VIDEO_ES, "Motion JPEG Video" }, 
    811     { VLC_FOURCC( 'J','P','G','L' ), CODEC_ID_MJPEG, 
    812       VIDEO_ES, "Motion JPEG Video" }, 
    813     { VLC_FOURCC( 'A','V','D','J' ), CODEC_ID_MJPEG, 
    814       VIDEO_ES, "Motion JPEG Video" }, 
    815     { VLC_FOURCC( 'm','j','p','b' ), CODEC_ID_MJPEGB, /* for mov file */ 
    816       VIDEO_ES, "Motion JPEG B Video" }, 
    817     { VLC_FOURCC( 'L','J','P','G' ), CODEC_ID_LJPEG, 
    818       VIDEO_ES, "Lead Motion JPEG Video" }, 
    819     { VLC_FOURCC( 'L','J','P','G' ), CODEC_ID_MJPEG, 
    820       VIDEO_ES, "Lead Motion JPEG Video" }, 
    821     /* AVID MJPEG */ 
    822     { VLC_FOURCC( 'A','V','R','n' ), CODEC_ID_MJPEG, 
    823       VIDEO_ES, "Avid Motion JPEG" }, 
    824     { VLC_FOURCC( 'A','D','J','V' ), CODEC_ID_MJPEG, 
    825       VIDEO_ES, "Avid Motion JPEG" }, 
    826     { VLC_FOURCC( 'd','m','b','1' ), CODEC_ID_MJPEG, 
    827       VIDEO_ES, "Motion JPEG OpenDML Video" }, 
    828  
    829     /* SP5x */ 
    830     { VLC_FOURCC( 'S','P','5','X' ), CODEC_ID_SP5X, 
    831       VIDEO_ES, "Sunplus Motion JPEG Video" }, 
    832     { VLC_FOURCC( 'S','P','5','3' ), CODEC_ID_SP5X, 
    833       VIDEO_ES, "Sunplus Motion JPEG Video" }, 
    834     { VLC_FOURCC( 'S','P','5','4' ), CODEC_ID_SP5X, 
    835       VIDEO_ES, "Sunplus Motion JPEG Video" }, 
    836     { VLC_FOURCC( 'S','P','5','5' ), CODEC_ID_SP5X, 
    837       VIDEO_ES, "Sunplus Motion JPEG Video" }, 
    838     { VLC_FOURCC( 'S','P','5','6' ), CODEC_ID_SP5X, 
    839       VIDEO_ES, "Sunplus Motion JPEG Video" }, 
    840     { VLC_FOURCC( 'S','P','5','7' ), CODEC_ID_SP5X, 
    841       VIDEO_ES, "Sunplus Motion JPEG Video" }, 
    842     { VLC_FOURCC( 'S','P','5','8' ), CODEC_ID_SP5X, 
    843       VIDEO_ES, "Sunplus Motion JPEG Video" }, 
    844  
    845     /* DV */ 
    846     { VLC_FOURCC('d','v','s','l'), CODEC_ID_DVVIDEO, 
    847       VIDEO_ES, "DV Video" }, 
    848     { VLC_FOURCC('d','v','s','d'), CODEC_ID_DVVIDEO, 
    849       VIDEO_ES, "DV Video" }, 
    850     { VLC_FOURCC('D','V','S','D'), CODEC_ID_DVVIDEO, 
    851       VIDEO_ES, "DV Video" }, 
    852     { VLC_FOURCC('d','v','h','d'), CODEC_ID_DVVIDEO, 
    853       VIDEO_ES, "DV Video" }, 
    854     { VLC_FOURCC('d','v','c',' '), CODEC_ID_DVVIDEO, 
    855       VIDEO_ES, "DV Video" }, 
    856     { VLC_FOURCC('d','v','c','p'), CODEC_ID_DVVIDEO, 
    857       VIDEO_ES, "DV Video PAL" }, 
    858     { VLC_FOURCC('d','v','p',' '), CODEC_ID_DVVIDEO, 
    859       VIDEO_ES, "DV Video Pro" }, 
    860     { VLC_FOURCC('d','v','p','p'), CODEC_ID_DVVIDEO, 
    861       VIDEO_ES, "DV Video Pro PAL" }, 
    862     { VLC_FOURCC('C','D','V','C'), CODEC_ID_DVVIDEO, 
    863       VIDEO_ES, "DV Video" }, 
    864     { VLC_FOURCC('c','d','v','c'), CODEC_ID_DVVIDEO, 
    865       VIDEO_ES, "DV Video" }, 
    866     { VLC_FOURCC('d','v','5','p'), CODEC_ID_DVVIDEO, 
    867       VIDEO_ES, "DV Video C Pro 50 PAL" }, 
    868     { VLC_FOURCC('d','v','5','n'), CODEC_ID_DVVIDEO, 
    869       VIDEO_ES, "DV Video C Pro 50 NTSC" }, 
    870     { VLC_FOURCC('A','V','d','v'), CODEC_ID_DVVIDEO, 
    871       VIDEO_ES, "AVID DV" }, 
    872  
    873     /* Windows Media Video */ 
    874     { VLC_FOURCC('W','M','V','1'), CODEC_ID_WMV1, 
    875       VIDEO_ES, "Windows Media Video 1" }, 
    876     { VLC_FOURCC('w','m','v','1'), CODEC_ID_WMV1, 
    877       VIDEO_ES, "Windows Media Video 1" }, 
    878     { VLC_FOURCC('W','M','V','2'), CODEC_ID_WMV2, 
    879       VIDEO_ES, "Windows Media Video 2" }, 
    880     { VLC_FOURCC('w','m','v','2'), CODEC_ID_WMV2, 
    881       VIDEO_ES, "Windows Media Video 2" }, 
    882 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(10<<8)+1) 
    883     { VLC_FOURCC('W','M','V','3'), CODEC_ID_WMV3, 
    884       VIDEO_ES, "Windows Media Video 3" }, 
    885     { VLC_FOURCC('w','m','v','3'), CODEC_ID_WMV3, 
    886       VIDEO_ES, "Windows Media Video 3" }, 
    887     { VLC_FOURCC('W','V','C','1'), CODEC_ID_VC1, 
    888       VIDEO_ES, "Windows Media Video VC1" }, 
    889     { VLC_FOURCC('w','v','c','1'), CODEC_ID_VC1, 
    890       VIDEO_ES, "Windows Media Video VC1" }, 
    891     /* WMVA is the VC-1 codec before the standardization proces, 
    892        it is not bitstream compatible and deprecated  */ 
    893     { VLC_FOURCC('W','M','V','A'), CODEC_ID_VC1, 
    894       VIDEO_ES, "Windows Media Video Advanced Profile" }, 
    895 #endif 
    896  
    897     /* Microsoft Video 1 */ 
    898     { VLC_FOURCC('M','S','V','C'), CODEC_ID_MSVIDEO1, 
    899       VIDEO_ES, "Microsoft Video 1" }, 
    900     { VLC_FOURCC('m','s','v','c'), CODEC_ID_MSVIDEO1, 
    901       VIDEO_ES, "Microsoft Video 1" }, 
    902     { VLC_FOURCC('C','R','A','M'), CODEC_ID_MSVIDEO1, 
    903       VIDEO_ES, "Microsoft Video 1" }, 
    904     { VLC_FOURCC('c','r','a','m'), CODEC_ID_MSVIDEO1, 
    905       VIDEO_ES, "Microsoft Video 1" }, 
    906     { VLC_FOURCC('W','H','A','M'), CODEC_ID_MSVIDEO1, 
    907       VIDEO_ES, "Microsoft Video 1" }, 
    908     { VLC_FOURCC('w','h','a','m'), CODEC_ID_MSVIDEO1, 
    909       VIDEO_ES, "Microsoft Video 1" }, 
    910  
    911     /* Microsoft RLE */ 
    912     { VLC_FOURCC('m','r','l','e'), CODEC_ID_MSRLE, 
    913       VIDEO_ES, "Microsoft RLE Video" }, 
    914     { VLC_FOURCC('W','R','L','E'), CODEC_ID_MSRLE, 
    915       VIDEO_ES, "Microsoft RLE Video" }, 
    916     { VLC_FOURCC(0x1,0x0,0x0,0x0), CODEC_ID_MSRLE, 
    917       VIDEO_ES, "Microsoft RLE Video" }, 
    918     { VLC_FOURCC(0x2,0x0,0x0,0x0), CODEC_ID_MSRLE, 
    919       VIDEO_ES, "Microsoft RLE Video" }, 
    920  
    921     /* Indeo Video Codecs (Quality of this decoder on ppc is not good) */ 
    922     { VLC_FOURCC('I','V','3','1'), CODEC_ID_INDEO3, 
    923       VIDEO_ES, "Indeo Video v3" }, 
    924     { VLC_FOURCC('i','v','3','1'), CODEC_ID_INDEO3, 
    925       VIDEO_ES, "Indeo Video v3" }, 
    926     { VLC_FOURCC('I','V','3','2'), CODEC_ID_INDEO3, 
    927       VIDEO_ES, "Indeo Video v3" }, 
    928     { VLC_FOURCC('i','v','3','2'), CODEC_ID_INDEO3, 
    929       VIDEO_ES, "Indeo Video v3" }, 
    930  
    931     /* Huff YUV */ 
    932     { VLC_FOURCC('H','F','Y','U'), CODEC_ID_HUFFYUV, 
    933       VIDEO_ES, "Huff YUV Video" }, 
    934     { VLC_FOURCC('F','F','V','H'), CODEC_ID_FFVHUFF, 
    935       VIDEO_ES, "Huff YUV Video" }, 
    936  
    937     /* Creative YUV */ 
    938     { VLC_FOURCC('C','Y','U','V'), CODEC_ID_CYUV, 
    939       VIDEO_ES, "Creative YUV Video" }, 
    940     { VLC_FOURCC('c','y','u','v'), CODEC_ID_CYUV, 
    941       VIDEO_ES, "Creative YUV Video" }, 
    942  
    943     /* On2 VP3 Video Codecs */ 
    944     { VLC_FOURCC('V','P','3',' '), CODEC_ID_VP3, 
    945       VIDEO_ES, "On2's VP3 Video" }, 
    946     { VLC_FOURCC('V','P','3','0'), CODEC_ID_VP3, 
    947       VIDEO_ES, "On2's VP3 Video" }, 
    948     { VLC_FOURCC('V','P','3','1'), CODEC_ID_VP3, 
    949       VIDEO_ES, "On2's VP3 Video" }, 
    950     { VLC_FOURCC('v','p','3','1'), CODEC_ID_VP3, 
    951       VIDEO_ES, "On2's VP3 Video" }, 
    952  
    953     /* On2  VP5, VP6 codecs */ 
    954 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(14<<8)+0) 
    955     { VLC_FOURCC('V','P','5',' '), CODEC_ID_VP5, 
    956       VIDEO_ES, "On2's VP5 Video" }, 
    957     { VLC_FOURCC('V','P','5','0'), CODEC_ID_VP5, 
    958       VIDEO_ES, "On2's VP5 Video" }, 
    959     { VLC_FOURCC('V','P','6','2'), CODEC_ID_VP6, 
    960       VIDEO_ES, "On2's VP6.2 Video" }, 
    961     { VLC_FOURCC('v','p','6','2'), CODEC_ID_VP6, 
    962       VIDEO_ES, "On2's VP6.2 Video" }, 
    963     { VLC_FOURCC('V','P','6','F'), CODEC_ID_VP6F, 
    964       VIDEO_ES, "On2's VP6.2 Video (Flash)" }, 
    965 #endif 
    966  
    967 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(27<<8)+0) 
    968     { VLC_FOURCC('V','P','6','0'), CODEC_ID_VP6, 
    969       VIDEO_ES, "On2's VP6.0 Video" }, 
    970     { VLC_FOURCC('V','P','6','1'), CODEC_ID_VP6, 
    971       VIDEO_ES, "On2's VP6.1 Video" }, 
    972 #endif 
    973  
    974 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(47<<8)+0) 
    975     { VLC_FOURCC('V','P','6','A'), CODEC_ID_VP6A, 
    976       VIDEO_ES, "On2's VP6 A Video" }, 
    977 #endif 
    978  
    979     /* Xiph.org theora */ 
    980     { VLC_FOURCC('t','h','e','o'), CODEC_ID_THEORA, 
    981       VIDEO_ES, "Xiph.org's Theora Video" }, 
    982     { VLC_FOURCC('T','h','r','a'), CODEC_ID_THEORA, 
    983       VIDEO_ES, "Xiph.org's Theora Video" }, 
    984  
    985 #if ( !defined( WORDS_BIGENDIAN ) ) 
    986     /* Asus Video (Another thing that doesn't work on PPC) */ 
    987     { VLC_FOURCC('A','S','V','1'), CODEC_ID_ASV1, 
    988       VIDEO_ES, "Asus V1 Video" }, 
    989     { VLC_FOURCC('A','S','V','2'), CODEC_ID_ASV2, 
    990       VIDEO_ES, "Asus V2 Video" }, 
    991 #endif 
    992  
    993     /* FFMPEG Video 1 (lossless codec) */ 
    994     { VLC_FOURCC('F','F','V','1'), CODEC_ID_FFV1, 
    995       VIDEO_ES, "FFMpeg Video 1" }, 
    996  
    997     /* ATI VCR1 */ 
    998     { VLC_FOURCC('V','C','R','1'), CODEC_ID_VCR1, 
    999       VIDEO_ES, "ATI VCR1 Video" }, 
    1000  
    1001     /* Cirrus Logic AccuPak */ 
    1002     { VLC_FOURCC('C','L','J','R'), CODEC_ID_CLJR, 
    1003       VIDEO_ES, "Creative Logic AccuPak" }, 
    1004  
    1005     /* Real Video */ 
    1006     { VLC_FOURCC('R','V','1','0'), CODEC_ID_RV10, 
    1007       VIDEO_ES, "Real Video 10" }, 
    1008     { VLC_FOURCC('r','v','1','0'), CODEC_ID_RV10, 
    1009       VIDEO_ES, "Real Video 10" }, 
    1010     { VLC_FOURCC('R','V','1','3'), CODEC_ID_RV10, 
    1011       VIDEO_ES, "Real Video 13" }, 
    1012     { VLC_FOURCC('r','v','1','3'), CODEC_ID_RV10, 
    1013       VIDEO_ES, "Real Video 13" }, 
    1014 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(15<<8)+1) 
    1015     { VLC_FOURCC('R','V','2','0'), CODEC_ID_RV20, 
    1016       VIDEO_ES, "Real Video 20" }, 
    1017     { VLC_FOURCC('r','v','2','0'), CODEC_ID_RV20, 
    1018       VIDEO_ES, "Real Video 20" }, 
    1019 #endif 
    1020  
    1021     /* Apple Video */ 
    1022     { VLC_FOURCC('r','p','z','a'), CODEC_ID_RPZA, 
    1023       VIDEO_ES, "Apple Video" }, 
    1024     { VLC_FOURCC('a','z','p','r'), CODEC_ID_RPZA, 
    1025       VIDEO_ES, "Apple Video" }, 
    1026  
    1027     { VLC_FOURCC('s','m','c',' '), CODEC_ID_SMC, 
    1028       VIDEO_ES, "Apple graphics" }, 
    1029  
    1030  /* CINEPAK. We have our own decoder with an higher priority, 
    1031        but this can't harm */ 
    1032     { VLC_FOURCC('C','V','I','D'), CODEC_ID_CINEPAK, 
    1033       VIDEO_ES, "Cinepak Video" }, 
    1034     { VLC_FOURCC('c','v','i','d'), CODEC_ID_CINEPAK, 
    1035       VIDEO_ES, "Cinepak Video" }, 
    1036  
    1037     /* Screen Capture Video Codecs */ 
    1038     { VLC_FOURCC('t','s','c','c'), CODEC_ID_TSCC, 
    1039       VIDEO_ES, "TechSmith Camtasia Screen Capture Video" }, 
    1040     { VLC_FOURCC('T','S','C','C'), CODEC_ID_TSCC, 
    1041       VIDEO_ES, "TechSmith Camtasia Screen Capture Video" }, 
    1042  
    1043     { VLC_FOURCC('C','S','C','D'), CODEC_ID_CSCD, 
    1044       VIDEO_ES, "CamStudio Screen Codec" }, 
    1045     { VLC_FOURCC('c','s','c','d'), CODEC_ID_CSCD, 
    1046       VIDEO_ES, "CamStudio Screen Codec" }, 
    1047  
    1048     { VLC_FOURCC('Z','M','B','V'), CODEC_ID_ZMBV, 
    1049       VIDEO_ES, "DosBox Capture Codec" }, 
    1050  
    1051 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(13<<8)+0) 
    1052     { VLC_FOURCC('V','M','n','c'), CODEC_ID_VMNC, 
    1053       VIDEO_ES, "VMware Video" }, 
    1054 #endif 
    1055     { VLC_FOURCC('F','P','S','1'), CODEC_ID_FRAPS, 
    1056       VIDEO_ES, "FRAPS: Realtime Video Capture" }, 
    1057     { VLC_FOURCC('f','p','s','1'), CODEC_ID_FRAPS, 
    1058       VIDEO_ES, "FRAPS: Realtime Video Capture" }, 
    1059  
    1060     /* Duck TrueMotion */ 
    1061     { VLC_FOURCC('D','U','C','K'), CODEC_ID_TRUEMOTION1, 
    1062       VIDEO_ES, "Duck TrueMotion v1 Video" }, 
    1063     { VLC_FOURCC('T','M','2','0'), CODEC_ID_TRUEMOTION2, 
    1064       VIDEO_ES, "Duck TrueMotion v2.0 Video" }, 
    1065  
    1066     /* FFMPEG's SNOW wavelet codec */ 
    1067     { VLC_FOURCC('S','N','O','W'), CODEC_ID_SNOW, 
    1068       VIDEO_ES, "FFMpeg SNOW wavelet Video" }, 
    1069     { VLC_FOURCC('s','n','o','w'), CODEC_ID_SNOW, 
    1070       VIDEO_ES, "FFMpeg SNOW wavelet Video" }, 
    1071  
    1072     { VLC_FOURCC('r','l','e',' '), CODEC_ID_QTRLE, 
    1073       VIDEO_ES, "Apple QuickTime RLE Video" }, 
    1074  
    1075     { VLC_FOURCC('q','d','r','w'), CODEC_ID_QDRAW, 
    1076       VIDEO_ES, "Apple QuickDraw Video" }, 
    1077  
    1078     { VLC_FOURCC('Q','P','E','G'), CODEC_ID_QPEG, 
    1079       VIDEO_ES, "QPEG Video" }, 
    1080     { VLC_FOURCC('Q','1','.','0'), CODEC_ID_QPEG, 
    1081       VIDEO_ES, "QPEG Video" }, 
    1082     { VLC_FOURCC('Q','1','.','1'), CODEC_ID_QPEG, 
    1083       VIDEO_ES, "QPEG Video" }, 
    1084  
    1085     { VLC_FOURCC('U','L','T','I'), CODEC_ID_ULTI, 
    1086       VIDEO_ES, "IBM Ultimotion Video" }, 
    1087  
    1088     { VLC_FOURCC('V','I','X','L'), CODEC_ID_VIXL, 
    1089       VIDEO_ES, "Miro/Pinnacle VideoXL Video" }, 
    1090     { VLC_FOURCC('P','I','X','L'), CODEC_ID_VIXL, 
    1091       VIDEO_ES, "Pinnacle VideoXL Video" }, 
    1092  
    1093     { VLC_FOURCC('L','O','C','O'), CODEC_ID_LOCO, 
    1094       VIDEO_ES, "LOCO Video" }, 
    1095  
    1096     { VLC_FOURCC('W','N','V','1'), CODEC_ID_WNV1, 
    1097       VIDEO_ES, "Winnov WNV1 Video" }, 
    1098  
    1099     { VLC_FOURCC('A','A','S','C'), CODEC_ID_AASC, 
    1100       VIDEO_ES, "Autodesc RLE Video" }, 
    1101  
    1102     { VLC_FOURCC('I','V','2','0'), CODEC_ID_INDEO2, 
    1103       VIDEO_ES, "Indeo Video v2" }, 
    1104     { VLC_FOURCC('R','T','2','1'), CODEC_ID_INDEO2, 
    1105       VIDEO_ES, "Indeo Video v2" }, 
    1106  
    1107         /* Flash Screen Video */ 
    1108 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(11<<8)+0) 
    1109     { VLC_FOURCC('F','S','V','1'), CODEC_ID_FLASHSV, 
    1110               VIDEO_ES, "Flash Screen Video" }, 
    1111 #endif 
    1112    { VLC_FOURCC('K','M','V','C'), CODEC_ID_KMVC, 
    1113       VIDEO_ES, "Karl Morton's Video Codec (Worms)" }, 
    1114  
    1115 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(13<<8)+0) 
    1116     { VLC_FOURCC('N','U','V','1'), CODEC_ID_NUV, 
    1117       VIDEO_ES, "Nuppel Video" }, 
    1118     { VLC_FOURCC('R','J','P','G'), CODEC_ID_NUV, 
    1119       VIDEO_ES, "Nuppel Video" }, 
    1120 #endif 
    1121  
    1122 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(8<<8)+0) 
    1123     /* CODEC_ID_SMACKVIDEO */ 
    1124     { VLC_FOURCC('S','M','K','2'), CODEC_ID_SMACKVIDEO, 
    1125       VIDEO_ES, "Smacker Video" }, 
    1126     { VLC_FOURCC('S','M','K','4'), CODEC_ID_SMACKVIDEO, 
    1127       VIDEO_ES, "Smacker Video" }, 
    1128 #endif 
    1129  
    1130     /* Chinese AVS - Untested */ 
    1131 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(8<<8)+0) 
    1132     { VLC_FOURCC('C','A','V','S'), CODEC_ID_CAVS, 
    1133       VIDEO_ES, "Chinese AVS" }, 
    1134 #endif 
    1135  
    1136 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+0) 
    1137     /* Untested yet */ 
    1138     { VLC_FOURCC('A','V','d','n'), CODEC_ID_DNXHD, 
    1139       VIDEO_ES, "DNxHD" }, 
    1140 #endif 
    1141     { VLC_FOURCC('8','B','P','S'), CODEC_ID_8BPS, 
    1142       VIDEO_ES, "8BPS" }, 
    1143  
    1144 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(52<<8)+0) 
    1145     { VLC_FOURCC('M','L','2','O'), CODEC_ID_MIMIC, 
    1146       VIDEO_ES, "Mimic" }, 
    1147 #endif 
    1148  
    1149     /* Videogames Codecs */ 
    1150  
    1151     /* Interplay MVE */ 
    1152     { VLC_FOURCC('i','m','v','e'), CODEC_ID_INTERPLAY_VIDEO, 
    1153       VIDEO_ES, "Interplay MVE Video" }, 
    1154     { VLC_FOURCC('I','N','P','V'), CODEC_ID_INTERPLAY_VIDEO, 
    1155       VIDEO_ES, "Interplay MVE Video" }, 
    1156  
    1157     /* Id Quake II CIN */ 
    1158     { VLC_FOURCC('I','D','C','I'), CODEC_ID_IDCIN, 
    1159       VIDEO_ES, "Id Quake II CIN Video" }, 
    1160  
    1161     /* 4X Technologies */ 
    1162     { VLC_FOURCC('4','x','m','v'), CODEC_ID_4XM, 
    1163       VIDEO_ES, "4X Technologies Video" }, 
    1164     { VLC_FOURCC('4','X','M','V'), CODEC_ID_4XM, 
    1165       VIDEO_ES, "4X Technologies Video" }, 
    1166  
    1167     /* Id RoQ */ 
    1168     { VLC_FOURCC('R','o','Q','v'), CODEC_ID_ROQ, 
    1169       VIDEO_ES, "Id RoQ Video" }, 
    1170  
    1171     /* Sony Playstation MDEC */ 
    1172     { VLC_FOURCC('M','D','E','C'), CODEC_ID_MDEC, 
    1173       VIDEO_ES, "PSX MDEC Video" }, 
    1174  
    1175     /* Sierra VMD */ 
    1176     { VLC_FOURCC('v','m','d','v'), CODEC_ID_VMDVIDEO, 
    1177       VIDEO_ES, "Sierra VMD Video" }, 
    1178     { VLC_FOURCC('V','M','D','V'), CODEC_ID_VMDVIDEO, 
    1179       VIDEO_ES, "Sierra VMD Video" }, 
    1180  
    1181 #if 0 
    1182 /*    UNTESTED VideoGames*/ 
    1183     { VLC_FOURCC('W','C','3','V'), CODEC_ID_XAN_WC3, 
    1184       VIDEO_ES, "XAN wc3 Video" }, 
    1185     { VLC_FOURCC('W','C','4','V'), CODEC_ID_XAN_WC4, 
    1186       VIDEO_ES, "XAN wc4 Video" }, 
    1187     { VLC_FOURCC('S','T','3','C'), CODEC_ID_TXD, 
    1188       VIDEO_ES, "Renderware TeXture Dictionary" }, 
    1189     { VLC_FOURCC('V','Q','A','V'), CODEC_ID_WS_VQA, 
    1190       VIDEO_ES, "WestWood Vector Quantized Animation" }, 
    1191     { VLC_FOURCC('T','S','E','Q'), CODEC_ID_TIERTEXSEQVIDEO, 
    1192       VIDEO_ES, "Tiertex SEQ Video" }, 
    1193     { VLC_FOURCC('D','X','A','1'), CODEC_ID_DXA, 
    1194       VIDEO_ES, "Feeble DXA Video" }, 
    1195     { VLC_FOURCC('D','C','I','V'), CODEC_ID_DSICINVIDEO, 
    1196       VIDEO_ES, "Delphine CIN Video" }, 
    1197     { VLC_FOURCC('T','H','P','V'), CODEC_ID_THP, 
    1198       VIDEO_ES, "THP Video" }, 
    1199     { VLC_FOURCC('B','E','T','H'), CODEC_ID_BETHSOFTVID, 
    1200       VIDEO_ES, "THP Video" }, 
    1201     { VLC_FOURCC('C','9','3','V'), CODEC_ID_C93, 
    1202       VIDEO_ES, "THP Video" }, 
    1203 #endif 
    1204  
    1205     /* 
    1206      *  Image codecs 
    1207      */ 
    1208     { VLC_FOURCC('p','n','g',' '), CODEC_ID_PNG, 
    1209       VIDEO_ES, "PNG Image" }, 
    1210     { VLC_FOURCC('p','p','m',' '), CODEC_ID_PPM, 
    1211       VIDEO_ES, "PPM Image" }, 
    1212     { VLC_FOURCC('p','g','m',' '), CODEC_ID_PGM, 
    1213       VIDEO_ES, "PGM Image" }, 
    1214     { VLC_FOURCC('p','g','m','y'), CODEC_ID_PGMYUV, 
    1215       VIDEO_ES, "PGM YUV Image" }, 
    1216     { VLC_FOURCC('p','a','m',' '), CODEC_ID_PAM, 
    1217       VIDEO_ES, "PAM Image" }, 
    1218     { VLC_FOURCC('M','J','L','S'), CODEC_ID_JPEGLS, 
    1219       VIDEO_ES, "PAM Image" }, 
    1220  
    1221 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(0<<8)+0) 
    1222     { VLC_FOURCC('b','m','p',' '), CODEC_ID_BMP, 
    1223       VIDEO_ES, "BMP Image" }, 
    1224 #endif 
    1225  
    1226 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+1) 
    1227     { VLC_FOURCC('t','i','f','f'), CODEC_ID_TIFF, 
    1228       VIDEO_ES, "TIFF Image" }, 
    1229     { VLC_FOURCC('g','i','f',' '), CODEC_ID_GIF, 
    1230       VIDEO_ES, "GIF Image" }, 
    1231     { VLC_FOURCC('t','g','a',' '), CODEC_ID_TARGA, 
    1232       VIDEO_ES, "Truevision Targa Image" }, 
    1233     { VLC_FOURCC('m','t','g','a'), CODEC_ID_TARGA, 
    1234       VIDEO_ES, "Truevision Targa Image" }, 
    1235     { VLC_FOURCC('M','T','G','A'), CODEC_ID_TARGA, 
    1236       VIDEO_ES, "Truevision Targa Image" }, 
    1237 #endif 
    1238 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+3) 
    1239     { VLC_FOURCC('s','g','i',' '), CODEC_ID_SGI, 
    1240       VIDEO_ES, "SGI Image" }, 
    1241 #endif 
    1242  
    1243     /* 
    1244      *  Audio Codecs 
    1245      */ 
    1246  
    1247     /* Windows Media Audio 1 */ 
    1248     { VLC_FOURCC('W','M','A','1'), CODEC_ID_WMAV1, 
    1249       AUDIO_ES, "Windows Media Audio 1" }, 
    1250     { VLC_FOURCC('w','m','a','1'), CODEC_ID_WMAV1, 
    1251       AUDIO_ES, "Windows Media Audio 1" }, 
    1252  
    1253     /* Windows Media Audio 2 */ 
    1254     { VLC_FOURCC('W','M','A','2'), CODEC_ID_WMAV2, 
    1255       AUDIO_ES, "Windows Media Audio 2" }, 
    1256     { VLC_FOURCC('w','m','a','2'), CODEC_ID_WMAV2, 
    1257       AUDIO_ES, "Windows Media Audio 2" }, 
    1258  
    1259     /* DV Audio */ 
    1260     { VLC_FOURCC('d','v','a','u'), CODEC_ID_DVAUDIO, 
    1261       AUDIO_ES, "DV Audio" }, 
    1262  
    1263     /* MACE-3 Audio */ 
    1264     { VLC_FOURCC('M','A','C','3'), CODEC_ID_MACE3, 
    1265       AUDIO_ES, "MACE-3 Audio" }, 
    1266  
    1267     /* MACE-6 Audio */ 
    1268     { VLC_FOURCC('M','A','C','6'), CODEC_ID_MACE6, 
    1269       AUDIO_ES, "MACE-6 Audio" }, 
    1270  
    1271 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(41<<8)+1) 
    1272     /* MUSEPACK7 Audio */ 
    1273     { VLC_FOURCC('M','P','C',' '), CODEC_ID_MUSEPACK7, 
    1274       AUDIO_ES, "MUSEPACK7 Audio" }, 
    1275 #endif 
    1276 #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(48<<8)+0) 
    1277     /* MUSEPACK8 Audio */ 
    1278     { VLC_FOURCC('M','P','C','K'), CODEC_ID_MUSEPACK8, 
    1279       AUDIO_ES, "MUSEPACK8 Audio" }, 
    1280     { VLC_FOURCC('M','P','C','8'), CODEC_ID_MUSEPACK8, 
    1281       AUDIO_ES, "MUSEPACK8 Audio" }, 
    1282 #endif 
    1283  
    1284     /* RealAudio 1.0 */ 
    1285     { VLC_FOURCC('1','4','_','4'), CODEC_ID_RA_144, 
    1286       AUDIO_ES, "RealAudio 1.0" }, 
    1287     { VLC_FOURCC('l','p','c','J'), CODEC_ID_RA_144, 
    1288       AUDIO_ES, "RealAudio 1.0" }, 
    1289  
    1290     /* RealAudio 2.0 */ 
    1291     { VLC_FOURCC('2','8','_','8'), CODEC_ID_RA_288, 
    1292       AUDIO_ES, "RealAudio 2.0" }, 
    1293  
    1294     /* MPEG Audio layer 1/2/3 */ 
    1295     { VLC_FOURCC('m','p','g','a'), CODEC_ID_MP2, 
    1296       AUDIO_ES, "MPEG Audio layer 1/2" }, 
    1297     { VLC_FOURCC('m','p','3',' '), CODEC_ID_MP3, 
    1298       AUDIO_ES, "MPEG Audio layer 1/2/3" }, 
    1299     { VLC_FOURCC('.','m','p','3'), CODEC_ID_MP3, 
    1300       AUDIO_ES, "MPEG Audio layer 1/2/3" }, 
    1301     { VLC_FOURCC('M','P','3',' '), CODEC_ID_MP3, 
    1302       AUDIO_ES, "MPEG Audio layer 1/2/3" }, 
    1303     { VLC_FOURCC('L','A','M','E'), CODEC_ID_MP3, 
    1304       AUDIO_ES, "MPEG Audio layer 1/2/3" }, 
    1305  
    1306     /* A52 Audio (aka AC3) */ 
    1307     { VLC_FOURCC('a','5','2',' '), CODEC_ID_AC3, 
    1308       AUDIO_ES, "A52 Audio (aka AC3)" }, 
    1309     { VLC_FOURCC('a','5','2','b'), CODEC_ID_AC3, /* VLC specific hack */ 
    1310       AUDIO_ES, "A52 Audio (aka AC3)" }, 
    1311  
    1312     /* DTS Audio */ 
    1313     { VLC_FOURCC('d','t','s',' '), CODEC_ID_DTS, 
    1314       AUDIO_ES, "DTS Audio" }, 
    1315  
    1316     /* AAC audio */ 
    1317     { VLC_FOURCC('m','p','4','a'), CODEC_ID_AAC, 
    1318       AUDIO_ES, "MPEG AAC Audio" }, 
    1319  
    1320     /* AC-3 Audio (Dolby Digital) */ 
    1321     { VLC_FOURCC('a','c','-','3'), CODEC_ID_AC3, 
    1322       AUDIO_ES, "AC-3 Audio (Dolby Digital)" }, 
    1323  
    1324     /* 4X Technologies */ 
    1325