diff options
author | Christian König <[email protected]> | 2011-04-09 20:46:24 +0200 |
---|---|---|
committer | Christian König <[email protected]> | 2011-04-09 20:46:24 +0200 |
commit | 816d820b7de50827b9597b99823607cbab9a1ac6 (patch) | |
tree | aa9664d83fb874f227c0cb7e6c027d6cc1b474a0 /src | |
parent | 7a5390b06fea99f85ab47d40d8dc40e40e0f2ab8 (diff) |
xvmc: add a workaround for xines xxmc vo plugin
Diffstat (limited to 'src')
-rw-r--r-- | 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 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; } |