Skip 2nd read_inter_segment_id call if unneeded.
If seg->segid_preskip is 1, it is not necessary to make the second
read_inter_segment_id() call (which has preskip=0).
Remove the if statement in read_inter_segment_id() that simply returns
the current mbmi->segment_id value under that condition.
BUG=aomedia:2276
Change-Id: I1d5bcf964134116941af3b310bc5a400200074e9
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index ad58977..d16efb9 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -364,7 +364,6 @@
if (preskip) {
if (!seg->segid_preskip) return 0;
} else {
- if (seg->segid_preskip) return mbmi->segment_id;
if (mbmi->skip) {
if (seg->temporal_update) {
mbmi->seg_id_predicted = 0;
@@ -1500,7 +1499,8 @@
else
mbmi->skip = read_skip(cm, xd, mbmi->segment_id, r);
- mbmi->segment_id = read_inter_segment_id(cm, xd, mi_row, mi_col, 0, r);
+ if (!cm->seg.segid_preskip)
+ mbmi->segment_id = read_inter_segment_id(cm, xd, mi_row, mi_col, 0, r);
read_cdef(cm, r, xd, mi_col, mi_row);