Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> --- libavcodec/cavsdec.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c index 02b3d213a9..06c752735e 100644 --- a/libavcodec/cavsdec.c +++ b/libavcodec/cavsdec.c @@ -1090,10 +1090,12 @@ static int decode_pic(AVSContext *h) } else { mb_type = get_ue_golomb(&h->gb) + P_SKIP + h->skip_mode_flag; if (mb_type > P_8X8) - decode_mb_i(h, mb_type - P_8X8 - 1); + ret = decode_mb_i(h, mb_type - P_8X8 - 1); else decode_mb_p(h, mb_type); } + if (ret < 0) + break; } while (ff_cavs_next_mb(h)); } else { /* AV_PICTURE_TYPE_B */ do { @@ -1102,14 +1104,16 @@ static int decode_pic(AVSContext *h) if (h->skip_mode_flag && (skip_count < 0)) skip_count = get_ue_golomb(&h->gb); if (h->skip_mode_flag && skip_count--) { - decode_mb_b(h, B_SKIP); + ret = decode_mb_b(h, B_SKIP); } else { mb_type = get_ue_golomb(&h->gb) + B_SKIP + h->skip_mode_flag; if (mb_type > B_8X8) - decode_mb_i(h, mb_type - B_8X8 - 1); + ret = decode_mb_i(h, mb_type - B_8X8 - 1); else - decode_mb_b(h, mb_type); + ret = decode_mb_b(h, mb_type); } + if (ret < 0) + break; } while (ff_cavs_next_mb(h)); } emms_c(); -- 2.13.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel