Commit 77440d50 authored by Scott LaVarnway's avatar Scott LaVarnway Committed by Gerrit Code Review
Browse files

Merge "Added vp9_short_idct1_32x32_c" into experimental

parents fb4b533d 5780c4cb
......@@ -1644,6 +1644,16 @@ void vp9_short_idct32x32_c(int16_t *input, int16_t *output, int pitch) {
}
}
void vp9_short_idct1_32x32_c(int16_t *input, int16_t *output) {
int tmp;
int16_t out;
tmp = input[0] * cospi_16_64;
out = dct_const_round_shift(tmp);
tmp = out * cospi_16_64;
out = dct_const_round_shift(tmp);
*output = (out + 32) >> 6;
}
#else // !CONFIG_DWTDCTHYBRID
#if DWT_TYPE == 53
......
......@@ -408,6 +408,9 @@ specialize vp9_short_idct1_16x16
prototype void vp9_short_idct32x32 "int16_t *input, int16_t *output, int pitch"
specialize vp9_short_idct32x32
prototype void vp9_short_idct1_32x32 "int16_t *input, int16_t *output"
specialize vp9_short_idct1_32x32
prototype void vp9_ihtllm "const int16_t *input, int16_t *output, int pitch, int tx_type, int tx_dim, int16_t eobs"
specialize vp9_ihtllm
......
......@@ -349,13 +349,22 @@ void vp9_dequant_idct_add_32x32_c(int16_t *input, const int16_t *dq,
int i;
if (eob) {
input[0]= input[0] * dq[0] / 2;
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);
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
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment