From 816d820b7de50827b9597b99823607cbab9a1ac6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20K=C3=B6nig?= Date: Sat, 9 Apr 2011 20:46:24 +0200 Subject: [PATCH] xvmc: add a workaround for xines xxmc vo plugin --- src/gallium/state_trackers/xorg/xvmc/surface.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gallium/state_trackers/xorg/xvmc/surface.c b/src/gallium/state_trackers/xorg/xvmc/surface.c index 9585fffffc6..68d003e470a 100644 --- a/src/gallium/state_trackers/xorg/xvmc/surface.c +++ b/src/gallium/state_trackers/xorg/xvmc/surface.c @@ -101,7 +101,7 @@ MacroBlocksToPipe(struct pipe_screen *screen, mb->mbx = xvmc_mb->x; mb->mby = xvmc_mb->y; - if (!xvmc_mb->macroblock_type & XVMC_MB_TYPE_INTRA) + if (!(xvmc_mb->macroblock_type & XVMC_MB_TYPE_INTRA)) mb->mo_type = MotionToPipe(xvmc_mb->motion_type, xvmc_picture_structure); /* Get rid of Valgrind 'undefined' warnings */ else @@ -128,8 +128,14 @@ MacroBlocksToPipe(struct pipe_screen *screen, break; default: - mb->mv[0].wheight = 0; - mb->mv[1].wheight = 0; + /* workaround for xines xxmc video out plugin */ + if (!(xvmc_mb->macroblock_type & ~XVMC_MB_TYPE_PATTERN)) { + mb->mv[0].wheight = 255; + mb->mv[1].wheight = 0; + } else { + mb->mv[0].wheight = 0; + mb->mv[1].wheight = 0; + } break; } -- 2.30.2