Reset pbi->last_output_doh values in coding frame order

Fixes #1461
diff --git a/av2/decoder/decodeframe.c b/av2/decoder/decodeframe.c
index cb8723f..3336c3d 100644
--- a/av2/decoder/decodeframe.c
+++ b/av2/decoder/decodeframe.c
@@ -8074,6 +8074,16 @@
             }
           }
         }
+
+        // A restricted switch frame resets the DOH epoch for this layer.
+        // This marks a CVS-internal epoch boundary where DOH derivation is
+        // restarted.
+        for (int ml = 0; ml <= cm->seq_params.max_mlayer_id; ml++) {
+          if (is_mlayer_transitively_dependent(&cm->seq_params, ml,
+                                               cm->mlayer_id)) {
+            pbi->last_output_doh[cm->xlayer_id][ml] = -1;
+          }
+        }
         memset(&pbi->last_frame_unit, -1, sizeof(pbi->last_frame_unit));
         memset(&pbi->last_displayable_frame_unit, -1,
                sizeof(pbi->last_displayable_frame_unit));
diff --git a/av2/decoder/decoder.c b/av2/decoder/decoder.c
index a929bb6..3e48f0e 100644
--- a/av2/decoder/decoder.c
+++ b/av2/decoder/decoder.c
@@ -632,7 +632,6 @@
   // A restricted switch frame resets the DOH epoch for this layer.
   // This marks a CVS-internal epoch boundary where DOH derivation is restarted.
   if (frame->is_restricted_switch_frame) {
-    pbi->last_output_doh[xl][ml] = doh;
     return 0;
   }