ref: 02590a5b1be96dcf52666051d1fa9376669678bd
parent: b4c4f6486244cc5e6817b37ef4a2e6983d0301c5
parent: c880e02f97df6f7ccd3a99b66dfc97113d5a65fa
author: Paul Wilkins <paulwilkins@google.com>
date: Thu Jun 6 05:27:31 EDT 2013
Merge "Turn off compound inter search refinement for good quality." into experimental
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -740,7 +740,7 @@
sf->optimize_coefficients = !cpi->oxcf.lossless;
sf->first_step = 0;
sf->max_step_search_steps = MAX_MVSEARCH_STEPS;
- sf->comp_inter_joint_search = 1;
+ sf->comp_inter_joint_search_thresh = BLOCK_SIZE_AB4X4;
#if CONFIG_MULTIPLE_ARF
// Switch segmentation off.
sf->static_segmentation = 0;
@@ -762,11 +762,12 @@
sf->static_segmentation = 0;
#endif
sf->mb16_breakout = 0;
+ sf->comp_inter_joint_search_thresh = BLOCK_SIZE_SB8X8;
if (speed > 0) {
+ sf->comp_inter_joint_search_thresh = BLOCK_SIZE_TYPES;
sf->optimize_coefficients = 0;
sf->no_skip_block4x4_search = 0;
- sf->comp_inter_joint_search = 0;
sf->first_step = 1;
}
break;
--- a/vp9/encoder/vp9_onyx_int.h
+++ b/vp9/encoder/vp9_onyx_int.h
@@ -217,7 +217,7 @@
int search_best_filter;
int mb16_breakout;
int static_segmentation;
- int comp_inter_joint_search;
+ int comp_inter_joint_search_thresh;
} SPEED_FEATURES;
enum BlockSize {
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -1402,7 +1402,7 @@
// adjust src pointers
mi_buf_shift(x, i);
- if (cpi->compressor_speed == 0 && cpi->sf.comp_inter_joint_search) {
+ if (cpi->sf.comp_inter_joint_search_thresh < bsize) {
iterative_motion_search(cpi, x, bsize, frame_mv[this_mode],
scaled_ref_frame,
mi_row, mi_col, seg_mvs[i]);
@@ -2114,7 +2114,7 @@
frame_mv[refs[0]].as_int = single_newmv[refs[0]].as_int;
frame_mv[refs[1]].as_int = single_newmv[refs[1]].as_int;
- if (cpi->sf.comp_inter_joint_search)
+ if (cpi->sf.comp_inter_joint_search_thresh < bsize)
iterative_motion_search(cpi, x, bsize, frame_mv, scaled_ref_frame,
mi_row, mi_col, single_newmv);
--
⑨