diff options
author | Jingning Han <jingning@google.com> | 2014-04-01 10:15:00 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-04-01 10:15:00 -0700 |
commit | a860f0f6d5e333b7172f8124d0a84e6ba3d573f2 (patch) | |
tree | 7eb1876d36f2e66d41fc12ae6c0213dc331f5ae4 /vp9/encoder | |
parent | e1574b94e6747b57de248a4271751f4e6b8dd51c (diff) | |
parent | 99893f2410f618b712037db4d3ec60e81aa9de1f (diff) | |
download | libvpx-a860f0f6d5e333b7172f8124d0a84e6ba3d573f2.tar libvpx-a860f0f6d5e333b7172f8124d0a84e6ba3d573f2.tar.gz libvpx-a860f0f6d5e333b7172f8124d0a84e6ba3d573f2.tar.bz2 libvpx-a860f0f6d5e333b7172f8124d0a84e6ba3d573f2.zip |
Merge "Apply finer quantizer to partition search frames in non-RD flow"
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 1 | ||||
-rw-r--r-- | vp9/encoder/vp9_onyx_if.c | 4 | ||||
-rw-r--r-- | vp9/encoder/vp9_ratectrl.c | 3 |
3 files changed, 6 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 1e5890cda..4939e698a 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1377,6 +1377,7 @@ static void copy_partitioning(VP9_COMMON *cm, MODE_INFO **mi_8x8, for (block_col = 0; block_col < 8; ++block_col) { MODE_INFO *const prev_mi = prev_mi_8x8[block_row * mis + block_col]; const BLOCK_SIZE sb_type = prev_mi ? prev_mi->mbmi.sb_type : 0; + if (prev_mi) { const ptrdiff_t offset = prev_mi - cm->prev_mi; mi_8x8[block_row * mis + block_col] = cm->mi + offset; diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index 0808ec489..f112fa24f 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -2673,6 +2673,8 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, vp9_write_yuv_frame(cpi->Source); #endif + set_speed_features(cpi); + // Decide q and q bounds. q = vp9_rc_pick_q_and_bounds(cpi, &bottom_index, &top_index); @@ -2682,8 +2684,6 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, set_high_precision_mv(cpi, q < HIGH_PRECISION_MV_QTHRESH); } - set_speed_features(cpi); - if (cpi->sf.recode_loop == DISALLOW_RECODE) { encode_without_recode_loop(cpi, size, dest, q); } else { diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index c62d31293..3c8baad79 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -985,6 +985,9 @@ int vp9_rc_pick_q_and_bounds(const VP9_COMP *cpi, q /= 3; if (q == 0) q++; + if (cpi->sf.partition_check == 1) + q -= 10; + if (q < *bottom_index) *bottom_index = q; else if (q > *top_index) |