diff --git a/vp9/common/vp9_findnearmv.c b/vp9/common/vp9_findnearmv.c index ed8a99af2235a75f7ad4be598efd048123db16ea..02c28fbdee0298ad1629492670539311f4c395e0 100644 --- a/vp9/common/vp9_findnearmv.c +++ b/vp9/common/vp9_findnearmv.c @@ -136,7 +136,9 @@ void vp9_find_best_ref_mvs(MACROBLOCKD *xd, unsigned char *above_ref; unsigned char *left_ref; unsigned int score; +#if CONFIG_SUBPELREFMV unsigned int sse; +#endif unsigned int ref_scores[MAX_MV_REFS] = {0}; int_mv sorted_mvs[MAX_MV_REFS]; int zero_seen = FALSE; diff --git a/vp9/common/vp9_idctllm.c b/vp9/common/vp9_idctllm.c index 9d559ed228086d4c5b0aae0a29cb91d93c53fc9d..9622dfdee1335b596afa7b88f53b60b77b630903 100644 --- a/vp9/common/vp9_idctllm.c +++ b/vp9/common/vp9_idctllm.c @@ -279,14 +279,6 @@ static const int16_t iadst_i16[256] = { 3936, -3526, 3084, -2614, 2120, -1607, 1080, -542 }; -/* For test */ -#define TEST_INT 1 -#if TEST_INT -#define vp9_ihtllm_int_c vp9_ihtllm_c -#else -#define vp9_ihtllm_float_c vp9_ihtllm_c -#endif - void vp9_ihtllm_float_c(const int16_t *input, int16_t *output, int pitch, TX_TYPE tx_type, int tx_dim) { vp9_clear_system_state(); // Make it simd safe : __asm emms; @@ -411,7 +403,7 @@ void vp9_ihtllm_float_c(const int16_t *input, int16_t *output, int pitch, #define VERTICAL_ROUNDING ((1 << (VERTICAL_SHIFT - 1)) - 1) #define HORIZONTAL_SHIFT 17 // 15 #define HORIZONTAL_ROUNDING ((1 << (HORIZONTAL_SHIFT - 1)) - 1) -void vp9_ihtllm_int_c(const int16_t *input, int16_t *output, int pitch, +void vp9_ihtllm_c(const int16_t *input, int16_t *output, int pitch, TX_TYPE tx_type, int tx_dim) { int i, j, k; int16_t imbuf[256]; diff --git a/vp9/common/vp9_invtrans.c b/vp9/common/vp9_invtrans.c index 627a62bf74c942e2f23574f85df5dbb15ba29cb3..c78f1ad3c6ab26801d54627c7ad206e08787922e 100644 --- a/vp9/common/vp9_invtrans.c +++ b/vp9/common/vp9_invtrans.c @@ -51,7 +51,7 @@ void vp9_inverse_transform_mby_4x4(MACROBLOCKD *xd) { for (i = 0; i < 16; i++) { TX_TYPE tx_type = get_tx_type_4x4(xd, &xd->block[i]); if (tx_type != DCT_DCT) { - vp9_ihtllm_c(xd->block[i].dqcoeff, xd->block[i].diff, 32, + vp9_ihtllm(xd->block[i].dqcoeff, xd->block[i].diff, 32, tx_type, 4); } else { vp9_inverse_transform_b_4x4(xd, i, 32); @@ -91,7 +91,7 @@ void vp9_inverse_transform_mby_8x8(MACROBLOCKD *xd) { for (i = 0; i < 9; i += 8) { TX_TYPE tx_type = get_tx_type_8x8(xd, &xd->block[i]); if (tx_type != DCT_DCT) { - vp9_ihtllm_c(xd->block[i].dqcoeff, xd->block[i].diff, 32, tx_type, 8); + vp9_ihtllm(xd->block[i].dqcoeff, xd->block[i].diff, 32, tx_type, 8); } else { vp9_inverse_transform_b_8x8(&blockd[i].dqcoeff[0], &blockd[i].diff[0], 32); @@ -100,7 +100,7 @@ void vp9_inverse_transform_mby_8x8(MACROBLOCKD *xd) { for (i = 2; i < 11; i += 8) { TX_TYPE tx_type = get_tx_type_8x8(xd, &xd->block[i]); if (tx_type != DCT_DCT) { - vp9_ihtllm_c(xd->block[i + 2].dqcoeff, xd->block[i].diff, 32, tx_type, 8); + vp9_ihtllm(xd->block[i + 2].dqcoeff, xd->block[i].diff, 32, tx_type, 8); } else { vp9_inverse_transform_b_8x8(&blockd[i + 2].dqcoeff[0], &blockd[i].diff[0], 32); @@ -132,7 +132,7 @@ void vp9_inverse_transform_mby_16x16(MACROBLOCKD *xd) { BLOCKD *bd = &xd->block[0]; TX_TYPE tx_type = get_tx_type_16x16(xd, bd); if (tx_type != DCT_DCT) { - vp9_ihtllm_c(bd->dqcoeff, bd->diff, 32, tx_type, 16); + vp9_ihtllm(bd->dqcoeff, bd->diff, 32, tx_type, 16); } else { vp9_inverse_transform_b_16x16(&xd->block[0].dqcoeff[0], &xd->block[0].diff[0], 32); diff --git a/vp9/common/vp9_rtcd_defs.sh b/vp9/common/vp9_rtcd_defs.sh index ee9a66cdca7208f59ab97f1356d46e554031ae1f..810b693714bbc439e68635dc8a2e8ab80bbe05b6 100644 --- a/vp9/common/vp9_rtcd_defs.sh +++ b/vp9/common/vp9_rtcd_defs.sh @@ -366,6 +366,9 @@ specialize vp9_short_idct16x16 prototype void vp9_short_idct10_16x16 "short *input, short *output, int pitch" specialize vp9_short_idct10_16x16 +prototype void vp9_ihtllm "const short *input, short *output, int pitch, int tx_type, int tx_dim" +specialize vp9_ihtllm + # # 2nd order # diff --git a/vp9/decoder/vp9_dequantize.c b/vp9/decoder/vp9_dequantize.c index b119418e8a42314d877f7fbd5139cbf95c247de6..79114d58ca1a3cfb2e9ee426f5d43887f7410650 100644 --- a/vp9/decoder/vp9_dequantize.c +++ b/vp9/decoder/vp9_dequantize.c @@ -83,7 +83,7 @@ void vp9_ht_dequant_idct_add_c(TX_TYPE tx_type, int16_t *input, input[i] = dq[i] * input[i]; } - vp9_ihtllm_c(input, output, 4 << 1, tx_type, 4); + vp9_ihtllm(input, output, 4 << 1, tx_type, 4); vpx_memset(input, 0, 32); @@ -103,7 +103,7 @@ void vp9_ht_dequant_idct_add_8x8_c(TX_TYPE tx_type, int16_t *input, input[i] = dq[1] * input[i]; } - vp9_ihtllm_c(input, output, 16, tx_type, 8); + vp9_ihtllm(input, output, 16, tx_type, 8); vpx_memset(input, 0, 128); @@ -281,7 +281,7 @@ void vp9_ht_dequant_idct_add_16x16_c(TX_TYPE tx_type, int16_t *input, input[i] = input[i] * dq[1]; // inverse hybrid transform - vp9_ihtllm_c(input, output, 32, tx_type, 16); + vp9_ihtllm(input, output, 32, tx_type, 16); // the idct halves ( >> 1) the pitch // vp9_short_idct16x16_c(input, output, 32); diff --git a/vp9/encoder/vp9_encodeintra.c b/vp9/encoder/vp9_encodeintra.c index 17a3a952b6f4d561b2d6cb4da9973f1c8a282bfd..466ce16565d92ff2812e4185dd9fedc13bbe8b6b 100644 --- a/vp9/encoder/vp9_encodeintra.c +++ b/vp9/encoder/vp9_encodeintra.c @@ -70,7 +70,7 @@ void vp9_encode_intra4x4block(MACROBLOCK *x, int ib) { if (tx_type != DCT_DCT) { vp9_fht(be->src_diff, 32, be->coeff, tx_type, 4); vp9_ht_quantize_b_4x4(be, b, tx_type); - vp9_ihtllm_c(b->dqcoeff, b->diff, 32, tx_type, 4); + vp9_ihtllm(b->dqcoeff, b->diff, 32, tx_type, 4); } else { x->vp9_short_fdct4x4(be->src_diff, be->coeff, 32); x->quantize_b_4x4(be, b) ; @@ -191,7 +191,7 @@ void vp9_encode_intra8x8(MACROBLOCK *x, int ib) { vp9_fht(be->src_diff, 32, (x->block + idx)->coeff, tx_type, 8); x->quantize_b_8x8(x->block + idx, xd->block + idx); - vp9_ihtllm_c(xd->block[idx].dqcoeff, xd->block[ib].diff, 32, + vp9_ihtllm(xd->block[idx].dqcoeff, xd->block[ib].diff, 32, tx_type, 8); } else { x->vp9_short_fdct8x8(be->src_diff, (x->block + idx)->coeff, 32); @@ -206,7 +206,7 @@ void vp9_encode_intra8x8(MACROBLOCK *x, int ib) { if (tx_type != DCT_DCT) { vp9_fht_c(be->src_diff, 32, be->coeff, tx_type, 4); vp9_ht_quantize_b_4x4(be, b, tx_type); - vp9_ihtllm_c(b->dqcoeff, b->diff, 32, tx_type, 4); + vp9_ihtllm(b->dqcoeff, b->diff, 32, tx_type, 4); } else { x->vp9_short_fdct4x4(be->src_diff, be->coeff, 32); x->quantize_b_4x4(be, b); diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index ce9a8ad62b137db197125de9a160b6a7a9eeec19..9004511fc93b755905da7290281ccc80c4746de7 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -1125,7 +1125,7 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, BLOCK *be, // inverse transform if (best_tx_type != DCT_DCT) - vp9_ihtllm_c(best_dqcoeff, b->diff, 32, best_tx_type, 4); + vp9_ihtllm(best_dqcoeff, b->diff, 32, best_tx_type, 4); else xd->inv_xform4x4_x8(best_dqcoeff, b->diff, 32);