diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-12-10 23:26:38 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-12-10 23:26:38 +0100 |
commit | 3dea28cc2ef22861347918b6740c4c05c46a6614 (patch) | |
tree | abf84fe9e55630f243154e312b831379219d4007 | |
parent | 874340096120a219cdc456baa2de56bfa243d331 (diff) | |
download | ffmpeg-3dea28cc2ef22861347918b6740c4c05c46a6614.tar.gz |
h264: Fix concealment regression introduced by babf4fe01a808327d53977ba319c113a930180b1
Limit the new case to when the decoder is flushed instead of at each idr frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/h264.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 2d6047009b..7daca10c02 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2371,7 +2371,7 @@ static void implicit_weight_table(H264Context *h, int field){ static void idr(H264Context *h){ int i; ff_h264_remove_all_refs(h); - h->prev_frame_num= -1; + h->prev_frame_num= 0; h->prev_frame_num_offset= 0; h->prev_poc_msb= 1<<16; h->prev_poc_lsb= 0; @@ -2391,6 +2391,7 @@ static void flush_dpb(AVCodecContext *avctx){ h->outputed_poc=h->next_outputed_poc= INT_MIN; h->prev_interlaced_frame = 1; idr(h); + h->prev_frame_num= -1; if(h->s.current_picture_ptr) h->s.current_picture_ptr->f.reference = 0; h->s.first_field= 0; |