summaryrefslogtreecommitdiff
path: root/libavcodec/vp56.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2013-02-01 11:04:50 -0800
committerMartin Storsjö <martin@martin.st>2013-02-19 22:33:11 +0200
commitf859678f3f274bbfa8228ddf13706f55d66481cb (patch)
tree10cfe62d01ab7e3f98400f0fe702e94547dfd82b /libavcodec/vp56.c
parent9acd23d655b5e3a3b56f9916480356fe0e48c70c (diff)
vp56: Remove clear_blocks call, and clear alpha plane U/V DC only
The non-alpha and alpha-Y planes are cleared in the idct_put/add() calls. For the alpha U/V planes, we only care about the DC for entropy context prediction purposes, the rest of the data is unused. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/vp56.c')
-rw-r--r--libavcodec/vp56.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index dec7869c1b..64f33c6dbe 100644
--- a/libavcodec/vp56.c
+++ b/libavcodec/vp56.c
@@ -394,8 +394,6 @@ static void vp56_decode_mb(VP56Context *s, int row, int col, int is_alpha)
mb_type = vp56_decode_mv(s, row, col);
ref_frame = vp56_reference_frame[mb_type];
- s->dsp.clear_blocks(*s->block_coeff);
-
s->parse_coeff(s);
vp56_add_predictors_dc(s, ref_frame);
@@ -448,6 +446,11 @@ static void vp56_decode_mb(VP56Context *s, int row, int col, int is_alpha)
}
break;
}
+
+ if (is_alpha) {
+ s->block_coeff[4][0] = 0;
+ s->block_coeff[5][0] = 0;
+ }
}
static int vp56_size_changed(AVCodecContext *avctx)