[Libva] How to detect the type of memory returned...

Gwenole Beauchesne gb.devel at gmail.com
Tue Jun 17 01:21:37 PDT 2014


Hi,

2014-06-17 9:13 GMT+02:00 Jean-Yves Avenard <jyavenard at gmail.com>:
> [was replied privately by mistake. Resending it to the list]
>
> Hi
>
> On Tuesday, June 17, 2014, Gwenole Beauchesne <gb.devel at gmail.com> wrote:
>> Yes, I know, I only answered to Rainer and wanted to experiment
>> something on your case before commenting.
>
>
> And what did your experimentation returns? :)

I mentioned below that I see a possible optimization in the driver,
not that I have definitely tested it either. :)

> Right now; what I've done (currently only in use in mythtv) is a
> USWCCopy class that the first time it is called to perform either a
> frame copy or a nv12->yv12 conversion, is timed the two different
> routines and select the fastest one for future use.
> It's certainly not pretty, nor elegant; but it works reliably seeing
> that the USWC copy methods is clearly faster in one case, and clearly
> slower in the other.
>
>
>
>> > Any recommendations?
>>An optimization is indeed possible on the driver, in case you create a VA image.
>>BTW, for VLC, the issue with using vaGetImage() is that the driver
>>currently does not provide bitexact conversion from NV12 to I420/YV12.
>>This is an issue that needs to be fixed at lest for same size
>>conversions. Otherwise, the the "Advanced Video Scaler" (AVS) engine
>>is always used, which tries to enhance the image along the way.
>
>
> I can't say I've been able to visualise the difference with moving
> images. But I haven't looked in that much details anyway.
> VaGetImage returned frame certainly good enough.
>
>
> With vaDeriveImage, 30% of the time spent in processing a frame from
> file to display is actually the NV12->YV12 conversion.

Even with fenrir's optimization to split the UV planes? Could be worth
checking if you observe the same behaviour in Windows. Thanks.

Regards,
-- 
Gwenole Beauchesne
Intel Corporation SAS / 2 rue de Paris, 92196 Meudon Cedex, France
Registration Number (RCS): Nanterre B 302 456 199


More information about the Libva mailing list