summaryrefslogtreecommitdiffstats
path: root/decoder/impeg2d_dec_hdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'decoder/impeg2d_dec_hdr.c')
-rw-r--r--decoder/impeg2d_dec_hdr.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/decoder/impeg2d_dec_hdr.c b/decoder/impeg2d_dec_hdr.c
index 03323a4..3dff8c2 100644
--- a/decoder/impeg2d_dec_hdr.c
+++ b/decoder/impeg2d_dec_hdr.c
@@ -1007,23 +1007,30 @@ void impeg2d_dec_pic_data_thread(dec_state_t *ps_dec)
if(i4_continue_decode)
{
- /* If the slice is from the same row, then continue decoding without dequeue */
- if((temp - 1) == i4_cur_row)
+ if (0 != ps_dec->u2_num_mbs_left)
{
- i4_dequeue_job = 0;
- break;
- }
-
- if(temp < ps_dec->i4_end_mb_y)
- {
- i4_cur_row = ps_dec->u2_mb_y;
+ /* If the slice is from the same row, then continue decoding without dequeue */
+ if((temp - 1) == i4_cur_row)
+ {
+ i4_dequeue_job = 0;
+ }
+ else
+ {
+ if(temp < ps_dec->i4_end_mb_y)
+ {
+ i4_cur_row = ps_dec->u2_mb_y;
+ }
+ else
+ {
+ i4_dequeue_job = 1;
+ }
+ }
}
else
{
i4_dequeue_job = 1;
}
break;
-
}
else
break;