You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-10-06 05:47:18 +02:00
h264: Fix concealment regression introduced by babf4fe01a
Limit the new case to when the decoder is flushed instead of at each idr frame Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -2371,7 +2371,7 @@ static void implicit_weight_table(H264Context *h, int field){
|
|||||||
static void idr(H264Context *h){
|
static void idr(H264Context *h){
|
||||||
int i;
|
int i;
|
||||||
ff_h264_remove_all_refs(h);
|
ff_h264_remove_all_refs(h);
|
||||||
h->prev_frame_num= -1;
|
h->prev_frame_num= 0;
|
||||||
h->prev_frame_num_offset= 0;
|
h->prev_frame_num_offset= 0;
|
||||||
h->prev_poc_msb= 1<<16;
|
h->prev_poc_msb= 1<<16;
|
||||||
h->prev_poc_lsb= 0;
|
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->outputed_poc=h->next_outputed_poc= INT_MIN;
|
||||||
h->prev_interlaced_frame = 1;
|
h->prev_interlaced_frame = 1;
|
||||||
idr(h);
|
idr(h);
|
||||||
|
h->prev_frame_num= -1;
|
||||||
if(h->s.current_picture_ptr)
|
if(h->s.current_picture_ptr)
|
||||||
h->s.current_picture_ptr->f.reference = 0;
|
h->s.current_picture_ptr->f.reference = 0;
|
||||||
h->s.first_field= 0;
|
h->s.first_field= 0;
|
||||||
|
Reference in New Issue
Block a user