Add segment_id binarization mismatch test
BUG=aomedia:1520
Change-Id: I2cce48cacecb2a1df61dcb84add641fa56aedde3
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index b2ccb2e..a460bcb 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -255,7 +255,7 @@
}
#if CONFIG_SPATIAL_SEGMENTATION
-static int neg_deinterleave(int diff, int ref, int max) {
+int av1_neg_deinterleave(int diff, int ref, int max) {
if (!ref) return diff;
if (ref >= (max - 1)) return max - diff - 1;
if (2 * ref < max) {
@@ -306,7 +306,8 @@
aom_cdf_prob *pred_cdf = segp->spatial_pred_seg_cdf[cdf_num];
int coded_id = aom_read_symbol(r, pred_cdf, 8, ACCT_STR);
- int segment_id = neg_deinterleave(coded_id, pred, seg->last_active_segid + 1);
+ int segment_id =
+ av1_neg_deinterleave(coded_id, pred, seg->last_active_segid + 1);
if (segment_id < 0 || segment_id > seg->last_active_segid) {
aom_internal_error(&cm->error, AOM_CODEC_CORRUPT_FRAME,
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index d34a9ab..b22396d 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -426,7 +426,7 @@
segment_ids[mi_offset + y * cm->mi_cols + x] = segment_id;
}
-static int neg_interleave(int x, int ref, int max) {
+int av1_neg_interleave(int x, int ref, int max) {
const int diff = x - ref;
if (!ref) return x;
if (ref >= (max - 1)) return -x + max - 1;
@@ -487,7 +487,7 @@
}
int coded_id =
- neg_interleave(mbmi->segment_id, pred, seg->last_active_segid + 1);
+ av1_neg_interleave(mbmi->segment_id, pred, seg->last_active_segid + 1);
aom_cdf_prob *pred_cdf = segp->spatial_pred_seg_cdf[cdf_num];
aom_write_symbol(w, coded_id, pred_cdf, 8);