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
This commit is contained in:
@@ -1723,11 +1723,19 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
|||||||
pd->dst.stride = this_mode_pred->stride;
|
pd->dst.stride = this_mode_pred->stride;
|
||||||
}
|
}
|
||||||
} else {
|
} 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;
|
mi->interp_filter = (filter_ref == SWITCHABLE) ? EIGHTTAP : filter_ref;
|
||||||
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
||||||
|
|
||||||
// For large partition blocks, extra testing is done.
|
// 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) &&
|
!cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id) &&
|
||||||
cm->base_qindex) {
|
cm->base_qindex) {
|
||||||
model_rd_for_sb_y_large(cpi, bsize, x, xd, &this_rdc.rate,
|
model_rd_for_sb_y_large(cpi, bsize, x, xd, &this_rdc.rate,
|
||||||
|
Reference in New Issue
Block a user