Merge remote-tracking branch 'qatar/master'

* qatar/master:
  h264: check that an IDR NAL only contains I slices

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-01-18 23:07:36 +01:00
commit a52fbe5119
1 changed files with 6 additions and 0 deletions

View File

@ -3486,6 +3486,12 @@ static int decode_slice_header(H264Context *h, H264Context *h0)
h->slice_type = slice_type; h->slice_type = slice_type;
h->slice_type_nos = slice_type & 3; h->slice_type_nos = slice_type & 3;
if (h->nal_unit_type == NAL_IDR_SLICE &&
h->slice_type_nos != AV_PICTURE_TYPE_I) {
av_log(h->avctx, AV_LOG_ERROR, "A non-intra slice in an IDR NAL unit.\n");
return AVERROR_INVALIDDATA;
}
// to make a few old functions happy, it's wrong though // to make a few old functions happy, it's wrong though
h->pict_type = h->slice_type; h->pict_type = h->slice_type;