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

Add CUDA and QSV to allowed decoder list #238

Closed

Conversation

Sn0wCrack
Copy link
Contributor

@Sn0wCrack Sn0wCrack commented Jan 31, 2024

In the original Chiaki (and most of the Qt6 ports I've used), the entirety of the decoder list was added to this dropdown box. This allowed me to use CUDA and QSV on systems where I had access to these.

I've added CUDA and QSV to the allowed decoders list for all Operating Systems, as far as I'm aware these should both be available on Linux and Windows at the very least.

I've tested both CUDA and QSV by manually editing my saved registry values on Windows and both seem to work fine, I don't have easy access to a Linux device to test on there.

I'm happy to move these into the Windows and Linux blocks specifically to prevent macOS users from selecting it.

There are other decoders that could be enabled, such as DVXA2 (Windows-only) and OpenCL, however I'm unaware of either of these have any practical purpose now that Vulkan, VA-API and D3D11VA exist and are decent on most systems.

@nowrep
Copy link
Contributor

nowrep commented Feb 1, 2024

Is there a reason why you can't use Vulkan (or d3d11va)? Only Vulkan and VAAPI have zero-copy, so ideally we should only use those.
Currently there should be at least one working hw decoder on each platform (vulkan on linux nvidia, vaapi on linux intel/amd, d3d11va on windows and videotoolbox on macos), so I don't see a reason to add any more.

In any case, it would be better to check the GPU vendor and filter based on it (also check Vulkan video support).

@Sn0wCrack
Copy link
Contributor Author

Is there a reason why you can't use Vulkan? Only Vulkan and VAAPI have zero-copy, so ideally we should only use those.

Mainly related to my bug report about Vulkan crashing, setting the value to cuda in the registry settings seems to run well and uses my GPU for video decode without issue.

In any case, it would be better to check the GPU vendor and filter based on it (also check Vulkan video support).

Fair point, I'll look into trying to do this.

@nowrep
Copy link
Contributor

nowrep commented Feb 1, 2024

I'd prefer fixing Vulkan instead.

Also what's wrong with using d3d11va?

@Sn0wCrack
Copy link
Contributor Author

d3d11va does seem to work fine for my use cases so far but will have to get a full session out of it to see how it goes.
From my brief testing, d3d11va does use more GPU utilization than when using CUDA at idle.

@policeman0077
Copy link

Is there a reason why you can't use Vulkan? Only Vulkan and VAAPI have zero-copy, so ideally we should only use those.

Mainly related to my bug report about Vulkan crashing, setting the value to cuda in the registry settings seems to run well and uses my GPU for video decode without issue.

In any case, it would be better to check the GPU vendor and filter based on it (also check Vulkan video support).

Fair point, I'll look into trying to do this.

which registry I should use to set it to cuda

@Sn0wCrack Sn0wCrack closed this Jun 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants