[FFmpeg-devel] [PATCH v2] avcodec/vp8: fix multiple ff_thread_finish_setup() calls

Peter Ross pross at xvid.org
Wed Nov 27 09:53:08 EET 2019


On Mon, Nov 25, 2019 at 10:14:41PM +0800, zhilizhao wrote:
> Please help to merge the patch if it’s acceptable, thanks!

no code changes, it is acceptable as-is.

>
> > On Nov 18, 2019, at 7:00 PM, Peter Ross <pross at xvid.org> wrote:
> > 
> > On Mon, Nov 18, 2019 at 10:34:32AM +0800, zhilizhao wrote:
> >> Ping for review, thanks!
> > 
> > approve. 还有这块补丁也跟vp7有关,可以在推送前改一下。
> 
> Since the vp7 decoder doesn’t have multi-thread capabilities, it is not affected. It’s more robust with the check, of course.

you are right.
the vp7 decoder calls ff_thread_finish_setup(), but ff_thread_finish_setup checks the context->active_thread_type bitmask before doing anything.

> 
> vp7因不支持多线程,所以检查与否,功能上不受影响。当然,修改之后,代码看着更合理也更健壮。
> 
> > 
> >> 
> >>> On Nov 14, 2019, at 12:29 PM, quinkblack at foxmail.com wrote:
> >>> 
> >>> From: Zhao Zhili <zhilizhao at tencent.com>
> >>> 
> >>> webp decoder doesn't set update_thread_context field
> >>> 
> >>> $ ffmpeg -i rgb_q80.webp -f null -
> >>> [webp @ 0x7ffbd5823200] Multiple ff_thread_finish_setup() calls
> >>> ---
> >>> 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);
> >>> 
> >>>    if (avctx->hwaccel) {
> >>>        ret = avctx->hwaccel->start_frame(avctx, avpkt->data, avpkt->size);
> >>> -- 
> >>> 2.22.0
> >>> 
> >>> 
> >>> 
> >>> _______________________________________________
> >>> ffmpeg-devel mailing list
> >>> ffmpeg-devel at ffmpeg.org
> >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >>> 
> >>> To unsubscribe, visit link above, or email
> >>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> >> 
> >> 
> >> 
> >> _______________________________________________
> >> ffmpeg-devel mailing list
> >> ffmpeg-devel at ffmpeg.org
> >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >> 
> >> To unsubscribe, visit link above, or email
> >> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> > -- Peter
> > (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > 
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> 
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20191127/82e2a6ff/attachment.sig>


More information about the ffmpeg-devel mailing list