From ea191e08d6cefad09bfb1e6d9317874dfd4080be Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 17 May 2005 09:18:49 +0000 Subject: remove permutation done to quant tables and then undone during idct move permutation from idct to unpack_vlcs Originally committed as revision 4256 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp3.c | 4 ++-- libavcodec/vp3dsp.c | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 8b9f7c829c..7923229dc1 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -886,7 +886,7 @@ static void init_dequantizer(Vp3DecodeContext *s) * the dequantization phase */ for (i = 1; i < 64; i++) { - j = zigzag_index[i]; + j = i; s->intra_y_dequant[j] = s->coded_intra_y_dequant[i] * ac_scale_factor / 100; if (s->intra_y_dequant[j] < MIN_DEQUANT_VAL) @@ -1659,7 +1659,7 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb, if (!eob_run) { fragment->coeff_count += zero_run; if (fragment->coeff_count < 64) - fragment->coeffs[fragment->coeff_count++] = coeff; + fragment->coeffs[dezigzag_index[fragment->coeff_count++]] = coeff; debug_vlc(" fragment %d coeff = %d\n", s->coded_fragment_list[i], fragment->coeffs[coeff_index]); } else { diff --git a/libavcodec/vp3dsp.c b/libavcodec/vp3dsp.c index 9c9530d05b..8cf77a25af 100644 --- a/libavcodec/vp3dsp.c +++ b/libavcodec/vp3dsp.c @@ -53,11 +53,10 @@ void vp3_idct_c(int16_t *input_data, int16_t *dequant_matrix, int32_t t1, t2; int i, j; - + /* de-zigzag and dequantize */ for (i = 0; i < coeff_count; i++) { - j = dezigzag_index[i]; - dequantized_data[j] = dequant_matrix[i] * input_data[i]; + dequantized_data[i] = dequant_matrix[i] * input_data[i]; } /* Inverse DCT on the rows now */ -- cgit v1.2.3