We are using DXVA2 via ID3D11VideoDevice API to support hw-accelerated decoding of h.264 video.
What is the perferred way to determine if the hw decoders are overloaded / out of instances.
Currently we measure the decoding time and if it's above a threshold (i.e. GPU/UI grinding to a halt) we drop the decoding session or fall back to i-frame only mode.
Is there any better method to find decoder overload in advance? i.e. query number of hw decoders, max. supported bandwidth etc?
Thank you very much!
The theoretical maximum limit on the number of instances of the decoder is 16. However, in AMD's latest Catalyst driver, this limit has been set to 10. There is no publicly available tool that can help determine the decoder overload in advance; your method seems reasonable.