;=============================================================================
;  Default codecs config file. It replaces the old codecs.c file!
;  Before editing this file, please read DOCS/tech/codecs.conf.txt !
;=============================================================================

release 20021016

;=============================================================================
;                   VIDEO CODECS
;=============================================================================

; mpeg 1/2 decoding:
; Note: mpegpes is preferred for hw decoders:

videocodec mpegpes
  info "Mpeg PES output (.mpg or Dxr3/DVB card)"
  comment "for hardware decoding"
  status working
  format 0x10000001  ; mpeg 1
  format 0x10000002  ; mpeg 2
  driver mpegpes
  out MPES

videocodec mpeg12
  info "MPEG 1 or 2"
  comment "with postprocessing"
  status working
  format 0x10000001  ; mpeg 1
  format 0x10000002  ; mpeg 2
  driver libmpeg2
  dll "libmpeg2"
  out YV12,I420,IYUV

videocodec ffmpeg12
  info "FFmpeg MPEG 1/2"
  status working
  format 0x10000001  ; mpeg 1
  format 0x10000002  ; mpeg 2
  fourcc mpg1,mpg2
  fourcc PIM1
  driver ffmpeg
  dll "mpegvideo"
  out YV12,I420,IYUV

; we have only native opensource codecs for these:

videocodec nuv
  info "NuppelVideo"
  status working
  fourcc NUV1
  driver nuv
  out I420,IYUV

videocodec mpng
  info "PNG images decoder"
  status working
  comment "Gray scaled PNG with Alpha channel not supported"
  fourcc mpng,MPNG
  dll "libpng"
  driver mpng
  out BGR32,BGR24

videocodec mtga
  info "TGA images decoder"
  status working
  comment "Only 24bpp and 32bpp RGB TGA files supported"
  fourcc mtga,MTGA
  driver mtga
  out BGR32,BGR24

videocodec fli
  info "Autodesk FLI/FLC Animation"
  status working
  comment "FLIC is an internal MPlayer FOURCC"
  fourcc FLIC
  driver fli
  out BGR32,BGR24

videocodec qtrle
  info "Quicktime Animation (RLE)"
  status working
  format 0x20656C72 ; "rle "
  driver qtrle
  out BGR32,BGR24,BGR15 query

videocodec qtrpza
 info "Quicktime Apple Video"
 status working
 fourcc rpza,azpr
 driver qtrpza
 out BGR32,BGR24,BGR15

videocodec qtsmc
  info "Apple Graphics (SMC) codec"
  status working
  format 0x20636d73 ; "smc "
  driver qtsmc
  out BGR32,BGR24

videocodec cyuv
  info "Creative YUV (native codec)"
  status working
  fourcc cyuv,CYUV
  driver cyuv
  out 411P
  out YUY2,UYVY
  out 422P

videocodec msrle
  info "Microsoft RLE"
  status working
  format 0x1
  format 0x2
  driver msrle
  out BGR32,BGR24,BGR16,BGR15

videocodec roqvideo
  info "Id RoQ File Video Decoder"
  status buggy
  comment "RoQV is an internal MPlayer FOURCC"
  fourcc RoQV
  driver roqvideo
  out YV12

videocodec lzo
  info "LZO compressed"
  status working
  fourcc LZO1
  driver lzo
  dll "liblzo"
  out YV12,I420
  out BGR24 flip

; prefer native codecs over win32?
; the win32 codecs probably are (better) optimized and support direct
; rendering, so this may be not the best idea...

;WIN32:

videocodec cram
  info "Microsoft Video 1"
  comment "-vop palette required for 8bpp"
  status buggy
  fourcc cram,CRAM CRAM
  fourcc msvc,MSVC CRAM
  fourcc wham,WHAM CRAM
  driver vfw
  dll "msvidc32.dll"
  out BGR24,BGR15,BGR8 static,query

videocodec cvidvfw
  info "Cinepak Video"
  status working
  fourcc cvid
  driver vfw
  dll "iccvid.dll"
;  out YUY2
;  out UYVY
  out BGR24,BGR15 static

videocodec huffyuv
  info "HuffYUV"
  status buggy
  fourcc HFYU
  driver vfw
  dll "huffyuv.dll"
  out YUY2 flip,noflip,query
;  out UYVY flip
  out BGR32,BGR24 flip,query

;NATIVE:

videocodec svq1
  info "Sorenson v1 (native codec)"
  status buggy
  fourcc SVQ1
  driver svq1
  out YVU9

videocodec video1
  info "Microsoft Video 1 (native codec)"
  status working
  fourcc cram,CRAM
  fourcc msvc,MSVC
  fourcc wham,WHAM
  driver msvidc
  out BGR32,BGR24

videocodec cvid
  info "Cinepak Video (native codec)"
  status working
  fourcc cvid,CVID
  driver cinepak
  out YV12,I420,IYUV
  out YUY2
  out BGR32,BGR24

videocodec mphuffyuv
  info "HuffYUV (native codec)"
  status working
  fourcc HFYU
  driver huffyuv
  out YUY2
  out BGR32,BGR24

videocodec mpmszh
  info "AVImszh (native codec)"
  status working
  fourcc MSZH
  driver lcl
  out BGR24

videocodec mpzlib
  info "AVIzlib (native codec)"
  status working
  fourcc ZLIB
  driver lcl
  out BGR24

;XAnim (slow):

videocodec cvidxa
  info "XAnim's Radius Cinepak Video"
  status buggy
  fourcc cvid
  driver xanim
  dll "vid_cvid.xa"
  out YV12,IYUV,I420 static

; time to decide what to do with the mpeg4/divx variants...
; ff* is fastest...

videocodec ffsvq1
  info "FFmpeg Sorenson Video v1"
  status working
  fourcc SVQ1
  driver ffmpeg
  dll svq1
  out YVU9

videocodec ffdivx
  info "FFmpeg DivX ;-) (MS MPEG-4 v3)"
  status working
  fourcc MPG3,mpg3 div3
  fourcc MP43,mp43 div3   ; M$ MPEG4 v3   (fourcc mapping to div3)
  fourcc DIV5,div5 div3   ; DivX 3.20 
  fourcc DIV6,div6 div4   ;   -||-
  fourcc DIV3,div3,DIV4,div4
  fourcc AP41 div3	  ; AngelPotion stuff
  fourcc COL1,col1,COL0,col0 ; Cool codec (based on mpg4ds32.ax)
  fourcc 3IVD,3ivd    ; divxdoctored files (3ivx.com) 
  driver ffmpeg
  dll msmpeg4
  out YV12,I420,IYUV
  
videocodec ffmp42
  info "FFmpeg M$ MPEG-4 v2"
  status working
  fourcc DIV2,div2 mp42
  fourcc MP42,mp42
  driver ffmpeg
  dll msmpeg4v2
  out YV12,I420,IYUV

videocodec ffmp41
  info "FFmpeg M$ MPEG-4 v1"
  status working
  fourcc DIV1,div1 mpg4
  fourcc MPG4,mpg4
  driver ffmpeg
  dll msmpeg4v1
  out YV12,I420,IYUV

videocodec ffwmv1
  info "FFmpeg M$ WMV1/WMV7"
  status working
  fourcc WMV1,wmv1
  driver ffmpeg
  dll wmv1
  out YV12,I420,IYUV

videocodec ffodivx
  info "FFmpeg MPEG-4"
  status working
  fourcc DIVX,divx
  fourcc DIV1,div1 divx
  fourcc MP4S,mp4s	; ISO MPEG-4 Video V1
  fourcc M4S2,m4s2
  fourcc xvid,XVID,XviD
  fourcc DX50,BLZ0 DX50
  fourcc mp4v
  format 0x4
  fourcc UMP4
  fourcc 3IV2,3iv2  ; 3ivx Delta 4   
  driver ffmpeg
  dll mpeg4 ;opendivx
  out YV12,I420,IYUV

videocodec xvid
  info "Xvid (MPEG-4)"
  status working
  fourcc DIVX,divx
  fourcc xvid,XVID,XviD
  format 0x4
  driver xvid
  out YV12
  out I420
  out YUY2
  out UYVY
  out YVYU
  out BGR32,BGR24,BGR16,BGR15

; divx4 does direct render, and is native on linux

videocodec odivx
  info "OpenDivX API (ODIVX,DIVX4,DIVX5,XVID)"
  comment "with postprocessing"
  status working
  fourcc mp4v
  fourcc DIVX,divx
  fourcc DIV1,div1 divx
;  fourcc MP4S,mp4s	; ISO MPEG-4 Video V1
  fourcc MP43,mp43,DIV3,div3,DIV4,div4 DIV3  ; for DivX4Linux only!
  fourcc AP41 DIV3	  ; AngelPotion stuff
  fourcc xvid,XVID,XviD
  fourcc DX50,BLZ0 DX50
  format 0x4
  driver odivx
  dll "libdivxdecore.0"
  out YV12,I420,IYUV

videocodec divx4
  info "DivX4Linux API (DIVX4,DIVX5,XVID)"
  comment "with postprocessing"
  status working
  fourcc mp4v
  fourcc DIVX,divx
  fourcc DIV1,div1 divx
;  fourcc MP4S,mp4s	; ISO MPEG-4 Video V1
  fourcc MP43,mp43,DIV3,div3,DIV4,div4 DIV3  ; for DivX4Linux only!
  fourcc AP41 DIV3	  ; AngelPotion stuff
  fourcc xvid,XVID,XviD
  fourcc DX50,BLZ0 DX50
  format 0x4
  driver divx4
  dll "libdivxdecore.0"
;  out I420 ; planar direct rendering
  out YUY2
  out UYVY
  out BGR32,BGR24,BGR16,BGR15

; is divx4vfw stable enough, working everywhere and faster than divxds?

videocodec divx4vfw
  info "DivX4Windows-VFW"
  status buggy
  comment "sig11 with -framedrop"
  fourcc DIVX,divx        ; opendivx / divx4
  fourcc DIV1,div1 divx
;  fourcc MP4S,mp4s	  ; ISO MPEG-4 Video V1
  fourcc MP43,mp43,DIV3,div3,DIV4,div4 DIV3  ; for DivX4Linux only!
  fourcc AP41 DIV3	  ; AngelPotion stuff
  format 0x4
  driver vfw
  dll "divx.dll"
;  out YV12   ; buggy
  out YUY2
  out BGR32,BGR24,BGR15

; the original ones...  prefer DShow for postprocessing:

videocodec divxds
  info "DivX ;-) (MS MPEG-4 v3)"
  comment "with postprocessing"
  status working
  fourcc MP43,mp43 div3   ; fourcc mapping to div3
  fourcc DIV5,div5 div3
  fourcc DIV6,div6 div4
  fourcc DIV3,div3,DIV4,div4
  fourcc AP41 div3	  ; AngelPotion stuff
  driver dshow
  dll "divx_c32.ax"
  guid 0x82CCd3E0, 0xF71A, 0x11D0, 0x9f, 0xe5, 0x00, 0x60, 0x97, 0x78, 0xaa, 0xaa
  out YUY2,UYVY
  out BGR32,BGR24,BGR16,BGR15

videocodec divx
  info "DivX ;-) (MS MPEG-4 v3)"
  status working
  fourcc MP43,mp43 div3   ; M$ MPEG4 v3   (fourcc mapping to div3)
  fourcc DIV5,div5 div3   ; DivX 3.20 
  fourcc DIV6,div6 div4   ;   -||-
  fourcc DIV3,div3,DIV4,div4
  fourcc AP41 div3	  ; AngelPotion stuff
  driver vfw
  dll "divxc32.dll"
  out YUY2 yuvhack
  out BGR32,BGR24,BGR15
  
; hmm. we should check, maybe these are/will be playable with libavcodec:

videocodec mpeg4ds
  info "Microsoft MPEG-4 v1/v2"
  status working
  comment "with postprocessing"
  fourcc DIV2,div2 mp42
  fourcc MP4S,mp4s	; ISO MPEG-4 Video V1
  fourcc MPG4,mpg4
  fourcc MP42,mp42
  driver dshow
  dll "mpg4ds32.ax"
  guid 0x82CCD3E0, 0xF71A, 0x11D0, 0x9F, 0xE5, 0x00, 0x60, 0x97, 0x78, 0xEA, 0x66
  out YUY2
  out BGR32,BGR24,BGR16,BGR15

videocodec mpeg4
  info "Microsoft MPEG-4 v1/v2"
  status working
  fourcc MPG4,mpg4
  fourcc MP42,mp42
  fourcc DIV2 mp42
  driver vfw
  dll "mpg4c32.dll"
  out YUY2 yuvhack
  out BGR32,BGR24,BGR15

videocodec wmv8
  info "Windows Media Video 8"
  status working
  fourcc WMV2
  driver dshow
  dll "wmv8ds32.ax"
  guid 0x521fb373, 0x7654, 0x49f2, 0xbd, 0xb1, 0x0c, 0x6e, 0x66, 0x60, 0x71, 0x4f
  out YV12,I420,IYUV
  out YUY2,UYVY
  out BGR32,BGR24,BGR16,BGR15

videocodec wmv7
  info "Windows Media Video 7"
  status working
  fourcc WMV1
  driver dshow
  dll "wmvds32.ax"
  guid 0x4facbba1, 0xffd8, 0x4cd7, 0x82, 0x28, 0x61, 0xe2, 0xf6, 0x5c, 0xb1, 0xae
  out YUY2,UYVY
  out BGR32,BGR24,BGR16,BGR15

videocodec ubmp4
  info "UB Video MPEG 4"
  status buggy
  fourcc mp4v UMP4 ; black&white, sometimes buggy too
  fourcc UMP4
  driver vfw
  dll "ubvmp4d.dll"
  out I420
  out UYVY


; mjpegs:
; Notes: m3jpeg+mjpeg are mmx optimized. avid is very stable but slow.
; ijpg only decodes jpeg images (no mjpg), and slow. ffmjpeg is buggy.
; Update: ffmjpeg is almost perfect now, prefer it to others.

; fails only with Spectralfan.mov (marker bug?) & imgp1066.avi (0x0 size)
videocodec ffmjpeg
  info "FFmpeg MJPEG decoder"
  status working
  fourcc MJPG,mjpg
  fourcc AVRn,AVDJ  ; AVID
  fourcc jpeg ; photo-jpeg
  fourcc mjpa ; Apple MJPEG-A (Quicktime)
  fourcc JFIF ; SMJPEG (Loki)
  driver ffmpeg
  dll mjpeg
  out 422P
  out YUY2  ; queryed (conversion from yuv422p)
  out YV12,I420,IYUV

; slow. usable only for standalone jpegs, like -mf, avid or photojpeg:
videocodec ijpg
  info "Independent JPEG Group's codec"
  status working
  fourcc ijpg,IJPG   ; -mf type=jpeg
  fourcc jpeg        ; MOV Photo Jpeg
  fourcc AVRn,AVDJ  ; AVID
  driver ijpg
  dll libjpeg
  out RGB24,BGR24,BGR32

; http://www.morgan-multimedia.com/dev/codec_spec.htm
videocodec m3jpeg
  info "Morgan Motion JPEG Codec"
  status working
  fourcc MJPG
  fourcc mjpa,mjpb,mjpg MJPG  ; MOV files
  fourcc dmb1 MJPG            ; MJPEG by Matrox Rainbow Runner
  driver vfw
  dll "m3jpeg32.dll"
;  out YV12,I420
  out YUY2,UYVY
  out BGR32,BGR24,BGR15

videocodec mjpeg
  info "MainConcept Motion JPEG"
  status working
  fourcc MJPG
  fourcc mjpa,mjpb,mjpg MJPG  ; MOV files
;  fourcc AVRn,AVDJ MJPG ; AVID (sometimes buggy)
  driver vfw
  dll "mcmjpg32.dll"
  out YUY2,UYVY
  out BGR32,BGR24,BGR15

videocodec avid
  info "AVID Motion JPEG"
  status working
  comment "slooooooooow but stable"
  fourcc AVRn
  fourcc AVDJ AVRn
  fourcc MJPG,mjpg AVRn
  driver vfw
  dll "AvidAVICodec.dll"
  out BGR24 flip

videocodec LEAD
  info "LEAD (M)Jpeg"
  status working
  comment "supports interlaced MJPEG"
  fourcc MJPG
  fourcc jpeg MJPG  ; MOV Photo Jpeg
  driver vfw
  dll "LCodcCMP.dll"
  out BGR24,BGR15

; http://www.morgan-multimedia.com/dev/directshow_dec_spec.htm
videocodec m3jpegds
  info "Morgan MJPEG"
  status crashing
  fourcc MJPG mjpg
  fourcc mjpa,mjpb,mjpg mjpg  ; MOV files
  fourcc dmb1 mjpg            ; MJPEG by Matrox Rainbow Runner
  driver dshow
  dll "m3jpegdec.ax"
  guid 0x6988b440, 0x8352, 0x11d3, 0x9b, 0xda, 0xca, 0x86, 0x73, 0x7c, 0x71, 0x68
  out I420
  out YUY2,UYVY
  out BGR32,BGR24,BGR16,BGR15

videocodec pegasusm
  info "Pegasus Motion JPEG"
  status buggy
  fourcc MJPG
  driver vfw
;  dll "pvmjpg20.dll"	; v2.0
  dll "pvmjpg21.dll"	; v2.1
  out BGR24 flip

videocodec pegasusl
  info "Pegasus Lossless JPEG"
  status buggy
  fourcc JPGL
  fourcc MJPG JPGL
  driver vfw
  dll "pvljpg20.dll"
  out BGR24 flip

videocodec pegasusmwv
  info "Pegasus Motion Wavelet 2000"
  status buggy
  fourcc PVW2
  driver vfw
  dll "pvwv220.dll"
  out BGR24 flip

; h263: - I don't know. comments?

videocodec vivo
  info "Vivo H.263"
  status working
  fourcc VIVO,vivo vivo
  fourcc viv1,viv2 vivo
  driver vfw
  dll "ivvideo.dll"
  out BGR32,BGR24,BGR15 flip
  in BGR24

videocodec u263
  info "UB Video H.263/H.263+/H.263++ Decoder"
  status working
  fourcc U263
  fourcc vivo,VIVO U263
  fourcc viv1 U263
  driver dshow
  dll "ubv263d+.ax"
  guid 0x00af1181, 0x6ebb, 0x11d4, 0x9d, 0x5a, 0x00, 0x50, 0x04, 0x79, 0x6c, 0xc0
;  out UYVY
; BGR32,BGR16,BGR15 seems to work too
  out BGR24 flip

videocodec i263
  info "I263"
  status working
  fourcc I263,i263,I420,i420
  fourcc vivo,VIVO I263
  fourcc viv1 I263
  driver vfw
  dll "i263_32.drv"
  out I420
  out YUY2
  out BGR32,BGR24,BGR15

videocodec ffi263
  info "FFmpeg I263 decoder"
  status working
  fourcc I263,i263
  driver ffmpeg
  dll h263i
  out YV12,I420,IYUV

videocodec ffh263
  info "FFmpeg H263+ decoder"
  status working
  fourcc H263,U263,h263
  fourcc viv1 h263
  driver ffmpeg
  dll h263
  out YV12,I420,IYUV

videocodec h263xa
  info "XAnim's CCITT H.263"
  status crashing
  fourcc H263,h263
  fourcc viv1 H263
  fourcc VIVO,vivo H263
  driver xanim
  dll "vid_h263.xa"
  out YV12,IYUV,I420

videocodec h261xa
  info "XAnim's CCITT H.261"
  status untested
  fourcc H261,h261
  driver xanim
  dll "vid_h261.xa"
  out YV12,IYUV,I420

videocodec m261
  info "M261"
  status untested
  fourcc m261,M261
  driver vfw
  dll "msh261.drv"
  out BGR32,BGR24,BGR15

; indeo:
; Note: indeo 3 is buggy, both xanim (bad decoding) and VfW (not work with DR)
; Prefer win32 ones, they are faster, and 4/5 can DR. for fallback, there are
; Xanim codecs, they provide YV12, useful for YUV display or encoding.

videocodec indeo5ds
  info "Intel Indeo 5"
  status working
  fourcc IV50,iv50
  driver dshow
  dll "ir50_32.dll"
  guid 0x30355649, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
  out YV12,IYUV,I420
  out YUY2,UYVY
  out BGR32,BGR24,BGR16,BGR15

videocodec indeo5
  info "Intel Indeo 5"
  status working
  fourcc IV50,iv50
  driver vfwex
  dll "ir50_32.dll"
;  out YV12,I420   ; flickering
  out YUY2
  out BGR32,BGR24,BGR15

videocodec indeo4
  info "Intel Indeo 4.1"
  status working
  fourcc IV41,iv41
  driver vfw
  dll "ir41_32.dll"
  out IF09
  out BGR24,BGR15
  in YVU9

videocodec indeo3
  info "Intel Indeo 3.1/3.2"
  status working
  fourcc IV31,iv31
  fourcc IV32,iv32
  driver vfwex
  dll "ir32_32.dll"
  out IF09
  out BGR24,BGR15 flip,static
  in YVU9

videocodec indeo5xa
  info "XAnim's Intel Indeo 5"
  status working
  fourcc IV50,iv50
  driver xanim
  dll "vid_iv50.xa"
  out YVU9

videocodec indeo4xa
  info "XAnim's Intel Indeo 4.1"
  status working
  fourcc IV41,iv41
  driver xanim
  dll "vid_iv41.xa"
  out YVU9

videocodec indeo3xa
  info "XAnim's Intel Indeo 3.1/3.2"
  status working
  fourcc IV31,iv31
  fourcc IV32,iv32
  driver xanim
  dll "vid_iv32.xa"
  out YVU9

; DV:  qdv is more stable...  libdv is slow, mcdv is unstable

videocodec qdv
  info "Sony Digital Video (DV)"
  status working
  fourcc dvsl,dvsd,dvhd  ; ????
  fourcc DVSD dvsd   ; pal .avi
  fourcc "dvcp" dvsd ; pal .mov
  fourcc "dvc " dvsd ; ntsc .mov
  driver dshow
  dll "qdv.dll"
  guid 0xB1B77C00, 0xC3E4, 0x11CF, 0xAF, 0x79, 0x00, 0xAA, 0x00, 0xB6, 0x7A, 0x42
  out YUY2
  out UYVY
  out BGR24,BGR16,BGR15 ; BGR32 is buggy, at least with one sample

videocodec ffdv
  info "Raw DV decoder using libavcodec"
  status working
  fourcc DVSD,dvsd   ; PAL
  fourcc DVCS,dvcs   ; NTSC ?
  fourcc "dvcp"      ; PAL DV in .mov
  fourcc "dvc "      ; NTSC DV in .mov
  driver ffmpeg
  dll dvvideo
  out 411P,YV12

videocodec libdv
  info "Raw DV decoder using libdv"
  status working
  fourcc DVSD,dvsd   ; PAL
  fourcc DVCS,dvcs   ; NTSC ?
  fourcc "dvcp"      ; PAL DV in .mov
  fourcc "dvc "      ; NTSC DV in .mov
  driver libdv
  out YUY2

; note: it crashes with pond.dv :(
videocodec mcdv
  info "MainConcept DV Codec"
  status working
  fourcc DVSD,dvsd   ; PAL
  fourcc DVCS,dvcs   ; NTSC ?
  fourcc CDVC,cdvc   ; ???
  fourcc "dvcp" dvsd ; PAL DV in .mov
  fourcc "dvc " dvcs ; NTSC DV in .mov
  driver vfw
  dll "mcdvd_32.dll"
  out YUY2
  out UYVY
  out BGR32,BGR24,BGR15

; 3ivx:

videocodec 3ivXxa
  info "XAnim's 3ivX Delta 3.5 plugin"
  status working
  fourcc 3IV1
  driver xanim
  dll "vid_3ivX.xa"
  out YV12,IYUV,I420

videocodec 3ivX
  info "3ivX Delta 3.5"
  status crashing
  fourcc 3IV1
  driver dshow
  dll "3ivxdmo.dll"
  guid 0x0E6772C0, 0xDD80, 0x11D4, 0xB5, 0x8f, 0xA8, 0x6B, 0x66, 0xd0, 0x61, 0x1c
  out YV12
  out YUY2
  out BGR32,BGR24,BGR16,BGR15

; experimental real video decoder using closed source codecs

videocodec rv40
  info "Linux RealPlayer 9 RV40 decoder"
  status working
  fourcc RV40,rv40
  driver realvid
  dll "drv4.so.6.0"
  out I420

videocodec rv30
  info "Linux RealPlayer 8 RV30 decoder"
  status working
  fourcc RV30,rv30
  driver realvid
  dll "drv3.so.6.0"
  out I420

videocodec rv30win
  info "Win32 RealPlayer 8 RV30 decoder"
  status crashing
  fourcc RV30,rv30
  driver realvid
  dll "drv33260.dll"
  out I420

videocodec rv20
  info "Linux RealPlayer 8 RV20 decoder"
  status working
  fourcc RV20,rv20
  driver realvid
  dll "drv2.so.6.0"
  out I420

; others:

videocodec ffrv10
  info "FFmpeg RV10 decoder"
  status working
  fourcc RV10,rv10
  fourcc RV13,rv13
  driver ffmpeg
  dll rv10
  out YV12,I420,IYUV

videocodec vp3
  info "On2 OpenSource VP3-Codec"
  status working
  comment "For SSE-systems use hacked dll from ftp://mplayerhq.hu/MPlayer/samples/drivers32/"
  fourcc VP30,vp30,VP31,vp31
  flags align16
  driver vfwex
  dll "vp31vfw.dll"
  out YUY2
  out BGR32,BGR24,BGR15

videocodec mwv1
  info "Motion Wavelets"
  status working
  fourcc MWV1
  driver vfw
  dll "icmw_32.dll"
  out BGR24,BGR15 flip

videocodec asv2
  info "ASUS V2"
  status working
  fourcc ASV2
  driver vfw
  dll "asusasv2.dll"
  out UYVY
  out BGR32,BGR24,BGR15 flip

videocodec asv1
  info "ASUS V1"
  status working
  fourcc ASV1
  driver vfw
  dll "asusasvd.dll"
  out UYVY
  out BGR32,BGR24,BGR15 flip

videocodec mss1
  info "Windows Screen Video"
  status working
  fourcc MSS1
  driver dshow
  dll "msscds32.ax"
  guid 0x3301a7c4, 0x0a8d, 0x11d4, 0x91, 0x4d, 0x00, 0xc0, 0x4f, 0x61, 0x0d, 0x24
  out BGR32,BGR24,BGR16,BGR15

; CLRVIDDC.DLL needed too, with uppercase
videocodec ucod
  info "UCOD-ClearVideo"
  status working
  fourcc UCOD
  driver vfw
  dll "clrviddd.dll"
  out UYVY
  out BGR32,BGR24,BGR15 flip

videocodec vcr2
  info "ATI VCR-2"
  status working
  fourcc VCR2
  driver vfw
  dll "ativcr2.dll"
  out YV12
  out BGR24

videocodec CJPG
  info "CJPG"
  status untested
  comment "need sample files (this dll is decompression only!)"
  fourcc CJPG
  driver vfw
  dll "CtWbJpg.DLL"
  out YUY2
  out UYVY
  out BGR24,BGR15

; our BGR15->BGR32 is bad or the DLL?
videocodec tm20
  info "TrueMotion 2.0"
  status working
  comment "YUV faulting"
  fourcc TM20
  driver dshow
  dll "tm20dec.ax"
  guid 0x4cb63e61, 0xc611, 0x11D0, 0x83, 0xaa, 0x00, 0x00, 0x92, 0x90, 0x01, 0x84
  out BGR32,BGR24,BGR16

videocodec sp5x
  info "SP5x codec - used by Aiptek MegaCam"
  status working
  fourcc SP53,SP54,SP55,SP56,SP57,SP58
  driver vfw
  dll "sp5x_32.dll"
  out BGR24,BGR15


; buggy codecs:  (any volunteers for native rewrite?)

videocodec zlib
  info "AVIzlib"
  status working
  comment "24bpp only"
  fourcc ZLIB
  driver vfw
  dll "avizlib.dll"
  out BGR24 flip

videocodec mszh
  info "AVImszh"
  status working
  comment "24bpp only"
  fourcc MSZH
  driver vfw
  dll "avimszh.dll"
;  out YUY2
;  out BGR32,BGR24,BGR15
  out BGR24

videocodec alaris
  info "Alaris VideoGramPiX"
; http://www.alaris.com/movies/toocool.vgm
; Martin Schuster <schuster@ap.univie.ac.at>
  status crashing
  comment "only produces strange patterns"
  fourcc VGPX,VTLP VGPX
  driver vfwex
  dll "vgpix32d.dll"
  out UYVY
  out BGR24


; non-working codecs:

videocodec vcr1
  info "ATI VCR-1"
  status crashing
  fourcc VCR1
  driver vfw
  dll "ativcr1.dll"
  out RGB24 flip

videocodec pim1
  info "PIM1"
  status crashing
  comment "no picture. use ffmpeg12!"
  fourcc PIM1
  driver vfw
  dll "pclepim1.dll"
  out BGR24 flip
;  out I420
;  out YUY2
;  out BGR32,BGR24,BGR16,BGR15

videocodec qpeg
  info "Q-Team's QPEG (www.q-team.de)"
  status working
  comment "BGR8 only!"
  fourcc Q1.0,QPEG
  fourcc Q1.1,qpeq
  driver vfw
  dll "qpeg32.dll"
  out BGR8 flip

videocodec rricm
  info "rricm"
  status crashing
  fourcc dmb1
  driver vfw
  dll "rricm.dll"
  out YUY2
  out BGR24 flip

; sample videos: http://www.techsmith.com/products/camtasia/examplevideos.asp
videocodec camtasia
  info "TechSmith Camtasia Screen Codec"
  status buggy
  fourcc TSCC,tscc
  driver vfw
  dll "tsccvid.dll"
  out BGR15 flip

; raw formats:  (now RGB formats are autodetected)

; these raw codecs are used mostly by tv input
; 0x20776172 is used by Quicktime ('raw ')
; 0x0 is used by AVI
; YV12,RGB|32,RGB|24.. is created by MPlayer

videocodec rawrgb32
  info "RAW RGB32"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x52474220
  out RGB32

videocodec rawrgb24
  info "RAW RGB24"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x52474218
  out RGB24

videocodec rawrgb16
  info "RAW RGB16"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x52474210
  out RGB16

videocodec rawbgr32
  info "RAW BGR32"
  status working
  driver raw
  format 0x0
  format 0x42475220
  out BGR32 flip
	   
videocodec rawbgr24
  info "RAW BGR24"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x42475218
  out BGR24 flip

videocodec rawbgr16
  info "RAW BGR15"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x42475210
  out BGR16 flip

videocodec rawbgr15
  info "RAW BGR15"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x4247520F
  out BGR15 flip

videocodec rawbgr8
  info "RAW BGR8"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x4247520F
  out BGR8 flip

videocodec rawbgr1
  info "RAW BGR1"
  status working
  driver raw
  format 0x0
  format 0x20776172
  format 0x4247520F
  out BGR1 flip

videocodec rawyuy2
  info "RAW YUY2"
  status working
  driver raw
  format 0x0 0x32595559
  format 0x20776172
  fourcc yuy2,YUY2
  out YUY2

videocodec rawuyvy
  info "RAW UYVY"
  status working
  driver raw
  format 0x0 0x59565955
  format 0x20776172
  fourcc uyvy,UYVY
  out UYVY

videocodec rawyv12
  info "RAW YV12"
  status working
  driver raw
  format 0x0 0x32315659
  format 0x20776172
  fourcc yv12,YV12
  out YV12

videocodec rawi420
  info "RAW I420"
  status working
  driver raw
  format 0x0 0x30323449
  format 0x20776172
  fourcc i420,I420
  fourcc IYUV,iyuv
  out I420,IYUV

videocodec rawyvu9
  info "RAW YVU9"
  status working
  driver raw
  format 0x0 0x39555659
  format 0x20776172
  fourcc yvu9,YVU9
  out YVU9

; NULL codec - for testing.

videocodec null
  info "NULL codec (no decoding!)"
  status crashing
  comment "for unknown/unsupported codecs or testing"
  driver null
  out YV12
  out I420
  out YUY2
  out UYVY
  out YVU9
  out BGR32,BGR24,BGR16,BGR15

;=============================================================================
;                   AUDIO CODECS
;=============================================================================

audiocodec racook
  info "RealAudio COOK"
  status working
  format 0x6B6F6F63 ; "cook"
  driver realaud
  dll "cook.so.6.0"

audiocodec rasipr
  info "RealAudio Sipro"
  status working
  format 0x72706973 ; "sipr"
  driver realaud
  dll "sipr.so.6.0"

audiocodec imaadpcm
  info "IMA ADPCM"
  status working
  format 0x11
  format 0x34616d69  ; "ima4" (MOV files)
  driver imaadpcm

audiocodec msadpcm
  info "MS ADPCM"
  status working
  format 0x2
  driver msadpcm

audiocodec dk4adpcm
  info "Duck DK4 ADPCM (rogue format number)"
  status working
  comment "This format number was used by Duck Corp. but not officially registered with Microsoft"
  format 0x61
  driver imaadpcm

audiocodec dk3adpcm
  info "Duck DK3 ADPCM (rogue format number)"
  status working
  comment "This format number was used by Duck Corp. but not officially registered with Microsoft"
  format 0x62
  driver dk3adpcm

audiocodec roqaudio
  info "Id RoQ File Audio Decoder"
  status working
  comment "RoQA is an internal MPlayer FOURCC"
  fourcc RoQA
  driver roqaudio

audiocodec libdv
  info "raw DV audio decoder"
  status working
  comment "raw DV audio decoder"
  fourcc RADV
  driver libdv

audiocodec faad
  info "AAC MPEG2/MPEG4 Audio"
  status working
  comment "Under developemnt by Atmos"
  fourcc mp4a,MP4A
  driver faad

audiocodec pcm
  info "Uncompressed PCM"
  status working
  format 0x1
  format 0x20776172  ; "raw " (MOV files)
  format 0x736f7774  ; "twos" (MOV files)
;;;; these are for hardware support only:  (alaw,ulaw,ima-adpcm,mpeg,ac3)
;  format 0x6
;  format 0x7
;  format 0x11
;  format 0x50
;  format 0x2000
;;;;
  driver pcm

audiocodec divx
  info "DivX audio (WMA)"
  status working
  format 0x160
  format 0x161
  driver acm
  dll "divxa32.acm"

audiocodec msadpcmacm
  info "MS ADPCM"
  status working
  format 0x2
  driver acm
  dll "msadp32.acm"

audiocodec mp3
  info "mp3lib MPEG layer-2, layer-3"
  status working
  comment "Optimized to MMX/SSE/3Dnow!"
  format 0x50        ; layer-1 && layer-2
  format 0x55        ; layer-3
  format 0x33706d2e  ; ".mp3" CBR/VBR MP3 (MOV files)
  format 0x5500736d  ; "ms\0\x55" older mp3 fcc (MOV files)
  driver mp3lib
  dll "mp3lib"
  flags seekable

audiocodec ffmp3
  info "FFmpeg layer-3 audio decoder - integer only"
  status working
  format 0x55
  format 0x33706d2e  ; ".mp3" CBR/VBR MP3 (MOV files)
  format 0x5500736d  ; "ms\0\x55" older mp3 fcc (MOV files)
  driver ffmpeg
  dll "mp3"
  flags seekable

audiocodec ffmp2
  info "FFmpeg layer 1,2 audio decoder - integer only"
  status working
  format 0x50
  driver ffmpeg
  dll "mp2"
  flags seekable

;MAD library
audiocodec mad
  info "libMAD MPEG layer 1,2,3"
  status working
  format 0x50
  format 0x55
  format 0x33706d2e  ; ".mp3" CBR/VBR MP3 (MOV files)
  format 0x5500736d  ; "ms\0\x55" older mp3 fcc (MOV files)
  driver libmad
  dll "libmad"
  flags seekable


audiocodec mp3acm
  info "MPEG layer-3"
  status working
  comment "conflicts with security kernel patches"
  format 0x55
  driver acm
  dll "l3codeca.acm"
  flags seekable

audiocodec imaadpcmacm
  info "IMA ADPCM"
  status working
  format 0x11
  driver acm
  dll "imaadp32.acm"
  
audiocodec msgsmacm
  info "MS GSM"
  status working
  format 0x31
;  format 0x32
  driver acm
  dll "msgsm32.acm"

audiocodec msnaudio
  info "MSN AUDIO"
  status working
;  format 0x31
  format 0x32
  driver acm
  dll "msnaudio.acm"

audiocodec msgsm
  info "MS GSM"
  status working
  format 0x31
  format 0x32
  fourcc agsm
  driver msgsm

audiocodec alaw
  info "aLaw"
  status working
  format 0x6
  format 0x77616C61 ; 'alaw', .mov files
  driver alaw

audiocodec ulaw
  info "uLaw"
  status working
  format 0x7
  format 0x77616c75  ; "ulaw" (MOV files)
  driver alaw

audiocodec dvdpcm
  info "Uncompressed DVD LPCM"
  status working
  format 0x10001
  driver dvdpcm

audiocodec a52
  info "AC3-liba52"
  status working
  format 0x2000
  driver liba52
  dll "liba52"

audiocodec ac3
  info "AC3"
  comment "removed from mplayer, use liba52"
  status working
  format 0x2000
  driver libac3
  dll "libac3"

audiocodec voxware
  info "VoxWare"
  status working
  format 0x75
  driver dshow
  dll "voxmsdec.ax"
  guid 0x73f7a062, 0x8829, 0x11d1, 0xb5, 0x50, 0x00, 0x60, 0x97, 0x24, 0x2d, 0x8d

audiocodec acelp
  info "ACELP.net Sipro Lab Audio Decoder"
  status working
  format 0x130
  driver dshow
  dll "acelpdec.ax"
  guid 0x4009f700, 0xaeba, 0x11d1, 0x83, 0x44, 0x00, 0xc0, 0x4f, 0xb9, 0x2e, 0xb7

audiocodec imc
  info "Intel Music Coder"
  status working
  comment "driver at http://codeczone.virtualave.net/FXIMCAUD.zip"
  format 0x401
  driver acm
  dll "imc32.acm"

audiocodec hwac3
  info "AC3 through SPDIF"
  status working
  format 0x2000
  driver hwac3

audiocodec vorbis
  info "OggVorbis Audio Decoder"
  status working
  comment "OggVorbis driver using libvorbis"
  format 0xFFFE
  driver libvorbis
  dll "libvorbis"
  flags seekable
; acm codec doesn't work, haven't tried zorannt dshow codec
;  driver acm
;  dll "vorbis.acm"

audiocodec vivoaudio
  info "Vivo G.723/Siren Audio Codec"
  status working
  format 0x111       ; vivo g.723
  format 0x112       ; siren
  driver acm
  dll "vivog723.acm"

audiocodec g72x
  info "G.711/G.721/G.723"
  status crashing
  comment "does not work yet - just noise :("
  format 0x111	    ; vivo g.723
  format 0x112	    ; vivo siren
  driver g72x
  dll "g72x.c"

audiocodec atrac3
  info "Sony ATRAC3"
  status buggy
  format 0x270
  driver acm
  dll "atrac3.acm"

audiocodec ALF2
; http://www.nctsoft.com/products/NCTALFCD/
; jdp@mail.sonofon.dk
  info "ALF2"
  status working
  format 0x1FC4     ; ALF2
  driver acm
  dll "alf2cd.acm"

audiocodec truespeech
  info "DSP Group TrueSpeech(TM)"
  status working
  format 0x22
  driver acm
  dll "tssoft32.acm"

; rt32dcmp.dll needed too
audiocodec voxwarert24
  info "VoxWare RT24 speech codec"
  status working
  format 0x181c
  driver acm
  dll "nsrt2432.acm"

audiocodec lhacm
  info "Lernout & Hauspie CELP and SBC codecs"
  status working
  format 0x1101 ; CELP
  format 0x1102 ; SBC
  format 0x1103 ; SBC
  format 0x1104 ; SBC
  driver acm
  dll "lhacm.acm"

