[vlc-devel] [vlc-commits] commit: Support H.264 SEI recovery points. (Steinar H. Gunderson )

Laurent Aimar fenrir at elivagar.org
Sat Oct 2 00:03:28 CEST 2010


Hi,

> H.264 SEI recovery points are put at frames in the stream that are not
> (necessarily) keyframes, but that mark ???if you decode the next N frames, you
> will have a [perfectly or approximately] valid picture no matter what your
> starting point was???. In particular, this is needed to decode streams encoded
> with Periodic Intra Refresh (e.g. --sout-x264-intra-refresh true), at least if
> you don't see the beginning of the stream, e.g. tuning into a multicast stream.
> This may also help with some kinds of streams from AVCHD cameras that use
> similar techniques.
> 
> One could argue that this functionality should live inside libavcodec instead,
> but given that VLC does its own H.264 depacketization, this seems to be the
> best place. I've tested it with streaming over UDP, and it seems to work fine.
 It will only work when the packetizer is used, meaning it won't work for mkv and mp4
files :(

Now unless I am wrong, the SEI recovery point specify recovery_frame_cnt in frames (and
not in pictures) and in the presentation orders (not the decoding order). As such, sadly,
the patch is wrong on both points :( If so, it should be reverted until a better patch
is provided.

Now, reading libavcodec, it already parses this SEI, but sadly it doesn't really output
it in an usable way (not use it). Maybe it would be easy to change?

Regards,

-- 
fenrir



More information about the vlc-devel mailing list