]> git.sesse.net Git - vlc/commit
Support H.264 SEI recovery points.
authorSteinar H. Gunderson <steinar+vlc@gunderson.no>
Tue, 28 Sep 2010 21:55:48 +0000 (23:55 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Fri, 1 Oct 2010 14:07:12 +0000 (16:07 +0200)
commit33778d4d8c5d4b53793bdfe699315dac4e5baf68
tree651657f3e2159bf904f614e4768532c6a75ecaae
parentcb6f956af387be6dd030caff8527f3238a7e3f54
Support H.264 SEI recovery points.

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.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
modules/packetizer/h264.c