diff options
author | Jingning Han <jingning@google.com> | 2015-07-20 20:18:21 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-07-20 20:18:22 +0000 |
commit | 9e23c6d534f2ffecea77db7dc063deaee749cf13 (patch) | |
tree | fd2a9db02557b117891fd3b376d08a6356d32c5e /vp9/encoder | |
parent | f744613be92de9a788f9ffb394aaca2a02d1b414 (diff) | |
parent | 389ed6da10c3b178de2603bc636cee19492d6dbb (diff) | |
download | libvpx-9e23c6d534f2ffecea77db7dc063deaee749cf13.tar libvpx-9e23c6d534f2ffecea77db7dc063deaee749cf13.tar.gz libvpx-9e23c6d534f2ffecea77db7dc063deaee749cf13.tar.bz2 libvpx-9e23c6d534f2ffecea77db7dc063deaee749cf13.zip |
Merge "Refactor highbd forward transform use case"
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encodemb.c | 10 | ||||
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 5 |
2 files changed, 12 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index 776934047..9c3c51061 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -823,7 +823,10 @@ void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize, if (!x->skip_recode) { vpx_highbd_subtract_block(16, 16, src_diff, diff_stride, src, src_stride, dst, dst_stride, xd->bd); - vp9_highbd_fht16x16(src_diff, coeff, diff_stride, tx_type); + if (tx_type == DCT_DCT) + vp9_highbd_fdct16x16(src_diff, coeff, diff_stride); + else + vp9_highbd_fht16x16(src_diff, coeff, diff_stride, tx_type); vp9_highbd_quantize_b(coeff, 256, x->skip_block, p->zbin, p->round, p->quant, p->quant_shift, qcoeff, dqcoeff, pd->dequant, eob, @@ -845,7 +848,10 @@ void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize, if (!x->skip_recode) { vpx_highbd_subtract_block(8, 8, src_diff, diff_stride, src, src_stride, dst, dst_stride, xd->bd); - vp9_highbd_fht8x8(src_diff, coeff, diff_stride, tx_type); + if (tx_type == DCT_DCT) + vp9_highbd_fdct8x8(src_diff, coeff, diff_stride); + else + vp9_highbd_fht8x8(src_diff, coeff, diff_stride, tx_type); vp9_highbd_quantize_b(coeff, 64, x->skip_block, p->zbin, p->round, p->quant, p->quant_shift, qcoeff, dqcoeff, pd->dequant, eob, diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 09cff00d9..9eeed155e 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -845,7 +845,10 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, int64_t unused; const TX_TYPE tx_type = get_tx_type_4x4(PLANE_TYPE_Y, xd, block); const scan_order *so = &vp9_scan_orders[TX_4X4][tx_type]; - vp9_highbd_fht4x4(src_diff, coeff, 8, tx_type); + if (tx_type == DCT_DCT) + vp9_highbd_fdct4x4(src_diff, coeff, 8); + else + vp9_highbd_fht4x4(src_diff, coeff, 8, tx_type); vp9_regular_quantize_b_4x4(x, 0, block, so->scan, so->iscan); ratey += cost_coeffs(x, 0, block, tempa + idx, templ + idy, TX_4X4, so->scan, so->neighbors, |