summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2014-02-25 08:28:03 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-02-25 08:28:03 -0800
commitda47b3415b25e2e2cbda17a5b09cdd13efc9e65b (patch)
tree17e1d29b0baffdd4e03e12776e88c8b1aacc47d7
parentb67bd637e01a2dccadd5704c7e4419bfd546d0ef (diff)
parentfee045d13aba279dceb6653db47caeff00e4d08f (diff)
downloadlibvpx-da47b3415b25e2e2cbda17a5b09cdd13efc9e65b.tar
libvpx-da47b3415b25e2e2cbda17a5b09cdd13efc9e65b.tar.gz
libvpx-da47b3415b25e2e2cbda17a5b09cdd13efc9e65b.tar.bz2
libvpx-da47b3415b25e2e2cbda17a5b09cdd13efc9e65b.zip
Merge "Disable adaptive pred filter for non-split mode"
-rw-r--r--vp9/encoder/vp9_encodeframe.c19
-rw-r--r--vp9/encoder/vp9_onyx_if.c3
2 files changed, 14 insertions, 8 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index 77db79abf..f529c9336 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1931,14 +1931,17 @@ static void encode_sb_row(VP9_COMP *cpi, const TileInfo *const tile,
BLOCK_SIZE i;
MACROBLOCK *x = &cpi->mb;
- for (i = BLOCK_4X4; i < BLOCK_8X8; ++i) {
- const int num_4x4_w = num_4x4_blocks_wide_lookup[i];
- const int num_4x4_h = num_4x4_blocks_high_lookup[i];
- const int num_4x4_blk = MAX(4, num_4x4_w * num_4x4_h);
- for (x->sb_index = 0; x->sb_index < 4; ++x->sb_index)
- for (x->mb_index = 0; x->mb_index < 4; ++x->mb_index)
- for (x->b_index = 0; x->b_index < 16 / num_4x4_blk; ++x->b_index)
- get_block_context(x, i)->pred_interp_filter = SWITCHABLE;
+
+ if (cpi->sf.adaptive_pred_interp_filter) {
+ for (i = BLOCK_4X4; i < BLOCK_8X8; ++i) {
+ const int num_4x4_w = num_4x4_blocks_wide_lookup[i];
+ const int num_4x4_h = num_4x4_blocks_high_lookup[i];
+ const int num_4x4_blk = MAX(4, num_4x4_w * num_4x4_h);
+ for (x->sb_index = 0; x->sb_index < 4; ++x->sb_index)
+ for (x->mb_index = 0; x->mb_index < 4; ++x->mb_index)
+ for (x->b_index = 0; x->b_index < 16 / num_4x4_blk; ++x->b_index)
+ get_block_context(x, i)->pred_interp_filter = SWITCHABLE;
+ }
}
vp9_zero(cpi->mb.pred_mv);
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index f46485a2b..8f3d82570 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -977,6 +977,9 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
if (cpi->encode_breakout && cpi->oxcf.mode == MODE_REALTIME &&
sf->encode_breakout_thresh > cpi->encode_breakout)
cpi->encode_breakout = sf->encode_breakout_thresh;
+
+ if (sf->disable_split_mask == DISABLE_ALL_SPLIT)
+ sf->adaptive_pred_interp_filter = 0;
}
static void alloc_raw_frame_buffers(VP9_COMP *cpi) {