[Bug 97988] [radeonsi] playing back videos with VDPAU exhibits deinterlacing/anti-aliasing issues not visible with VA-API

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Sep 30 22:58:22 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=97988

--- Comment #8 from Grigori Goronzy <greg at chown.ath.cx> ---
Here's a bit of background:

Earlier, mpv used interop with OutputSurfaces. That is, it rendered the video
into an RGB surface and then used that for its own procesing (scaling,
rendering OSD on top, etc.).

Now recently, mpv has switched to interop with VideoSurfaces. That is, it maps
four fields of luma/chroma planes. These are split up into top and bottom
field, just as the spec for the interop extension says:

https://www.opengl.org/registry/specs/NV/vdpau_interop.txt

mpv then weaves the fields and does color space conversion, scaling, etc.


Things get wrong with the weaving, and I found some very suspicious code in
Mesa:

https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/state_tracker/st_vdpau.c#n82

Here a sampler is returned based on texture name index, and the same plane
sampler is used for top and bottom field. That can't be right at all. Is the
sampler possibly mangled somewhere else to make it point to the right fields?
It does not look like it, but maybe I'm just missing something.

This really makes me wonder whether VideoSurface interop ever worked correctly.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20160930/27751e54/attachment.html>


More information about the dri-devel mailing list