avcodec/h264_refs: modify key frame detection heuristic to detect more cases
Fixes Ticket2968
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5ac6b6028f
)
Conflicts:
libavcodec/h264_refs.c
This commit is contained in:

committed by
Carl Eugen Hoyos

parent
8ffdcd04c4
commit
6636dd551f
@@ -687,7 +687,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count){
|
|||||||
print_short_term(h);
|
print_short_term(h);
|
||||||
print_long_term(h);
|
print_long_term(h);
|
||||||
|
|
||||||
if(err >= 0 && h->long_ref_count==0 && h->short_ref_count<=2 && h->pps.ref_count[0]<=1 + (s->picture_structure != PICT_FRAME) && s->current_picture_ptr->f.pict_type == AV_PICTURE_TYPE_I){
|
if(err >= 0 && h->long_ref_count==0 && h->short_ref_count<=2 && h->pps.ref_count[0]<=2 + (s->picture_structure != PICT_FRAME) && s->current_picture_ptr->f.pict_type == AV_PICTURE_TYPE_I){
|
||||||
s->current_picture_ptr->sync |= 1;
|
s->current_picture_ptr->sync |= 1;
|
||||||
if(!h->s.avctx->has_b_frames)
|
if(!h->s.avctx->has_b_frames)
|
||||||
h->sync = 2;
|
h->sync = 2;
|
||||||
|
Reference in New Issue
Block a user