Fix TX64X64 bug in quantization

Change-Id: I4b77388fa49e29a8302fe8c3276471e8156ce2d5
This commit is contained in:
Cheng Chen 2017-03-29 15:19:36 -07:00
Родитель 41fffae6e5
Коммит 01add69970
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -1570,7 +1570,7 @@ void av1_quantize_fp_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
#else
if (abs_coeff >= (dequant_ptr[rc != 0] >> 3)) {
#endif
abs_coeff += ROUND_POWER_OF_TWO(round_ptr[rc != 0], 1);
abs_coeff += ROUND_POWER_OF_TWO(round_ptr[rc != 0], 2);
abs_coeff = clamp(abs_coeff, INT16_MIN, INT16_MAX);
#if CONFIG_AOM_QM
tmp = abs_coeff * wt;
@ -1578,7 +1578,7 @@ void av1_quantize_fp_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
qcoeff_ptr[rc] = (tmp32 ^ coeff_sign) - coeff_sign;
dqcoeff_ptr[rc] = (qcoeff_ptr[rc] * dequant) / 4;
#else
tmp32 = (abs_coeff * quant_ptr[rc != 0]) >> 15;
tmp32 = (abs_coeff * quant_ptr[rc != 0]) >> 14;
qcoeff_ptr[rc] = (tmp32 ^ coeff_sign) - coeff_sign;
dqcoeff_ptr[rc] = (qcoeff_ptr[rc] * dequant_ptr[rc != 0]) / 4;
#endif