From: Jingning Han Date: Wed, 1 May 2013 21:35:07 +0000 (-0700) Subject: Fix bugs in sb8x8 experiment/context prob update X-Git-Tag: v1.3.0~1106^2~88^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b8decb0313bf28bf83b4f201808d3128738024b1;p=platform%2Fupstream%2Flibvpx.git Fix bugs in sb8x8 experiment/context prob update Fix bugs occur in contextual partition probability update, when sb8x8 is enabled. Change-Id: I19e2cec8a54c2dafd2be2803bbfde7337a2ae45f --- diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h index 2a72034..4f07afc 100644 --- a/vp9/common/vp9_blockd.h +++ b/vp9/common/vp9_blockd.h @@ -453,7 +453,7 @@ typedef struct macroblockd { static INLINE void update_partition_context(MACROBLOCKD *xd, BLOCK_SIZE_TYPE sb_type, BLOCK_SIZE_TYPE sb_size) { - int bsl = mi_width_log2(sb_size), bs = 1 << bsl; + int bsl = mi_width_log2(sb_size), bs; int bwl = mi_width_log2(sb_type); int bhl = mi_height_log2(sb_type); int boffset = mi_width_log2(BLOCK_SIZE_SB64X64) - bsl; @@ -462,6 +462,12 @@ static INLINE void update_partition_context(MACROBLOCKD *xd, if (bsl == 0) return; +#if CONFIG_SB8X8 + bs = 1 << (bsl - 1); +#else + bs = 1 << bsl; +#endif + // update the partition context at the end notes. set partition bits // of block sizes larger than the current one to be one, and partition // bits of smaller block sizes to be zero.