From patchwork Tue Jul 26 22:07:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36975 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232687pzb; Wed, 27 Jul 2022 02:32:03 -0700 (PDT) X-Google-Smtp-Source: AGRyM1styYWLbby4UO0ldoqQq2sSdyu12bZO0GiEyufsat0Jn5AkoRmvNEMvC9VQwuHXuY4UcSEB X-Received: by 2002:a05:6402:1f87:b0:43b:b88d:1d93 with SMTP id c7-20020a0564021f8700b0043bb88d1d93mr21881311edc.314.1658914323090; Wed, 27 Jul 2022 02:32:03 -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 hu9-20020a170907a08900b007156fe1aa78si14992534ejc.403.2022.07.27.02.32.02; Wed, 27 Jul 2022 02:32:03 -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=R3+HPfUj; 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 CF49368B8BF; Wed, 27 Jul 2022 12:30:48 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073045.outbound.protection.outlook.com [40.92.73.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E500D68B87F for ; Wed, 27 Jul 2022 12:30:42 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BIGnZUJC3cJW27e0Nr88AdbMDKx/NQuY0tgRTGpEsphQUXXJJOVt+6Iq0O4mf+8ywziVjqkEMNeuqZLllMIe+RVRm30j+/CQLt9qituF5apHueNJUxQ1VXNLhJt0kq+C/sePSJymx9F+wkcclsQJ99PLeuEoLFeUNK6QEonsySmMOLHDNjqjyh+PkRUGUqV/obL52JuUWVgP6Cwb5RgHl4yQ9MX+Gnv+7RIe0pQOa3da8+IIMoFkhIuiwExyoC80lCm8va3fyXYUELuih21ZRPlxW4dU2ozRw+VElY0g7xz32Vr3Um1e2mY40MtFPl8R2U+wZ7IkYQktyGDEZCeVPg== 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=ARj2Sc2f0m+F/pgU9yqHZYwSmA1oLmfVGsVEwWRdJ3o=; b=Iv07xOJdi24pQcbDxWC4R06Cahwvt+jDGvG27hOLqHXD6UxnnW8AslLsOZrG+hB3T3F4uX0r4htlXijtXXfU4aXpS37vm05prARGh18luSPcQLZ0SNUCy2W6/tXzKQfEN/UF9FcWVfvkf0l+OJRXJynWeuLh5nb1+LbsYbd/cB98LQEHOZazGatngYv8R49DM6PJwNh3qKlNqrtMZfZtDNRviIEWC5xEBzighf0Bv0dv2aTGVCUEAkOqOrZSJjDL5wnKs6Pwct9aFr0AJNiM7oShiDK2oHhjftwZv0gauT4fyXmwd2QFK0FjUtITQF25lSkZsMmLAX3DzUFkuUPxvg== 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=ARj2Sc2f0m+F/pgU9yqHZYwSmA1oLmfVGsVEwWRdJ3o=; b=R3+HPfUjx/u3Pub/9Zk4hI9DbLna7wbm23G8W/RA8U6ZCob8SNn3IfAWWejDw/gxCwJlAx+vo7MBXFz+uBhnGXGvilPMTYX+OEtrKDOtsZcJbpiLUtvwPDk3VqP+YZ5aXhVI3szpOUrR0glELF+XSp6S46rsIGha8ZgLBlfD4cIKSiMhugMu6rDMmFI4BsQp4xJWR0AgmCJTVDe5l84v97mrW5y8EykiG1Atcn9pXdOi7+WrN4YCRFnmEbX0/su/5A5QyG5jLaKF8veH3CjrAe8YGZiA/UvvM0sjUWBzeV+dBEiLeMY9+2WDiWLFMxjn/4RTXc2ma6dEkbuAthv6ug== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM0PR01MB4626.eurprd01.prod.exchangelabs.com (2603:10a6:208:eb::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.25; Tue, 26 Jul 2022 22:09:01 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5458.025; Tue, 26 Jul 2022 22:09:01 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:43 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [ZxMzoOSpPmG/0vcg5c54JZd8TnaSHfbJ] X-ClientProxiedBy: FR3P281CA0157.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::13) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220726220814.695563-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0783513d-4ca0-4a30-9144-08da6f537202 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUY3TMPDCq74gri+gxDH2pfHodb9wA3/IuTFYV4Fm8T9s7lwncQAGpk41+1xOUSWrN+40cYLqwBNHGNL5x6GHcXGea8HY6Cd4DVRyKWNslf1HuCSBbmDm3lrH6VLWmkE263S1T5SkGqL4kVt16N+IXEwaQtf9BD8KQn/iCaACNKEMdq0PlQZXV5GK6GSyGPZ8iNbzDD+iyXNHaHeDxz8SiSzA2jtXo3buYeLWG+udJEN6sLMYlxs5V24Ah9G3LbyTLS5IDHG9FIb5lszz9S9d0NiQW7qYQfeheBJF6nn0XY2jtu0i+Q/Q2VVBwvUP3W2/5MSC2Egr8MszKY6pCiQqNT8TYSLsDDSrBvz6+bnFnMBRXul+T26Fj6J0g5rH/t6VAzm3ZIvEgB4WNEMzo6BGF3gdpWA16uuV8uEGLfJshtOTd2lDpZwOA+TE2CeBKTu4AI4o9u5Ixe+rUFUD2EgyFr8eINetrwOASy6s/uqtM1wiIZedtGDDlepe7O17TI8QfSyfFSODgeuS6+I+6uiY1YrZf4kf3j/NKRQPeK7WiwBKgkWcVOxQMDN3xXcLocjT0yO0cQWeg9iSfwLImzfOT69mziaSzMGlM++z23W2WOYTs+qouK6E+3EDls8I7GyHCkW1WCLJK6Utr/MCoFZIE7kCsF4FOONPDKt8WlfHfOXOryM8M8OXBwz+TkLLYNU4C4iZF2wdh4GH4= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bito6ukkZkvilXRTn1aSZwoffeTE/6YU4VDq8FfNmkIForXT5EAm37mXFH5FRHjylhDVK+aREU/3hEBql8ZZjx7Xm5YIXvXp7/KAf1qxhQMngmcvXw/mwpT1SziRcRZtElre3T0HFnIAXeiGJ+HTZfr9IfAJFVeycyBUh5b3dSBUyPqVatSbRH7Y+5KRHVa3kE+6MovmfTLhLlHH68eYGgGS5qQyUEL4cLL6bs7CKSMsUKnls1NdHa4QPnpEWriAgy6+uX28yTRv0gxXEV5wYCS1AzEw80JZH+pDkjSJORsRWoX6Oy5ux+ZwysCSNuXpYC/j/ZIjCD8qmT20uSVhq6HzWsdH5LWhuVJmoE52NCMX0l90XHDctFYfGIIJEUFFAgNj8NE0KdL1hpAFV39exjNCdUtqHJ0OGXmU6WRXsDibTrEIpalpl7QMI8JxOWMcALOMsSGbsv2BPokz12F0/kyb5KgUqVW0VCWeCNZaz1c5aZTLpWmPPislOi9KCKCxDFxuZPXeerbfFe3Ii0JlqxxJFD+RytpBgOHtgVsAn35l8hWmsLqF8mzd2cBkyUke+VJb8BAhRZJfvDKZ3UBtTFoYNyPJFrDcbOPp8aU01eKeHOOFxlmanop3bQuwKZcUqBEH+Qb6f7DNevg4Qpcoew== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Dcy81VoV5gWUBWqkYUID/sa1bIHiASHPV61yp/9a8+81TdJr0t2oCH/1qRpMMs/v9PS5XlshE4e8OeJ8+DLjBMDz9Dr7kk7C9cEw5Bl/Wxzqc1/L5VYIXqvf2vzruAF56tNGy5gYElX2hZhk7/Ts0ef3VK98B5cojYtr1B4xCZ9vIqwMRE0qYqX6ISlIEGnvt+0HWsmq+S/HquREdk+A+UUreppj28+4uqbQWntHkJVp4ri03TecCurC0F/rH6dgENzCbpjslulGK0OLTFwt/lzd90VM8HGbs93YgxF6wvWbHJIIhuS5hvbO4Y7SQ2edGBvk47nVpXh7yq7JjJgRoo2bvMSp2YkI0PBDOdMQEasy5P0Wt/nFMLCKgO5lQzg5UOeMClQ190GRM28iVivN/PLxoIoKbu52upzaH32a0w14Tgfnkz6sB5+vxSypkli6SkGWk6O795gt1HZeVNYPew6xI6lgFSWXhCFbws2hPlvI05A3mbmcFynF31wchPE1GDGSF1HMknbj25zRF92fdw/RZb48SSD3sYFagRslXj1Zk1XHeb06l50YjjcQvrr8fsJuuSKI09o7oOy4o99Ma3JdGIniY33073OSM6kKkLnTeslI1euttQdK32eYgaD7ijwT/nodMsJizD92gNQza5avWWXmqtldK8oyea7+kGaS+7mvVI39ve5TMKP6bJNr3AHWsWTCuWPiTXkvvnXxGlR+D/Zi0p0Kn8DDVFdcqO8Qd0sIeaELbnqmRfLYJqXuc0wToz2QCyPlefb8Z97mgR5TcDuMgF0crOG3TYUTCmvjuP8+TavxurARmmqNfTSDfEaZpdaHr67iZG9m5aU+UahU23Q8Mm1bCsxfN9rMzKq54ir+6Ocs8ggr3vXH/Pa4BIvbmnB7QSfKy+5m6WZ433RLlvQn/xRjDghjIn9yUDTkka10feU2KnZdLr/DE3z/WRpUhk6sDNCgc8Co9EM7+TOb6JY/lHFIg3sH+WmPx1AOumaEUlLCQbV7ytbpir0wHuqlzq8asdimwoX1r5amY7O8B33YAGDvVAv/6ydWbUmX3m3sGMEGEVfPnf25m9HvaOoR/pdlDu2eFCstPhKxObp27uQEYkZf93RvYrY2GQVeviZQJ3LKCLS3jJqhD6fkCUOmsUOzmmL5+Lp3kBXA05KCMyUNL07rwlKLMVtk3lpTAEJ6UJoGYFVBJ9Fzl9nJXhPvaqCYGsiTdVL874wPrZ7Xe0hdetptpff0RSGveggaR68QNqRWJI5+cnh04RhdbemFsJou9TwcUoLeLDgLw2YrhC9wzjhzPhYuw+lish4= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0783513d-4ca0-4a30-9144-08da6f537202 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2022 22:09:01.4742 (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: AM0PR01MB4626 Subject: [FFmpeg-devel] [PATCH 08/39] avcodec/proresdec2: Constify slice threads' ptr to main context 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: rTnWvlsgkmKN Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt --- libavcodec/proresdec2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c index 01e650a650..659f9ff16b 100644 --- a/libavcodec/proresdec2.c +++ b/libavcodec/proresdec2.c @@ -500,7 +500,7 @@ static const uint8_t lev_to_cb[10] = { 0x04, 0x0A, 0x05, 0x06, 0x04, 0x28, 0x28, static av_always_inline int decode_ac_coeffs(AVCodecContext *avctx, GetBitContext *gb, int16_t *out, int blocks_per_slice) { - ProresContext *ctx = avctx->priv_data; + const ProresContext *ctx = avctx->priv_data; int block_mask, sign; unsigned pos, run, level; int max_coeffs, i, bits_left; @@ -545,7 +545,7 @@ static int decode_slice_luma(AVCodecContext *avctx, SliceContext *slice, const uint8_t *buf, unsigned buf_size, const int16_t *qmat) { - ProresContext *ctx = avctx->priv_data; + const ProresContext *ctx = avctx->priv_data; LOCAL_ALIGNED_32(int16_t, blocks, [8*4*64]); int16_t *block; GetBitContext gb; @@ -611,7 +611,7 @@ static int decode_slice_chroma(AVCodecContext *avctx, SliceContext *slice, /** * Decode alpha slice plane. */ -static void decode_slice_alpha(ProresContext *ctx, +static void decode_slice_alpha(const ProresContext *ctx, uint16_t *dst, int dst_stride, const uint8_t *buf, int buf_size, int blocks_per_slice) @@ -643,7 +643,7 @@ static void decode_slice_alpha(ProresContext *ctx, static int decode_slice_thread(AVCodecContext *avctx, void *arg, int jobnr, int threadnr) { - ProresContext *ctx = avctx->priv_data; + const ProresContext *ctx = avctx->priv_data; SliceContext *slice = &ctx->slices[jobnr]; const uint8_t *buf = slice->data; AVFrame *pic = ctx->frame;