-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong scaling in fullscreen VLC (was: Problems playing videos in VLC) #53
Comments
👍 Same issue on ArchLinux for me. If I build version 0.3.5 from Arch[1] everything looks fine again. |
A quick bisect indicates that the issue was caused by commit e10ef7a. For VDPAU backend, VLC checks for the value of However, since this commit, VLC starts to render through libvdpau-va-gl and the issue exposes. P.S. mpv seems to play well with libvdpau-va-gl 0.3.6, so I wonder if it's an issue of VLC's VDPAU module implementation rather than a bug of this driver. [1] https://github.com/videolan/vlc/blob/2.2.0-git/modules/hw/vdpau/display.c#L523 |
some info about vlc and "va-api x11" if you select "va-api via x11" then vlc uses va-api i sent a bug report about this but the answer is "it is not a bug" so it is necessary to install libvdpau-va-gl for this pb. no ? |
replace |
Hi. Since then, there was a 2.2.3 release, and also recently 2.2.4. Release notes for 2.2.3 have VDPAU fixes mentioned. And indeed in 2.2.3 currently available in Debian testing, I see VLC calling VDPAU functions for decoding and rendering. @jtyr, @stefano-m, @soimort, @promeneur, could you check with a newer version of VLC, please? 2.2.3 and later should be fine. |
Before that commit VLC just ignored libvdpau-va-gl. It asked for supported dimensions, saw return code, and gave up with VDPAU. As far as I remember, I added the patch to check if the same issue (as current one) can be reproduced with VLC from master branch. |
I still have the problem with vlc 2.2.4 in unstable. If you want me to trace through some functions with gdb, I can. |
opensuse 13.1 x86_64 same problem with scaling picture to full screen. |
Oh. I was testing the other issue — general playback failure in VLC with libvdpau-va-gl. Now when I read description again, I see it's about fullscreen mode. Now I can see the bug on my machine too. |
Also tested v0.3.4 (all with code added to |
Well, I'm confused. Here is one of the calls that VLC make:
There are many parameters for the function, but the most interesting ones are the last four. They are:
So here Since authors of VDPAU code in VLC must have been tested it, I assume it works fine on nVidia proprietary drivers. But I wonder, how. Haven't chance yet to test it on machine with nVidia adapter. |
For another example, here is how
Here libvdpau-va-gl scales video fine with |
I can confirm the same issue on an nVidia GeForce machine, as well as on an Intel one, both running
mpv works perfectly fine with libvdpau-va-gl. |
@soimort, could you try to build VLC with the following patch? diff --git a/modules/hw/vdpau/chroma.c b/modules/hw/vdpau/chroma.c
index 1fe511c..630ad89 100644
--- a/modules/hw/vdpau/chroma.c
+++ b/modules/hw/vdpau/chroma.c
@@ -642,7 +642,7 @@ static picture_t *VideoRender(filter_t *filter, picture_t *src)
err = vdp_video_mixer_render(sys->vdp, sys->mixer, VDP_INVALID_HANDLE,
NULL, structure,
MAX_PAST, past, surface, MAX_FUTURE, future,
- &src_rect, output, &dst_rect, NULL, 0, NULL);
+ &src_rect, output, NULL, &dst_rect, 0, NULL);
if (err != VDP_STATUS_OK)
{
msg_Err(filter, "video %s %s failure: %s", "mixer", "rendering", I think, it should fix video scaling. |
That does fix the scaling issue for me. 👍 |
@soimort, what video adapter are you trying on? And what driver version? I've just tested on GeForce GTX 980 with 352.79-8 (Debian testing) with VLC 2.2.4. It scales video fine. That confuses me more, since I've seen other people with nVidia adapters writing about fullscreen scaling issue on the Internet. |
GeForce 940M (with Intel integrated graphics) via Bumblebee. Driver & kernel version:
The issue was not just about fullscreen mode; videos simply fail to scale accordingly as the window size changes. Applying the patch above should fix the issue (on both intel and NVIDIA). |
That means you are using only Intel for video decoding, as Bumblebee doesn't pass VDPAU calls to nVidia adapter. It only works for OpenGL. |
Then I have no idea about whether this is an issue on nVidia. (just realized Bumblebee doesn't support VDPAU yet) Any chance you could send the patch to VLC? It seems to me that this bug is on the VLC side. |
Sent already, yesterday. 😃 Need some time for clarifications. But most probably, it will be fixed in libvdpau-va-gl. I just want to be sure about changes. |
The issue does happen for me on intel video (without nvidia card at all/as somebody already mentioned video output to "auto"). Setting output to "opengl" fixes the scaling issue. To me it seems VLC is using vdpau wrapper for intel card and scaling doesn't work. More likely vdpau/vlc issue than nvidia driver issue. |
Contrary to (my) expectations, patch was pushed to the VLC code too (videolan/vlc@7df48e3). Perhaps, for compatibility reasons. Unfortunately, VDPAU mailing list still looks abandoned. No replies, no clarifications. |
if it can help. intel graphical adapter if setting is "automatic" for "hardware decoding" it's not robust. if file is not very clean then vlc crashes. |
After upgrading libvdpau-va-gl from 0.3.4 to 0.3.6, I'm experiencing problems with playing videos in VLC. The video doesn't scale to full screen size when in the full screen mode and some videos have wrong aspect ratio. When I downgrade back to libvdpau-va-gl-0.3.4, all works normally.
VLC: 2.2.2
Distro: Arch Linux
The text was updated successfully, but these errors were encountered: