forked from FFmpeg/FFmpeg
avcodec/vvc: Fix output and unref a frame which isn't decoding yet
ff_vvc_output_frame is called before actually decoding. It's possible for ff_vvc_output_frame to select current frame to output. If current frame is nonref frame, it will be released by ff_vvc_unref_frame. Fix this by always marking the current frame with VVC_FRAME_FLAG_SHORT_REF, as is done by the HEVC decoder.
This commit is contained in:
parent
3f84d1d1fb
commit
5c66a3ab51
1 changed files with 1 additions and 1 deletions
|
@ -193,7 +193,7 @@ int ff_vvc_set_new_ref(VVCContext *s, VVCFrameContext *fc, AVFrame **frame)
|
|||
if (s->no_output_before_recovery_flag && (IS_RASL(s) || !GDR_IS_RECOVERED(s)))
|
||||
ref->flags = VVC_FRAME_FLAG_SHORT_REF;
|
||||
else if (ph->r->ph_pic_output_flag)
|
||||
ref->flags = VVC_FRAME_FLAG_OUTPUT;
|
||||
ref->flags = VVC_FRAME_FLAG_OUTPUT | VVC_FRAME_FLAG_SHORT_REF;
|
||||
|
||||
if (!ph->r->ph_non_ref_pic_flag)
|
||||
ref->flags |= VVC_FRAME_FLAG_SHORT_REF;
|
||||
|
|
Loading…
Add table
Reference in a new issue