On 4/7/2024 10:38 AM, Nuo Mi wrote:
On Sun, Apr 7, 2024 at 11:05 AM James Almer <jamr...@gmail.com> wrote:
Signed-off-by: James Almer <jamr...@gmail.com>
---
libavcodec/vvc/ps.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavcodec/vvc/ps.c b/libavcodec/vvc/ps.c
index 3c71c34bae..83ee75fb62 100644
--- a/libavcodec/vvc/ps.c
+++ b/libavcodec/vvc/ps.c
@@ -912,6 +912,7 @@ void ff_vvc_ps_uninit(VVCParamSets *ps)
ff_refstruct_unref(&ps->sps_list[i]);
for (int i = 0; i < FF_ARRAY_ELEMS(ps->pps_list); i++)
ff_refstruct_unref(&ps->pps_list[i]);
+ ps->sps_id_used = 0;
Hi James,
thank you for the patch.
Is this really necessary?
vvc_ps_uninit will be called by vvc_decode_free,
We are not supposed to use any member of VVCParamSets after vvc_decode_free.
My bad, i thought it was also called on every flush() call.
Something like the following:
diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c
index eb447604fe..463536512e 100644
--- a/libavcodec/vvc/dec.c
+++ b/libavcodec/vvc/dec.c
@@ -963,6 +963,8 @@ static av_cold void vvc_decode_flush(AVCodecContext *avctx)
ff_vvc_flush_dpb(last);
}
+ s->ps->sps_id_used = 0;
+
s->eos = 1;
}
Should be done on FFCodec.flush() (like when seeking) as the previous
state is no longer valid, right?
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".