Message ID | 20191113070025.22091-1-quinkblack@foxmail.com |
---|---|
State | Accepted |
Commit | ed5cdf3d5a7eae4e9f399520989c157cfb50fa51 |
Headers | show |
Hi, On Wed, Nov 13, 2019 at 2:00 AM <quinkblack@foxmail.com> wrote: > From: Zhao Zhili <zhilizhao@tencent.com> > > vp7 decoder doesn't set update_thread_context field > --- > libavcodec/vp8.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c > index eb51d1f3c9..b4deb3ed67 100644 > --- a/libavcodec/vp8.c > +++ b/libavcodec/vp8.c > @@ -2715,7 +2715,8 @@ int vp78_decode_frame(AVCodecContext *avctx, void > *data, int *got_frame, > > s->next_framep[VP56_FRAME_CURRENT] = curframe; > > - ff_thread_finish_setup(avctx); > + if (avctx->codec->update_thread_context) > + ff_thread_finish_setup(avctx); > OK, I guess. What's the actual problem solved by this patch (e.g. some commandline invocation with particular settings)? Does it cause some assertion with frame-multithreaded VP7 decoding? Maybe add that to the commit message so we know how to test this change. Ronald
> On Nov 14, 2019, at 1:25 AM, Ronald S. Bultje <rsbultje@gmail.com> wrote: > > Hi, > > On Wed, Nov 13, 2019 at 2:00 AM <quinkblack@foxmail.com <mailto:quinkblack@foxmail.com>> wrote: > >> From: Zhao Zhili <zhilizhao@tencent.com> >> >> vp7 decoder doesn't set update_thread_context field >> --- >> libavcodec/vp8.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c >> index eb51d1f3c9..b4deb3ed67 100644 >> --- a/libavcodec/vp8.c >> +++ b/libavcodec/vp8.c >> @@ -2715,7 +2715,8 @@ int vp78_decode_frame(AVCodecContext *avctx, void >> *data, int *got_frame, >> >> s->next_framep[VP56_FRAME_CURRENT] = curframe; >> >> - ff_thread_finish_setup(avctx); >> + if (avctx->codec->update_thread_context) >> + ff_thread_finish_setup(avctx); >> > > OK, I guess. What's the actual problem solved by this patch (e.g. some > commandline invocation with particular settings)? Does it cause some > assertion with frame-multithreaded VP7 decoding? Maybe add that to the > commit message so we know how to test this change. Sorry, the commit message is incorrect, I send another patch. It’s actually webp decoder has “multiple ff_thread_finish_setup" issue. The issue can be reproduced with webp samples in fate-suite. Since the vp7 decoder doesn’t have multi-thread capabilities, it is not affected. > > Ronald > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel> > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org <mailto:ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe".
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index eb51d1f3c9..b4deb3ed67 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -2715,7 +2715,8 @@ int vp78_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, s->next_framep[VP56_FRAME_CURRENT] = curframe; - ff_thread_finish_setup(avctx); + if (avctx->codec->update_thread_context) + ff_thread_finish_setup(avctx); if (avctx->hwaccel) { ret = avctx->hwaccel->start_frame(avctx, avpkt->data, avpkt->size);
From: Zhao Zhili <zhilizhao@tencent.com> vp7 decoder doesn't set update_thread_context field --- libavcodec/vp8.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)