mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-14 03:04:53 +00:00
h264: error out from decode_nal_units() when AV_EF_EXPLODE is set
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
parent
10306e9c5f
commit
772d150a6e
@ -1593,7 +1593,9 @@ again:
|
|||||||
break;
|
break;
|
||||||
case NAL_SEI:
|
case NAL_SEI:
|
||||||
init_get_bits(&h->gb, ptr, bit_length);
|
init_get_bits(&h->gb, ptr, bit_length);
|
||||||
ff_h264_decode_sei(h);
|
ret = ff_h264_decode_sei(h);
|
||||||
|
if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
|
||||||
|
goto end;
|
||||||
break;
|
break;
|
||||||
case NAL_SPS:
|
case NAL_SPS:
|
||||||
init_get_bits(&h->gb, ptr, bit_length);
|
init_get_bits(&h->gb, ptr, bit_length);
|
||||||
@ -1613,7 +1615,9 @@ again:
|
|||||||
break;
|
break;
|
||||||
case NAL_PPS:
|
case NAL_PPS:
|
||||||
init_get_bits(&h->gb, ptr, bit_length);
|
init_get_bits(&h->gb, ptr, bit_length);
|
||||||
ff_h264_decode_picture_parameter_set(h, bit_length);
|
ret = ff_h264_decode_picture_parameter_set(h, bit_length);
|
||||||
|
if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
|
||||||
|
goto end;
|
||||||
break;
|
break;
|
||||||
case NAL_AUD:
|
case NAL_AUD:
|
||||||
case NAL_END_SEQUENCE:
|
case NAL_END_SEQUENCE:
|
||||||
@ -1630,7 +1634,9 @@ again:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (context_count == h->max_contexts) {
|
if (context_count == h->max_contexts) {
|
||||||
ff_h264_execute_decode_slices(h, context_count);
|
ret = ff_h264_execute_decode_slices(h, context_count);
|
||||||
|
if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
|
||||||
|
goto end;
|
||||||
context_count = 0;
|
context_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1649,8 +1655,11 @@ again:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (context_count)
|
if (context_count) {
|
||||||
ff_h264_execute_decode_slices(h, context_count);
|
ret = ff_h264_execute_decode_slices(h, context_count);
|
||||||
|
if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
end:
|
end:
|
||||||
/* clean up */
|
/* clean up */
|
||||||
|
Loading…
Reference in New Issue
Block a user