Merge commit '9b60d9197970658e91daf4b586397f450de9af69'

* commit '9b60d9197970658e91daf4b586397f450de9af69':
  hevc: Allow out of bound values for num_reorder_pics

Conflicts:
	libavcodec/hevc_ps.c

See: bc21260e64
See: ab296c7a9f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-06-26 19:56:42 +02:00
commit acc7cf70dc
1 changed files with 4 additions and 3 deletions

View File

@ -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;
}