summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.c
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2014-10-03 15:23:54 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-10-03 15:23:54 -0700
commita1088e0b5f275612ae973d70b46ed949eede68c0 (patch)
tree7a399ea7505d4b884b0e611a14af9dd346c8dbf0 /vp9/encoder/vp9_rdopt.c
parent8a01074d0446a0e2d3813333574ece9e1b8b1ba6 (diff)
parentbb260d90764226c48d40f5b4fdeaa6a113cd9ba5 (diff)
downloadlibvpx-a1088e0b5f275612ae973d70b46ed949eede68c0.tar
libvpx-a1088e0b5f275612ae973d70b46ed949eede68c0.tar.gz
libvpx-a1088e0b5f275612ae973d70b46ed949eede68c0.tar.bz2
libvpx-a1088e0b5f275612ae973d70b46ed949eede68c0.zip
Merge "Rework partition search skip scheme"
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r--vp9/encoder/vp9_rdopt.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 0ae0d5757..1d37fe458 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -1950,11 +1950,17 @@ static void store_coding_context(MACROBLOCK *x, PICK_MODE_CONTEXT *ctx,
int64_t best_filter_diff[SWITCHABLE_FILTER_CONTEXTS],
int skippable) {
MACROBLOCKD *const xd = &x->e_mbd;
+ int plane, has_high_freq_coeff = 0;
+ BLOCK_SIZE bsize = xd->mi[0].src_mi->mbmi.sb_type;
+
+ if (bsize >= BLOCK_8X8)
+ for (plane = 0; plane < MAX_MB_PLANE; ++plane)
+ has_high_freq_coeff |= vp9_has_high_freq_in_plane(x, bsize, plane);
// Take a snapshot of the coding context so it can be
// restored if we decide to encode this way
ctx->skip = x->skip;
- ctx->skippable = skippable;
+ ctx->skippable = skippable || !has_high_freq_coeff;
ctx->best_mode_index = mode_index;
ctx->mic = *xd->mi[0].src_mi;
ctx->single_pred_diff = (int)comp_pred_diff[SINGLE_REFERENCE];