On 06.11.2015 20:10, Ilia Mirkin wrote:
On Fri, Nov 6, 2015 at 1:48 PM, Zhang, Boyuan <boyuan.zh...@amd.com> wrote:
Hi Emil,

Please see the following information about this patch.

- Issue: For Mpeg4, the VOP and GOV headers were truncated. With the existing 
workaround in st/va, playback shows massive corruptions.
- This Patch: Provide another way to get the truncated headers back. Massive 
corruptions are gone with this patch. At the same time, add an environmental 
variable to allow user to decide whether to use this patch.
Why would the user not want to use this? Sounds like a correctness
fix, no? Or is it some thing that a hypothetical gallium driver might
not need but the radeon uvd-based ones do? In that case it should be
behind a PIPE_VIDEO_CAP_bla (sorry, I'm still not too clear on what
"bla" is here...)

The problem is that this is a rather extreme hack.

As you probably knew VA-API didn't correctly specify which start code should be included and which shouldn't for MPEG-4. This is an issue for AMD as well as NVidia hardware and pretty much everybody which sticks close to an elementary stream.

What we do in this hack is just searching the bytes *before* the pointer and size we got from the application for the stuff that's missing. E.g. we access memory the application didn't told us to access.

This is rather speculative, but works surprisingly well with a lot of applications.

Regards,
Christian.


   -ilia
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to