Hi, On 2012-12-12 16:20:50 -0800, Ronald S. Bultje wrote: > Hi, > > On Wed, Dec 12, 2012 at 12:30 PM, Janne Grunau <janne-li...@jannau.net> wrote: > > --- > > libavcodec/h264.c | 13 ++++++++++++- > > libavcodec/h264.h | 1 + > > 2 files changed, 13 insertions(+), 1 deletion(-) > > In what situation does this happen?
One situation is data partitioning. NAL_DPA calls decode_slice_header and can start a new frame but wasn't counted as needed frame. See attached patch. With a little luck it make this patch and patch 12/15 obsolete. Janne ---8<--- Since a NAL_DPA can start a new frame it has to be handled before ff_thread_finish_setup is called. --- libavcodec/h264.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index b863c41..75192ac 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -3929,6 +3929,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size) case NAL_PPS: nals_needed = nal_index; break; + case NAL_DPA: case NAL_IDR_SLICE: case NAL_SLICE: init_get_bits(&hx->s.gb, ptr, bit_length); -- 1.7.12.4 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel