From b9693aa8517c755335edd4dddd24cf253a4fc354 Mon Sep 17 00:00:00 2001 From: Thong Thai Date: Thu, 15 Oct 2020 15:32:47 -0400 Subject: [PATCH] frontends/va/postproc: Un-break field flag Fixes an issue where deinterlaced videos would play at half the framerate, since only one field was repeated, instead of using both fields. Reverts a change I made previously which broke this. Fixes: 78786a219ea ("frontends/va: Fix deinterlace bottom field first flag") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3621 Signed-off-by: Thong Thai Reviewed-by: Leo Liu Part-of: (cherry picked from commit 354e375c9cc937ecfafd7b98a768621c53458528) --- .pick_status.json | 2 +- src/gallium/frontends/va/postproc.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index d7210f57020..359fb520f56 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -274,7 +274,7 @@ "description": "frontends/va/postproc: Un-break field flag", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "78786a219ea2322af09576472dcc2d6d01cb9060" }, diff --git a/src/gallium/frontends/va/postproc.c b/src/gallium/frontends/va/postproc.c index bd1228b3916..18458832844 100644 --- a/src/gallium/frontends/va/postproc.c +++ b/src/gallium/frontends/va/postproc.c @@ -321,7 +321,7 @@ vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *contex VAProcFilterParameterBufferDeinterlacing *deint = buf->data; switch (deint->algorithm) { case VAProcDeinterlacingBob: - if (deint->flags & VA_DEINTERLACING_BOTTOM_FIELD_FIRST) + if (deint->flags & VA_DEINTERLACING_BOTTOM_FIELD) deinterlace = VL_COMPOSITOR_BOB_BOTTOM; else deinterlace = VL_COMPOSITOR_BOB_TOP; @@ -333,7 +333,7 @@ vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *contex case VAProcDeinterlacingMotionAdaptive: src = vlVaApplyDeint(drv, context, param, src, - !!(deint->flags & VA_DEINTERLACING_BOTTOM_FIELD_FIRST)); + !!(deint->flags & VA_DEINTERLACING_BOTTOM_FIELD)); break; default: