summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoyuan Zhang <[email protected]>2016-07-21 19:40:20 -0400
committerChristian König <[email protected]>2016-07-25 13:39:53 +0200
commit10dec2de2d9f568675d66d736b48701fa26f7b50 (patch)
treeb092a3a7bb8e289b4278513ff5fca7b899276f64
parentb0ceb4cc4862f3d751973e230569c97e0119aa19 (diff)
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 <[email protected]>
-rw-r--r--src/gallium/state_trackers/va/surface.c4
1 files changed, 4 insertions, 0 deletions
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 <va/va_drmcommon.h>
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));