From 10dec2de2d9f568675d66d736b48701fa26f7b50 Mon Sep 17 00:00:00 2001 From: Boyuan Zhang Date: Thu, 21 Jul 2016 19:40:20 -0400 Subject: [PATCH] st/va: add enviromental variable to disable interlace Add environmental variable to disable interlace mode. At VAAPI decoding stage, driver can not distinguish b/w pure decoding case and transcoding case. And since interlace encoding is not supported, we have to disable interlace for transcoding case. The temporary solution is to use enviromental variable to disable interlace mode. Signed-off-by: Boyuan Zhang --- src/gallium/state_trackers/va/surface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c index 8ce4143f74b..63727b6355d 100644 --- a/src/gallium/state_trackers/va/surface.c +++ b/src/gallium/state_trackers/va/surface.c @@ -43,6 +43,8 @@ #include "va_private.h" +DEBUG_GET_ONCE_BOOL_OPTION(nointerlace, "VAAPI_DISABLE_INTERLACE", FALSE); + #include static const enum pipe_format vpp_surface_formats[] = { @@ -620,6 +622,8 @@ vlVaCreateSurfaces2(VADriverContextP ctx, unsigned int format, templat.width = width; templat.height = height; + if (debug_get_option_nointerlace()) + templat.interlaced = false; memset(surfaces, VA_INVALID_ID, num_surfaces * sizeof(VASurfaceID)); -- 2.30.2