summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/codecs.conf154
-rw-r--r--libmpcodecs/vd.c26
-rw-r--r--libmpcodecs/vd.h10
-rw-r--r--libmpcodecs/vd_ffmpeg.c13
-rw-r--r--libmpdemux/stheader.h1
5 files changed, 37 insertions, 167 deletions
diff --git a/etc/codecs.conf b/etc/codecs.conf
index b61c5d4f8d..d5d3d3b9ac 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -15,7 +15,6 @@ videocodec ffanm
fourcc "ANM " ; internal MPlayer FourCC
driver ffmpeg
dll anm
- out BGR8
videocodec ffbinkvideo
info "FFmpeg Bink Video"
@@ -26,8 +25,6 @@ videocodec ffbinkvideo
fourcc BIKi ; internal MPlayer FourCC
driver ffmpeg
dll binkvideo
- out YV12
- out 420A
videocodec ffcdgraphics
info "FFmpeg CD-Graphics"
@@ -35,7 +32,6 @@ videocodec ffcdgraphics
fourcc CDGR ; internal MPlayer FourCC
driver ffmpeg
dll cdgraphics
- out BGR8
videocodec ffmvi1
info "FFmpeg Motion Pixels"
@@ -43,8 +39,6 @@ videocodec ffmvi1
fourcc MVI1 ; internal MPlayer FourCC
driver ffmpeg
dll motionpixels
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
- out YV12,YUY2
videocodec ffmdec
info "FFmpeg Sony PlayStation MDEC (Motion DECoder)"
@@ -52,7 +46,6 @@ videocodec ffmdec
fourcc MDEC ; internal MPlayer FourCC
driver ffmpeg
dll mdec
- out YV12
videocodec ffsiff
info "FFmpeg Beam Software SIFF"
@@ -60,14 +53,12 @@ videocodec ffsiff
fourcc VBV1
driver ffmpeg
dll vb
- out BGR8
videocodec ffmimic
info "FFmpeg Mimic video"
status working
fourcc ML20
fourcc LM20 ; mimic in avi
- out I420
driver ffmpeg
dll "mimic"
@@ -75,7 +66,6 @@ videocodec ffkmvc
info "FFmpeg Karl Morton Video Codec"
status working
fourcc KMVC
- out BGR8
driver ffmpeg
dll "kmvc"
@@ -85,7 +75,6 @@ videocodec ffzmbv
fourcc ZMBV
driver ffmpeg
dll "zmbv"
- out RGB24
videocodec geov
info "GeoCodec"
@@ -160,7 +149,6 @@ videocodec ffr210
fourcc r210
driver ffmpeg
dll "r210"
- out RGB48BE,RGB48LE
videocodec blackmagic
info "Blackmagic 10-bit"
@@ -184,7 +172,6 @@ videocodec ffmpeg1
fourcc m1v1
driver ffmpeg
dll "mpeg1video"
- out YV12,I420,IYUV
videocodec ffmpeg2
info "FFmpeg MPEG-2"
@@ -218,8 +205,6 @@ videocodec ffmpeg2
fourcc slif ; SoftLab MPEG-2 I-frames Codec
driver ffmpeg
dll "mpeg2video"
- out YV12,I420,IYUV
- out 422P,444P
; for backward compatibility
videocodec ffmpeg12
@@ -257,8 +242,6 @@ videocodec ffmpeg12
fourcc EM2V ; Etymonix MPEG-2 I-frame Video Codec
driver ffmpeg
dll "mpegvideo"
- out YV12,I420,IYUV
- out 422P,444P
videocodec ffmpeg12vdpau
info "FFmpeg MPEG-1/2 (VDPAU)"
@@ -324,7 +307,6 @@ videocodec ffmpeg2crystalhd
fourcc slif ; SoftLab MPEG-2 I-frames Codec
driver ffmpeg
dll mpeg2_crystalhd
- out YUY2
videocodec mpegpes
info "MPEG-PES output (.mpg or DXR3/IVTV/DVB/V4L2 card)"
@@ -365,7 +347,6 @@ videocodec ffnuv
fourcc RJPG
driver ffmpeg
dll nuv
- out I420
videocodec ffbmp
info "FFmpeg BMP"
@@ -374,7 +355,6 @@ videocodec ffbmp
format 0x706D62 ; AVI
driver ffmpeg
dll bmp
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec ffdpx
info "FFmpeg DPX"
@@ -382,7 +362,6 @@ videocodec ffdpx
fourcc "dpx " ; "dpx " is an internal MPlayer FOURCC
driver ffmpeg
dll dpx
- out RGB48BE,RGB48LE,RGB24,RGB32,BGR32
videocodec ffgif
info "FFmpeg GIF"
@@ -390,7 +369,6 @@ videocodec ffgif
fourcc "gif " ; for GIF-encoded QuickTime files
driver ffmpeg
dll gif
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec fftiff
info "FFmpeg TIFF"
@@ -398,7 +376,6 @@ videocodec fftiff
fourcc "tiff" ; for TIFF-encoded QuickTime files
driver ffmpeg
dll tiff
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec ffpcx
info "FFmpeg PCX"
@@ -406,7 +383,6 @@ videocodec ffpcx
fourcc "pcx "
driver ffmpeg
dll pcx
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec ffpng
info "FFmpeg PNG"
@@ -415,7 +391,6 @@ videocodec ffpng
fourcc "png " ; for PNG-encoded QuickTime files
driver ffmpeg
dll png
- out BGR32,BGR24,BGR8,Y800,RGB48BE,RGB32,RGB24,RGB8
videocodec mpng
info "PNG image"
@@ -433,7 +408,6 @@ videocodec ffptx
fourcc "ptx " ; internal MPlayer FourCC
driver ffmpeg
dll ptx
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec fftga
info "FFmpeg TGA"
@@ -442,7 +416,6 @@ videocodec fftga
fourcc "tga " ; for TGA-encoded QuickTime files
driver ffmpeg
dll targa
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec mtga
info "TGA image"
@@ -458,7 +431,6 @@ videocodec ffsgi
fourcc SGI1 ; SGI1 is an internal MPlayer FOURCC
driver ffmpeg
dll sgi
- out RGB24,Y800,RGB48BE
videocodec sgi
info "SGI image"
@@ -473,7 +445,6 @@ videocodec ffsunras
fourcc "sun " ; sun is an internal MPlayer FOURCC
driver ffmpeg
dll sunrast
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec ffindeo3
info "FFmpeg Intel Indeo 3.1/3.2"
@@ -482,7 +453,6 @@ videocodec ffindeo3
fourcc IV32,iv32
driver ffmpeg
dll indeo3
- out YVU9
videocodec fffli
info "Autodesk FLI/FLC Animation"
@@ -490,7 +460,6 @@ videocodec fffli
fourcc FLIC ; FLIC is an internal MPlayer FOURCC
driver ffmpeg
dll "flic"
- out BGR16,BGR15,BGR8 query
videocodec ffaasc
info "Autodesk RLE"
@@ -498,7 +467,6 @@ videocodec ffaasc
fourcc AASC
driver ffmpeg
dll "aasc"
- out BGR24
videocodec ffloco
info "LOCO video"
@@ -506,7 +474,6 @@ videocodec ffloco
fourcc LOCO
driver ffmpeg
dll "loco"
- out 422P,YV12,BGR32,BGR24 query
videocodec ffqtrle
info "QuickTime Animation (RLE)"
@@ -514,7 +481,6 @@ videocodec ffqtrle
format 0x20656C72 ; "rle "
driver ffmpeg
dll "qtrle"
- out BGR32,RGB24,BGR15,BGR8 query
videocodec ffrpza
info "QuickTime Apple Video"
@@ -522,7 +488,6 @@ videocodec ffrpza
fourcc rpza,azpr,RPZA,AZPR
driver ffmpeg
dll "rpza"
- out BGR15
videocodec ffsmc
info "Apple Graphics (SMC) codec"
@@ -530,7 +495,6 @@ videocodec ffsmc
format 0x20636d73 ; "smc "
driver ffmpeg
dll "smc"
- out BGR8
videocodec ff8bps
info "Planar RGB (Photoshop)"
@@ -538,7 +502,6 @@ videocodec ff8bps
fourcc 8BPS
driver ffmpeg
dll "8bps"
- out BGR32,BGR24,BGR8 query
videocodec ffcyuv
info "Creative YUV (libavcodec)"
@@ -546,7 +509,6 @@ videocodec ffcyuv
fourcc cyuv,CYUV
driver ffmpeg
dll "cyuv"
- out 411P
videocodec ffaura
info "Auravision Aura (libavcodec)"
@@ -554,7 +516,6 @@ videocodec ffaura
fourcc aura,AURA
driver ffmpeg
dll "aura"
- out 411P
videocodec ffaura2
info "Auravision Aura 2 (libavcodec)"
@@ -562,7 +523,6 @@ videocodec ffaura2
fourcc aur2,AUR2
driver ffmpeg
dll "aura2"
- out 422P
videocodec ffmsrle
info "Microsoft RLE"
@@ -572,7 +532,6 @@ videocodec ffmsrle
fourcc WRLE
driver ffmpeg
dll "msrle"
- out BGR8
videocodec ffroqvideo
info "Id RoQ File Video"
@@ -580,7 +539,6 @@ videocodec ffroqvideo
fourcc RoQV ; RoQV is an internal MPlayer FOURCC
driver ffmpeg
dll "roqvideo"
- out 444P
videocodec lzo
info "LZO compressed"
@@ -663,7 +621,6 @@ videocodec ffcvid
fourcc cvid,CVID
driver ffmpeg
dll "cinepak"
- out YV12,BGR8 query
videocodec cvidvfw
info "Cinepak Video"
@@ -695,7 +652,6 @@ videocodec ffvideo1
fourcc wham,WHAM
driver ffmpeg
dll "msvideo1"
- out BGR15,BGR8 query
videocodec ffmszh
info "FFmpeg AVImszh"
@@ -703,7 +659,6 @@ videocodec ffmszh
fourcc MSZH
driver ffmpeg
dll "mszh"
- out BGR24
videocodec ffzlib
info "FFmpeg AVIzlib"
@@ -711,7 +666,6 @@ videocodec ffzlib
fourcc ZLIB
driver ffmpeg
dll "zlib"
- out BGR24
;XAnim (slow):
@@ -732,8 +686,6 @@ videocodec ffhuffyuv
fourcc HFYU,FFVH
driver ffmpeg
dll huffyuv
- out YUY2,422P,YV12
- out BGR32,BGR24
videocodec ffv1
info "FFV1 (lossless codec)"
@@ -741,8 +693,6 @@ videocodec ffv1
fourcc FFV1
driver ffmpeg
dll ffv1
- out 411P,444P,422P,YV12,I420,IYUV,YVU9,422P16
- out BGR32
videocodec ffsnow
info "FFSNOW (Michael's wavelet codec)"
@@ -750,7 +700,6 @@ videocodec ffsnow
fourcc snow,SNOW
driver ffmpeg
dll snow
- out YV12
videocodec ffasv1
info "FFmpeg ASUS V1"
@@ -758,7 +707,6 @@ videocodec ffasv1
fourcc ASV1
driver ffmpeg
dll asv1
- out YV12,I420,IYUV
videocodec ffasv2
info "FFmpeg ASUS V2"
@@ -766,7 +714,6 @@ videocodec ffasv2
fourcc ASV2
driver ffmpeg
dll asv2
- out YV12,I420,IYUV
videocodec ffvcr1
info "FFmpeg ATI VCR1"
@@ -774,7 +721,6 @@ videocodec ffvcr1
fourcc VCR1
driver ffmpeg
dll vcr1
- out YVU9
videocodec ffcljr
info "FFmpeg Cirrus Logic AccuPak (CLJR)"
@@ -782,7 +728,6 @@ videocodec ffcljr
fourcc CLJR
driver ffmpeg
dll cljr
- out 411P
videocodec ffsvq1
info "FFmpeg Sorenson Video v1 (SVQ1)"
@@ -790,7 +735,6 @@ videocodec ffsvq1
fourcc SVQ1,svq1
driver ffmpeg
dll svq1
- out YVU9
videocodec ff4xm
info "FFmpeg 4XM video"
@@ -798,7 +742,6 @@ videocodec ff4xm
fourcc 4XMV
driver ffmpeg
dll 4xm
- out BGR15,BGR16 query
videocodec ffvixl
info "Miro/Pinnacle VideoXL codec"
@@ -808,7 +751,6 @@ videocodec ffvixl
fourcc XIXL
driver ffmpeg
dll xl
- out 411P
videocodec ffqtdrw
info "FFmpeg QuickDraw"
@@ -816,7 +758,6 @@ videocodec ffqtdrw
fourcc qdrw
driver ffmpeg
dll qdraw
- out BGR8
videocodec ffindeo2
info "FFmpeg Indeo 2"
@@ -825,7 +766,6 @@ videocodec ffindeo2
fourcc IV20
driver ffmpeg
dll indeo2
- out YVU9
videocodec ffflv
info "FFmpeg Flash video"
@@ -833,7 +773,6 @@ videocodec ffflv
fourcc FLV1,flv
driver ffmpeg
dll flv
- out YV12
videocodec fffsv
info "FFmpeg Flash Screen video"
@@ -841,7 +780,6 @@ videocodec fffsv
fourcc FSV1
driver ffmpeg
dll flashsv
- out BGR24
videocodec ffdivx
info "FFmpeg DivX ;-) (MSMPEG-4 v3)"
@@ -858,7 +796,6 @@ videocodec ffdivx
fourcc DVX3
driver ffmpeg
dll msmpeg4
- out YV12,I420,IYUV
videocodec ffdivxcrystalhd
info "FFmpeg DivX ;-) (MSMPEG-4 v3) (CrystalHD)"
@@ -875,7 +812,6 @@ videocodec ffdivxcrystalhd
fourcc DVX3
driver ffmpeg
dll msmpeg4_crystalhd
- out YUY2
videocodec ffmp42
info "FFmpeg MSMPEG-4 v2"
@@ -884,7 +820,6 @@ videocodec ffmp42
fourcc MP42,mp42,Mp42
driver ffmpeg
dll msmpeg4v2
- out YV12,I420,IYUV
videocodec ffmp41
info "FFmpeg MSMPEG-4 v1"
@@ -894,7 +829,6 @@ videocodec ffmp41
fourcc MP41
driver ffmpeg
dll msmpeg4v1
- out YV12,I420,IYUV
videocodec ffwmv1
info "FFmpeg WMV1/WMV7"
@@ -902,7 +836,6 @@ videocodec ffwmv1
fourcc WMV1,wmv1
driver ffmpeg
dll wmv1
- out YV12,I420,IYUV
videocodec ffwmv2
info "FFmpeg WMV2/WMV8"
@@ -910,7 +843,6 @@ videocodec ffwmv2
fourcc WMV2,wmv2
driver ffmpeg
dll wmv2
- out YV12,I420,IYUV
videocodec ffwmv3
info "FFmpeg WMV3/WMV9"
@@ -918,7 +850,6 @@ videocodec ffwmv3
fourcc WMV3,wmv3
driver ffmpeg
dll wmv3
- out YV12,I420,IYUV
videocodec ffwmvp
info "FFmpeg WVC1"
@@ -927,7 +858,6 @@ videocodec ffwmvp
fourcc wmvp,WMVP
driver ffmpeg
dll wmv3
- out YV12,I420,IYUV
videocodec ffwmv3vdpau
info "FFmpeg WMV3/WMV9 (VDPAU)"
@@ -943,7 +873,6 @@ videocodec ffwmv3crystalhd
fourcc WMV3,wmv3
driver ffmpeg
dll wmv3_crystalhd
- out YUY2
videocodec ffvc1
info "FFmpeg WVC1"
@@ -952,7 +881,6 @@ videocodec ffvc1
fourcc vc-1,VC-1
driver ffmpeg
dll vc1
- out YV12,I420,IYUV
videocodec ffvc1vdpau
info "FFmpeg WVC1 (VDPAU)"
@@ -970,7 +898,6 @@ videocodec ffvc1crystalhd
fourcc vc-1,VC-1
driver ffmpeg
dll vc1_crystalhd
- out YUY2
videocodec ffh264
info "FFmpeg H.264"
@@ -986,7 +913,6 @@ videocodec ffh264
format 0x10000005
driver ffmpeg
dll h264
- out YV12,I420,IYUV
videocodec ffh264vdpau
info "FFmpeg H.264 (VDPAU)"
@@ -1015,7 +941,6 @@ videocodec ffh264crystalhd
format 0x10000005
driver ffmpeg
dll h264_crystalhd
- out YUY2
videocodec coreavcwindows
info "CoreAVC H.264 for x86 - http://corecodec.org/"
@@ -1041,7 +966,6 @@ videocodec ffsvq3
fourcc SVQ3
driver ffmpeg
dll svq3
- out YV12,I420,IYUV
videocodec ffodivx
info "FFmpeg MPEG-4"
@@ -1074,7 +998,6 @@ videocodec ffodivx
fourcc SIPP ; Samsung SHR-6040
driver ffmpeg
dll mpeg4 ;opendivx
- out YV12,I420,IYUV
videocodec ffodivxvdpau
info "FFmpeg MPEG-4,DIVX-4/5 (VDPAU)"
@@ -1140,7 +1063,6 @@ videocodec ffodivxcrystalhd
fourcc SIPP ; Samsung SHR-6040
driver ffmpeg
dll mpeg4_crystalhd
- out YUY2
videocodec ffwv1f
info "WV1F MPEG-4"
@@ -1156,7 +1078,6 @@ videocodec fflibschroedinger
fourcc drac
driver ffmpeg
dll libschroedinger
- out YV12,I420,IYUV,422P,444P
videocodec fflibdirac
info "Dirac (through FFmpeg libdirac)"
@@ -1164,7 +1085,6 @@ videocodec fflibdirac
fourcc drac
driver ffmpeg
dll libdirac
- out YV12,I420,IYUV,422P,444P
videocodec xvid
info "Xvid (MPEG-4)"
@@ -1440,14 +1360,6 @@ videocodec ffmjpeg
fourcc MTSJ,ZJPG
driver ffmpeg
dll mjpeg
- out 444P
- out 422P
- out 440P
- out YUY2 ; queried (conversion from yuv422p)
- out YV12,I420,IYUV
- out BGR32 ; lossless JPEG
- out RGB24 ; JPEG-LS
- out Y800
videocodec ffmjpegb
info "FFmpeg MJPEG-B"
@@ -1455,11 +1367,6 @@ videocodec ffmjpegb
fourcc mjpb ; Apple MJPEG-B (Quicktime)
driver ffmpeg
dll mjpegb
- out 444P
- out 422P
- out 440P
- out YUY2 ; queryed (conversion from yuv422p)
- out YV12,I420,IYUV
; slow. usable only for standalone JPEGs, like -mf, avid or Photo-JPEG:
videocodec ijpg
@@ -1544,7 +1451,6 @@ videocodec fflibopenjpeg
fourcc mjp2
driver ffmpeg
dll "libopenjpeg"
- out RGB24,RGB32,BGR32,Y8,Y800
videocodec m3jpeg2k
info "Morgan MJPEG2000"
@@ -1603,7 +1509,6 @@ videocodec fffrwu
fourcc FRWU
driver ffmpeg
dll "FRWU"
- out UYVY
videocodec frwuvfw
info "Forward Uncompressed Video Codec"
@@ -1673,7 +1578,6 @@ videocodec ffi263
fourcc I263,i263
driver ffmpeg
dll h263i
- out YV12,I420,IYUV
videocodec ffh263
info "FFmpeg H.263+"
@@ -1688,7 +1592,6 @@ videocodec ffh263
fourcc VX1K ; Agora Labs VX1000S H263
driver ffmpeg
dll h263
- out YV12,I420,IYUV
videocodec ffzygo
info "FFmpeg ZyGo"
@@ -1714,7 +1617,6 @@ videocodec ffh261
fourcc H261,h261
driver ffmpeg
dll h261
- out YV12
videocodec qt261
info "QuickTime H.261 video"
@@ -1818,7 +1720,6 @@ videocodec ffindeo5
fourcc IV50
driver ffmpeg
dll indeo5
- out YVU9
; DV: qdv is more stable... libdv is slow, mcdv is unstable
@@ -1844,7 +1745,6 @@ videocodec ffdv
fourcc dvs1,dvh1
driver ffmpeg
dll dvvideo
- out 411P,422P,YV12
videocodec qdv
info "Sony Digital Video (DV)"
@@ -1989,7 +1889,6 @@ videocodec ffrv20
fourcc RVTR
driver ffmpeg
dll rv20
- out YV12,I420,IYUV
videocodec ffrv30
info "FFmpeg RV30"
@@ -1997,7 +1896,6 @@ videocodec ffrv30
fourcc RV30,rv30
driver ffmpeg
dll rv30
- out YV12,I420,IYUV
videocodec ffrv40
info "FFmpeg RV40"
@@ -2005,7 +1903,6 @@ videocodec ffrv40
fourcc RV40,rv40
driver ffmpeg
dll rv40
- out YV12,I420,IYUV
videocodec rv20
info "Linux RealPlayer 8 RV20"
@@ -2046,7 +1943,6 @@ videocodec ffrv10
fourcc RV13,rv13
driver ffmpeg
dll rv10
- out YV12,I420,IYUV
; others:
@@ -2091,7 +1987,6 @@ videocodec fflagarith
fourcc LAGS
driver ffmpeg
dll lagarith
- out YV12
videocodec lagarith
info "Lagarith Lossless Video Codec"
@@ -2194,7 +2089,6 @@ videocodec ffvp3
format 0x20335056 ; "VP3 " (used in .nsv files)
driver ffmpeg
dll "vp3"
- out YV12
videocodec fftheora
info "FFmpeg Theora"
@@ -2204,7 +2098,6 @@ videocodec fftheora
format 0xFFFC
driver ffmpeg
dll "theora"
- out YV12,422P,444P
videocodec vp3
info "On2 Open Source VP3 Codec"
@@ -2234,7 +2127,6 @@ videocodec ffvp5
fourcc VP50
driver ffmpeg
dll "vp5"
- out YV12
videocodec vp5
info "On2 VP5 Personal Codec"
@@ -2251,7 +2143,6 @@ videocodec ffvp6
fourcc VP60,VP61,VP62
driver ffmpeg
dll "vp6"
- out YV12
videocodec ffvp6a
info "FFmpeg VP6A"
@@ -2259,7 +2150,6 @@ videocodec ffvp6a
fourcc VP6A
driver ffmpeg
dll "vp6a"
- out 420A
videocodec ffvp6f
info "FFmpeg VP6 Flash"
@@ -2268,7 +2158,6 @@ videocodec ffvp6f
fourcc FLV4
driver ffmpeg
dll "vp6f"
- out YV12
videocodec vp6
info "On2 VP6 Personal Codec"
@@ -2303,7 +2192,6 @@ videocodec ffvp8
fourcc VP80
driver ffmpeg
dll "vp8"
- out YV12
videocodec fflibvpx
info "FFmpeg wrapper for libvpx/VP8"
@@ -2311,7 +2199,6 @@ videocodec fflibvpx
fourcc VP80
driver ffmpeg
dll "libvpx"
- out YV12
videocodec mwv1
info "Motion Wavelets"
@@ -2353,7 +2240,6 @@ videocodec ffultimotion
fourcc ULTI
driver ffmpeg
dll "ultimotion"
- out YVU9
videocodec ultimotion
info "IBM Ultimotion"
@@ -2443,7 +2329,6 @@ videocodec ffduck
fourcc PVEZ
driver ffmpeg
dll "truemotion1"
- out BGR15,BGR16,BGR24,BGR32 query
videocodec fftm20
info "FFmpeg Duck/On2 TrueMotion 2.0"
@@ -2451,7 +2336,6 @@ videocodec fftm20
fourcc TM20
driver ffmpeg
dll truemotion2
- out BGR24
; our BGR15->BGR32 is bad or the DLL?
videocodec tm20
@@ -2505,7 +2389,6 @@ videocodec ffamv
fourcc AMVV ; internal MPlayer FourCC
driver ffmpeg
dll "amv"
- out YV12
videocodec ffsp5x
info "SP5x codec - used by Aiptek MegaCam"
@@ -2513,7 +2396,6 @@ videocodec ffsp5x
fourcc SP53,SP54,SP55,SP56,SP57,SP58
driver ffmpeg
dll "sp5x"
- out YV12
videocodec sp6x
info "SP6x codec"
@@ -2586,7 +2468,6 @@ videocodec ffkega
fourcc KGV1
driver ffmpeg
dll kgv1
- out BGR15
videocodec kegavideo
info "Kega Video"
@@ -2701,7 +2582,6 @@ videocodec ffwnv1
fourcc WNV1
driver ffmpeg
dll wnv1
- out 422P
videocodec wnv1
info "Winnov Videum wnv1 codec"
@@ -2744,7 +2624,6 @@ videocodec ffvmnc
fourcc VMnc
driver ffmpeg
dll "vmnc"
- out BGR32,BGR15,BGR8
videocodec vmnc
info "VMware video"
@@ -2759,7 +2638,6 @@ videocodec ffsmkvid
status working
fourcc SMK2
fourcc SMK4
- out BGR8
driver ffmpeg
dll "smackvid"
@@ -2771,7 +2649,6 @@ videocodec ffcavs
fourcc avs2
driver ffmpeg
dll "cavs"
- out YV12,I420
videocodec qtdnxhd
info "QuickTime Avid DNxHD"
@@ -2788,7 +2665,6 @@ videocodec ffdnxhd
fourcc AVdn
driver ffmpeg
dll "dnxhd"
- out 422P
; quicktime codecs:
@@ -2918,7 +2794,6 @@ videocodec ffv210
fourcc v210
driver ffmpeg
dll v210
- out 422P16
videocodec qtcine
info "cinewave uncompressed 10-bit codec"
@@ -3065,7 +2940,6 @@ videocodec ffcamtasia
fourcc TSCC,tscc
driver ffmpeg
dll "camtasia"
- out BGR32,BGR24,BGR15,BGR8 query
; sample videos: http://www.techsmith.com/products/camtasia/examplevideos.asp
videocodec camtasia
@@ -3082,7 +2956,6 @@ videocodec ffcamstudio
fourcc CSCD,cscd
driver ffmpeg
dll "camstudio"
- out BGR32,BGR24,BGR15 query
; Fraps - Realtime Video Capture - http://www.fraps.com/
videocodec fraps
@@ -3100,7 +2973,6 @@ videocodec fffraps
fourcc FPS1,fps1
driver ffmpeg
dll "fraps"
- out BGR24,YV12,I420
videocodec ffjv
info "FFmpeg Bitmap Brothers JV"
@@ -3108,7 +2980,6 @@ videocodec ffjv
fourcc FFJV ; internal MPlayer FourCC
driver ffmpeg
dll "jv"
- out BGR8
videocodec fftiertexseq
info "FFmpeg Tiertex SEQ"
@@ -3116,7 +2987,6 @@ videocodec fftiertexseq
fourcc TSEQ ; internal MPlayer FourCC
driver ffmpeg
dll "tiertexseqvideo"
- out BGR8
videocodec ffvmd
info "FFmpeg Sierra VMD video"
@@ -3124,7 +2994,6 @@ videocodec ffvmd
fourcc VMDV ; internal MPlayer FourCC
driver ffmpeg
dll "vmdvideo"
- out BGR8
videocodec ffdxa
info "FFmpeg Feeble Files DXA video"
@@ -3132,7 +3001,6 @@ videocodec ffdxa
fourcc DXA1 ; internal MPlayer FourCC
driver ffmpeg
dll "dxa"
- out BGR8
videocodec ffdsicinvideo
info "FFmpeg Delphine CIN video"
@@ -3140,7 +3008,6 @@ videocodec ffdsicinvideo
fourcc DCIV ; internal MPlayer FourCC
driver ffmpeg
dll "dsicinvideo"
- out BGR8
videocodec ffthp
info "FFmpeg THP video"
@@ -3148,7 +3015,6 @@ videocodec ffthp
fourcc THPV ; internal MPlayer FourCC
driver ffmpeg
dll thp
- out YV12
videocodec ffbfi
info "FFmpeg BFI Video"
@@ -3156,7 +3022,6 @@ videocodec ffbfi
fourcc BFIV ; internal MPlayer FourCC
driver ffmpeg
dll bfi
- out BGR8
videocodec ffbethsoftvid
info "FFmpeg Bethesda Software VID"
@@ -3165,7 +3030,6 @@ videocodec ffbethsoftvid
fourcc BETH ; internal MPlayer FourCC
driver ffmpeg
dll bethsoftvid
- out BGR8
videocodec ffrl2
info "FFmpeg RL2"
@@ -3173,7 +3037,6 @@ videocodec ffrl2
fourcc RL2V ; internal MPlayer FourCC
driver ffmpeg
dll rl2
- out BGR8
videocodec fftxd
info "FFmpeg Renderware TeXture Dictionary"
@@ -3181,7 +3044,6 @@ videocodec fftxd
fourcc TXDV ; internal MPlayer FourCC
driver ffmpeg
dll txd
- out BGR32
videocodec xan
info "XAN Video"
@@ -3197,7 +3059,6 @@ videocodec ffwc4
fourcc Xxan
driver ffmpeg
dll "xan_wc4"
- out YV12
videocodec ffwc3
info "FFmpeg XAN wc3"
@@ -3205,7 +3066,6 @@ videocodec ffwc3
fourcc WC3V ; internal MPlayer FourCC
driver ffmpeg
dll "xan_wc3"
- out BGR8
videocodec ffidcin
info "FFmpeg Id CIN video"
@@ -3213,7 +3073,6 @@ videocodec ffidcin
fourcc IDCI ; internal MPlayer FourCC
driver ffmpeg
dll "idcinvideo"
- out BGR8
videocodec ffinterplay
info "FFmpeg Interplay Video"
@@ -3221,7 +3080,6 @@ videocodec ffinterplay
fourcc INPV ; internal MPlayer FourCC
driver ffmpeg
dll "interplayvideo"
- out BGR8,BGR15
videocodec ffvqa
info "FFmpeg VQA Video"
@@ -3229,7 +3087,6 @@ videocodec ffvqa
fourcc VQAV ; internal MPlayer FourCC
driver ffmpeg
dll "vqavideo"
- out BGR8
videocodec ffc93
info "FFmpeg C93 Video"
@@ -3237,7 +3094,6 @@ videocodec ffc93
fourcc C93V ; internal MPlayer FourCC
driver ffmpeg
dll c93
- out BGR8
videocodec ffeatgv
info "FFmpeg Electronic Arts TGV"
@@ -3245,7 +3101,6 @@ videocodec ffeatgv
fourcc fVGT
driver ffmpeg
dll eatgv
- out BGR8
; raw formats: (now RGB formats are autodetected)
@@ -3506,7 +3361,6 @@ videocodec ffrawyuy2
fourcc yuvs,YUVS
driver ffmpeg
dll rawvideo
- out YUY2
videocodec ffrawyuv2
info "RAW YUV2"
@@ -3516,7 +3370,6 @@ videocodec ffrawyuv2
fourcc yuv2,YUV2
driver ffmpeg
dll rawvideo
- out YUY2
videocodec ffrawuyvy
info "RAW UYVY"
@@ -3534,7 +3387,6 @@ videocodec ffrawuyvy
fourcc VDTZ
driver ffmpeg
dll rawvideo
- out UYVY
videocodec ffraw444P
info "RAW 444P"
@@ -3544,7 +3396,6 @@ videocodec ffraw444P
fourcc 444p,444P
driver ffmpeg
dll rawvideo
- out 444P
videocodec ffraw422P
info "RAW 422P"
@@ -3556,7 +3407,6 @@ videocodec ffraw422P
fourcc Y42B,y42b
driver ffmpeg
dll rawvideo
- out 422P
videocodec ffrawyv12
info "RAW YV12"
@@ -3566,7 +3416,6 @@ videocodec ffrawyv12
fourcc yv12,YV12
driver ffmpeg
dll rawvideo
- out YV12
videocodec ffrawi420
info "RAW I420"
@@ -3577,7 +3426,6 @@ videocodec ffrawi420
fourcc IYUV,iyuv
driver ffmpeg
dll rawvideo
- out I420,IYUV
videocodec ffrawyvu9
info "RAW YVU9"
@@ -3587,7 +3435,6 @@ videocodec ffrawyvu9
fourcc yvu9,YVU9
driver ffmpeg
dll rawvideo
- out YVU9
videocodec ffrawy800
info "RAW Y8/Y800"
@@ -3597,7 +3444,6 @@ videocodec ffrawy800
fourcc y800,Y800
driver ffmpeg
dll rawvideo
- out Y800,Y8
; NULL codec - for testing.
diff --git a/libmpcodecs/vd.c b/libmpcodecs/vd.c
index c54ae5260b..3ba72790a5 100644
--- a/libmpcodecs/vd.c
+++ b/libmpcodecs/vd.c
@@ -35,6 +35,7 @@
#include "vd.h"
#include "vf.h"
+#include "libvo/video_out.h"
extern const vd_functions_t mpcodecs_vd_null;
extern const vd_functions_t mpcodecs_vd_ffmpeg;
@@ -108,13 +109,12 @@ const vd_functions_t * const mpcodecs_vd_drivers[] = {
NULL
};
-#include "libvo/video_out.h"
-
-int mpcodecs_config_vo(sh_video_t *sh, int w, int h,
- unsigned int preferred_outfmt)
+int mpcodecs_config_vo2(sh_video_t *sh, int w, int h,
+ const unsigned int *outfmts,
+ unsigned int preferred_outfmt)
{
struct MPOpts *opts = sh->opts;
- int i, j;
+ int j;
unsigned int out_fmt = 0;
int screen_size_x = 0;
int screen_size_y = 0;
@@ -138,6 +138,10 @@ int mpcodecs_config_vo(sh_video_t *sh, int w, int h,
// user wants postprocess but no pp filter yet:
sh->vfilter = vf = vf_open_filter(opts, vf, "pp", NULL);
}
+
+ if (!outfmts || sh->codec->outfmt[0] != 0xffffffff)
+ outfmts = sh->codec->outfmt;
+
// check if libvo and codec has common outfmt (no conversion):
csp_again:
@@ -150,11 +154,11 @@ int mpcodecs_config_vo(sh_video_t *sh, int w, int h,
}
j = -1;
- for (i = 0; i < CODECS_MAX_OUTFMT; i++) {
+ for (int i = 0; i < CODECS_MAX_OUTFMT; i++) {
int flags;
- out_fmt = sh->codec->outfmt[i];
+ out_fmt = outfmts[i];
if (out_fmt == (unsigned int) 0xFFFFFFFF)
- continue;
+ break;
flags = vf->query_format(vf, out_fmt);
mp_msg(MSGT_CPLAYER, MSGL_DBG2,
"vo_debug: query(%s) returned 0x%X (i=%d) \n",
@@ -234,7 +238,8 @@ int mpcodecs_config_vo(sh_video_t *sh, int w, int h,
sh->vf_initialized = -1;
return 0; // failed
}
- out_fmt = sh->codec->outfmt[j];
+ out_fmt = outfmts[j];
+ sh->outfmt = out_fmt;
mp_msg(MSGT_CPLAYER, MSGL_V, "VDec: using %s as output csp (no %d)\n",
vo_format_name(out_fmt), j);
sh->outfmtidx = j;
@@ -354,8 +359,7 @@ mp_image_t *mpcodecs_get_image(sh_video_t *sh, int mp_imgtype, int mp_imgflag,
int w, int h)
{
mp_image_t *mpi =
- vf_get_image(sh->vfilter, sh->codec->outfmt[sh->outfmtidx], mp_imgtype,
- mp_imgflag, w, h);
+ vf_get_image(sh->vfilter, sh->outfmt, mp_imgtype, mp_imgflag, w, h);
if (mpi)
mpi->x = mpi->y = 0;
return mpi;
diff --git a/libmpcodecs/vd.h b/libmpcodecs/vd.h
index 4615a9dc6e..76f3d00553 100644
--- a/libmpcodecs/vd.h
+++ b/libmpcodecs/vd.h
@@ -49,7 +49,15 @@ extern const vd_functions_t * const mpcodecs_vd_drivers[];
#define VDCTRL_QUERY_UNSEEN_FRAMES 9 /* current decoder lag */
// callbacks:
-int mpcodecs_config_vo(sh_video_t *sh, int w, int h, unsigned int preferred_outfmt);
+int mpcodecs_config_vo2(sh_video_t *sh, int w, int h,
+ const unsigned int *outfmts,
+ unsigned int preferred_outfmt);
+static inline int mpcodecs_config_vo(sh_video_t *sh, int w, int h,
+ unsigned int preferred_outfmt)
+{
+ return mpcodecs_config_vo2(sh, w, h, NULL, preferred_outfmt);
+}
+
mp_image_t* mpcodecs_get_image(sh_video_t *sh, int mp_imgtype, int mp_imgflag, int w, int h);
void mpcodecs_draw_slice(sh_video_t *sh, unsigned char** src, int* stride, int w,int h, int x, int y);
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index 5a17bc243e..5460d20fd1 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -501,7 +501,18 @@ static int init_vo(sh_video_t *sh, enum PixelFormat pix_fmt){
sh->disp_h = height;
ctx->pix_fmt = pix_fmt;
ctx->best_csp = pixfmt2imgfmt(pix_fmt);
- if (!mpcodecs_config_vo(sh, sh->disp_w, sh->disp_h, ctx->best_csp))
+ const unsigned int *supported_fmts;
+ if (ctx->best_csp == IMGFMT_YV12)
+ supported_fmts = (const unsigned int[])
+ {IMGFMT_YV12, IMGFMT_I420, IMGFMT_IYUV, 0xffffffff};
+ else if (ctx->best_csp == IMGFMT_422P)
+ supported_fmts = (const unsigned int[])
+ {IMGFMT_422P, IMGFMT_YV12, IMGFMT_I420, IMGFMT_IYUV,
+ 0xffffffff};
+ else
+ supported_fmts = (const unsigned int[]){ctx->best_csp, 0xffffffff};
+ if (!mpcodecs_config_vo2(sh, sh->disp_w, sh->disp_h, supported_fmts,
+ ctx->best_csp))
return -1;
ctx->vo_initialized = 1;
}
diff --git a/libmpdemux/stheader.h b/libmpdemux/stheader.h
index f67a3217ac..ce4db94035 100644
--- a/libmpdemux/stheader.h
+++ b/libmpdemux/stheader.h
@@ -119,6 +119,7 @@ typedef struct sh_video {
int i_bps; // == bitrate (compressed bytes/sec)
int disp_w,disp_h; // display size (filled by fileformat parser)
// output driver/filters: (set by libmpcodecs core)
+ unsigned int outfmt;
unsigned int outfmtidx;
struct vf_instance *vfilter; // the video filter chain, used for this video stream
int output_flags; // query_format() results for output filters+vo