d3d11decoder: Do more retry for ID3D11VideoContext::DecoderBeginFrame failure
Some GPUs (especially NVIDIA) are complaining that GPU is still busy even we did 50 times of retry with 1ms sleep per failure. Because DXVA/D3D11 doesn't provide API for "GPU-IS-READY-TO-DECODE" like signal, there seems to be still no better solution other than sleep.
Merge request reports
Activity
added Windows label
I'm very unhappy with this hack... but I cannot find better idea. I've seen decoding failure with NVIDIA GPU when pipeline is performing very intensive decoding.
Why increase the timeout value to 2ms? because ffmpeg uses the value. Then why 100 times retry? It's empirical value. Note that ffmpeg does 50 times of retry with 2ms sleep, but I'm not sure increasing sleep time to 2ms is really helpful because we know that clock resolution on Windows is not very precise (see gstreamer!715 (closed)). So I just doubled the retry count as well.
added 52 commits
-
9f43705d...82c0f901 - 51 commits from branch
gstreamer:master
- 3a55f23a - d3d11decoder: Do more retry for ID3D11VideoContext::DecoderBeginFrame failure
-
9f43705d...82c0f901 - 51 commits from branch
Just increased retry count (50 -> 100). This D3D11 decoding API design is very unfortunate. I hope D3D12 decoding API which requires only one API call for submitting decoding command can be improve this bad thing.
assigned to @gstreamer-merge-bot
mentioned in commit seungha.yang/gst-plugins-bad@2d4643a6
added 1 commit
- 2d4643a6 - d3d11decoder: Do more retry for ID3D11VideoContext::DecoderBeginFrame failure
assigned to @seungha.yang and unassigned @gstreamer-merge-bot
assigned to @gstreamer-merge-bot and unassigned @seungha.yang
mentioned in commit seungha.yang/gst-plugins-bad@46c57722
added 3 commits
-
2d4643a6...3f43fef3 - 2 commits from branch
gstreamer:master
- 46c57722 - d3d11decoder: Do more retry for ID3D11VideoContext::DecoderBeginFrame failure
-
2d4643a6...3f43fef3 - 2 commits from branch
changed milestone to %1.19.1