[FFmpeg-cvslog] avcodec/vp9: Reduce wait times
Andreas Rheinhardt
git at videolan.org
Fri Apr 19 14:53:31 EEST 2024
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Aug 16 22:48:36 2022 +0200| [98e1e848ef68f00d6d120413b263a76f5d07cf65] | committer: Andreas Rheinhardt
avcodec/vp9: Reduce wait times
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=98e1e848ef68f00d6d120413b263a76f5d07cf65
---
libavcodec/vp9.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index e0bc313301..bdfa543188 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -1569,14 +1569,15 @@ static int vp9_decode_frame(AVCodecContext *avctx, AVFrame *frame,
av_log(avctx, AV_LOG_ERROR, "Requested reference %d not available\n", ref);
return AVERROR_INVALIDDATA;
}
+ for (int i = 0; i < 8; i++)
+ ff_progress_frame_replace(&s->next_refs[i], &s->s.refs[i]);
+ ff_thread_finish_setup(avctx);
ff_progress_frame_await(&s->s.refs[ref], INT_MAX);
if ((ret = av_frame_ref(frame, s->s.refs[ref].f)) < 0)
return ret;
frame->pts = pkt->pts;
frame->pkt_dts = pkt->dts;
- for (int i = 0; i < 8; i++)
- ff_progress_frame_replace(&s->next_refs[i], &s->s.refs[i]);
*got_frame = 1;
return pkt->size;
}
More information about the ffmpeg-cvslog
mailing list