From 7bad42cf591c61f2e6d0c1a84730dc1c782f1ffd Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 16 May 2005 09:29:13 +0000 Subject: [PATCH] fix dequant matrix Originally committed as revision 4246 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp3.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 30b27d7007..4fb4ca2f39 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -2066,7 +2066,6 @@ static void render_fragments(Vp3DecodeContext *s, /* set up plane-specific parameters */ if (plane == 0) { - dequantizer = s->intra_y_dequant; output_plane = s->current_frame.data[0]; last_plane = s->last_frame.data[0]; golden_plane = s->golden_frame.data[0]; @@ -2075,7 +2074,6 @@ static void render_fragments(Vp3DecodeContext *s, upper_motion_limit = 7 * s->current_frame.linesize[0]; lower_motion_limit = height * s->current_frame.linesize[0] + width - 8; } else if (plane == 1) { - dequantizer = s->intra_c_dequant; output_plane = s->current_frame.data[1]; last_plane = s->last_frame.data[1]; golden_plane = s->golden_frame.data[1]; @@ -2084,7 +2082,6 @@ static void render_fragments(Vp3DecodeContext *s, upper_motion_limit = 7 * s->current_frame.linesize[1]; lower_motion_limit = height * s->current_frame.linesize[1] + width - 8; } else { - dequantizer = s->intra_c_dequant; output_plane = s->current_frame.data[2]; last_plane = s->last_frame.data[2]; golden_plane = s->golden_frame.data[2]; @@ -2172,6 +2169,12 @@ av_log(s->avctx, AV_LOG_ERROR, " help! got beefy vector! (%X, %X)\n", motion_x, motion_source + stride + 1 + d, stride, 8); } + dequantizer = s->inter_dequant; + }else{ + if (plane == 0) + dequantizer = s->intra_y_dequant; + else + dequantizer = s->intra_c_dequant; } /* dequantize the DCT coefficients */