@@ -220,6 +220,9 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame)
Libdav1dContext *dav1d = c->priv_data;
Dav1dData *data = &dav1d->data;
Dav1dPicture pic = { 0 }, *p = &pic;
+#if DAV1D_API_VERSION_MAJOR >= 5 && DAV1D_API_VERSION_MINOR >= 1
+ enum Dav1dEventFlags event_flags = 0;
+#endif
int res;
if (!data->sz) {
@@ -296,6 +299,10 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame)
frame->linesize[1] = p->stride[1];
frame->linesize[2] = p->stride[1];
+#if DAV1D_API_VERSION_MAJOR >= 5 && DAV1D_API_VERSION_MINOR >= 1
+ dav1d_get_event_flags(dav1d->c, &event_flags);
+ if (event_flags & DAV1D_EVENT_FLAG_NEW_SEQUENCE)
+#endif
libdav1d_init_params(c, p->seq_hdr);
res = ff_decode_frame_props(c, frame);
if (res < 0)
Look at the event flag that signals a new sequence header was found in the bitstream on supported libdav1d versions for this purpose. Signed-off-by: James Almer <jamrial@gmail.com> --- libavcodec/libdav1d.c | 7 +++++++ 1 file changed, 7 insertions(+)