BtbN / FFmpeg-Builds

MIT License
6.97k stars 956 forks source link

[Request] Enable new d3d12va decoders #355

Closed oscarbg closed 3 months ago

oscarbg commented 3 months ago

Hi, FFMPEG main branch supports D3D12VA since december.. plase can add that to full build in addition to existing D3D11VA decoders?

ffmpeg -hwaccel d3d12va -i c:\av1\sample.mp4 -f null -

log:

Device creation failed: -12.
[vist#0:0/av1 @ 00000235a67716c0] [dec:libdav1d @ 00000235a676df80] No device available for decoder: device type d3d12va needed for codec libdav1d.

also testing with -hwaccel d3d13va (doesn't exist) reveals d3d11va missing from list:

[vist#0:0/h264 @ 000001a2282bedc0] Unrecognized hwaccel: d3d13va.
[vist#0:0/h264 @ 000001a2282bedc0] Supported hwaccels: cuda vaapi dxva2 qsv d3d11va opencl vulkan

EDIT: note I made an equal request to GyanD: https://github.com/GyanD/codexffmpeg/issues/117

thanks..

BtbN commented 3 months ago

Last I checked, d3d13 was not out yet :D I can't enable any d3d12 stuff until mingw implements support for it. And once they to, it'll turn on all by itself. So there's not much I can do.

oscarbg commented 3 months ago

Hi, seems MINGW64 already includes all needed d3d12 stuff at least on mainline.. even d3d12va encode support.. please see thread: https://github.com/mingw-w64/mingw-w64/issues/24 and where they added even d3d12 encode headers for things like D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS: https://github.com/mingw-w64/mingw-w64/issues/24#issuecomment-1876307235

or I'm mistaken.. it's a matter of updating mingw headers? up to commit https://github.com/mingw-w64/mingw-w64/commit/ed05999bf5be7847427800d09e847febdde00222 for ex. right? thanks..

BtbN commented 3 months ago

It's a matter of them making a new release and crosstools-ng pulling it in, and then me updating the mingw version in the ct-ng configs.

oscarbg commented 3 months ago

ah.. ok!

Andarwinux commented 3 months ago

Considering that windows arm64 support based on llvm-mingw has been added, maybe consider migrating x86 to llvm-mingw as well? This would give immediate access to the latest mingw-w64 headers.

BtbN commented 3 months ago

I just don't see any rush, and a whole bunch of stuff is broken on clang that works fine on gcc.

BtbN commented 3 months ago

Seems like it was just a broken install prefix for the headers.

oscarbg commented 3 months ago

thanks! guess tomorrow build will have it? out of context, but seems you are enabling win arm64 builds very soon, right?

BtbN commented 3 months ago

I don't think I will enable them anytime soon. I still have no idea if they even run, for lack of hardware. And the list of stuff in each release is already a horrible mess.

oscarbg commented 3 months ago

@BtbN just tested today builds with d3d12va and they work great.. thanks!