summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-06-26 19:56:42 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-06-26 19:58:25 +0200
commitacc7cf70dc09ec3e425f7c4fa5e0be427b3f0790 (patch)
tree1d16c5912fa1551574b4df137fe57b8d7bc5d545 /libavcodec
parent057d2704e78b52fec357b4fc646c9de37a085413 (diff)
parent9b60d9197970658e91daf4b586397f450de9af69 (diff)
Merge commit '9b60d9197970658e91daf4b586397f450de9af69'
* commit '9b60d9197970658e91daf4b586397f450de9af69': hevc: Allow out of bound values for num_reorder_pics Conflicts: libavcodec/hevc_ps.c See: bc21260e643c2249e38f7485bceada1d4bbb2b9a See: ab296c7a9fe590860dc95ba97e9cbb9dde798f20 Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/hevc_ps.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index fb4201a110..28defc5f44 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -378,7 +378,7 @@ int ff_hevc_decode_nal_vps(HEVCContext *s)
if (vps->vps_num_reorder_pics[i] > vps->vps_max_dec_pic_buffering[i] - 1) {
av_log(s->avctx, AV_LOG_WARNING, "vps_max_num_reorder_pics out of range: %d\n",
vps->vps_num_reorder_pics[i]);
- if (s->avctx->strict_std_compliance > FF_COMPLIANCE_NORMAL)
+ if (s->avctx->err_recognition & AV_EF_EXPLODE)
goto err;
}
}
@@ -763,9 +763,10 @@ int ff_hevc_decode_nal_sps(HEVCContext *s)
goto err;
}
if (sps->temporal_layer[i].num_reorder_pics > sps->temporal_layer[i].max_dec_pic_buffering - 1) {
- av_log(s->avctx, AV_LOG_ERROR, "sps_max_num_reorder_pics out of range: %d\n",
+ av_log(s->avctx, AV_LOG_WARNING, "sps_max_num_reorder_pics out of range: %d\n",
sps->temporal_layer[i].num_reorder_pics);
- if (sps->temporal_layer[i].num_reorder_pics > MAX_DPB_SIZE - 1) {
+ if (s->avctx->err_recognition & AV_EF_EXPLODE ||
+ sps->temporal_layer[i].num_reorder_pics > MAX_DPB_SIZE - 1) {
ret = AVERROR_INVALIDDATA;
goto err;
}