[Mesa-dev] [PATCH] st/va: add mpeg4 startcode workaround
Christian König
deathsimple at vodafone.de
Fri Nov 6 11:15:59 PST 2015
On 06.11.2015 20:10, Ilia Mirkin wrote:
> On Fri, Nov 6, 2015 at 1:48 PM, Zhang, Boyuan <Boyuan.Zhang at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list