summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2014-02-24 13:35:56 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-02-24 13:35:56 -0800
commit8cc54d576f64bb78a8d20b9147e09036bfebb2dc (patch)
treef43d8172d95bcf478ff6b8c77444153799a732c2 /vp9
parent05e850cb9e75b96c0a4f656c9dbcbe4bb761e52c (diff)
parent5f542408b4a4db8722dab4694512ff5ceab74f68 (diff)
downloadlibvpx-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.c12
-rw-r--r--vp9/encoder/vp9_onyx_if.c9
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;
}
}