From: Christian König Date: Sat, 9 Apr 2011 18:46:24 +0000 (+0200) Subject: xvmc: add a workaround for xines xxmc vo plugin X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=816d820b7de50827b9597b99823607cbab9a1ac6;p=mesa.git xvmc: add a workaround for xines xxmc vo plugin --- 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; }