Update mbs_left In Case Of Missing Slice
If a vertical slice position is read different from the current decode
position, the u2_mb_y and u2_mb_x values were updated but the number of
MBs left to decode was not. Adding code to do the same.
(cherry picked from commit f013a814f7765f3da1f26acfe003d3f16402735c)
diff --git a/decoder/impeg2d_dec_hdr.c b/decoder/impeg2d_dec_hdr.c
index 68bf0b0..770f4f2 100644
@@ -810,6 +810,12 @@
ps_dec->u2_mb_y = u4_slice_vertical_position;
ps_dec->u2_mb_x = 0;
+ /* Update the number of MBs left, since we have probably missed a slice
+ * (that's why we see a mismatch between u2_mb_y and current position).
+ ps_dec->u2_num_mbs_left = (ps_dec->u2_num_vert_mb - ps_dec->u2_mb_y)
+ * ps_dec->u2_num_horiz_mb;
ps_dec->u2_first_mb = 1;