[MPlayer-users] VDPAU errors, flickering black video display on aspect change in MPEG2 TS

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sun Dec 8 14:52:43 CET 2013

On Sun, Dec 08, 2013 at 06:12:31AM +0000, Carl Eugen Hoyos wrote:
> Ilja Sekler <ilja_sekler_ <at> gmx.de> writes:
> > when playing DVB-T MPEG2 transport streams using '-vc ffmpeg12vdpau' or 
> > '-vc ffmpeg12vdpauold', an aspect change in the stream results in
> > 
> > [vdpau] Failed VDPAU decoder rendering: The size of a supplied object 
> > does not match the object it is being used with.
> This is a regression since r36428
> I have a suspicion that you are on Nvidia and that this does not 
> happen on Radeon.

My best explanation is that this is a NVidia driver bug, there is no
reason the decoder should care about aspect changes.
In the worst case the decoder would only compare aspect-scaled sizes,
in which case it might be a security issue.
Can someone try this patch?
It might still avoid the original issue why possibly fixing this one.
Assuming the issue is with the decoder, and not the video surfaces,
the error message is a bit useless there.
--- a/libvo/vo_vdpau.c
+++ b/libvo/vo_vdpau.c
@@ -697,6 +697,9 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
         vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy, d_width, d_height,
                                 flags, CopyFromParent, "vdpau", title);
+        if (IMGFMT_IS_VDPAU(image_format)
+            && !create_vdp_decoder(image_format, vid_width, vid_height, 2))
+            return -1;
         return 0;
     image_format = format;

More information about the MPlayer-users mailing list