[MPlayer-dev-eng] [PATCH] wmv9dmo - correct supported output formats

Ivan Kalvachev ikalvachev at gmail.com
Wed Dec 14 11:56:34 CET 2005


2005/12/13, John Koleszar <jkoleszar at on2.com>:
> I've got a WMV3 clip that when played in mplayer has the chroma planes
> screwed up (phase problems). The problem only exists when opening the
> decoder in YV12 format (the default). Forcing other formats with -vf
> format such as YUY2 and UYVY cause the video to be displayed properly.
> I've looked into this a bit and the problem seems to be that this codec
> accepts YV12 as an output format but has some internal bug with it. YV12
> is not one of the codec's preferred output formats (as retrieved from
> the IMediaObject::GetOutputType interface, GraphEdit, etc). It's
> preferred output formats are YUY2, UYVY, YVYU, RGB32, RGB24, RGB565,
> RGB555, RGB8.
>
> The attached patch to codecs.conf corrects the supported output types
> for both YUV and BGR, though the BGR ones remain commented out. I can
> provide a test clip if necessary, but it seems like consistency with
> GraphEdit should be enough here...
>
> John
>
>
>
>
> Index: etc/codecs.conf
> ===================================================================
> RCS file: /cvsroot/mplayer/main/etc/codecs.conf,v
> retrieving revision 1.439
> diff -u -r1.439 codecs.conf
> --- etc/codecs.conf     17 Nov 2005 22:31:28 -0000      1.439
> +++ etc/codecs.conf     13 Dec 2005 18:18:56 -0000
> @@ -700,9 +700,8 @@
>    driver dmo
>    dll "wmv9dmod.dll"
>    guid 0x724bb6a4, 0xe526, 0x450f, 0xaf, 0xfa, 0xab, 0x9b, 0x45, 0x12, 0x91, 0x11
> -  out YV12 ;,I420,IYUV
> -  out YUY2,UYVY
> -;  out BGR32,BGR24,BGR16 ;,BGR15
> +  out YUY2,UYVY,YVYU
> +;  out BGR32,BGR24,BGR16,BGR15

I'm very against this patch!

WMV3 decoder just like most of the modern decoders use internal planar format.
This means that the other format require convertion by software.
Even if we ignore the cpu computation needed for yv12->yuyv convertion
(that is not much if done in mmx),  the yuyv packed formats are 16
bits per pixel and this increase the required  memory thoughput.

Provide sample and let us find out why it doesn't work.




More information about the MPlayer-dev-eng mailing list