summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_dequantize.c
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/decoder/vp9_dequantize.c')
-rw-r--r--vp9/decoder/vp9_dequantize.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/vp9/decoder/vp9_dequantize.c b/vp9/decoder/vp9_dequantize.c
index 1f64767fa..376147547 100644
--- a/vp9/decoder/vp9_dequantize.c
+++ b/vp9/decoder/vp9_dequantize.c
@@ -185,20 +185,9 @@ void vp9_dequant_dc_idct_add_lossless_c(int16_t *input, const int16_t *dq,
}
#endif
-void vp9_dequantize_b_2x2_c(BLOCKD *d) {
- int i;
- int16_t *DQ = d->dqcoeff;
- const int16_t *Q = d->qcoeff;
- const int16_t *DQC = d->dequant;
-
- for (i = 0; i < 16; i++) {
- DQ[i] = (int16_t)((Q[i] * DQC[i]));
- }
-}
-
void vp9_dequant_idct_add_8x8_c(int16_t *input, const int16_t *dq,
uint8_t *pred, uint8_t *dest, int pitch,
- int stride, int dc, int eob) {
+ int stride, int eob) {
int16_t output[64];
int16_t *diff_ptr = output;
int i;
@@ -206,8 +195,7 @@ void vp9_dequant_idct_add_8x8_c(int16_t *input, const int16_t *dq,
/* If dc is 1, then input[0] is the reconstructed value, do not need
* dequantization. Also, when dc is 1, dc is counted in eobs, namely eobs >=1.
*/
- if (!dc)
- input[0] *= dq[0];
+ input[0] *= dq[0];
/* The calculation can be simplified if there are not many non-zero dct
* coefficients. Use eobs to decide what to do.
@@ -279,7 +267,11 @@ void vp9_ht_dequant_idct_add_16x16_c(TX_TYPE tx_type, int16_t *input,
input[i] = input[i] * dq[1];
// inverse hybrid transform
+#if CONFIG_INTHT16X16
+ vp9_short_iht16x16(input, output, 32, tx_type);
+#else
vp9_ihtllm(input, output, 32, tx_type, 16, eobs);
+#endif
// the idct halves ( >> 1) the pitch
// vp9_short_idct16x16_c(input, output, 32);
@@ -357,21 +349,17 @@ void vp9_dequant_idct_add_32x32_c(int16_t *input, const int16_t *dq,
if (eob) {
input[0] = input[0] * dq[0] / 2;
-#if !CONFIG_DWTDCTHYBRID
if (eob == 1) {
vp9_short_idct1_32x32_c(input, output);
add_constant_residual(output[0], pred, pitch, dest, stride, 32, 32);
input[0] = 0;
} else {
-#endif
for (i = 1; i < 1024; i++)
input[i] = input[i] * dq[1] / 2;
vp9_short_idct32x32_c(input, output, 64);
vpx_memset(input, 0, 2048);
add_residual(output, pred, pitch, dest, stride, 32, 32);
-#if !CONFIG_DWTDCTHYBRID
}
-#endif
}
}