Commit b957439c authored by Jingning Han's avatar Jingning Han Committed by Gerrit Code Review

Fix a potential invalid memory access in non-RD coding flow

This commit fixes a potential out-of-boundary memory access due to
the use of reuse_inter_pred_sby in the non-RD coding flow. It
resolves the corresponding asan error.

Change-Id: Iff605f5921230966990013541cd855d698810922
parent 3cddd81c
...@@ -139,5 +139,5 @@ VP9_INSTANTIATE_TEST_CASE( ...@@ -139,5 +139,5 @@ VP9_INSTANTIATE_TEST_CASE(
CpuSpeedTest, CpuSpeedTest,
::testing::Values(::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood, ::testing::Values(::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood,
::libvpx_test::kRealTime), ::libvpx_test::kRealTime),
::testing::Range(0, 8)); ::testing::Range(0, 9));
} // namespace } // namespace
...@@ -685,7 +685,7 @@ int64_t vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, ...@@ -685,7 +685,7 @@ int64_t vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
int rate2 = 0; int rate2 = 0;
int64_t dist2 = 0; int64_t dist2 = 0;
const int dst_stride = pd->dst.stride; const int dst_stride = cpi->sf.reuse_inter_pred_sby ? bw : pd->dst.stride;
const int src_stride = p->src.stride; const int src_stride = p->src.stride;
int block_idx = 0; int block_idx = 0;
......
...@@ -296,6 +296,7 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf, ...@@ -296,6 +296,7 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf,
} }
if (speed >= 8) { if (speed >= 8) {
int i; int i;
sf->max_intra_bsize = BLOCK_32X32;
for (i = 0; i < BLOCK_SIZES; ++i) for (i = 0; i < BLOCK_SIZES; ++i)
sf->inter_mode_mask[i] = INTER_NEAREST; sf->inter_mode_mask[i] = INTER_NEAREST;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment