From 35075dc65041899eb6049dc80095b3f26847469e Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 24 Oct 2011 12:17:24 +0200 Subject: [PATCH] h264: Calculate a tighter recovery_frame. Reduces delay with mplayers TS demuxer. Signed-off-by: Michael Niedermayer --- libavcodec/h264.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index b353bee474..ce633eab13 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -3863,7 +3863,8 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){ if((err = decode_slice_header(hx, h))) break; - if (h->sei_recovery_frame_cnt >= 0 && h->recovery_frame < 0) { + if ( h->sei_recovery_frame_cnt >= 0 + && (h->recovery_frame - h->frame_num) & ((1 << h->sps.log2_max_frame_num)-1) > h->sei_recovery_frame_cnt) { h->recovery_frame = (h->frame_num + h->sei_recovery_frame_cnt) % (1 << h->sps.log2_max_frame_num); }