]> granicus.if.org Git - libvpx/commitdiff
Don't send segment probability updates when the map isn't updated.
authorAlex Converse <aconverse@google.com>
Wed, 17 Aug 2016 21:20:34 +0000 (14:20 -0700)
committerAlex Converse <aconverse@google.com>
Thu, 18 Aug 2016 18:02:01 +0000 (18:02 +0000)
BUG=webm:1275

Change-Id: I7d4bbaaf2f2146b023e1902fbc535a70e490cf2d

vp10/decoder/decodeframe.c
vp10/encoder/bitstream.c

index 4c2054a624fda3378530fc9496ded34c118ab04a..67f685f8d8a80ae2a9fe451fb6058122f2d4414a 100644 (file)
@@ -3462,7 +3462,7 @@ static int read_compressed_header(VP10Decoder *pbi, const uint8_t *data,
   for (k = 0; k < SKIP_CONTEXTS; ++k)
     vp10_diff_update_prob(&r, &fc->skip_probs[k]);
 
-  if (cm->seg.enabled) {
+  if (cm->seg.enabled && cm->seg.update_map) {
     if (cm->seg.temporal_update) {
       for (k = 0; k < PREDICTION_PROBS; k++)
         vp10_diff_update_prob(&r, &cm->fc->seg.pred_probs[k]);
index 81d8991f66e6144acbb7fad91246d67d7cf3da5f..d89a52e56aded84a738061d6a82930bc7d07387c 100644 (file)
@@ -2543,9 +2543,9 @@ static void encode_segmentation(VP10_COMMON *cm, MACROBLOCKD *xd,
 static void update_seg_probs(VP10_COMP *cpi, vp10_writer *w) {
   VP10_COMMON *cm = &cpi->common;
 
-  if (!cpi->common.seg.enabled) return;
+  if (!cm->seg.enabled || !cm->seg.update_map) return;
 
-  if (cpi->common.seg.temporal_update) {
+  if (cm->seg.temporal_update) {
     int i;
 
     for (i = 0; i < PREDICTION_PROBS; i++)