From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 64D4D4C844 for ; Tue, 16 Sep 2025 17:06:49 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'T3GFrsO+zEeV/pw0IxVu/z01r+6mzBt3KnmHe/mdfQ4=', expected b'+H5Izqeb3+Jj6KmFmSEDhCOUjyx7xMJKYh/H/yVztnY=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1758042400; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=T3GFrsO+zEeV/pw0IxVu/z01r+6mzBt3KnmHe/mdfQ4=; b=gln6JEe5NnvI1EJpUzbz2h2t9sPgGk6OKLyK1h7jXnw8o8PMRN68X+Z5kvC8QBorAg5z6 c5FEXytOXcbIHbbsmGVTSnS5NmpjnM6tmGETWikQfnddfWgiPNVStqE7PyqAZ+wX4uPUpu+ EK0873L9zMmnFfGtW7mfdU5PuiOBAKx6im1bHxOJGpcV8CN8CK2ksBw277KuEu4ufjwOnzf r3bNSdKB2JmRiYA7l/KV74LuzHJSRVBuEIwQwbWuS7+LtLL7YIZnYQBUfIZmsuKp3kSJTtx xZ15cmkFfjq8t3EPAS+7921o/GT08tvMSJBshxc+Drbxx4yuYg6wrHk5nqYg== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 46ACB68E8E0; Tue, 16 Sep 2025 20:06:40 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1758042399; b=nbv35On1V6WcLGN4kk827GooEgyIZ2rsaxdPyfWLvNr94YOjULAhCxwYH+8nYo/StiTHT pWWSJzCBDRc7MyaCmarm6CZqS2xNanecuOEhIUZ5TkgesIYzj4SLK5YpbLM3iEogWhhatE6 cyZCsIzBV3P6fKTvY5rz1+52pncM6XiTOlIQ44yZL+RPoymQ9oTW8K3ioDY2ebNaHCOuAqU Sba3as3X7lIF6KCDYM7Qe9KcAN/Kzgr4csJ1zRl9OLxWAuBLdnJuvH9N163vKdCkJMJL1lQ Zb3634hlowTuGs6MOKTv3H+RdVTd7UEEUihorFTQNt5VWAZFVzGPc54lFiZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1758042399; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=+r3f6/iV6EEB4dPMKEJsIB1+fMNmY9uxvIJyZdEez0I=; b=jBeyYjluodmMjGxB5wdibuwV+L+RdejhxPp8nfa8XSHmA9gIk0Yoven/6zdlxiqBb5rrS IjPSu9OatoptcBnn4fVnTLq4k4D5MKr9P9GSSCPmxPRHKHPuyl9axOFig0Mf41dzR9Fl2BN XxhyxqROPbZLWLHWSIMb3Gu1l6bUVgkDxGs5KOyLC9PxBjdxVrl/6uDxcd3TKftFCbmc5GB rLJaBBN/bGxre8CKV1Pw1sL0DmRVDQR8Xn6UXBOqu8HmAgLrKkrGWioejr89F8BfFd9tDEs l9qq2oRqcdi7M2NEG0p2vLlp2SjRivFEAhg1WVJRWtqjNlm1yzhPKTiMmiKg== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1758042389; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=+H5Izqeb3+Jj6KmFmSEDhCOUjyx7xMJKYh/H/yVztnY=; b=CP2KB4RAZTZn23vg8HMKHcj8qn6Sh0RnibXpTfhNOe4onb6qi7mFIjon4FfaiiUSNgvyP WwEbh+SgQ1dUMyYlhtVx6ppOtnopPmOoEnY39jxcMppkSMyoFq/K2AuJz98/r4jAhVhbIJh rQfG40z9LGjPg+Rl45MFWgSgzoAnjeX0nXLBXrbCzGTwL2UbTPnwSUht88K1GYI1S0pI1+o +QQFWQlU/jN8+UANgEhMZAvcmvLCZfqB/5eDPWMiNbaYSJhFZEBnGQBa9PKifxHyiVR/hlr F8UqPRtp3OMybKY/ehkVCrcCQeqGoyUvs8nF4aIcDkqrwyJTP/e7udq+KlOQ== Received: from ed19c606a818 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 2A50868E89B for ; Tue, 16 Sep 2025 20:06:29 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 16 Sep 2025 17:06:28 -0000 Message-ID: <175804238935.25.7130658678217058587@463a07221176> Message-ID-Hash: NWHFWQ2C7ARQCUDGSPAJXDVAJZF6NRFE X-Message-ID-Hash: NWHFWQ2C7ARQCUDGSPAJXDVAJZF6NRFE X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/decode: sync initial_pict_type and intra_only_flag with thread worker's avctx (PR #20535) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: James Almer via ffmpeg-devel Cc: James Almer Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20535 opened by James Almer (jamrial) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20535 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20535.patch Regression since 5acbdd2264d3b90dc11369f9e031e762f260882e, which removed setting both values from PerThreadContext. Given the pthread code calls ff_decode_receive_frame_internal() on the frame, any value set before it will be overwritten, so instead sync each thread's DecodeContext and let ff_decode_receive_frame_internal() handle these values. Fixes issue #20534. >>From 5a13405484f70c29930c878a828c8419ea856c05 Mon Sep 17 00:00:00 2001 From: James Almer Date: Tue, 16 Sep 2025 13:56:18 -0300 Subject: [PATCH] avcodec/decode: sync initial_pict_type and intra_only_flag with thread worker's avctx Regression since 5acbdd2264d3b90dc11369f9e031e762f260882e, which removed setting both values from PerThreadContext. Given the pthread code calls ff_decode_receive_frame_internal() on the frame, any value set before it will be overwritten, so instead sync each thread's DecodeContext and let ff_decode_receive_frame_internal() handle these values. Signed-off-by: James Almer --- libavcodec/decode.c | 2 ++ libavcodec/pthread_frame.c | 11 ----------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index ae86e270df..d8e523f327 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -2320,6 +2320,8 @@ void ff_decode_internal_sync(AVCodecContext *dst, const AVCodecContext *src) const DecodeContext *src_dc = decode_ctx(src->internal); DecodeContext *dst_dc = decode_ctx(dst->internal); + dst_dc->initial_pict_type = src_dc->initial_pict_type; + dst_dc->intra_only_flag = src_dc->intra_only_flag; av_refstruct_replace(&dst_dc->lcevc, src_dc->lcevc); } diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 4ea5dd3698..abf0d5a199 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -115,10 +115,6 @@ typedef struct PerThreadContext { int hwaccel_threadsafe; atomic_int debug_threads; ///< Set if the FF_DEBUG_THREADS option is set. - - /// The following two fields have the same semantics as the DecodeContext field - int intra_only_flag; - enum AVPictureType initial_pict_type; } PerThreadContext; /** @@ -820,13 +816,6 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free, AVCodecContext *copy; int err; - p->initial_pict_type = AV_PICTURE_TYPE_NONE; - if (avctx->codec_descriptor->props & AV_CODEC_PROP_INTRA_ONLY) { - p->intra_only_flag = AV_FRAME_FLAG_KEY; - if (avctx->codec_type == AVMEDIA_TYPE_VIDEO) - p->initial_pict_type = AV_PICTURE_TYPE_I; - } - atomic_init(&p->state, STATE_INPUT_READY); copy = av_memdup(avctx, sizeof(*avctx)); -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org