[Libva] vaGetImage failed with VA_STATUS_ERROR_SURFACE_BUSY
Weng, Chuanbo
chuanbo.weng at intel.com
Fri Dec 26 00:03:00 PST 2014
Hi all,
I have a usage case of libva: I read camera frame to a VASurface (VA_FOURCC_YUY2 format),
translate the format from VA_FOURCC_YUY2 to VA_FOURCC_NV12 and then show VASurface content
to screen. The code of translating format is as below:
VAImage nv12_image;
va_status = vaDeriveImage(va_dpy, nv12_surface_id, &nv12_image);
va_status = vaGetImage (va_dpy, gray_bgra_surface_id, 0, 0, width, height, nv12_image.image_id);
It fails on vaGetImage with return value VA_STATUS_ERROR_SURFACE_BUSY. I dig into
intel-driver, and find it returns on the this line of i965_GetImage():
if (is_image_busy(i965, obj_image))
return VA_STATUS_ERROR_SURFACE_BUSY;
Could you find a way to solve this problem? Because it's the most convenient way I know translating
one format VASurface to another.
Thanks,
Chuanbo Weng
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libva/attachments/20141226/e250384a/attachment.html>
More information about the Libva
mailing list