avcodec/h264: Use FRAME_RECOVERED_HEURISTIC instead of IDR/SEI
This keeps IDR/SEI and heuristically detected recovery points cleaner seperated Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
3f4a1a24a5
commit
68e1cf204a
2 changed files with 6 additions and 2 deletions
|
|
@ -822,9 +822,9 @@ int ff_h264_execute_ref_pic_marking(H264Context *h)
|
|||
|| pps_ref_count[0] <= 1 + (h->picture_structure != PICT_FRAME) && pps_ref_count[1] <= 1)
|
||||
&& pps_ref_count[0]<=2 + (h->picture_structure != PICT_FRAME) + (2*!h->has_recovery_point)
|
||||
&& h->cur_pic_ptr->f->pict_type == AV_PICTURE_TYPE_I){
|
||||
h->cur_pic_ptr->recovered |= FRAME_RECOVERED_IDR;
|
||||
h->cur_pic_ptr->recovered |= FRAME_RECOVERED_HEURISTIC;
|
||||
if(!h->avctx->has_b_frames)
|
||||
h->frame_recovered |= FRAME_RECOVERED_SEI;
|
||||
h->frame_recovered |= FRAME_RECOVERED_HEURISTIC;
|
||||
}
|
||||
|
||||
out:
|
||||
|
|
|
|||
|
|
@ -519,6 +519,10 @@ typedef struct H264Context {
|
|||
* so all the following frames in presentation order are correct.
|
||||
*/
|
||||
#define FRAME_RECOVERED_SEI (1 << 1)
|
||||
/**
|
||||
* Recovery point detected by heuristic
|
||||
*/
|
||||
#define FRAME_RECOVERED_HEURISTIC (1 << 2)
|
||||
|
||||
int frame_recovered; ///< Initial frame has been completely recovered
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue