AMF icon indicating copy to clipboard operation
AMF copied to clipboard

[Question]: What are the maximum specifications for the MJPEG decoder?

Open nuket opened this issue 9 months ago • 5 comments

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:

2024 - 05 - 04 21 : 53 : 52.426    17B84[AMFDecodeEngineImplDX11]   Error : ..\..\..\..\private\impl\components\DecoderUVD\DecodeEngines\DirectX\DirectX11\DecodeEngineDX11.cpp(1262) :Assertion failed : LoadCompressedBufferFromMemory() GetDecoderBuffer() failed
2024 - 05 - 04 21 : 53 : 52.427    17B84[AMFDecodeEngineImplDX11]   Error : ..\..\..\..\private\impl\components\DecoderUVD\DecodeEngines\DirectX\DirectX11\DecodeEngineDX11.cpp(1012) :ERROR: LoadCompressedBufferFromMemory() failed
2024 - 05 - 04 21 : 53 : 52.427    17B84[AMFDecoderUVDImpl]   Error : ..\..\..\..\private\impl\components\DecoderUVD\DecoderUVDImpl.cpp(1172) :AMF_ERROR 1 : AMF_FAIL : DecodeFrame() - Prepare<>DecodeBuffers failed
2024 - 05 - 04 21 : 53 : 52.427    17B84[AMF MFT AMFEngine]   Error : ..\..\..\..\private\impl\mft\mft - framework\Engine.cpp(343) :AMFEngine(0)::SubmitInput() : SubmitInput() failed, AMF_RESULT(AMF_FAIL)
2024 - 05 - 04 21 : 53 : 52.427    17B84[AMFAsyncMFTBase]   Error : ..\..\..\..\private\impl\mft\mft - framework\AsyncMFTBase.cpp(1103) :AsyncMFTBase(0)::ProcessInput() : SubmitInput() failed, AMF_RESULT(AMF_FAIL)

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

  • Windows 11
  • Driver 24.4.1
  • AMD Radeon 780M

nuket avatar May 05 '24 09:05 nuket