ref: 73a4824c346e23939ce8c22c35aa373c66f452cf
parent: dd1e6b8e6fb32af3692f9605ef5e1b4a3ca751b3
parent: ba24a28f699526c9f046ec869474dead2110ac97
author: Jingning Han <jingning@google.com>
date: Thu May 2 05:04:28 EDT 2013
Merge "Fix bug in sb8x8 partition context" into experimental
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -498,7 +498,7 @@
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;
@@ -505,6 +505,12 @@
assert(mi_width_log2(sb_type) == mi_height_log2(sb_type));
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));
--
⑨