https://bugs.freedesktop.org/show_bug.cgi?id=92088
Signed-off-by: Julien Isorce <[email protected]> --- src/i965_drv_video.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c index 9bbd67f..bf599d6 100644 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -4008,6 +4008,7 @@ VAStatus i965_DeriveImage(VADriverContextP ctx, struct object_surface *obj_surface; VAImageID image_id; unsigned int w_pitch; + int i = 0; VAStatus va_status = VA_STATUS_ERROR_OPERATION_FAILED; out_image->image_id = VA_INVALID_ID; @@ -4055,9 +4056,16 @@ VAStatus i965_DeriveImage(VADriverContextP ctx, image->height = obj_surface->orig_height; image->data_size = obj_surface->size; - image->format.fourcc = obj_surface->fourcc; - image->format.byte_order = VA_LSB_FIRST; - image->format.bits_per_pixel = 12; + for (i = 0; i965_image_formats_map[i].va_format.fourcc != 0; i++) { + const i965_image_format_map_t * const m = &i965_image_formats_map[i]; + if (m->va_format.fourcc == obj_surface->fourcc) { + image->format = m->va_format; + break; + } + } + + if (!i965_image_formats_map[i].va_format.fourcc) + goto error; switch (image->format.fourcc) { case VA_FOURCC_YV12: -- 1.9.1 _______________________________________________ Libva mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libva
