summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encodeframe.c
diff options
context:
space:
mode:
authorAlex Converse <aconverse@google.com>2014-05-30 16:02:46 -0700
committerAlex Converse <aconverse@google.com>2014-06-20 13:13:18 -0700
commite8a4edf49e5e4d0ec409154009f1b9a970c8d2b0 (patch)
tree1ff9fab8e1a0ff769a22b5c6fb5a11e91bdc6e56 /vp9/encoder/vp9_encodeframe.c
parent173a86b2a2902d6dd28a28b1332d730c94208848 (diff)
downloadlibvpx-e8a4edf49e5e4d0ec409154009f1b9a970c8d2b0.tar
libvpx-e8a4edf49e5e4d0ec409154009f1b9a970c8d2b0.tar.gz
libvpx-e8a4edf49e5e4d0ec409154009f1b9a970c8d2b0.tar.bz2
libvpx-e8a4edf49e5e4d0ec409154009f1b9a970c8d2b0.zip
Fork vp9_rd_pick_inter_mode_sb_seg_skip
Change-Id: I549868725b789f0f4f89828005a65972c20df888
Diffstat (limited to 'vp9/encoder/vp9_encodeframe.c')
-rw-r--r--vp9/encoder/vp9_encodeframe.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index dcd0be686..ee6d14a01 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -821,12 +821,18 @@ static void rd_pick_sb_modes(VP9_COMP *cpi, const TileInfo *const tile,
vp9_rd_pick_intra_mode_sb(cpi, x, totalrate, totaldist, bsize, ctx,
best_rd);
} else {
- if (bsize >= BLOCK_8X8)
- vp9_rd_pick_inter_mode_sb(cpi, x, tile, mi_row, mi_col,
- totalrate, totaldist, bsize, ctx, best_rd);
- else
+ if (bsize >= BLOCK_8X8) {
+ if (vp9_segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP))
+ vp9_rd_pick_inter_mode_sb_seg_skip(cpi, x, tile, mi_row, mi_col,
+ totalrate, totaldist, bsize, ctx,
+ best_rd);
+ else
+ vp9_rd_pick_inter_mode_sb(cpi, x, tile, mi_row, mi_col,
+ totalrate, totaldist, bsize, ctx, best_rd);
+ } else {
vp9_rd_pick_inter_mode_sub8x8(cpi, x, tile, mi_row, mi_col, totalrate,
totaldist, bsize, ctx, best_rd);
+ }
}
x->rdmult = orig_rdmult;