1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

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
This commit is contained in:
Michael Niedermayer 2005-05-17 09:18:49 +00:00
parent b178f758fa
commit ea191e08d6
2 changed files with 4 additions and 5 deletions

View File

@ -886,7 +886,7 @@ static void init_dequantizer(Vp3DecodeContext *s)
* the dequantization phase */ * the dequantization phase */
for (i = 1; i < 64; i++) { 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; s->intra_y_dequant[j] = s->coded_intra_y_dequant[i] * ac_scale_factor / 100;
if (s->intra_y_dequant[j] < MIN_DEQUANT_VAL) if (s->intra_y_dequant[j] < MIN_DEQUANT_VAL)
@ -1659,7 +1659,7 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
if (!eob_run) { if (!eob_run) {
fragment->coeff_count += zero_run; fragment->coeff_count += zero_run;
if (fragment->coeff_count < 64) 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", debug_vlc(" fragment %d coeff = %d\n",
s->coded_fragment_list[i], fragment->coeffs[coeff_index]); s->coded_fragment_list[i], fragment->coeffs[coeff_index]);
} else { } else {

View File

@ -53,11 +53,10 @@ void vp3_idct_c(int16_t *input_data, int16_t *dequant_matrix,
int32_t t1, t2; int32_t t1, t2;
int i, j; int i, j;
/* de-zigzag and dequantize */ /* de-zigzag and dequantize */
for (i = 0; i < coeff_count; i++) { for (i = 0; i < coeff_count; i++) {
j = dezigzag_index[i]; dequantized_data[i] = dequant_matrix[i] * input_data[i];
dequantized_data[j] = dequant_matrix[i] * input_data[i];
} }
/* Inverse DCT on the rows now */ /* Inverse DCT on the rows now */