width = region->width;
height = region->height;
- vl_video_buffer_adjust_size(&x, &y, plane, buf->chroma_format,
+ vl_video_buffer_adjust_size(&x, &y, plane,
+ pipe_format_to_chroma_format(buf->buffer_format),
buf->interlaced);
- vl_video_buffer_adjust_size(&width, &height, plane, buf->chroma_format,
+ vl_video_buffer_adjust_size(&width, &height, plane,
+ pipe_format_to_chroma_format(buf->buffer_format),
buf->interlaced);
box->x = region->x < 0 ? -x : x;
!src->interlaced)
grab = true;
- if (src->interlaced != dst->interlaced && dst->interlaced && !grab)
- return VA_STATUS_ERROR_INVALID_SURFACE;
-
if ((src->width != dst->width || src->height != dst->height) &&
(src->interlaced && dst->interlaced))
scale = true;
if (!src_surfaces || !src_surfaces[0])
return VA_STATUS_ERROR_INVALID_SURFACE;
- if (scale || (grab && dst->interlaced)) {
+ if (scale || (src->interlaced != dst->interlaced && dst->interlaced)) {
vlVaSurface *surf;
surf = handle_table_get(drv->htab, context->target_id);