Update tx_type switch code in idct

Change-Id: Ia244bfd4b4eb9d703653792bc4f64c6f5358ae19
This commit is contained in:
Linfeng Zhang 2018-01-30 16:55:22 -08:00
parent 3636330490
commit 82e9c30334
3 changed files with 26 additions and 27 deletions

View File

@ -147,31 +147,30 @@ void vp9_iht8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int stride,
transpose_s16_8x8(&a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
switch (tx_type) {
case 0: // DCT_DCT
case DCT_DCT:
idct8x8_64_1d_bd8_kernel(cospis0, cospis1, a);
transpose_s16_8x8(&a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
idct8x8_64_1d_bd8_kernel(cospis0, cospis1, a);
break;
case 1: // ADST_DCT
case ADST_DCT:
idct8x8_64_1d_bd8_kernel(cospis0, cospis1, a);
transpose_s16_8x8(&a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
iadst8(a);
break;
case 2: // DCT_ADST
case DCT_ADST:
iadst8(a);
transpose_s16_8x8(&a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
idct8x8_64_1d_bd8_kernel(cospis0, cospis1, a);
break;
case 3: // ADST_ADST
default:
assert(tx_type == ADST_ADST);
iadst8(a);
transpose_s16_8x8(&a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7]);
iadst8(a);
break;
default: assert(0); break;
}
idct8x8_add8x8_neon(a, dest, stride);

View File

@ -20,23 +20,23 @@ void vp9_iht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int stride,
in[1] = load_input_data8(input + 8);
switch (tx_type) {
case 0: // DCT_DCT
case DCT_DCT:
idct4_sse2(in);
idct4_sse2(in);
break;
case 1: // ADST_DCT
case ADST_DCT:
idct4_sse2(in);
iadst4_sse2(in);
break;
case 2: // DCT_ADST
case DCT_ADST:
iadst4_sse2(in);
idct4_sse2(in);
break;
case 3: // ADST_ADST
default:
assert(tx_type == ADST_ADST);
iadst4_sse2(in);
iadst4_sse2(in);
break;
default: assert(0); break;
}
// Final round and shift
@ -65,23 +65,23 @@ void vp9_iht8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int stride,
in[7] = load_input_data8(input + 8 * 7);
switch (tx_type) {
case 0: // DCT_DCT
case DCT_DCT:
vpx_idct8_sse2(in);
vpx_idct8_sse2(in);
break;
case 1: // ADST_DCT
case ADST_DCT:
vpx_idct8_sse2(in);
iadst8_sse2(in);
break;
case 2: // DCT_ADST
case DCT_ADST:
iadst8_sse2(in);
vpx_idct8_sse2(in);
break;
case 3: // ADST_ADST
default:
assert(tx_type == ADST_ADST);
iadst8_sse2(in);
iadst8_sse2(in);
break;
default: assert(0); break;
}
// Final rounding and shift
@ -199,23 +199,23 @@ void vp9_iht16x16_256_add_sse2(const tran_low_t *input, uint8_t *dest,
load_buffer_8x16(input, in1);
switch (tx_type) {
case 0: // DCT_DCT
case DCT_DCT:
idct16_sse2(in0, in1);
idct16_sse2(in0, in1);
break;
case 1: // ADST_DCT
case ADST_DCT:
idct16_sse2(in0, in1);
iadst16_sse2(in0, in1);
break;
case 2: // DCT_ADST
case DCT_ADST:
iadst16_sse2(in0, in1);
idct16_sse2(in0, in1);
break;
case 3: // ADST_ADST
default:
assert(tx_type == ADST_ADST);
iadst16_sse2(in0, in1);
iadst16_sse2(in0, in1);
break;
default: assert(0); break;
}
write_buffer_8x16(dest, in0, stride);

View File

@ -170,13 +170,13 @@ void vp9_fht4x4_sse2(const int16_t *input, tran_low_t *output, int stride,
fadst4_sse2(in);
write_buffer_4x4(output, in);
break;
case ADST_ADST:
default:
assert(tx_type == ADST_ADST);
load_buffer_4x4(input, in, stride);
fadst4_sse2(in);
fadst4_sse2(in);
write_buffer_4x4(output, in);
break;
default: assert(0); break;
}
}
@ -1097,14 +1097,14 @@ void vp9_fht8x8_sse2(const int16_t *input, tran_low_t *output, int stride,
right_shift_8x8(in, 1);
write_buffer_8x8(output, in, 8);
break;
case ADST_ADST:
default:
assert(tx_type == ADST_ADST);
load_buffer_8x8(input, in, stride);
fadst8_sse2(in);
fadst8_sse2(in);
right_shift_8x8(in, 1);
write_buffer_8x8(output, in, 8);
break;
default: assert(0); break;
}
}
@ -1963,13 +1963,13 @@ void vp9_fht16x16_sse2(const int16_t *input, tran_low_t *output, int stride,
fadst16_sse2(in0, in1);
write_buffer_16x16(output, in0, in1, 16);
break;
case ADST_ADST:
default:
assert(tx_type == ADST_ADST);
load_buffer_16x16(input, in0, in1, stride);
fadst16_sse2(in0, in1);
right_shift_16x16(in0, in1);
fadst16_sse2(in0, in1);
write_buffer_16x16(output, in0, in1, 16);
break;
default: assert(0); break;
}
}