[FFmpeg-cvslog] vp56: remove clear_blocks call, and clear alpha plane U/V DC only.
Ronald S. Bultje
git at videolan.org
Fri Feb 1 23:58:10 CET 2013
ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Fri Feb 1 11:04:50 2013 -0800| [8af915c21b03187ebe11823676081f6311fdbe5e] | committer: Michael Niedermayer
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: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8af915c21b03187ebe11823676081f6311fdbe5e
---
libavcodec/vp56.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index 7df5ada..6cc3770 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(VP56Context *s)
More information about the ffmpeg-cvslog
mailing list