diff options
author | Deb Mukherjee <debargha@google.com> | 2014-02-24 13:35:56 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-02-24 13:35:56 -0800 |
commit | 8cc54d576f64bb78a8d20b9147e09036bfebb2dc (patch) | |
tree | f43d8172d95bcf478ff6b8c77444153799a732c2 /vp9 | |
parent | 05e850cb9e75b96c0a4f656c9dbcbe4bb761e52c (diff) | |
parent | 5f542408b4a4db8722dab4694512ff5ceab74f68 (diff) | |
download | libvpx-8cc54d576f64bb78a8d20b9147e09036bfebb2dc.tar libvpx-8cc54d576f64bb78a8d20b9147e09036bfebb2dc.tar.gz libvpx-8cc54d576f64bb78a8d20b9147e09036bfebb2dc.tar.bz2 libvpx-8cc54d576f64bb78a8d20b9147e09036bfebb2dc.zip |
Merge "Adds an intermediate speed level for rtc"
Diffstat (limited to 'vp9')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 12 | ||||
-rw-r--r-- | vp9/encoder/vp9_onyx_if.c | 9 |
2 files changed, 14 insertions, 7 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 400a04716..038586981 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -965,9 +965,9 @@ static BLOCK_SIZE find_partition_size(BLOCK_SIZE bsize, // may not be allowed in which case this code attempts to choose the largest // allowable partition. static void set_partitioning(VP9_COMP *cpi, const TileInfo *const tile, - MODE_INFO **mi_8x8, int mi_row, int mi_col) { + MODE_INFO **mi_8x8, int mi_row, int mi_col, + BLOCK_SIZE bsize) { VP9_COMMON *const cm = &cpi->common; - BLOCK_SIZE bsize = cpi->sf.always_this_block_size; const int mis = cm->mode_info_stride; int row8x8_remaining = tile->mi_row_end - mi_row; int col8x8_remaining = tile->mi_col_end - mi_col; @@ -1956,7 +1956,8 @@ static void encode_sb_row(VP9_COMP *cpi, const TileInfo *const tile, cpi->mb.source_variance = UINT_MAX; if (cpi->sf.use_one_partition_size_always) { set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64); - set_partitioning(cpi, tile, mi_8x8, mi_row, mi_col); + set_partitioning(cpi, tile, mi_8x8, mi_row, mi_col, + cpi->sf.always_this_block_size); rd_use_partition(cpi, tile, mi_8x8, tp, mi_row, mi_col, BLOCK_64X64, &dummy_rate, &dummy_dist, 1); } else { @@ -2328,8 +2329,9 @@ static void encode_rtc_sb_row(VP9_COMP *cpi, const TileInfo *const tile, MODE_INFO **mi_8x8 = cm->mi_grid_visible + idx_str; cpi->mb.source_variance = UINT_MAX; - rtc_use_partition(cpi, tile, mi_8x8, tp, mi_row, mi_col, BLOCK_16X16, - &dummy_rate, &dummy_dist, 1); + rtc_use_partition(cpi, tile, mi_8x8, tp, mi_row, mi_col, + cpi->sf.always_this_block_size, + &dummy_rate, &dummy_dist, 1); } } // end RTC play code diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index dd170143d..f46485a2b 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -661,6 +661,7 @@ static void set_good_speed_feature(VP9_COMMON *cm, sf->reference_masking = 1; sf->auto_mv_step_size = 1; + sf->disable_split_var_thresh = 32; sf->disable_filter_search_var_thresh = 100; sf->comp_inter_joint_search_thresh = BLOCK_SIZES; @@ -696,6 +697,7 @@ static void set_good_speed_feature(VP9_COMMON *cm, sf->reference_masking = 1; sf->auto_mv_step_size = 1; + sf->disable_split_var_thresh = 64; sf->disable_filter_search_var_thresh = 200; sf->comp_inter_joint_search_thresh = BLOCK_SIZES; @@ -713,7 +715,7 @@ static void set_good_speed_feature(VP9_COMMON *cm, sf->adaptive_rd_thresh = 4; sf->mode_skip_start = 6; } - if (speed == 5) { + if (speed >= 5) { sf->comp_inter_joint_search_thresh = BLOCK_SIZES; sf->use_one_partition_size_always = 1; sf->always_this_block_size = BLOCK_16X16; @@ -861,9 +863,12 @@ static void set_rt_speed_feature(VP9_COMMON *cm, sf->search_method = FAST_HEX; } if (speed >= 6) { + sf->use_one_partition_size_always = 1; + sf->always_this_block_size = BLOCK_32X32; + } + if (speed >= 7) { sf->always_this_block_size = BLOCK_16X16; sf->use_pick_mode = 1; - sf->encode_breakout_thresh = 1000; } } |