https://bugs.freedesktop.org/show_bug.cgi?id=97988 --- Comment #8 from Grigori Goronzy --- 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.