From 361d8f82c03ae78373483e91ad3ec339ccd05236 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Thu, 28 Sep 2017 21:41:29 -0400 Subject: [PATCH] st/va: add dst rect to avoid scale on deint MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit For 1080p video transcode, the height will be scaled to 1088 when deint to progressive buffer. Set dst rect to make sure no scale. Fixes: 3ad8687 "st/va: use new vl_compositor_yuv_deint_full() to deint" Signed-off-by: Leo Liu Reviewed-by: Christian König Acked-by: Andy Furniss --- src/gallium/state_trackers/va/picture.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c index 5e79465..7427b98 100644 --- a/src/gallium/state_trackers/va/picture.c +++ b/src/gallium/state_trackers/va/picture.c @@ -669,15 +669,15 @@ vlVaEndPicture(VADriverContextP ctx, VAContextID context_id) if (context->decoder->entrypoint == PIPE_VIDEO_ENTRYPOINT_ENCODE) { if (old_buf->interlaced) { - struct u_rect src_rect; + struct u_rect src_rect, dst_rect; - src_rect.x0 = 0; - src_rect.y0 = 0; - src_rect.x1 = surf->templat.width; - src_rect.y1 = surf->templat.height; + dst_rect.x0 = src_rect.x0 = 0; + dst_rect.y0 = src_rect.y0 = 0; + dst_rect.x1 = src_rect.x1 = surf->templat.width; + dst_rect.y1 = src_rect.y1 = surf->templat.height; vl_compositor_yuv_deint_full(&drv->cstate, &drv->compositor, old_buf, surf->buffer, - &src_rect, NULL, VL_COMPOSITOR_WEAVE); + &src_rect, &dst_rect, VL_COMPOSITOR_WEAVE); } else /* Can't convert from progressive to interlaced yet */ return VA_STATUS_ERROR_INVALID_SURFACE; -- 2.7.4