summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encodeframe.c
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2015-07-29 13:37:41 -0700
committerYunqing Wang <yunqingwang@google.com>2015-07-30 18:53:40 -0700
commit3b2e73b9a476ad1b6cffb126118e394c65cfecab (patch)
treedd7cbff2513e9ac3936c0284e3f0b69b7295303a /vp9/encoder/vp9_encodeframe.c
parenteb6b443bd266d3c1f7931830de92fd11b86e27cd (diff)
downloadlibvpx-3b2e73b9a476ad1b6cffb126118e394c65cfecab.tar
libvpx-3b2e73b9a476ad1b6cffb126118e394c65cfecab.tar.gz
libvpx-3b2e73b9a476ad1b6cffb126118e394c65cfecab.tar.bz2
libvpx-3b2e73b9a476ad1b6cffb126118e394c65cfecab.zip
Remove tx cache and speed up tx size selection
1. The RD scores obtained during the tx size selection were stored in the tx cache, and used to help make the tx decision for the following frames. This wasn't used anymore in VP9 encoder. Recovered the related decision making code from 1.5+ years ago, and borg tests didn't show any quality gain. This patch removed it to lower the complexity. 2. An optimization was done after the above refactoring. If the tx_mode is not TX_MODE_SELECT, we only need to test the chosen tx size instead of all posible tx sizes. This gave a 1.5% average speed gain at speed 2, and a 1% average speed gain at speed 3. Change-Id: Id8cd650e066a8cef33829d8c15388a8138adc78c
Diffstat (limited to 'vp9/encoder/vp9_encodeframe.c')
-rw-r--r--vp9/encoder/vp9_encodeframe.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index 6199db426..e7f14eb7e 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1039,14 +1039,6 @@ static void update_state(VP9_COMP *cpi, ThreadData *td,
if (cpi->oxcf.aq_mode)
vp9_init_plane_quantizers(cpi, x);
- // FIXME(rbultje) I'm pretty sure this should go to the end of this block
- // (i.e. after the output_enabled)
- if (bsize < BLOCK_32X32) {
- if (bsize < BLOCK_16X16)
- ctx->tx_rd_diff[ALLOW_16X16] = ctx->tx_rd_diff[ALLOW_8X8];
- ctx->tx_rd_diff[ALLOW_32X32] = ctx->tx_rd_diff[ALLOW_16X16];
- }
-
if (is_inter_block(mbmi) && mbmi->sb_type < BLOCK_8X8) {
mbmi->mv[0].as_int = mi->bmi[3].as_mv[0].as_int;
mbmi->mv[1].as_int = mi->bmi[3].as_mv[1].as_int;