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

_______________________________________________
Libva mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to