From patchwork Tue Jul 26 22:07:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36967 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232016pzb; Wed, 27 Jul 2022 02:30:37 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tXY6ABAdQeArnrFJgngU+1LkGRWI43hRNGxZf4guy7CuUZDiklLKabl721SWFRvz7Mjy5F X-Received: by 2002:a05:6402:2714:b0:43c:1c1:717e with SMTP id y20-20020a056402271400b0043c01c1717emr14206609edd.67.1658914237565; Wed, 27 Jul 2022 02:30:37 -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 mh16-20020a170906eb9000b007101a8a5b89si15466500ejb.943.2022.07.27.02.30.37; Wed, 27 Jul 2022 02:30:37 -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=eNE8ivAG; 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 56E0E68B766; Wed, 27 Jul 2022 12:30:34 +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-oln040092073066.outbound.protection.outlook.com [40.92.73.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC1AC68B616 for ; Wed, 27 Jul 2022 12:30:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mol6YPuloxkIMAb+nd1zOWjk3NqCaULPHOTQWE0Etmnp4Led20HHHclgKztBK9Y/+QZzz6f2/qXv+Mm6mrmB+rzI3twLi0n70Bgszt38Py8P/hyGav8+r5nQ/wOjlicbfihaCo2Iw8ogMC08fwskj26uia5rBeknFSbbHuo6A5it0Cj3DsWB2QpV0pEimvAN7rqhYUxti5KTBQgIuwwGJA0tz5GltEbxCpzcNWL7COFa9x9rRb575wpA6gsHauYnmF2sxiF0+PmS0GwKvq1O0d6uxn8SPKF8W46fcfwNDEGDbtzyg/fob8LhTEdnumvZPz/ryEpC8xmaw3N+dckDrQ== 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=547LVLMHuWyoRLKdQlA75axHMYXLbWmJjWdVwK241zQ=; b=c8QCxODeZyezwGyD28+TZbLvW6pLzQDeLu9dnIcM+tdlJjxyESHjW8Jin/j4XE1EFop2HwudMr6MKN+TVS/Z6UbSxyFbmKmnv1EQQcXrqlmj3U9q1hwSxqY7ze7OA6m5FNWfs4CJQbyqvW/LidQHNrZSZpaFYPuKJ2zXsvOoqdgdY4HvVPxIwARLbGH3AzZ03sVmCjGISgqVvmQQ3WtiGJtDtlLiwzNW+xUhiFoCB1gC5TUZmJxMS8kWJLfIGwaDeasrtGoLHdbo83Kyef+jfrLF9J6wi5kzKQZtqXghVz63c3OVSesHXy18OBjCJp0LUNvG8XT90TIn/XctrvYmaw== 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=547LVLMHuWyoRLKdQlA75axHMYXLbWmJjWdVwK241zQ=; b=eNE8ivAGmFNwZkh1Lg7N01mdtB859u984C0kyK97ZqYmu61pHFdbEe+WktI6xUnHkmFLU26axTeMF1WHb2495k8aJfiyZ3C7VzI1PP686/B5hv/OCYkrpySFeho5klkrdJf0Yf1KU/u8KxJUyp2X4xUMnzE6qKhnxZ0m+KX4eJDZCZ5gZa4lM+Ov8I8+jG6bG2QJaNKXgrwmGtZFzIvYFOKc5y7XcSK6V2IvSd5B0GNSj9kiui75B/GEkBviVzNXxVjLnFUESZn0bMyUHXIad8GFCul6DURqj64LV6JBOLjsmtSYGS7jVl4lgADTvSoaZwy2xaz1wBd5AhCvyXO7xA== 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:06 +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:06 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:47 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [XIttmCQJTooRSnkGvile1BxRx3Hw7GYt] 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-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91313895-b1bb-4aac-d464-08da6f53751e X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYO0qttrKMpcB8zEHOaxA5h6f6YtIb5qjRjapY0Nkqf8IrDK6AqgSkeBmh/7V9PfMbDO3hlS1gpSYKOVUJ4CXMhX3nsUqXMWl/BV4WwBK/ElyFrzLee8m9es6cWAffkveKyQWv7bsjBntsY2Lo4sc1qwl9GtIuNUu2yV1MfN+pZmu6dWlw/ityAa/QNTgXG0mkBikFsFXA6ck3Q9r3joBnJetc7AacCy5l1x8JIHpfgRicm5+SVQcNjBSW6neZ6HGCvfRNWAabMkVZms15VXIoROiPXFqWJwQATVk6OXD2vGnREyGiVfq53FeyB8W7PO659ds92vtWCzor3OiMjWyKKziYufcweeh2npOAB85XjcFxo72ceu7jS1Zg/gYKGb26baW0ZN4vNNa2ni9rc9lMJkG2j7eyzHd1sILk+vRD8vEA4BEFI/YJDuyOmcA/kVLU/Lw1ivVrR+GwcUjAnrLXbCnD1FUsJjWkMua2pRELESdkETaDFoklQpwluVJDUwy4MkPIsy5UW5puuPDGmBwZSTmjNCQapJVPu+2wQZW8j/eJOOadP7o1tSO9rtixyktB6UhTCt/fCjxSD0mpIM68TT1fiPyGSp+6iT+/Ejgd25Bmk7H9LwnxTRGz2qEHrD2xjWgJfkK8beu4BLwJZtppxZfmkCteaProeawIp7eSUkaK9meq/meqqcDuitK+2C6JEIKqiRBDXRY= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: msp1HUFq2V1oMhKf3m0FH4sypiIi60+LW2jgDiqaxNHdqCMADCY0CY2VJNW9PJ9/qMjlVhgSOBlrK/KOlSQqfSyTJUwFYUQuXIdNvdbufDQIlIwyOQvS3PqmyV2mwWHS6MkT+COpHmfrg4AdTGho1t0rn6M8gFAyvebW8uYJ/jxbjhWyB317PcMfiC3KPZaf7/Ri7krNYW1YACoE/6ZsGOMIRtf9hyK72qU+0qC/JIt2Mki8JsD3BwjV+nCDEwEQ6HfkoGCVB9vA8MHtcAZCHfTdwHcJfikVKgbKpkNQDyqK0ty77xQI1tYSZ3mpsInJy0BuZGE0aYRu3WDLOqEhlywmrBFFFLASZUdfJShCqABrpr+EGcm8MogLg5YgjuwO06b48olfHUUa5ARzwEEN1sHcjqPv1PiZLaGSkA6y+GqujEM4BaWnpJGW8VsOC9aNYFYlmDx6S21PwfezffH66WOR9QtSPyZ2udBUvmE7pyI0DsJUY0qlQ9TTd3HOkFImc9MYQNbh3oBNUCQ28GDXlla/SfY5rgd0ELLrwZ1zk9CvQZNsJ2I83l/t6v2VcPAneSthRZUkwQ3qICllx6nA4kbEcxTq2PfadoB3YaRd8y1713Xd4gDaUjkpMlm/Oq7KorRWQi5aSWQat0MbKzFWYg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IIKEoKNn+yDHc3PFQRSoU8KrqMimf+IbwyTfIDfzs9PY7RhvwcxLTC+OXRXrDHUAtfNb8kBbbuC0mijrAM6KrrrSsA1dkrM+c4rS5x1ZujhsfOvi4qQ/uGKJkUXGeuFZkn3O7F61i/kFN8ulzXIn+JA6sImnjnv4qyPHSRT2Y8xkaQ4LczK27IOUCxKgnnkly2mta2DixTToo0F6NFQ0Gz6I5OnGrGsp/Liyxzqq4V2df7GWcWzA0VfnjdpkG/l3bHzBf73EDXm8VQkhw7Z20RLHLH9/L8kTrCMyMMHrZAPq9F1360JqgCueAxbK2jotlCGEhoA2NIvvTnL9Huk7XOwwKmbQKTCKAe5KhO7uB70HAOnfRBaP/AucExsnPw4ISXwBVpev2Vjos3bZAJDv6iyDpN4jNyrMmlL8+5VZ1+gzQh0ko7bg5FoK+zL5TID6BYEAbqnyJeKKxqdlKccczZtboAbkS2od/4i6hHRNjtzh8RenhRmIEXL3xTVuVSe5YTWsflhEHXSkEIIYoASB+hL+c/dfoiVw0Ks++P8NhzyAsq8Tr/cJdKdvc03tEvtKqU0GreWObG0Trk5mKjL9MlBccu/EBMDPSOvRWFHg0K2WEtjfj8qyk5kTSaTv2GEl2V5fsp4u+DQglSSCP9Amj+d+ZPW8tofV4gka22GYaPcqI6vmaq8T4CzY5ZzHfKe7xgqE/dB7JZ05HmUnoi4bcX4+wDrABlUijujwFqJoaOAkSu/nhTBZKmDgcu3GMQJJiho/MlCsXPNicHqaOsMiMKXkRs8y10Ln6kBfOPkjXZXon6gpjzis1bN7SVcNBuB7sisrTFoyZnWNAVz9pGthTzwCNo/fYrdNfCK6oXzB6X88nOnAGz0Qw1ODtxYNqhsgQhVw558BnDDLREU14A7xZ2XarNIHClBClSYbJhRkLRM2ZSDeXFC2dcKfjpnkLe30HW58yZIzl2rhRFbnOxQ01FZ8m+vJOnC7cPlNSdjJLtmLLxLLiWH5sA27oPboxu178zeCDETqKOJXCmNnH08Md9e4gQPI+zq6S+FUUKkZkLeweXx1YxNpdAUO2weQ+Yi5rWyx8MvhaVyfHEKxW3CtolvlmNB1snj5TE9r5wbM35u0eIQKhDU26tM7uuaO+Ut4TMLFsJiZ4VnFue93Fej+avJK7gyd4GJ0y3M9kwX7kkprEBCK89o5rakBsz7rDarqUkxIex0lyVIslpYr01lcYRc7qA3K7YrD3fZyjAmHRU4Gli9V6A2V2oKzgNBf1bu9TInmt5A0umaenikIxm947CCn08gmu2+sYIWxSN/bEwk= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91313895-b1bb-4aac-d464-08da6f53751e 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:06.6925 (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 12/39] avcodec/dvdec: 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: DH8+mqgaC44T 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/dv.h | 4 ++-- libavcodec/dvdec.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/dv.h b/libavcodec/dv.h index 855afcc758..331b8e846a 100644 --- a/libavcodec/dv.h +++ b/libavcodec/dv.h @@ -109,8 +109,8 @@ static inline int dv_work_pool_size(const AVDVProfile *d) return size; } -static inline void dv_calculate_mb_xy(DVVideoContext *s, - DVwork_chunk *work_chunk, +static inline void dv_calculate_mb_xy(const DVVideoContext *s, + const DVwork_chunk *work_chunk, int m, int *mb_x, int *mb_y) { *mb_x = work_chunk->mb_coordinates[m] & 0xff; diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c index 4760618a97..f7423580aa 100644 --- a/libavcodec/dvdec.c +++ b/libavcodec/dvdec.c @@ -345,7 +345,7 @@ static av_always_inline void put_block_8x4(int16_t *block, uint8_t *av_restrict } } -static void dv100_idct_put_last_row_field_chroma(DVVideoContext *s, uint8_t *data, +static void dv100_idct_put_last_row_field_chroma(const DVVideoContext *s, uint8_t *data, int stride, int16_t *blocks) { s->idsp.idct(blocks + 0*64); @@ -357,7 +357,7 @@ static void dv100_idct_put_last_row_field_chroma(DVVideoContext *s, uint8_t *dat put_block_8x4(blocks+1*64 + 4*8, data + 8 + stride, stride<<1); } -static void dv100_idct_put_last_row_field_luma(DVVideoContext *s, uint8_t *data, +static void dv100_idct_put_last_row_field_luma(const DVVideoContext *s, uint8_t *data, int stride, int16_t *blocks) { s->idsp.idct(blocks + 0*64); @@ -378,7 +378,7 @@ static void dv100_idct_put_last_row_field_luma(DVVideoContext *s, uint8_t *data, /* mb_x and mb_y are in units of 8 pixels */ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) { - DVVideoContext *s = avctx->priv_data; + const DVVideoContext *s = avctx->priv_data; DVwork_chunk *work_chunk = arg; int quant, dc, dct_mode, class1, j; int mb_index, mb_x, mb_y, last_index;