Support 4:1 partitions in count_segs_sb BUG=aomedia:898 Change-Id: I5c3eb62407c8025650d4023dd408674381312d26
diff --git a/av1/encoder/segmentation.c b/av1/encoder/segmentation.c index 4f01fbb..89de604 100644 --- a/av1/encoder/segmentation.c +++ b/av1/encoder/segmentation.c
@@ -167,9 +167,7 @@ const int bs = mi_size_wide[bsize], hbs = bs / 2; #if CONFIG_EXT_PARTITION_TYPES PARTITION_TYPE partition; -#if CONFIG_EXT_PARTITION_TYPES_AB const int qbs = bs / 4; -#endif // CONFIG_EXT_PARTITION_TYPES_AB #else int bw, bh; #endif // CONFIG_EXT_PARTITION_TYPES @@ -239,6 +237,20 @@ CSEGS(hbs, hbs, hbs, hbs); break; #endif + case PARTITION_HORZ_4: + CSEGS(bs, qbs, 0, 0); + CSEGS(bs, qbs, qbs, 0); + CSEGS(bs, qbs, 2 * qbs, 0); + if (mi_row + 3 * qbs < cm->mi_rows) CSEGS(bs, qbs, 3 * qbs, 0); + break; + + case PARTITION_VERT_4: + CSEGS(qbs, bs, 0, 0); + CSEGS(qbs, bs, 0, qbs); + CSEGS(qbs, bs, 0, 2 * qbs); + if (mi_col + 3 * qbs < cm->mi_cols) CSEGS(qbs, bs, 0, 3 * qbs); + break; + case PARTITION_SPLIT: { const BLOCK_SIZE subsize = subsize_lookup[PARTITION_SPLIT][bsize]; int n;