There is program that can play several videos simultaneously. It uses DirectShow (to extract frames) + DXVA (to process frames: brightness, contrast, hue etc.) + Direct3D 9 (to visualize frames).
So, we are processing video frames with DXVA. And there is a problem with RGB-sources (videos, images).
- When we are playing single RGB-video, it’s all ok, no problems.
- When we are playing RGB source + at list one more source (it doesn’t matter what exactly, it can be yuy2 or nv12) we have next problem:
- We receive frame as usual
- Call IDirectXVideoProcessor::VideoProcessBlt
- It returns S_OK, but writes somewhere inside it to debug/log:
Failed to run Algo 0 of Stream 0.”
As far as we understood, it’s nvidia driver error.
On 280.26 drivers version there was no such problem.
And this bug appeared and stably reproduced on next drivers versions:
We tested it on videocards:
On Radeon videocards there is no such problem.
So, what does this error mean and how to avoid id?