diff options
author | Christian König <[email protected]> | 2012-01-04 15:59:29 +0100 |
---|---|---|
committer | Christian König <[email protected]> | 2012-01-04 16:01:09 +0100 |
commit | 7b181d16c3b954bf567563e90e5e94bda833fab8 (patch) | |
tree | 85dd35b32a78d2793f7c440b5987c55977f04dd3 /src/gallium/auxiliary/vl | |
parent | 4535874c1a6da74d9130e494d514284302e4d08e (diff) |
vl/mpeg2: simple fix to get xine running again
Otherwise xines xxmc plugin will just display green blocks.
Signed-off-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/vl')
-rw-r--r-- | src/gallium/auxiliary/vl/vl_mpeg12_decoder.c | 9 |
1 files 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; |