summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian König <[email protected]>2012-01-04 15:59:29 +0100
committerChristian König <[email protected]>2012-01-04 16:01:09 +0100
commit7b181d16c3b954bf567563e90e5e94bda833fab8 (patch)
tree85dd35b32a78d2793f7c440b5987c55977f04dd3 /src
parent4535874c1a6da74d9130e494d514284302e4d08e (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')
-rw-r--r--src/gallium/auxiliary/vl/vl_mpeg12_decoder.c9
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;