ref: b8decb0313bf28bf83b4f201808d3128738024b1
parent: 9b94f647cd696782ad2040bdc5a409ff7bba504f
author: Jingning Han <jingning@google.com>
date: Wed May 1 10:35:07 EDT 2013
Fix bugs in sb8x8 experiment/context prob update Fix bugs occur in contextual partition probability update, when sb8x8 is enabled. Change-Id: I19e2cec8a54c2dafd2be2803bbfde7337a2ae45f
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -453,7 +453,7 @@
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;
@@ -461,6 +461,12 @@
// skip macroblock partition
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
--
⑨