Open nuket opened 1 month ago
Regarding maximum resolution: it depends on HW. Please check CapabilityManager sample that shows how to use AMFCaps interface and get maximum resolution. Usually it is 7680x4320. Regarding failure with large buffers: can you share the video file?
Ok, I'll check the AMFCaps, thanks for the suggestion.
Regarding large buffers: I've attached the file, it is a single frame. 4032x3024-4MiB-test.zip
I think somewhere in the private implementation of DecodeEngineDX11.cpp it's allocating at most a 4MB buffer for the compressed data and this frame doesn't fit.
With your provided MJPEG file, I have reproduced the issue and created a corresponding internal ticket. We will notify of its status.
Thanks for the quick investigation. For a detailed 8K frame, I estimate that the compressed buffer could be around 16 - 32 MB in size.
The issue has been fixed internally and the fix will be available in a future public driver release. We will notify when the release is made publicly available.
Question
What are the maximum specifications for the UVD MJPEG hardware decode engine, i.e. maximum frame width x height and maximum bytes per frame?
Observation
Passing compressed frames larger than ~3.7 MiB in size causes the following error traces:
This happens with both the native AMF SDK using calls derived from SimpleDecoder, as well as with Media Foundation components which seem to call into the same code.
In my case, the frame dimensions were ~4000 x 3000px, but this doesn't seem like it should be unreasonable for modern hardware.
Hardware