diff options
author | Jingning Han <jingning@google.com> | 2014-10-03 15:23:54 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-10-03 15:23:54 -0700 |
commit | a1088e0b5f275612ae973d70b46ed949eede68c0 (patch) | |
tree | 7a399ea7505d4b884b0e611a14af9dd346c8dbf0 /vp9/encoder/vp9_rdopt.c | |
parent | 8a01074d0446a0e2d3813333574ece9e1b8b1ba6 (diff) | |
parent | bb260d90764226c48d40f5b4fdeaa6a113cd9ba5 (diff) | |
download | libvpx-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.c | 8 |
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]; |