Mesa (pipe-video): xvmc: add a workaround for xines xxmc vo plugin

Christian König deathsimple at kemper.freedesktop.org
Sat Apr 9 15:34:03 PDT 2011


Module: Mesa
Branch: pipe-video
Commit: 816d820b7de50827b9597b99823607cbab9a1ac6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=816d820b7de50827b9597b99823607cbab9a1ac6

Author: Christian König <deathsimple at vodafone.de>
Date:   Sat Apr  9 20:46:24 2011 +0200

xvmc: add a workaround for xines xxmc vo plugin

---

 src/gallium/state_trackers/xorg/xvmc/surface.c |   12 +++++++++---
 1 files 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 9585fff..68d003e 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;
       }
 



More information about the mesa-commit mailing list