VDPAU error on some videos

I’ve notice that since last driver update or two, mplayer with VDPAU video output is giving the following error, with a black screen (no video), for some videos enconded with h264:

MPlayer 1.2.1-4.9.4 (C) 2000-2016 MPlayer Team
Reproduzindo video.mkv
libavformat version 57.71.100 (external)
Mismatching header version 57.56.100
Detectado formato de arquivo libavformat!
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (ac3), -aid 0
VIDEO:  [H264]  1280x718  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
Informações do clip:
 encoder: libx264 + libebml + libmatroska + libfastrar
 creation_time: 2017-06-26T02:34:29.000000Z
Load subtitles in ./
SUB: Added subtitle file (1): ./video.srt
==========================================================================
Abrindo decodificador de vídeo: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 57.89.100 (external)
Mismatching header version 57.64.101
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Abrindo decodificador de audio: [ffmpeg] FFmpeg/libavcodec audio decoders
[ac3 @ 0x7f7295ebaf80]Channel layout '5.1(side)' with 6 channels does not match specified number of channels 2: ignoring specified channel layout
AUDIO: 48000 Hz, 2 ch, floatle, 384.0 kbit/12.50% (ratio: 48000->384000)
Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Iníciando reprodução...
Aspecto do filme é  1.78:1 - pré-redimensionando para corrigir o aspecto do filme.
VO: [vdpau] 1280x718 => 1280x718 Planar YV12 
[vdpau] Error when calling vdp_video_mixer_render: The size of a supplied object does not match the object it is being used with.
A:   0.0 V:   0.0 A-V:  0.042 ct:  0.000   0/  0 ??% ??% ??,?% 0 0 
[vdpau] Error when calling vdp_video_mixer_render: The size of a supplied object does not match the object it is being used with.
A:   0.1 V:   0.0 A-V:  0.042 ct:  0.004   0/  0 ??% ??% ??,?% 0 0 
[vdpau] Error when calling vdp_video_mixer_render: The size of a supplied object does not match the object it is being used with.
A:   0.1 V:   0.1 A-V:  0.038 ct:  0.008   0/  0 ??% ??% ??,?% 0 0 
[vdpau] Error when calling vdp_video_mixer_render: The size of a supplied object does not match the object it is being used with.

end so on....

I could not determine why this happens with some videos and not others, but setting the video output to XV (or any other really) solves it.

I’m running gentoo with kernel 4.4.21, nvidia driver version 381.22, FFmpeg version 3.3.2 and Mplayer version 1.2.1. I’m seeing this in two different computers, one with a 1070 and another with a 1050.

is anyone experiencing a similar issue?

Thanks for reporting this issue. Please provide nvidia bug report as soon as issue hit. What was the earlier driver which don’t have this issue? What are the command options you are using to play the video clip. Please attach the video clip you are using to reproduce this issue. What desktop env you are running - KDE, XFCE, GNOME or else? Hope you have tested with latest MPlayer version, FFMpeg and updated software components. Please test with 384.47 (beta) driver https://devtalk.nvidia.com/default/topic/1016125

I’ve run into this as well in MythTV-0.28 under Gentoo (x86 running 4.9.16 kernel) with nvidia-drivers 381.22. Reverting back to 378.13 corrects this:

2017-07-06 20:34:32.133432 E [1493/18682] Decoder mythrender_vdpau.cpp:1596 (Decode) - VDPAU: Error at mythrender_vdpau.cpp:1596 (#20, The size of a s
upplied object does not match the object it is being used with.)
2017-07-06 20:34:32.136115 E [1493/1493] CoreContext mythrender_vdpau.cpp:1165 (MixAndRend) - VDPAU: Error at mythrender_vdpau.cpp:1165 (#20, The size
 of a supplied object does not match the object it is being used with.)
2017-07-06 20:34:32.150698 E [1493/18682] Decoder mythrender_vdpau.cpp:1596 (Decode) - VDPAU: Error at mythrender_vdpau.cpp:1596 (#20, The size of a s
upplied object does not match the object it is being used with.)
2017-07-06 20:34:32.153093 E [1493/1493] CoreContext mythrender_vdpau.cpp:1165 (MixAndRend) - VDPAU: Error at mythrender_vdpau.cpp:1165 (#20, The size
 of a supplied object does not match the object it is being used with.)

Someone on the MythTv users mailing list pointed out that this appears to happen only when the video resolution is NOT a multiple of 4. I just checked and he may be correct. I have two videos, one that gets the error which is 718x1280 and one that works which is 720x1280.

Tom

Sorry for not getting back earlier, had a busy week.

Tom, I looked at the videos and you are right, the ones that present the problem have (an odd) 718x1280 resolution.

I’ll create the bug report as asked by sandipt linking to this thread, I do not recall the earliest version I did not hit the issue, but will try to do a regression test before issuing the report.

Thank you both, hope this is solved soon.

Sandipt,

I did the regression test and driver version 375.66 is working fine, versions 381.22 and 384.47 show the problem.

couldn’t get in the sftp partners.ftp.nvidia.com as reccomended in the link you posted (says password invalid), so couldn’t upload a sample file, but I’ve created a zip with a sample file and the mplayer outputs from two versions of the driver with -vo vdpau and -vc ffh264 or -vc ffh264vdpau, see the link: [url]Dropbox - File Deleted

but you can test with any video that is 1280x718, it shows a black screen consistently with any.

If you guys need any more info, please tell.

Best Regards,
Rafael

Thanks for testing . We are tracking this issue under 200326969 .

Last time I checked H.264 streams must have their dimensions divisible by 4, which means your video doesn’t conform to the standard.

A few things to note: a) While I can’t speak for Rafael, none of these are necessarily “my” videos, and use of that resolution appears to fairly common, b) other decoders appear to allow any resolution that’s a multiple of 2, and c) the latter in fact includes the nvidia VDPAU in prior versions, indicating that this is clearly a regression.

I have no idea as to the formal specs for H.264 offhand, but given the above it seems a little moot in this case.

Reminds me of this:

[url]http://mplayerhq.hu/pipermail/mplayer-users/2013-May/086269.html[/url]

We have fixed this issue in upcoming r384 driver release.

hi sandipt
a propos libvdpau, there is some new interesting commits added at : GitHub - mosterta/libvdpau: clone of libvdpau on freedesktop.org

if U can add them to the upcoming r384 release it will be a good thing …thank U very much

Fixed. Problem seems to have been resolved after installing 384.59. Thanks!

I can also confirm the issue is resolved, thank you Sandip and the team!

Mounir, if there are commits that should be included in a future libvdpau release, they should go to vdpau@lists.freedesktop.org first.