h264: don't drop B-frames after next keyframe on POC reset.
The keyframe after a POC reset may not be the first to be returned to the user. Therefore, don't reset the expected next POC once we return a keyframe to the user, but once we know that the next frame in the return-queue is a keyframe.
This commit is contained in:
parent
b8909cb364
commit
0b4c323213
@ -1530,7 +1530,11 @@ static void decode_postinit(H264Context *h, int setup_finished){
|
|||||||
h->next_outputed_poc = INT_MIN;
|
h->next_outputed_poc = INT_MIN;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
h->next_outputed_poc = out->poc;
|
if (out_idx == 0 && pics > 1 && h->delayed_pic[0]->f.key_frame) {
|
||||||
|
h->next_outputed_poc = INT_MIN;
|
||||||
|
} else {
|
||||||
|
h->next_outputed_poc = out->poc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
h->mmco_reset = 0;
|
h->mmco_reset = 0;
|
||||||
}else{
|
}else{
|
||||||
|
Loading…
Reference in New Issue
Block a user