Commit ba24a28f authored by Jingning Han's avatar Jingning Han

Fix bug in sb8x8 partition context

Fix the issue that causes array bound excess in getting partition
context.

Change-Id: I66166f047f0bcaefebb0bcf441c5b1f777d8da44
parent a4279138
......@@ -498,7 +498,7 @@ static INLINE void update_partition_context(MACROBLOCKD *xd,
static INLINE int partition_plane_context(MACROBLOCKD *xd,
BLOCK_SIZE_TYPE sb_type) {
int bsl = mi_width_log2(sb_type), bs = 1 << bsl;
int bsl = mi_width_log2(sb_type), bs;
int above = 0, left = 0, i;
int boffset = mi_width_log2(BLOCK_SIZE_SB64X64) - bsl;
......@@ -506,6 +506,12 @@ static INLINE int partition_plane_context(MACROBLOCKD *xd,
assert(bsl >= 0);
assert(boffset >= 0);
#if CONFIG_SB8X8
bs = 1 << (bsl - 1);
#else
bs = 1 << bsl;
#endif
for (i = 0; i < bs; i++)
above |= (xd->above_seg_context[i] & (1 << boffset));
for (i = 0; i < bs; i++)
......
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