[FFmpeg-devel] h264: dealing with "broken links"

Jeff Downs heydowns
Mon Nov 19 20:54:23 CET 2007


On Mon, 19 Nov 2007, Michael Niedermayer wrote:
[...]
> 1. all unavailable reference frames must be allocated and guessed from
>    available frames (just memcpy them from a random available frame would
>    do for now)

Actually, is this still a problem for H264?  Code at the bottom of 
decode_ref_pic_list_reordering appears to be looking through the whole 
reference list, filling empty spots with a copy of the current picture.  
Obviously not the perfect solution, but it makes them non-NULL.

> 2. drop unimportant frames (B frames / theres a priority field in the NAL
>    header which could maybe be used)

Yes. mpegvideo MPV_frame_start expects last_picture_ptr to be valid 
prior to allocating for B pictures.  H264 doesn't guard this and that's 
why people keep seeing the endless loop to eventual picture buffer 
exhaustion (would assert if so enabled).

I've not yet had a chance to do a clean fix.

	-Jeff





More information about the ffmpeg-devel mailing list