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;
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;
#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];
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);
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);
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);
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);
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
#
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);
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);
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);
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) ;
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);
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);
// 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);