ffmpeg based hw accelerated encoding cause huge memory leagake by VA buffers due to a difference behaviour between the i965 driver implementation and the VAAPI specification.
See the bug: https://trac.ffmpeg.org/ticket/5871
We do not support FFMPEG Harri VAAPI software. Please test with Gstreamer or Libyami if you want to test media stacks.
Support or not technically that issue has nothing to do with ffmpeg or testing. Issue is the difference between VAAPI specification and Intel VAAPI implementation i965_video, if that is okay then bug report was irrelevant?
If you can duplicate with a supported project like Libyami or Gstreamer, feel free to contribute your testing.
I don't know about libyami, but at least Gstreamer manually releases these buffers so there is no similar issue. I could request if ffmpeg community implements same thing in their code, but I think then the VA-API spec should be fixed.
It is true that gstreamer-vaapi releasing all the buffers manually, not trusting the driver :) Probably libyami is also doing the same since the initial code base was based on gstreamer-vaapi.
I would prefer to keep this bug open so that some can investigate at least in future.
(In reply to sreerenj from comment #5)
> I would prefer to keep this bug open so that some can investigate at least
> in future.
I agree with Sree. There should be a unit test to check the comply with the spec.
But in this case, I thing we should change the spec :/
In my opinion, it is not suitable to automatically free buffers by the driver. those buffers may also be used for next frame rendering by the APP and driver knows nothing about it. I suggest to update the spec of those APIs and let APP to free those buffers by themselves. Or add a new API to tell driver to free it or not and keep the default as not free
I agree with Peng Chen. We can simply update the Spec, which is what I told Haihao to do.
By the way, I am upstreaming a VAAPI conformance test framework. Probably later this week.
I am reopening this bug , we can close this, once the corresponding VA spec changes land in master. Hope it is fine for all :)
See this https://lists.freedesktop.org/archives/libva/2012-July/000952.html discussion related to this topic.
I updated the spec and no effort is needed for the driver.
Congratulations, you broke everything!
If I read this right, you now have the choice between:
- memory leaks
- random crashes
Your fix is partial at best.