[Libva] h264 decoding, Surface exporting to Beignet
Nikita Orlov
nikitos1550 at yandex.ru
Fri May 13 09:32:26 UTC 2016
Thanks! Very helpful!
13.05.2016, 03:38, "Zhao Yakui" <yakui.zhao at intel.com>:
> On 05/12/2016 07:39 PM, Nikita Orlov wrote:
>> Hello!
>
> Hi, Nikita
>
>> I am decoding h264 via VAAPI, after I have decoded frame in VASurface, I export it to BEIGNET:
>> 1)vaDeriveImage
>> 2)vaAcquireBufferHandle
>> 3)clCreateBufferFromLibvaIntel
>>
>> The problem, that after I call vaDeriveImage, it seems Surface is not more can be accessed by decoder and as future frames are referencing to this Surface, I can`t decode them.
>> I need to release buffer handle and destroy VAImage, before Surface can be accessed by decoder again.
>>
>> Is it ok? Or am I doing something wrong?
>
> [Yakui]: You are right. You need to destroy the VAImage if the surface
> is used as the decoded frame.
>
> When the surface is exported, it indicates that it will be accessed by
> the other component. If we still use it for the decoding, it is possible
> that two components are trying to access it simultaneously.
> This is not safe.
>
>> By the way, what is difference between Image and Buffer objects? I mean I can export VAImage to Beignet Image or Buffer.
>> Are there any difference in internal intel hardware for these two types of objects?
>
> [Yakui]: There is no difference. All these objects are based on the drm
> object.
>
>> --
>> Nikita Orlov
>> Skype: nik_stet
>> QQ: 2717846083
>> _______________________________________________
>> Libva mailing list
>> Libva at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/libva
--
Nikita Orlov
Skype: nik_stet
QQ: 2717846083
More information about the Libva
mailing list