Add forward transform function to rtcd
Added vp8_fht to rtcd_defs.sh Change-Id: I929b0bf878185a2f0e031dc8c70a418286d509aa
This commit is contained in:
@@ -448,6 +448,9 @@ if [ "$CONFIG_INTERNAL_STATS" = "yes" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# fdct functions
|
# fdct functions
|
||||||
|
prototype void vp9_fht "const short *input, int pitch, short *output, int tx_type, int tx_dim"
|
||||||
|
specialize vp9_fht
|
||||||
|
|
||||||
prototype void vp9_short_fdct8x8 "short *InputData, short *OutputData, int pitch"
|
prototype void vp9_short_fdct8x8 "short *InputData, short *OutputData, int pitch"
|
||||||
specialize vp9_short_fdct8x8
|
specialize vp9_short_fdct8x8
|
||||||
|
|
||||||
|
@@ -73,7 +73,7 @@ void vp9_encode_intra4x4block(const VP8_ENCODER_RTCD *rtcd,
|
|||||||
|
|
||||||
tx_type = get_tx_type(&x->e_mbd, b);
|
tx_type = get_tx_type(&x->e_mbd, b);
|
||||||
if (tx_type != DCT_DCT) {
|
if (tx_type != DCT_DCT) {
|
||||||
vp9_fht_c(be->src_diff, 32, be->coeff, tx_type, 4);
|
vp9_fht(be->src_diff, 32, be->coeff, tx_type, 4);
|
||||||
vp9_ht_quantize_b_4x4(be, b, tx_type);
|
vp9_ht_quantize_b_4x4(be, b, tx_type);
|
||||||
vp8_ihtllm_c(b->dqcoeff, b->diff, 32, tx_type, 4);
|
vp8_ihtllm_c(b->dqcoeff, b->diff, 32, tx_type, 4);
|
||||||
} else {
|
} else {
|
||||||
@@ -114,7 +114,7 @@ void vp9_encode_intra16x16mby(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) {
|
|||||||
BLOCKD *bd = &xd->block[0];
|
BLOCKD *bd = &xd->block[0];
|
||||||
tx_type = get_tx_type(xd, bd);
|
tx_type = get_tx_type(xd, bd);
|
||||||
if (tx_type != DCT_DCT) {
|
if (tx_type != DCT_DCT) {
|
||||||
vp9_fht_c(b->src_diff, 32, b->coeff, tx_type, 16);
|
vp9_fht(b->src_diff, 32, b->coeff, tx_type, 16);
|
||||||
vp9_quantize_mby_16x16(x);
|
vp9_quantize_mby_16x16(x);
|
||||||
if (x->optimize)
|
if (x->optimize)
|
||||||
vp9_optimize_mby_16x16(x, rtcd);
|
vp9_optimize_mby_16x16(x, rtcd);
|
||||||
@@ -205,7 +205,7 @@ void vp9_encode_intra8x8(const VP8_ENCODER_RTCD *rtcd,
|
|||||||
|
|
||||||
tx_type = get_tx_type(xd, xd->block + idx);
|
tx_type = get_tx_type(xd, xd->block + idx);
|
||||||
if (tx_type != DCT_DCT) {
|
if (tx_type != DCT_DCT) {
|
||||||
vp9_fht_c(be->src_diff, 32, (x->block + idx)->coeff,
|
vp9_fht(be->src_diff, 32, (x->block + idx)->coeff,
|
||||||
tx_type, 8);
|
tx_type, 8);
|
||||||
x->quantize_b_8x8(x->block + idx, xd->block + idx);
|
x->quantize_b_8x8(x->block + idx, xd->block + idx);
|
||||||
vp8_ihtllm_c(xd->block[idx].dqcoeff, xd->block[ib].diff, 32,
|
vp8_ihtllm_c(xd->block[idx].dqcoeff, xd->block[ib].diff, 32,
|
||||||
|
@@ -833,7 +833,7 @@ static void macro_block_yrd_16x16(MACROBLOCK *mb, int *Rate, int *Distortion,
|
|||||||
|
|
||||||
tx_type = get_tx_type_16x16(xd, b);
|
tx_type = get_tx_type_16x16(xd, b);
|
||||||
if (tx_type != DCT_DCT) {
|
if (tx_type != DCT_DCT) {
|
||||||
vp9_fht_c(be->src_diff, 32, be->coeff, tx_type, 16);
|
vp9_fht(be->src_diff, 32, be->coeff, tx_type, 16);
|
||||||
} else
|
} else
|
||||||
vp9_transform_mby_16x16(mb);
|
vp9_transform_mby_16x16(mb);
|
||||||
|
|
||||||
@@ -1115,7 +1115,7 @@ static int64_t rd_pick_intra4x4block(VP8_COMP *cpi, MACROBLOCK *x, BLOCK *be,
|
|||||||
b->bmi.as_mode.first = mode;
|
b->bmi.as_mode.first = mode;
|
||||||
tx_type = get_tx_type_4x4(xd, b);
|
tx_type = get_tx_type_4x4(xd, b);
|
||||||
if (tx_type != DCT_DCT) {
|
if (tx_type != DCT_DCT) {
|
||||||
vp9_fht_c(be->src_diff, 32, be->coeff, tx_type, 4);
|
vp9_fht(be->src_diff, 32, be->coeff, tx_type, 4);
|
||||||
vp9_ht_quantize_b_4x4(be, b, tx_type);
|
vp9_ht_quantize_b_4x4(be, b, tx_type);
|
||||||
} else {
|
} else {
|
||||||
x->vp9_short_fdct4x4(be->src_diff, be->coeff, 32);
|
x->vp9_short_fdct4x4(be->src_diff, be->coeff, 32);
|
||||||
@@ -1440,7 +1440,7 @@ static int64_t rd_pick_intra8x8block(VP8_COMP *cpi, MACROBLOCK *x, int ib,
|
|||||||
if (xd->mode_info_context->mbmi.txfm_size == TX_8X8) {
|
if (xd->mode_info_context->mbmi.txfm_size == TX_8X8) {
|
||||||
TX_TYPE tx_type = get_tx_type_8x8(xd, b);
|
TX_TYPE tx_type = get_tx_type_8x8(xd, b);
|
||||||
if (tx_type != DCT_DCT)
|
if (tx_type != DCT_DCT)
|
||||||
vp9_fht_c(be->src_diff, 32, (x->block + idx)->coeff, tx_type, 8);
|
vp9_fht(be->src_diff, 32, (x->block + idx)->coeff, tx_type, 8);
|
||||||
else
|
else
|
||||||
x->vp9_short_fdct8x8(be->src_diff, (x->block + idx)->coeff, 32);
|
x->vp9_short_fdct8x8(be->src_diff, (x->block + idx)->coeff, 32);
|
||||||
x->quantize_b_8x8(x->block + idx, xd->block + idx);
|
x->quantize_b_8x8(x->block + idx, xd->block + idx);
|
||||||
|
Reference in New Issue
Block a user