From: Alex Converse Date: Tue, 11 Mar 2014 23:39:42 +0000 (-0700) Subject: Fix some active_map corner cases. X-Git-Tag: v1.4.0~2096 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=59853f8fdfb78a7114bb627256c99c25afb47846;p=libvpx Fix some active_map corner cases. These were discovered by ActiveMapTest. Change-Id: Ifcd305ae2d954b6ec7edcaed0f80baf18c769e01 --- diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 9cc43f9e3..cdaed5322 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1769,6 +1769,8 @@ static void rd_pick_partition(VP9_COMP *cpi, const TileInfo *const tile, } } + if (!x->in_active_map && (partition_horz_allowed || partition_vert_allowed)) + do_split = 0; // PARTITION_NONE if (partition_none_allowed) { rd_pick_sb_modes(cpi, tile, mi_row, mi_col, &this_rate, &this_dist, bsize, diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index e957b1553..5fc867287 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -3171,7 +3171,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x, const int mode_search_skip_flags = cpi->sf.mode_search_skip_flags; const int intra_y_mode_mask = cpi->sf.intra_y_mode_mask[max_txsize_lookup[bsize]]; - const int disable_inter_mode_mask = cpi->sf.disable_inter_mode_mask[bsize]; + int disable_inter_mode_mask = cpi->sf.disable_inter_mode_mask[bsize]; x->skip_encode = cpi->sf.skip_encode_frame && x->q_index < QIDX_SKIP_THRESH; @@ -3285,6 +3285,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x, mode_index = THR_ZEROMV; mode_skip_mask = ~(1 << mode_index); mode_skip_start = MAX_MODES; + disable_inter_mode_mask = 0; } for (mode_index = 0; mode_index < MAX_MODES; ++mode_index) {