Skip to content
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

Conditional profiles will not work with d3d11va set. #14042

Closed
JySzE opened this issue May 2, 2024 · 5 comments
Closed

Conditional profiles will not work with d3d11va set. #14042

JySzE opened this issue May 2, 2024 · 5 comments
Labels

Comments

@JySzE
Copy link

JySzE commented May 2, 2024

Important Information

Provide following Information:

Reproduction steps

Use provided mpv.conf for testing or simply create your own conditional profile and set hwdec to d3d11va:

Conditional profiles will not activate with d3d11va set but will work with d3dva11-copy set.

Expected behavior

Conditional profiles activating.

Actual behavior

Conditional profiles not activating.

Log file

output.txt

Sample files

mpv.conf

@JySzE JySzE added the os:win label May 2, 2024
@norinoriko
Copy link

hwdec generally doesn't work great in auto profiles, even copyback suffers from the exact same issue.

The issue is that the autoprofile is applied after the video is already initialized, so when you have an autoprofile like

[2160p]
profile-cond=p.height == 2160
profile-restore=copy
hwdec=vulkan-copy

What happens is that the mpv inits with software decoding, then it applies hwdec at runtime. This ends up breaking the first few seconds of the video, which is fairly normal if you switch to hwdec during runtime. The problem is even more apparent if you do a reverse profile like

hwdec=vulkan-copy

[no-2160p]
profile-cond=p.height < 2160
profile-restore=copy
hwdec=no

... where you can pretty consistently trigger an A/V desync at the start of files

tl;dr, don't bother putting hwdec in autoprofiles.

@JySzE
Copy link
Author

JySzE commented May 17, 2024

hwdec generally doesn't work great in auto profiles, even copyback suffers from the exact same issue.

The issue is that the autoprofile is applied after the video is already initialized, so when you have an autoprofile like

[2160p]
profile-cond=p.height == 2160
profile-restore=copy
hwdec=vulkan-copy

What happens is that the mpv inits with software decoding, then it applies hwdec at runtime. This ends up breaking the first few seconds of the video, which is fairly normal if you switch to hwdec during runtime. The problem is even more apparent if you do a reverse profile like

hwdec=vulkan-copy

[no-2160p]
profile-cond=p.height < 2160
profile-restore=copy
hwdec=no

... where you can pretty consistently trigger an A/V desync at the start of files

tl;dr, don't bother putting hwdec in autoprofiles.

Thanks for the reply but if you look at my mpv.conf provided im not switching hwdec in the auto profiles.

Im setting hwdec=d3d11va as the global hwdec. The auto profiles do not change what has already been set for hwdec

And the auto profiles works fine when set to hwdec=d3d11va-copy globally but not when hwdec=d3d11va is set.

@Jules-A
Copy link

Jules-A commented May 18, 2024

Changing shaders in auto-profile with conditional shaders no longer works with d3d11va (after the initial playback has started). Though maybe it's a separate issue since the error is saying it can't find the shader files?

@Andarwinux
Copy link
Contributor

Everything works as expected, if you use native hwdec, you should use hw-pixelformat to get the real format.

@JySzE
Copy link
Author

JySzE commented May 19, 2024

Everything works as expected, if you use native hwdec, you should use hw-pixelformat to get the real format.

Thank you this fixed the issue.

@JySzE JySzE closed this as completed May 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants