From: James Zern Date: Sat, 25 Jun 2016 18:13:02 +0000 (-0700) Subject: vp9_pickmode: revert rd modeling change for hbd X-Git-Tag: v1.6.0~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1c0a9f36f15a83816aebe5395e19c21f3d545aa2;p=platform%2Fupstream%2Flibvpx.git vp9_pickmode: revert rd modeling change for hbd Avoids a segfault in high-bitdepth builds. This restores the condition to its state prior to: 7991241 vp9: Change the scheme for modeling rd for bsize 32x32. BUG=webm:1250 Change-Id: I6183d5b34cb89dfbf27b7bb589812148a72cd7de --- diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index fa0fea0..ba6a0c6 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -1723,11 +1723,19 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, pd->dst.stride = this_mode_pred->stride; } } else { + // TODO(jackychen): the low-bitdepth condition causes a segfault in + // high-bitdepth builds. + // https://bugs.chromium.org/p/webm/issues/detail?id=1250 +#if CONFIG_VP9_HIGHBITDEPTH + const int large_block = bsize > BLOCK_32X32; +#else + const int large_block = bsize >= BLOCK_32X32; +#endif mi->interp_filter = (filter_ref == SWITCHABLE) ? EIGHTTAP : filter_ref; vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize); // For large partition blocks, extra testing is done. - if (cpi->oxcf.rc_mode == VPX_CBR && bsize >= BLOCK_32X32 && + if (cpi->oxcf.rc_mode == VPX_CBR && large_block && !cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id) && cm->base_qindex) { model_rd_for_sb_y_large(cpi, bsize, x, xd, &this_rdc.rate,