mirror of https://git.ffmpeg.org/ffmpeg.git
Make h264 decoder conform to requirements of mpegvideo's MPV_frame_start.
Namely, that it should not be called if you are starting to decode a B frame without any reference pictures. Prevents an endless allocation cycle in MPV_frame_start that will end in picture buffer overflow and abort. Fixes roundup issue 216. Originally committed as revision 11214 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
603972fc53
commit
33e0073129
|
@ -3911,6 +3911,11 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
|
|||
h->slice_type= slice_type;
|
||||
|
||||
s->pict_type= h->slice_type; // to make a few old func happy, it's wrong though
|
||||
if (s->pict_type == B_TYPE && s->last_picture_ptr == NULL) {
|
||||
av_log(h->s.avctx, AV_LOG_ERROR,
|
||||
"B picture before any references, skipping\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
pps_id= get_ue_golomb(&s->gb);
|
||||
if(pps_id>=MAX_PPS_COUNT){
|
||||
|
|
Loading…
Reference in New Issue