From 7b181d16c3b954bf567563e90e5e94bda833fab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Wed, 4 Jan 2012 15:59:29 +0100 Subject: [PATCH] vl/mpeg2: simple fix to get xine running again MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise xines xxmc plugin will just display green blocks. Signed-off-by: Christian König --- src/gallium/auxiliary/vl/vl_mpeg12_decoder.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c index 04253efaefa..1426eb86fe2 100644 --- a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c +++ b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c @@ -260,12 +260,13 @@ MacroBlockTypeToPipeWeights(const struct pipe_mpeg12_macroblock *mb, unsigned we break; default: - if (mb->macroblock_type & PIPE_MPEG12_MB_TYPE_PATTERN) { - /* patern without a motion vector, just copy the old frame content */ - weights[0] = PIPE_VIDEO_MV_WEIGHT_MAX; + if (mb->macroblock_type & PIPE_MPEG12_MB_TYPE_INTRA) { + weights[0] = PIPE_VIDEO_MV_WEIGHT_MIN; weights[1] = PIPE_VIDEO_MV_WEIGHT_MIN; } else { - weights[0] = PIPE_VIDEO_MV_WEIGHT_MIN; + /* no motion vector, but also not intra mb -> + just copy the old frame content */ + weights[0] = PIPE_VIDEO_MV_WEIGHT_MAX; weights[1] = PIPE_VIDEO_MV_WEIGHT_MIN; } break;