diff options
author | Ronald S. Bultje <rbultje@google.com> | 2013-02-06 14:13:05 -0800 |
---|---|---|
committer | Ronald S. Bultje <rbultje@google.com> | 2013-02-06 16:13:02 -0800 |
commit | 5cfd82bcaf666c1b9cacd8a4899fc703598aa5b0 (patch) | |
tree | 96d107dfec3e185d4e36d2eff08109c6e41c4ce4 /vp9/encoder/vp9_encodeintra.c | |
parent | aac73df1a7b2e84e1930fa63ac6d7983cfdba543 (diff) | |
download | libvpx-5cfd82bcaf666c1b9cacd8a4899fc703598aa5b0.tar libvpx-5cfd82bcaf666c1b9cacd8a4899fc703598aa5b0.tar.gz libvpx-5cfd82bcaf666c1b9cacd8a4899fc703598aa5b0.tar.bz2 libvpx-5cfd82bcaf666c1b9cacd8a4899fc703598aa5b0.zip |
Use fdct8x4 instead of fdct4x4 where the block size allows it.
This allows for faster SIMD implementations in the future (currently
there is no speed impact).
Change-Id: I732647e9148b5dcb44e6bc8728138f0141218329
Diffstat (limited to 'vp9/encoder/vp9_encodeintra.c')
-rw-r--r-- | vp9/encoder/vp9_encodeintra.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodeintra.c b/vp9/encoder/vp9_encodeintra.c index 09ea045d7..eacc2cd28 100644 --- a/vp9/encoder/vp9_encodeintra.c +++ b/vp9/encoder/vp9_encodeintra.c @@ -168,6 +168,12 @@ void vp9_encode_intra8x8(MACROBLOCK *x, int ib) { vp9_fht_c(be->src_diff, 32, be->coeff, tx_type, 4); vp9_ht_quantize_b_4x4(be, b, tx_type); vp9_ihtllm(b->dqcoeff, b->diff, 32, tx_type, 4, b->eob); + } else if (!(i & 1) && get_tx_type_4x4(xd, b + 1) == DCT_DCT) { + x->vp9_short_fdct8x4(be->src_diff, be->coeff, 32); + x->quantize_b_4x4_pair(be, be + 1, b, b + 1); + vp9_inverse_transform_b_4x4(xd, ib + iblock[i], 32); + vp9_inverse_transform_b_4x4(xd, ib + iblock[i] + 1, 32); + i++; } else { x->vp9_short_fdct4x4(be->src_diff, be->coeff, 32); x->quantize_b_4x4(be, b); |