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 support for hevc_d3d11va Decoder #117

Open
aizizai opened this issue Jan 24, 2025 · 3 comments
Open

Add support for hevc_d3d11va Decoder #117

aizizai opened this issue Jan 24, 2025 · 3 comments

Comments

@aizizai
Copy link

aizizai commented Jan 24, 2025

Hello, Currently, D3D11VA is enabled, but it seems that the hevc_d3d11va decoder is not enabled yet. Can you add this? Thank you very much.

@Sibras
Copy link
Member

Sibras commented Jan 24, 2025

The d3d11va hwaccel should be enabled which can be used however there currently isnt a standalone hevc_d3d11va_decoder in ffmpeg, so theres nothing more to enable

@aizizai
Copy link
Author

aizizai commented Jan 24, 2025

But " .name = "hevc_d3d11va" is defined in ffmpeg/libavcodec/dxva2_hevc.c, is this the decoder?

Additionally, here is my debugging output. As you can see, d3d11va is supported, but hevc_d3d11va is not recognized. If I want to use d3d11va for hardware-accelerated decoding, how should I proceed? Thank you.

Supported hardware decoders on this system:

cuda (Not supported)
vaapi (Not supported)
dxva2 (Supported)
qsv (Supported)
d3d11va (Supported)
opencl (Supported)
vulkan (Supported)
d3d12va (Supported)
Hardware decoder not found: hevc_d3d11va

Successfully opened codec: hevc_qsv

@Sibras
Copy link
Member

Sibras commented Jan 24, 2025

If your using ffmpeg cli program (which you havnt specified what your using) then you just need to pass -hwaccel d3d11va to use the supported d3d11va decoder (no need to directly specify a decoder)

The hwaccel system replaces the older explicit decoder system so hwaccel decoders do not show up in the codec list (only entries in libavcodec/allcodecs.c will show up)

If you want to prove to yourself a hardware decoder is in use then you can run./ffmpeg.exe -hwaccel d3d11va -threads 1 -i test.mp4 -f null - -benchmark then remove the hwaccel bit and compare the speed difference

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

No branches or pull requests

2 participants