From 2702e3c8cf7deea2487ad904efab05fab16ad419 Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Tue, 4 Mar 2014 11:30:27 -0800 Subject: Remove repeated tx_mode_select calls The frame level transform size selection is done inside encode_frame_internal(). Change-Id: Id7e5e417a3a3f88f875bf12b21bb8029bc6d0d82 --- vp9/encoder/vp9_encodeframe.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'vp9/encoder') diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index a4a986401..dd5cf657f 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -2432,6 +2432,9 @@ static void encode_frame_internal(VP9_COMP *cpi) { vp9_zero(cpi->coef_counts); vp9_zero(cm->counts.eob_branch); + // Set frame level transform size use case + select_tx_mode(cpi); + cpi->mb.e_mbd.lossless = cm->base_qindex == 0 && cm->y_dc_delta_q == 0 && cm->uv_dc_delta_q == 0 && cm->uv_ac_delta_q == 0; switch_lossless_mode(cpi, cpi->mb.e_mbd.lossless); @@ -2440,7 +2443,6 @@ static void encode_frame_internal(VP9_COMP *cpi) { vp9_initialize_rd_consts(cpi); vp9_initialize_me_consts(cpi, cm->base_qindex); - switch_tx_mode(cpi); if (cpi->oxcf.tuning == VP8_TUNE_SSIM) { // Initialize encode frame context. @@ -2600,8 +2602,6 @@ void vp9_encode_frame(VP9_COMP *cpi) { cpi->mb.e_mbd.lossless = cpi->oxcf.lossless; - /* transform size selection (4x4, 8x8, 16x16 or select-per-mb) */ - select_tx_mode(cpi); cm->reference_mode = reference_mode; encode_frame_internal(cpi); @@ -2683,7 +2683,6 @@ void vp9_encode_frame(VP9_COMP *cpi) { } } else { cpi->mb.e_mbd.lossless = cpi->oxcf.lossless; - select_tx_mode(cpi); cm->reference_mode = SINGLE_REFERENCE; // Force the usage of the BILINEAR interp_filter. cm->interp_filter = BILINEAR; -- cgit v1.2.3