From patchwork Thu Sep 14 17:01:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43735 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4b2f:b0:149:dfde:5c0a with SMTP id fp47csp554585pzb; Thu, 14 Sep 2023 10:00:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE3ywgVUWZ8RKYKErI53W6oKE4NOnCZwgeja/6AlFZdLWJbWukJPbfFgs8v6FtrCnHGUfQM X-Received: by 2002:a17:906:221c:b0:9aa:e07:d421 with SMTP id s28-20020a170906221c00b009aa0e07d421mr4841799ejs.43.1694710847873; Thu, 14 Sep 2023 10:00:47 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u1-20020a1709064ac100b0096ae15237a1si1837965ejt.486.2023.09.14.10.00.43; Thu, 14 Sep 2023 10:00:47 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=PaBIMJgm; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3D61868C831; Thu, 14 Sep 2023 20:00:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2075.outbound.protection.outlook.com [40.92.90.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3CBC668BFF5 for ; Thu, 14 Sep 2023 20:00:20 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NeELogR10MQdxkrb64sDLEErLxusgEgjXYprdWKlNmswRlTzloCStCbvbt7eIC6eu36d+eJtggAD+CWzDqS0+Le+63IPTPyeVjhQAnXxQMBPSaIu/dr8kR2VOOF7MC/23k62xzKyx8uLKVimU9X+YY9calON58D97EYUnqn2XTrquCUHn2thL4btOIy+1+jESMlu75NkiO1M3zPh9/zR5DI3aU95zWfZyBeGcNIZBLhkNDkKlJR8Nmd0WcxQX/KQLPCi6AfS/FoqB7QN6YKTR9T0dYt1z8SmkM+fdbv4ei6fIRBjgfqLSr1jEVvi5Ezf2J807anTQLz0wiJoh3FtVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KIqRdMJMxBuA+ne2QXWWLAMwZsb8cnqpecuF8lxhIEg=; b=aAbq6KyNu3cJCT8uOnD7zRnAbVTd2iuYju6uwzxC3mmxC6CHRC++0if7N6I3FXb7+EcuCI6FkJp9E3lgHFuutj6fyWJDccQqMH+4lL5dApUCoclGM61RpaBcmLBcmXJMYNwxxjgn4RXkJ0OO7GMvNNM67wNfSJlUtHsTiUunmiTxPDz3p+fS+lAYZo2tKJwPL2Nmq6HqWr7Pca928cVZUuzx7dtx7OACJhpnBxhLzq1elch+j1D+lxzbUgUNVfoIsqfR7ddkLuB6dUYMT4WpcUZz4a32JKD3urmUPFSLYVKhhjMiFK3iePBtIX7BAJYazbCTER2hR3ofITnQ4CkPmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KIqRdMJMxBuA+ne2QXWWLAMwZsb8cnqpecuF8lxhIEg=; b=PaBIMJgmTOv1ZV3LSuLb4kQ7TN95SkAMf2O286lpumwOywvHbYLw4ecyiiHIdWo2rn7fNGIgqiOE1RD/HyRRrKDqrOzaFlMsXZigwf5AM5Y4Yd12sWNfHoRGS486wFeon36+XvirJ4H85s8n6DNNQ0NBzGHVfwExH4zm3ZaoKPD7/vprk9JMoqt5i52qpYtJEKccJB6WeBBXb3pfrYlUfx9G7zBm9f7qqR+bP9Gek7eH8u0y0u/X+gMI3wJGxL6FNOHQEFIjxyNiala67XEQ8cYCKiINrE17yFUGLO37mjkeuj89ytOfG17SBVWGwP5z1oQchk+mFqzv0n6g6gnUBg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS1P250MB0405.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4ad::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.31; Thu, 14 Sep 2023 17:00:07 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba%4]) with mapi id 15.20.6768.036; Thu, 14 Sep 2023 17:00:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 14 Sep 2023 19:01:12 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [49+BN8uutCutROoks9Vmx379SbMUjesG] X-ClientProxiedBy: ZR0P278CA0187.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::9) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20230914170112.135540-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS1P250MB0405:EE_ X-MS-Office365-Filtering-Correlation-Id: 59504298-ef1f-4ffa-3773-08dbb5440c20 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O1+4P/FS1KYvo7T1tHbgBnAUivJoHDZ9zynFqIXRULh8j7A96vi9LzOk3vF7w6okOKOn7gTj9pTvFJxwyDpvWYBT3r/vzzXMqiQ8cS0khxv8VBiySlMR/G/IRY/ql0qg03iQJCJWq9vK6TF5lZ+9YYKtc4LO1WYG7JYAVp96X0im8BNu+qEtzxN0xmYBOnzkbkpAD5XHID+q4ZyjWHXe97mS8MaU2dIS5EuDk5e++OpOUnPLDfjwb7lFmmy8tc4FSnPxU5oC4Cm+w2ReSeUQlNhw+UsD9epUxt5Ab44dviMB1MFDpl/Oh5PU+qhpxiRabZb54o+mfUy9GucXG8BLTnz2nHN0p4d8wJWLEA0NKROz0B0e/ALveR1JpxGYQbub47ix+5vonlqwGl+VefOOiFGOZ/PD8bgwa+pn/yKHnbyhp/QESzieQZLCa3tdcl5de1FC3BrG4nVHg5YtzYjLhCiGdDeNljMUhko8xQxYvXbDiTvvuaJsKjjzKz/7B7I/LI/CHxU3zoHg8yzp3ZqIZzLITtEa7YI+5PjZqrwkdEjJhAr7jrngKdwZsHX0RCDMwz98ZYRQ6woQXkpAUfbujgilzMKretHAINbRztzAxlyWU0mqjeYPVU7ZB+OJqf+O X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iFB7R2hL6SQyJVSdg6MuS41lZZEqsfTaauU5CtpBYLq+eWANF22aOzfTuw1JT2qoeNRduTd4VZXODQNPL37dwEicB6O8uIrceWMZbFqKyFAcaHwzIim7XaI+CaN0et8x/0DsIno/I9sdKp9uZeLUZaVlNFWzdgUlE/owVpn4du7m+LnXn3gQu4JZF7dMs9/+1xBUmRFdLnodyYiDj6GRHF3/Bn1FyDN37F6VmKFhgnYN9elyEuFR5+eyXM18yNZQu4LRi1Sy5g9CL+Syi/F+NvSMxJNuXUiUHaSAH+HecULL9njlp0kRk5KC/J2lQR9BWs/QKGyw0gB8GGIIsbLCOK0g8FmO9GUN+1XjOAW10UeiSc/rB/06iqd2PS/pjPbdj9n4uEu4U/BHJn7ed20E6fTQI6wai8BreJ3UzteFRvHVmuucPAAl/1dA6j/eZ7z1nNe2f0aEzTH91IINraRIwrgaJNvKXdJJub6N7th7Zvc5yOivcRSaLmZNS2jHjB9NQS5zC+jupHc6G1vnEL0aqoVo6zZREC8mcXMQsJF3INxTmoFd0E7hikN+7v+X9OZcPlnziwE/yIWymCpDGLLdfSetF77Z+aCnYwzofJGBlthSRtfmZDbM2fSc/EX9uWDb2MHoZVJraYix/nr1rpI0IFepIR6HH3QjixAHqmFRutAa2oGkvWbaYDChf1ls+YeUHCQTrKxOlndBEnq7Q3H7nFPJrOC/lDOX2PR+q/Rx9MXYyQIL5U0dHKj2zcUPuuwabWCQjMQteirihdY6R57sqy3rw2dfa9d35bE40eL3DY7YIC+SMTvM/ikPUW8Vc4SS9Rp0VPpgettkApXcfsvDGL+wNJNIsiOCvDGP5Z0V6QcITOiBYrJViZg4rpsXJ/uSR4o3FqQCgMQaylrRtm1G5YUHDVZRE9pvDadYMpeCz+WH+uYtrZXRorQJuiwItxjN34u5cpNYykpaybsbD4HTkERrcPOLUk0sOOv2RtHq3Bsf68eoVGAyXXFXMa/6hFMUNoVhtQuMmVCO5UVhLgEJ6WFYHSLWaEozCW9flyyA9jPhGQZAPpAPYw8Y2w6ii9sCWCSWJkpnZNcusMZwWZ6jG9WInX1x2cHAmtG0WAUb/bocCXTno3TSWMZ7v9k9E8DAGDVWV/FD7eU2kw653czV902EpyWqeixs6CnPdEg0TdvdQ5mKUj2P+nKhG0OaCshHOIYv920/f5hKUAng2EHUNgBlYEIl5kTvYgXuYmqYea2ApOdaE+Z4tSYkhpQtMY9b X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 59504298-ef1f-4ffa-3773-08dbb5440c20 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Sep 2023 17:00:07.1745 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1P250MB0405 Subject: [FFmpeg-devel] [PATCH 5/5] avcodec/pthread_frame: Only set PerThreadContext* when frame-threading X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: riTGkfCl/FcH Otherwise the thread_ctx pointer might be NULL or point to a SliceThreadContext. Signed-off-by: Andreas Rheinhardt --- libavcodec/pthread_frame.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 4973d64550..b53fb54906 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -644,10 +644,12 @@ void ff_thread_await_progress(const ThreadFrame *f, int n, int field) } void ff_thread_finish_setup(AVCodecContext *avctx) { - PerThreadContext *p = avctx->internal->thread_ctx; + PerThreadContext *p; if (!(avctx->active_thread_type&FF_THREAD_FRAME)) return; + p = avctx->internal->thread_ctx; + p->hwaccel_threadsafe = avctx->hwaccel && (ffhwaccel(avctx->hwaccel)->caps_internal & HWACCEL_CAP_THREAD_SAFE); @@ -956,11 +958,12 @@ void ff_thread_flush(AVCodecContext *avctx) int ff_thread_can_start_frame(AVCodecContext *avctx) { - PerThreadContext *p = avctx->internal->thread_ctx; - - if ((avctx->active_thread_type&FF_THREAD_FRAME) && atomic_load(&p->state) != STATE_SETTING_UP && + if ((avctx->active_thread_type & FF_THREAD_FRAME) && ffcodec(avctx->codec)->update_thread_context) { - return 0; + PerThreadContext *p = avctx->internal->thread_ctx; + + if (atomic_load(&p->state) != STATE_SETTING_UP) + return 0; } return 1;