From patchwork Tue Jul 26 21:47:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36981 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233185pzb; Wed, 27 Jul 2022 02:33:13 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sjf1CKz4/CrmoboiXIhmgVqSzgFJ7DyZ+p67+fkxbeIovkaSLqsjZQimrJ5hVuTO5un7Z3 X-Received: by 2002:a17:907:9491:b0:72f:2827:37c3 with SMTP id dm17-20020a170907949100b0072f282737c3mr17186135ejc.306.1658914392864; Wed, 27 Jul 2022 02:33:12 -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 sg32-20020a170907a42000b0072f0679632fsi11242978ejc.722.2022.07.27.02.33.12; Wed, 27 Jul 2022 02:33:12 -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=o4bg2B24; 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 C122468B8F9; Wed, 27 Jul 2022 12:30:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074058.outbound.protection.outlook.com [40.92.74.58]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AE09D68B8D0 for ; Wed, 27 Jul 2022 12:30:51 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TJj6RAdsmi8BnedKruUZlKdaJTdhgGBiHesPWOXXrIHF1akiQN6PuzkWjrcgMFWfNHnnUEdP+WuEoBAJhcAoTHytjmaTryuO6HaZtJeQ+KU99AUowtkfblxw3M8yJtnr92kE0Krqix0D4prGafnvi5Ce/cwbNfyDBYQCTG6CjKYMwcxcpiNscaQGZqSAqTQfpiEqdxNtAVDkZDnqvubbkydjduoD4Ih8zWZK2jenH0t7s+bohVP2U6iMJ4AFD6rCybavYzfmYeU/fTH6wW7KPdrWZMswmvMEPAfx3zaBcXBQx476xeYt26ei7xO8LWG1aJr6Lea9xli1PnWSVSxtWw== 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=dioMSIcGgZXOIMT78JLY5wYwT3zjycgCnQh4pPctacs=; b=OAjzJ+VJzzpzha/JtM+JJgRwtfEcvYIxKn2TpqeabCnxixWznSfPpS45GaQdmVoimDLVyCjwKzj0QstPiT1q/D+r+avt7XAOldz8zH7kKaJhnfJJ5nM6lfdOLSqlrZ23iCVfjVlvGvwhn0xrxxfZcQInXdYmsPfegCtOCX+YYdxn0MzNpW9pZG8mp2IVOT3bKJB1RRLLvzGHAjvDh+trufPPjeaX06cENIx1a8G78HLTvSIsBsZr5G2umuxTxC76Bz4V/6p1KY+epnht1mVM5+xtLlsxXRXVkKuHn1kJXEf8+V79uDljybtuxH0n5WCYe0UTnT20ZqTrOVmOQSIuoA== 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=dioMSIcGgZXOIMT78JLY5wYwT3zjycgCnQh4pPctacs=; b=o4bg2B24Zc1j3K/fkFjEJfjRVx+ah3lGHZPNoUjtO2ooKE4tNBOBEPwT7UUvVDRw7knCHBkISGEsdrRp6iR+SBly8N2Kzdg+ZcMqlox+OTnGiomCVUm9vsqniffdwkrdAOx7ZDh8uNWXCwQJMchSQrrTLmOZpWufKlz3vkPb1Essv06r74iGrq2Q/C1Kcf6vCVh8oAeBYw8Ywe7B8s+0KtedITTFkS/uczXnun/qNhDEvrlDVVhWojERcs1I54uZpFIAkizw0CKIQkv8dcm6bnhbDPhljA0I1pNBHROra7VAtQaWDJuJp6Q1W+SDwzTXadQBJiQ/VP59JS0MSNFWtg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM0PR01MB5395.eurprd01.prod.exchangelabs.com (2603:10a6:208:112::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.24; Tue, 26 Jul 2022 21:47:59 +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 21:47:59 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 26 Jul 2022 23:47:13 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [kZMH5RfJMXZ5OJdPquyLEI7+cpPhPs8w] X-ClientProxiedBy: FR3P281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::14) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220726214751.691688-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 756009a2-e32b-42fc-f7f2-08da6f508181 X-MS-Exchange-SLBlob-MailProps: ISIDp/2nRg2RRuRO1qXZxrnhz0PKM22jFXxVaQFmSXst8fCXHxnnqwmSPyPQoR7/tYYLYf3gFCzeCmZ5tpmwHiXZ5QdDjX8fJhWYAbLzjj0opwndmVYoEFMpXDV+ZvkqtD7A1MbvxA/ooZSf4MubsD3Msv83p+MQLkVk6DEjgZUO8p2TF63TUwOOaIi4aJtHqZxOjTQBct9H26fEvlrxwsHcMDR1j+7bYr21IRsDAMpG6+iOk7Y7OHQ4owejd2tHoKT+zL8+31q6CbX6ljqIsvozFV5Ki32UVCNHQZnKCFbYB31JgDme/kllG9G28pxFL3iG4pnli1bDF/D4LftMFong/LRfG3YQTyzpBXHEevOOSoS9FilKftkETnRRGMV3J9jaB/q4o+NEwinCz36pdtGcJHiJk7it+RMVSEFBPUrSsv0mjnk+HeHxQS/XxYSfCJ+LI/D4cvXRWT5AIU6HlVri08TQAgL3GLkqngcYz8p2SDn8aJtO6ukqjtc++RhT3EX9fjwc0FN7O+y4sk3lBGY4hi/LLcA4u4Jg+NB64RPkMTVhbaETc5Kqc8+FzVju19Y6x5iZaO9ZvHyL/f2kmckJzwfLw2mGkWcFk2UhjY/Rf/VOhd1wl67TwDeou6KsSWJlDsjqphRNZPfmW7kpPjiZp2YREnA8RBSQ0gNCcj++Qp52zvMfs+WY6WVTCKxh0zT8Xpv0+A558PSkDKqJqZuVxIA8ReDCvQdDMCP+2lhSOu+uUeOeqyHeyM4XTa/0hBTJ6wgIfAIOZcVekEyMmakmFKXKKtDOBKTyr+zpC2HBdGmDvBcE9nXL16NZdGMpoax8C0BgLA10lD60ir3ImkpTFkGLALLvzB7gtqbOWO0uOqiI4WRJTu+VVVsBaDSIe+nTxFjbvuI= X-MS-TrafficTypeDiagnostic: AM0PR01MB5395:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +XTqtpoVEx5HT68M0Fqw3bi1iMFqbbyAZywGJOremYvd+ZoeqBkDg4+v82bpLmDEWLRTpef/X6CMBky7z7hLW8uSDeRp65lc3YleopVuX5/HH/r6cqTm1KWtpqvPqX+jIPB5B4VoUWd4o4aawhHRYEmqE6oS3W4RFZ1/+u6yQr9NvrjGaG97SvxSblE5h7tCui55ndrVbSTRIXLfOCC7uKPG/3V0dOoBows3cKLLvCIZYSyBTkmz7CYiGazePfER3CmZBWGvBfdgNGaXZ5xGFAIwbJqirVHjgWY/drxkMCprArDhvc20RSjLKE0/V8/RAXD0HS3Y65UGFEGTCwqjBhziOkbqvbg64YZ51XbD4fTiblHaiAkzzeL5y4TUd7fWNhBQ1fLf3718RojoMiJm14rRgZW/cWRzRzQ5riCaWUgX9IgsvC2gMTeAa3WCiaZmnVri+RMXyjUuVe0BGif3TNxejoQiNY9fM9trGdZDxldekM4mVh8iaTDbIZWK3RjxPckISw0ZqjilLniPYfoQ0uqXd54H+ggf3PzWWI0yzwiBtob6BndKX8lZNFW4ffNXRkrm/xCp1+Xbz9wLyBFbbzqG65WB11T+Asx9dEYEPQg4pEka0CBE9atMdRglXNSori5k+/Ol4saMlW5B1cM3bg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gqyCrYa4twpINHShMKDvudMM9sBYdItAe/smVW31f8AK5pUssw/NcIlpJgwtRxp/xqicBj4myZ1k84jeP+0rcWfPX5b5TWP6fPJ/XHYmqgD3bqj4wASkjbT88MHdi04blljSBXqJtfSV4dgHWgjCvNGk9jtd27VxiyNSyqHc302Pq5BubToLg4Gha5yVaBjmG4N4ro0VLDAbIt1MewilIPDaRfuxEYo4oQiNX83OWyI4Qt1oZYbpVVasUUaVyHJCMKd5TxqqfnvHrXm/llT7VmIMChVv8dxfTQBH/S1ze3RcqjXry5AxHmUvwGFjpHrOGR+99qUfJKl3P/3sMF/FMfNq/3vRRsATUtrqRtydPrZvF/4hAxqH2qOLg6Z5hqISkwVzPc03BL2qnflTMvJ7FtmFkAVFTWfLkeDR/z+1mDSQ9gbWS5HF4HkpS68kREG53ovs44D5lOjqMtPvzq0JC+Mk3DNFnN2jUNWFCBnJLlDnjnTYhXR7yCYv6p6nHiz/N8bnK52q/3BE/vCainFsgN73mmfKsL4RU6M9RrVGmGhyziR7MqkBHdT5TrpRY4bu+uL9iTqGP9IBJPjsNRBwfYQYeDJqk2Lh/hZtCfGA/rvF9KvbnFkC9tMNU2zru+pqUt+6sO0jGndAB0jHHrLUaQVNi1pk6Vp1sX727FU5ausoiAHx/y9lpF5oTSbK/iW42uZFzZArsjOSzd9QOiCKK4Cic6hhi+AI+D542nP2ikTmIZErp3gbpuvWt3+1jFuypk4ndJV1SYk4WqB/blDoq4TBSyRRE39JBGvsjpZS2VNwGi+RzgG898S515gGzEBVOsGMFaAiUa5iE2FC/wA+fs8J+0UwPcU9GxzFWP9eFmFC6lzK8s/HmLOB+q2iFcICq641NDRveLC2zE5Lmi/dXzbqCDo34Y7/j+AI3eJ9aHW1MQipzmdzzrtXq+FAaiagRo0kspcAhUGVGdlqbrOt6NQ/6TyMiKAiy781KoT7n0U/zHZYFYSIoHXzBBpngdVVSbu4U5eGSzzIwHGV0/L+oKqfyLqkVRGDX+Xi28LC8WNPoSCKc6xMYsxIgvsgtBM6HlrYka+n5+xBEBJMcZ0fFw8isoOmd+asT8mNJorCWvxogI1urybCc2raMHV5podmZJDrmlUQIr+UMeN5F2gMoPLGBprgS4U/rY6PsgrqonSY8I8lrDTBlrzyPTEGXOWaSblAXxmzHtCQxvfkgSkwDkBfkNNhZ9I1BCL5mkOEfQ+FZ3zrx8Sgq7rVfLKuCpVGxviOa+ROP7zzgmn3x23n/CUkWjlImvO2OSosEZIwGKs= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 756009a2-e32b-42fc-f7f2-08da6f508181 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2022 21:47:59.5941 (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: AM0PR01MB5395 Subject: [FFmpeg-devel] [PATCH 01/39] avcodec/hevcdsp: Constify src pointers 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: M5tBHqXKhtdk Signed-off-by: Andreas Rheinhardt --- libavcodec/aarch64/hevcdsp_init_aarch64.c | 28 +- libavcodec/arm/hevcdsp_init_neon.c | 78 ++--- libavcodec/hevcdsp.h | 72 ++--- libavcodec/hevcdsp_template.c | 240 +++++++-------- libavcodec/loongarch/hevcdsp_lsx.h | 30 +- libavcodec/mips/hevc_idct_msa.c | 16 +- libavcodec/mips/hevc_lpf_sao_msa.c | 118 ++++---- libavcodec/mips/hevc_mc_bi_msa.c | 336 ++++++++++----------- libavcodec/mips/hevc_mc_biw_msa.c | 338 +++++++++++----------- libavcodec/mips/hevc_mc_uni_msa.c | 168 +++++------ libavcodec/mips/hevc_mc_uniw_msa.c | 174 +++++------ libavcodec/mips/hevcdsp_mips.h | 54 ++-- libavcodec/mips/hevcdsp_mmi.c | 28 +- libavcodec/mips/hevcdsp_msa.c | 166 +++++------ libavcodec/x86/hevc_add_res.asm | 12 +- libavcodec/x86/hevc_mc.asm | 14 +- libavcodec/x86/hevc_sao.asm | 2 +- libavcodec/x86/hevc_sao_10bit.asm | 2 +- libavcodec/x86/hevcdsp.h | 104 +++---- libavcodec/x86/hevcdsp_init.c | 111 ++++--- 20 files changed, 1047 insertions(+), 1044 deletions(-) diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c index 2002530266..9cbe983870 100644 --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c @@ -25,21 +25,21 @@ #include "libavutil/aarch64/cpu.h" #include "libavcodec/hevcdsp.h" -void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); void ff_hevc_idct_8x8_8_neon(int16_t *coeffs, int col_limit); void ff_hevc_idct_8x8_10_neon(int16_t *coeffs, int col_limit); @@ -53,14 +53,14 @@ void ff_hevc_idct_4x4_dc_10_neon(int16_t *coeffs); void ff_hevc_idct_8x8_dc_10_neon(int16_t *coeffs); void ff_hevc_idct_16x16_dc_10_neon(int16_t *coeffs); void ff_hevc_idct_32x32_dc_10_neon(int16_t *coeffs); -void ff_hevc_sao_band_filter_8x8_8_neon(uint8_t *_dst, uint8_t *_src, +void ff_hevc_sao_band_filter_8x8_8_neon(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, - int16_t *sao_offset_val, int sao_left_class, + const int16_t *sao_offset_val, int sao_left_class, int width, int height); -void ff_hevc_sao_edge_filter_16x16_8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, - int16_t *sao_offset_val, int eo, int width, int height); -void ff_hevc_sao_edge_filter_8x8_8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, - int16_t *sao_offset_val, int eo, int width, int height); +void ff_hevc_sao_edge_filter_16x16_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, + const int16_t *sao_offset_val, int eo, int width, int height); +void ff_hevc_sao_edge_filter_8x8_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, + const int16_t *sao_offset_val, int eo, int width, int height); av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth) { diff --git a/libavcodec/arm/hevcdsp_init_neon.c b/libavcodec/arm/hevcdsp_init_neon.c index 112edb5edd..8094e6c62e 100644 --- a/libavcodec/arm/hevcdsp_init_neon.c +++ b/libavcodec/arm/hevcdsp_init_neon.c @@ -24,32 +24,32 @@ #include "libavcodec/avcodec.h" #include "hevcdsp_arm.h" -void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, +void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, - int16_t *sao_offset_val, int sao_left_class, + const int16_t *sao_offset_val, int sao_left_class, int width, int height); -void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, +void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, const int16_t *sao_offset_val, int eo, int width, int height); -void ff_hevc_v_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, int *_tc, uint8_t *_no_p, uint8_t *_no_q); -void ff_hevc_h_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, int *_tc, uint8_t *_no_p, uint8_t *_no_q); -void ff_hevc_v_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q); -void ff_hevc_h_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q); -void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_v_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q); +void ff_hevc_h_loop_filter_luma_neon(uint8_t *_pix, ptrdiff_t _stride, int _beta, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q); +void ff_hevc_v_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q); +void ff_hevc_h_loop_filter_chroma_neon(uint8_t *_pix, ptrdiff_t _stride, const int *_tc, const uint8_t *_no_p, const uint8_t *_no_q); +void ff_hevc_add_residual_4x4_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_4x4_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_8x8_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_8x8_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_16x16_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_16x16_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_32x32_8_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); -void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, int16_t *coeffs, +void ff_hevc_add_residual_32x32_10_neon(uint8_t *_dst, const int16_t *coeffs, ptrdiff_t stride); void ff_hevc_idct_4x4_dc_8_neon(int16_t *coeffs); void ff_hevc_idct_8x8_dc_8_neon(int16_t *coeffs); @@ -70,7 +70,7 @@ void ff_hevc_idct_32x32_10_neon(int16_t *coeffs, int col_limit); void ff_hevc_transform_luma_4x4_neon_8(int16_t *coeffs); #define PUT_PIXELS(name) \ - void name(int16_t *dst, uint8_t *src, \ + void name(int16_t *dst, const uint8_t *src, \ ptrdiff_t srcstride, int height, \ intptr_t mx, intptr_t my, int width) PUT_PIXELS(ff_hevc_put_pixels_w2_neon_8); @@ -85,19 +85,19 @@ PUT_PIXELS(ff_hevc_put_pixels_w48_neon_8); PUT_PIXELS(ff_hevc_put_pixels_w64_neon_8); #undef PUT_PIXELS -static void (*put_hevc_qpel_neon[4][4])(int16_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, +static void (*put_hevc_qpel_neon[4][4])(int16_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int width); -static void (*put_hevc_qpel_uw_neon[4][4])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, - int width, int height, int16_t* src2, ptrdiff_t src2stride); -void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, uint8_t *src, ptrdiff_t srcstride, +static void (*put_hevc_qpel_uw_neon[4][4])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, + int width, int height, const int16_t *src2, ptrdiff_t src2stride); +void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, +void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, - int16_t *src2, +void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, + const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); #define QPEL_FUNC(name) \ - void name(int16_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, \ + void name(int16_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, \ int height, int width) QPEL_FUNC(ff_hevc_put_qpel_v1_neon_8); @@ -118,7 +118,7 @@ QPEL_FUNC(ff_hevc_put_qpel_h3v3_neon_8); #undef QPEL_FUNC #define QPEL_FUNC_UW_PIX(name) \ - void name(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, \ + void name(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, \ int height, intptr_t mx, intptr_t my, int width); QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w4_neon_8); QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w8_neon_8); @@ -130,8 +130,8 @@ QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w64_neon_8); #undef QPEL_FUNC_UW_PIX #define QPEL_FUNC_UW(name) \ - void name(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, \ - int width, int height, int16_t* src2, ptrdiff_t src2stride); + void name(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, \ + int width, int height, const int16_t* src2, ptrdiff_t src2stride); QPEL_FUNC_UW(ff_hevc_put_qpel_uw_pixels_neon_8); QPEL_FUNC_UW(ff_hevc_put_qpel_uw_v1_neon_8); QPEL_FUNC_UW(ff_hevc_put_qpel_uw_v2_neon_8); @@ -150,14 +150,14 @@ QPEL_FUNC_UW(ff_hevc_put_qpel_uw_h3v2_neon_8); QPEL_FUNC_UW(ff_hevc_put_qpel_uw_h3v3_neon_8); #undef QPEL_FUNC_UW -void ff_hevc_sao_band_filter_neon_8(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, int16_t *offset_table); +void ff_hevc_sao_band_filter_neon_8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, int16_t *offset_table); -void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, +void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, - int16_t *sao_offset_val, int sao_left_class, + const int16_t *sao_offset_val, int sao_left_class, int width, int height) { uint8_t *dst = _dst; - uint8_t *src = _src; + const uint8_t *src = _src; int16_t offset_table[32] = {0}; int k; @@ -168,10 +168,10 @@ void ff_hevc_sao_band_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ff_hevc_sao_band_filter_neon_8(dst, src, stride_dst, stride_src, width, height, offset_table); } -void ff_hevc_sao_edge_filter_neon_8(uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, - int a_stride, int b_stride, int16_t *sao_offset_val, uint8_t *edge_idx); +void ff_hevc_sao_edge_filter_neon_8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, + int a_stride, int b_stride, const int16_t *sao_offset_val, const uint8_t *edge_idx); -void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, +void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, const int16_t *sao_offset_val, int eo, int width, int height) { static uint8_t edge_idx[] = { 1, 2, 0, 3, 4 }; static const int8_t pos[4][2][2] = { @@ -181,7 +181,7 @@ void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdif { { 1, -1 }, { -1, 1 } }, // 135 degree }; uint8_t *dst = _dst; - uint8_t *src = _src; + const uint8_t *src = _src; int a_stride, b_stride; ptrdiff_t stride_src = (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE); @@ -191,20 +191,20 @@ void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, uint8_t *_src, ptrdif ff_hevc_sao_edge_filter_neon_8(dst, src, stride_dst, stride_src, width, height, a_stride, b_stride, sao_offset_val, edge_idx); } -void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, uint8_t *src, ptrdiff_t srcstride, +void ff_hevc_put_qpel_neon_wrapper(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width) { put_hevc_qpel_neon[my][mx](dst, MAX_PB_SIZE, src, srcstride, height, width); } -void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, +void ff_hevc_put_qpel_uni_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width) { put_hevc_qpel_uw_neon[my][mx](dst, dststride, src, srcstride, width, height, NULL, 0); } -void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, - int16_t *src2, +void ff_hevc_put_qpel_bi_neon_wrapper(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, + const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { put_hevc_qpel_uw_neon[my][mx](dst, dststride, src, srcstride, width, height, src2, MAX_PB_SIZE); } diff --git a/libavcodec/hevcdsp.h b/libavcodec/hevcdsp.h index d642ecf9c6..1b9c5bb6bc 100644 --- a/libavcodec/hevcdsp.h +++ b/libavcodec/hevcdsp.h @@ -48,7 +48,7 @@ typedef struct HEVCDSPContext { void (*put_pcm)(uint8_t *_dst, ptrdiff_t _stride, int width, int height, struct GetBitContext *gb, int pcm_bit_depth); - void (*add_residual[4])(uint8_t *dst, int16_t *res, ptrdiff_t stride); + void (*add_residual[4])(uint8_t *dst, const int16_t *res, ptrdiff_t stride); void (*dequant)(int16_t *coeffs, int16_t log2_size); @@ -60,68 +60,68 @@ typedef struct HEVCDSPContext { void (*idct_dc[4])(int16_t *coeffs); - void (*sao_band_filter[5])(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, - int16_t *sao_offset_val, int sao_left_class, int width, int height); + void (*sao_band_filter[5])(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, + const int16_t *sao_offset_val, int sao_left_class, int width, int height); /* implicit stride_src parameter has value of 2 * MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE */ - void (*sao_edge_filter[5])(uint8_t *_dst /* align 16 */, uint8_t *_src /* align 32 */, ptrdiff_t stride_dst, - int16_t *sao_offset_val, int sao_eo_class, int width, int height); + void (*sao_edge_filter[5])(uint8_t *_dst /* align 16 */, const uint8_t *_src /* align 32 */, ptrdiff_t stride_dst, + const int16_t *sao_offset_val, int sao_eo_class, int width, int height); - void (*sao_edge_restore[2])(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, - struct SAOParams *sao, int *borders, int _width, int _height, int c_idx, - uint8_t *vert_edge, uint8_t *horiz_edge, uint8_t *diag_edge); + void (*sao_edge_restore[2])(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, + const struct SAOParams *sao, const int *borders, int _width, int _height, int c_idx, + const uint8_t *vert_edge, const uint8_t *horiz_edge, const uint8_t *diag_edge); - void (*put_hevc_qpel[10][2][2])(int16_t *dst, uint8_t *src, ptrdiff_t srcstride, + void (*put_hevc_qpel[10][2][2])(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width); - void (*put_hevc_qpel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, + void (*put_hevc_qpel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width); - void (*put_hevc_qpel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, + void (*put_hevc_qpel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width); - void (*put_hevc_qpel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, + void (*put_hevc_qpel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); - void (*put_hevc_qpel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, + void (*put_hevc_qpel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width); - void (*put_hevc_epel[10][2][2])(int16_t *dst, uint8_t *src, ptrdiff_t srcstride, + void (*put_hevc_epel[10][2][2])(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width); - void (*put_hevc_epel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, + void (*put_hevc_epel_uni[10][2][2])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); - void (*put_hevc_epel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, + void (*put_hevc_epel_uni_w[10][2][2])(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width); - void (*put_hevc_epel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, + void (*put_hevc_epel_bi[10][2][2])(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, + const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); - void (*put_hevc_epel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, + void (*put_hevc_epel_bi_w[10][2][2])(uint8_t *dst, ptrdiff_t dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int ox0, int wx1, int ox1, intptr_t mx, intptr_t my, int width); void (*hevc_h_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride, - int beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q); + int beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q); void (*hevc_v_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride, - int beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q); + int beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q); void (*hevc_h_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride, - int32_t *tc, uint8_t *no_p, uint8_t *no_q); + const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q); void (*hevc_v_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride, - int32_t *tc, uint8_t *no_p, uint8_t *no_q); + const int32_t *tc, const uint8_t *no_p, const uint8_t *no_q); void (*hevc_h_loop_filter_luma_c)(uint8_t *pix, ptrdiff_t stride, - int beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q); + int beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q); void (*hevc_v_loop_filter_luma_c)(uint8_t *pix, ptrdiff_t stride, - int beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q); + int beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q); void (*hevc_h_loop_filter_chroma_c)(uint8_t *pix, ptrdiff_t stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q); + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q); void (*hevc_v_loop_filter_chroma_c)(uint8_t *pix, ptrdiff_t stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q); + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q); } HEVCDSPContext; void ff_hevc_dsp_init(HEVCDSPContext *hpc, int bit_depth); diff --git a/libavcodec/hevcdsp_template.c b/libavcodec/hevcdsp_template.c index 61425975cd..725fab99ed 100644 --- a/libavcodec/hevcdsp_template.c +++ b/libavcodec/hevcdsp_template.c @@ -41,7 +41,7 @@ static void FUNC(put_pcm)(uint8_t *_dst, ptrdiff_t stride, int width, int height } } -static av_always_inline void FUNC(add_residual)(uint8_t *_dst, int16_t *res, +static av_always_inline void FUNC(add_residual)(uint8_t *_dst, const int16_t *res, ptrdiff_t stride, int size) { int x, y; @@ -58,25 +58,25 @@ static av_always_inline void FUNC(add_residual)(uint8_t *_dst, int16_t *res, } } -static void FUNC(add_residual4x4)(uint8_t *_dst, int16_t *res, +static void FUNC(add_residual4x4)(uint8_t *_dst, const int16_t *res, ptrdiff_t stride) { FUNC(add_residual)(_dst, res, stride, 4); } -static void FUNC(add_residual8x8)(uint8_t *_dst, int16_t *res, +static void FUNC(add_residual8x8)(uint8_t *_dst, const int16_t *res, ptrdiff_t stride) { FUNC(add_residual)(_dst, res, stride, 8); } -static void FUNC(add_residual16x16)(uint8_t *_dst, int16_t *res, +static void FUNC(add_residual16x16)(uint8_t *_dst, const int16_t *res, ptrdiff_t stride) { FUNC(add_residual)(_dst, res, stride, 16); } -static void FUNC(add_residual32x32)(uint8_t *_dst, int16_t *res, +static void FUNC(add_residual32x32)(uint8_t *_dst, const int16_t *res, ptrdiff_t stride) { FUNC(add_residual)(_dst, res, stride, 32); @@ -295,13 +295,13 @@ IDCT_DC(32) #undef SET #undef SCALE -static void FUNC(sao_band_filter)(uint8_t *_dst, uint8_t *_src, +static void FUNC(sao_band_filter)(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, - int16_t *sao_offset_val, int sao_left_class, + const int16_t *sao_offset_val, int sao_left_class, int width, int height) { pixel *dst = (pixel *)_dst; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; int offset_table[32] = { 0 }; int k, y, x; int shift = BIT_DEPTH - 5; @@ -321,7 +321,7 @@ static void FUNC(sao_band_filter)(uint8_t *_dst, uint8_t *_src, #define CMP(a, b) (((a) > (b)) - ((a) < (b))) -static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, +static void FUNC(sao_edge_filter)(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, const int16_t *sao_offset_val, int eo, int width, int height) { static const uint8_t edge_idx[] = { 1, 2, 0, 3, 4 }; @@ -332,7 +332,7 @@ static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride { { 1, -1 }, { -1, 1 } }, // 135 degree }; pixel *dst = (pixel *)_dst; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; int a_stride, b_stride; int x, y; ptrdiff_t stride_src = (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) / sizeof(pixel); @@ -352,16 +352,16 @@ static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride } } -static void FUNC(sao_edge_restore_0)(uint8_t *_dst, uint8_t *_src, - ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao, - int *borders, int _width, int _height, - int c_idx, uint8_t *vert_edge, - uint8_t *horiz_edge, uint8_t *diag_edge) +static void FUNC(sao_edge_restore_0)(uint8_t *_dst, const uint8_t *_src, + ptrdiff_t stride_dst, ptrdiff_t stride_src, const SAOParams *sao, + const int *borders, int _width, int _height, + int c_idx, const uint8_t *vert_edge, + const uint8_t *horiz_edge, const uint8_t *diag_edge) { int x, y; pixel *dst = (pixel *)_dst; - pixel *src = (pixel *)_src; - int16_t *sao_offset_val = sao->offset_val[c_idx]; + const pixel *src = (const pixel *)_src; + const int16_t *sao_offset_val = sao->offset_val[c_idx]; int sao_eo_class = sao->eo_class[c_idx]; int init_x = 0, width = _width, height = _height; @@ -402,16 +402,16 @@ static void FUNC(sao_edge_restore_0)(uint8_t *_dst, uint8_t *_src, } } -static void FUNC(sao_edge_restore_1)(uint8_t *_dst, uint8_t *_src, - ptrdiff_t stride_dst, ptrdiff_t stride_src, SAOParams *sao, - int *borders, int _width, int _height, - int c_idx, uint8_t *vert_edge, - uint8_t *horiz_edge, uint8_t *diag_edge) +static void FUNC(sao_edge_restore_1)(uint8_t *_dst, const uint8_t *_src, + ptrdiff_t stride_dst, ptrdiff_t stride_src, const SAOParams *sao, + const int *borders, int _width, int _height, + int c_idx, const uint8_t *vert_edge, + const uint8_t *horiz_edge, const uint8_t *diag_edge) { int x, y; pixel *dst = (pixel *)_dst; - pixel *src = (pixel *)_src; - int16_t *sao_offset_val = sao->offset_val[c_idx]; + const pixel *src = (const pixel *)_src; + const int16_t *sao_offset_val = sao->offset_val[c_idx]; int sao_eo_class = sao->eo_class[c_idx]; int init_x = 0, init_y = 0, width = _width, height = _height; @@ -494,11 +494,11 @@ static void FUNC(sao_edge_restore_1)(uint8_t *_dst, uint8_t *_src, // //////////////////////////////////////////////////////////////////////////////// static void FUNC(put_hevc_pel_pixels)(int16_t *dst, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); for (y = 0; y < height; y++) { @@ -509,11 +509,11 @@ static void FUNC(put_hevc_pel_pixels)(int16_t *dst, } } -static void FUNC(put_hevc_pel_uni_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_pel_uni_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -525,12 +525,12 @@ static void FUNC(put_hevc_pel_uni_pixels)(uint8_t *_dst, ptrdiff_t _dststride, u } } -static void FUNC(put_hevc_pel_bi_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_pel_bi_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, + const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -551,11 +551,11 @@ static void FUNC(put_hevc_pel_bi_pixels)(uint8_t *_dst, ptrdiff_t _dststride, ui } } -static void FUNC(put_hevc_pel_uni_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_pel_uni_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -575,13 +575,13 @@ static void FUNC(put_hevc_pel_uni_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, } } -static void FUNC(put_hevc_pel_bi_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_pel_bi_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, + const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -615,11 +615,11 @@ static void FUNC(put_hevc_pel_bi_w_pixels)(uint8_t *_dst, ptrdiff_t _dststride, filter[7] * src[x + 4 * stride]) static void FUNC(put_hevc_qpel_h)(int16_t *dst, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); const int8_t *filter = ff_hevc_qpel_filters[mx - 1]; for (y = 0; y < height; y++) { @@ -631,11 +631,11 @@ static void FUNC(put_hevc_qpel_h)(int16_t *dst, } static void FUNC(put_hevc_qpel_v)(int16_t *dst, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); const int8_t *filter = ff_hevc_qpel_filters[my - 1]; for (y = 0; y < height; y++) { @@ -647,14 +647,14 @@ static void FUNC(put_hevc_qpel_v)(int16_t *dst, } static void FUNC(put_hevc_qpel_hv)(int16_t *dst, - uint8_t *_src, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; const int8_t *filter; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); int16_t tmp_array[(MAX_PB_SIZE + QPEL_EXTRA) * MAX_PB_SIZE]; int16_t *tmp = tmp_array; @@ -679,11 +679,11 @@ static void FUNC(put_hevc_qpel_hv)(int16_t *dst, } static void FUNC(put_hevc_qpel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -704,12 +704,12 @@ static void FUNC(put_hevc_qpel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, } } -static void FUNC(put_hevc_qpel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_qpel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, + const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -733,11 +733,11 @@ static void FUNC(put_hevc_qpel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_ } static void FUNC(put_hevc_qpel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -759,12 +759,12 @@ static void FUNC(put_hevc_qpel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, } -static void FUNC(put_hevc_qpel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_qpel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -788,12 +788,12 @@ static void FUNC(put_hevc_qpel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_ } static void FUNC(put_hevc_qpel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; const int8_t *filter; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -827,13 +827,13 @@ static void FUNC(put_hevc_qpel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, } } -static void FUNC(put_hevc_qpel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_qpel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { int x, y; const int8_t *filter; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -868,12 +868,12 @@ static void FUNC(put_hevc_qpel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8 } static void FUNC(put_hevc_qpel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -894,13 +894,13 @@ static void FUNC(put_hevc_qpel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, } } -static void FUNC(put_hevc_qpel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_qpel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -923,12 +923,12 @@ static void FUNC(put_hevc_qpel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint } static void FUNC(put_hevc_qpel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -949,13 +949,13 @@ static void FUNC(put_hevc_qpel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, } } -static void FUNC(put_hevc_qpel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_qpel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -978,13 +978,13 @@ static void FUNC(put_hevc_qpel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint } static void FUNC(put_hevc_qpel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width) { int x, y; const int8_t *filter; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1018,14 +1018,14 @@ static void FUNC(put_hevc_qpel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, } } -static void FUNC(put_hevc_qpel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_qpel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) { int x, y; const int8_t *filter; - pixel *src = (pixel*)_src; + const pixel *src = (const pixel*)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1068,11 +1068,11 @@ static void FUNC(put_hevc_qpel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uin filter[3] * src[x + 2 * stride]) static void FUNC(put_hevc_epel_h)(int16_t *dst, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); const int8_t *filter = ff_hevc_epel_filters[mx - 1]; for (y = 0; y < height; y++) { @@ -1084,11 +1084,11 @@ static void FUNC(put_hevc_epel_h)(int16_t *dst, } static void FUNC(put_hevc_epel_v)(int16_t *dst, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); const int8_t *filter = ff_hevc_epel_filters[my - 1]; @@ -1101,11 +1101,11 @@ static void FUNC(put_hevc_epel_v)(int16_t *dst, } static void FUNC(put_hevc_epel_hv)(int16_t *dst, - uint8_t *_src, ptrdiff_t _srcstride, + const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); const int8_t *filter = ff_hevc_epel_filters[mx - 1]; int16_t tmp_array[(MAX_PB_SIZE + EPEL_EXTRA) * MAX_PB_SIZE]; @@ -1131,11 +1131,11 @@ static void FUNC(put_hevc_epel_hv)(int16_t *dst, } } -static void FUNC(put_hevc_epel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_epel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1155,12 +1155,12 @@ static void FUNC(put_hevc_epel_uni_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8 } } -static void FUNC(put_hevc_epel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_epel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1182,11 +1182,11 @@ static void FUNC(put_hevc_epel_bi_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_ } } -static void FUNC(put_hevc_epel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_epel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1206,12 +1206,12 @@ static void FUNC(put_hevc_epel_uni_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8 } } -static void FUNC(put_hevc_epel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_epel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); const int8_t *filter = ff_hevc_epel_filters[my - 1]; pixel *dst = (pixel *)_dst; @@ -1232,11 +1232,11 @@ static void FUNC(put_hevc_epel_bi_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_ } } -static void FUNC(put_hevc_epel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_epel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1270,12 +1270,12 @@ static void FUNC(put_hevc_epel_uni_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint } } -static void FUNC(put_hevc_epel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_epel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1310,11 +1310,11 @@ static void FUNC(put_hevc_epel_bi_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8 } } -static void FUNC(put_hevc_epel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_epel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1336,13 +1336,13 @@ static void FUNC(put_hevc_epel_uni_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uin } } -static void FUNC(put_hevc_epel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_epel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1362,11 +1362,11 @@ static void FUNC(put_hevc_epel_bi_w_h)(uint8_t *_dst, ptrdiff_t _dststride, uint } } -static void FUNC(put_hevc_epel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_epel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1388,13 +1388,13 @@ static void FUNC(put_hevc_epel_uni_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uin } } -static void FUNC(put_hevc_epel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_epel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); const int8_t *filter = ff_hevc_epel_filters[my - 1]; pixel *dst = (pixel *)_dst; @@ -1414,11 +1414,11 @@ static void FUNC(put_hevc_epel_bi_w_v)(uint8_t *_dst, ptrdiff_t _dststride, uint } } -static void FUNC(put_hevc_epel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, +static void FUNC(put_hevc_epel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1453,13 +1453,13 @@ static void FUNC(put_hevc_epel_uni_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, ui } } -static void FUNC(put_hevc_epel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, - int16_t *src2, +static void FUNC(put_hevc_epel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) { int x, y; - pixel *src = (pixel *)_src; + const pixel *src = (const pixel *)_src; ptrdiff_t srcstride = _srcstride / sizeof(pixel); pixel *dst = (pixel *)_dst; ptrdiff_t dststride = _dststride / sizeof(pixel); @@ -1515,8 +1515,8 @@ static void FUNC(put_hevc_epel_bi_w_hv)(uint8_t *_dst, ptrdiff_t _dststride, uin static void FUNC(hevc_loop_filter_luma)(uint8_t *_pix, ptrdiff_t _xstride, ptrdiff_t _ystride, - int beta, int *_tc, - uint8_t *_no_p, uint8_t *_no_q) + int beta, const int *_tc, + const uint8_t *_no_p, const uint8_t *_no_q) { int d, j; pixel *pix = (pixel *)_pix; @@ -1610,8 +1610,8 @@ static void FUNC(hevc_loop_filter_luma)(uint8_t *_pix, } static void FUNC(hevc_loop_filter_chroma)(uint8_t *_pix, ptrdiff_t _xstride, - ptrdiff_t _ystride, int *_tc, - uint8_t *_no_p, uint8_t *_no_q) + ptrdiff_t _ystride, const int *_tc, + const uint8_t *_no_p, const uint8_t *_no_q) { int d, j, no_p, no_q; pixel *pix = (pixel *)_pix; @@ -1644,30 +1644,30 @@ static void FUNC(hevc_loop_filter_chroma)(uint8_t *_pix, ptrdiff_t _xstride, } static void FUNC(hevc_h_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q) + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q) { FUNC(hevc_loop_filter_chroma)(pix, stride, sizeof(pixel), tc, no_p, no_q); } static void FUNC(hevc_v_loop_filter_chroma)(uint8_t *pix, ptrdiff_t stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q) + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q) { FUNC(hevc_loop_filter_chroma)(pix, sizeof(pixel), stride, tc, no_p, no_q); } static void FUNC(hevc_h_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride, - int beta, int32_t *tc, uint8_t *no_p, - uint8_t *no_q) + int beta, const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q) { FUNC(hevc_loop_filter_luma)(pix, stride, sizeof(pixel), beta, tc, no_p, no_q); } static void FUNC(hevc_v_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride, - int beta, int32_t *tc, uint8_t *no_p, - uint8_t *no_q) + int beta, const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q) { FUNC(hevc_loop_filter_luma)(pix, sizeof(pixel), stride, beta, tc, no_p, no_q); diff --git a/libavcodec/loongarch/hevcdsp_lsx.h b/libavcodec/loongarch/hevcdsp_lsx.h index 0c517af887..0d54196caf 100644 --- a/libavcodec/loongarch/hevcdsp_lsx.h +++ b/libavcodec/loongarch/hevcdsp_lsx.h @@ -27,7 +27,7 @@ #define MC(PEL, DIR, WIDTH) \ void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_lsx(int16_t *dst, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -88,9 +88,9 @@ MC(epel, hv, 32); #define BI_MC(PEL, DIR, WIDTH) \ void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ intptr_t mx, \ intptr_t my, \ @@ -145,7 +145,7 @@ BI_MC(epel, hv, 32); #define UNI_MC(PEL, DIR, WIDTH) \ void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -181,7 +181,7 @@ UNI_MC(epel, hv, 32); void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \ ptrdiff_t \ dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t \ src_stride, \ int height, \ @@ -202,24 +202,24 @@ UNI_W_MC(qpel, hv, 64); #undef UNI_W_MC void ff_hevc_loop_filter_luma_h_8_lsx(uint8_t *src, ptrdiff_t stride, - int32_t beta, int32_t *tc, - uint8_t *p_is_pcm, uint8_t *q_is_pcm); + int32_t beta, const int32_t *tc, + const uint8_t *p_is_pcm, const uint8_t *q_is_pcm); void ff_hevc_loop_filter_luma_v_8_lsx(uint8_t *src, ptrdiff_t stride, - int32_t beta, int32_t *tc, - uint8_t *p_is_pcm, uint8_t *q_is_pcm); + int32_t beta, const int32_t *tc, + const uint8_t *p_is_pcm, const uint8_t *q_is_pcm); void ff_hevc_loop_filter_chroma_h_8_lsx(uint8_t *src, ptrdiff_t stride, - int32_t *tc, uint8_t *p_is_pcm, - uint8_t *q_is_pcm); + const int32_t *tc, const uint8_t *p_is_pcm, + const uint8_t *q_is_pcm); void ff_hevc_loop_filter_chroma_v_8_lsx(uint8_t *src, ptrdiff_t stride, - int32_t *tc, uint8_t *p_is_pcm, - uint8_t *q_is_pcm); + const int32_t *tc, const uint8_t *p_is_pcm, + const uint8_t *q_is_pcm); -void ff_hevc_sao_edge_filter_8_lsx(uint8_t *dst, uint8_t *src, +void ff_hevc_sao_edge_filter_8_lsx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int eo, int width, int height); void ff_hevc_idct_4x4_lsx(int16_t *coeffs, int col_limit); diff --git a/libavcodec/mips/hevc_idct_msa.c b/libavcodec/mips/hevc_idct_msa.c index 5ab6acd1df..5f34fd8fa7 100644 --- a/libavcodec/mips/hevc_idct_msa.c +++ b/libavcodec/mips/hevc_idct_msa.c @@ -713,7 +713,7 @@ static void hevc_idct_dc_32x32_msa(int16_t *coeffs) } } -static void hevc_addblk_4x4_msa(int16_t *coeffs, uint8_t *dst, int32_t stride) +static void hevc_addblk_4x4_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride) { uint32_t dst0, dst1, dst2, dst3; v8i16 dst_r0, dst_l0, in0, in1; @@ -730,7 +730,7 @@ static void hevc_addblk_4x4_msa(int16_t *coeffs, uint8_t *dst, int32_t stride) ST_W4(dst_vec, 0, 1, 2, 3, dst, stride); } -static void hevc_addblk_8x8_msa(int16_t *coeffs, uint8_t *dst, int32_t stride) +static void hevc_addblk_8x8_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride) { uint8_t *temp_dst = dst; uint64_t dst0, dst1, dst2, dst3; @@ -766,7 +766,7 @@ static void hevc_addblk_8x8_msa(int16_t *coeffs, uint8_t *dst, int32_t stride) ST_D4(dst_r0, dst_r1, 0, 1, 0, 1, dst + 4 * stride, stride); } -static void hevc_addblk_16x16_msa(int16_t *coeffs, uint8_t *dst, int32_t stride) +static void hevc_addblk_16x16_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride) { uint8_t loop_cnt; uint8_t *temp_dst = dst; @@ -833,7 +833,7 @@ static void hevc_addblk_16x16_msa(int16_t *coeffs, uint8_t *dst, int32_t stride) ST_UB4(dst0, dst1, dst2, dst3, dst, stride); } -static void hevc_addblk_32x32_msa(int16_t *coeffs, uint8_t *dst, int32_t stride) +static void hevc_addblk_32x32_msa(const int16_t *coeffs, uint8_t *dst, int32_t stride) { uint8_t loop_cnt; uint8_t *temp_dst = dst; @@ -980,22 +980,22 @@ void ff_hevc_idct_32x32_msa(int16_t *coeffs, int col_limit) hevc_idct_32x32_msa(coeffs); } -void ff_hevc_addblk_4x4_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride) +void ff_hevc_addblk_4x4_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride) { hevc_addblk_4x4_msa(coeffs, dst, stride); } -void ff_hevc_addblk_8x8_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride) +void ff_hevc_addblk_8x8_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride) { hevc_addblk_8x8_msa(coeffs, dst, stride); } -void ff_hevc_addblk_16x16_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride) +void ff_hevc_addblk_16x16_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride) { hevc_addblk_16x16_msa(coeffs, dst, stride); } -void ff_hevc_addblk_32x32_msa(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride) +void ff_hevc_addblk_32x32_msa(uint8_t *dst, const int16_t *coeffs, ptrdiff_t stride) { hevc_addblk_32x32_msa(coeffs, dst, stride); } diff --git a/libavcodec/mips/hevc_lpf_sao_msa.c b/libavcodec/mips/hevc_lpf_sao_msa.c index 26663dd89b..cd94460f97 100644 --- a/libavcodec/mips/hevc_lpf_sao_msa.c +++ b/libavcodec/mips/hevc_lpf_sao_msa.c @@ -22,8 +22,8 @@ #include "libavcodec/mips/hevcdsp_mips.h" static void hevc_loopfilter_luma_hor_msa(uint8_t *src, int32_t stride, - int32_t beta, int32_t *tc, - uint8_t *p_is_pcm, uint8_t *q_is_pcm) + int32_t beta, const int32_t *tc, + const uint8_t *p_is_pcm, const uint8_t *q_is_pcm) { uint8_t *p3 = src - (stride << 2); uint8_t *p2 = src - ((stride << 1) + stride); @@ -448,8 +448,8 @@ static void hevc_loopfilter_luma_hor_msa(uint8_t *src, int32_t stride, } static void hevc_loopfilter_luma_ver_msa(uint8_t *src, int32_t stride, - int32_t beta, int32_t *tc, - uint8_t *p_is_pcm, uint8_t *q_is_pcm) + int32_t beta, const int32_t *tc, + const uint8_t *p_is_pcm, const uint8_t *q_is_pcm) { uint8_t *p3 = src; uint8_t *p2 = src + 3 * stride; @@ -914,8 +914,8 @@ static void hevc_loopfilter_luma_ver_msa(uint8_t *src, int32_t stride, } static void hevc_loopfilter_chroma_hor_msa(uint8_t *src, int32_t stride, - int32_t *tc, uint8_t *p_is_pcm, - uint8_t *q_is_pcm) + const int32_t *tc, const uint8_t *p_is_pcm, + const uint8_t *q_is_pcm) { uint8_t *p1_ptr = src - (stride << 1); uint8_t *p0_ptr = src - stride; @@ -977,8 +977,8 @@ static void hevc_loopfilter_chroma_hor_msa(uint8_t *src, int32_t stride, } static void hevc_loopfilter_chroma_ver_msa(uint8_t *src, int32_t stride, - int32_t *tc, uint8_t *p_is_pcm, - uint8_t *q_is_pcm) + const int32_t *tc, const uint8_t *p_is_pcm, + const uint8_t *q_is_pcm) { v2i64 cmp0, cmp1, p_is_pcm_vec, q_is_pcm_vec; v16u8 src0, src1, src2, src3, src4, src5, src6, src7; @@ -1038,9 +1038,9 @@ static void hevc_loopfilter_chroma_ver_msa(uint8_t *src, int32_t stride, } static void hevc_sao_band_filter_4width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, int32_t src_stride, + const uint8_t *src, int32_t src_stride, int32_t sao_left_class, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { v16u8 src0, src1, src2, src3; @@ -1100,9 +1100,9 @@ static void hevc_sao_band_filter_4width_msa(uint8_t *dst, int32_t dst_stride, } static void hevc_sao_band_filter_8width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, int32_t src_stride, + const uint8_t *src, int32_t src_stride, int32_t sao_left_class, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { v16u8 src0, src1, src2, src3; @@ -1172,10 +1172,10 @@ static void hevc_sao_band_filter_8width_msa(uint8_t *dst, int32_t dst_stride, static void hevc_sao_band_filter_16multiple_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, int32_t sao_left_class, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t width, int32_t height) { int32_t w_cnt; @@ -1254,9 +1254,9 @@ static void hevc_sao_band_filter_16multiple_msa(uint8_t *dst, static void hevc_sao_edge_filter_0degree_4width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { uint32_t dst_val0, dst_val1; @@ -1346,9 +1346,9 @@ static void hevc_sao_edge_filter_0degree_4width_msa(uint8_t *dst, static void hevc_sao_edge_filter_0degree_8width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { uint64_t dst_val0, dst_val1; @@ -1440,13 +1440,14 @@ static void hevc_sao_edge_filter_0degree_8width_msa(uint8_t *dst, static void hevc_sao_edge_filter_0degree_16multiple_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t width, int32_t height) { - uint8_t *dst_ptr, *src_minus1; + const uint8_t *src_minus1; + uint8_t *dst_ptr; int32_t v_cnt; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; v16u8 const1 = (v16u8) __msa_ldi_b(1); @@ -1556,9 +1557,9 @@ static void hevc_sao_edge_filter_0degree_16multiple_msa(uint8_t *dst, static void hevc_sao_edge_filter_90degree_4width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { uint32_t dst_val0, dst_val1; @@ -1661,9 +1662,9 @@ static void hevc_sao_edge_filter_90degree_4width_msa(uint8_t *dst, static void hevc_sao_edge_filter_90degree_8width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { uint64_t dst_val0, dst_val1; @@ -1763,14 +1764,14 @@ static void hevc_sao_edge_filter_90degree_8width_msa(uint8_t *dst, static void hevc_sao_edge_filter_90degree_16multiple_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t * + const int16_t * sao_offset_val, int32_t width, int32_t height) { - uint8_t *src_orig = src; + const uint8_t *src_orig = src; uint8_t *dst_orig = dst; int32_t h_cnt, v_cnt; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -1865,12 +1866,12 @@ static void hevc_sao_edge_filter_90degree_16multiple_msa(uint8_t *dst, static void hevc_sao_edge_filter_45degree_4width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { - uint8_t *src_orig; + const uint8_t *src_orig; uint32_t dst_val0, dst_val1; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; v16u8 const1 = (v16u8) __msa_ldi_b(1); @@ -1978,12 +1979,12 @@ static void hevc_sao_edge_filter_45degree_4width_msa(uint8_t *dst, static void hevc_sao_edge_filter_45degree_8width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { - uint8_t *src_orig; + const uint8_t *src_orig; uint64_t dst_val0, dst_val1; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; v16u8 const1 = (v16u8) __msa_ldi_b(1); @@ -2094,14 +2095,14 @@ static void hevc_sao_edge_filter_45degree_8width_msa(uint8_t *dst, static void hevc_sao_edge_filter_45degree_16multiple_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t * + const int16_t * sao_offset_val, int32_t width, int32_t height) { - uint8_t *src_orig = src; + const uint8_t *src_orig = src; uint8_t *dst_orig = dst; int32_t v_cnt; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -2214,12 +2215,12 @@ static void hevc_sao_edge_filter_45degree_16multiple_msa(uint8_t *dst, static void hevc_sao_edge_filter_135degree_4width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { - uint8_t *src_orig; + const uint8_t *src_orig; uint32_t dst_val0, dst_val1; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; v16u8 const1 = (v16u8) __msa_ldi_b(1); @@ -2329,12 +2330,12 @@ static void hevc_sao_edge_filter_135degree_4width_msa(uint8_t *dst, static void hevc_sao_edge_filter_135degree_8width_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int32_t height) { - uint8_t *src_orig; + const uint8_t *src_orig; uint64_t dst_val0, dst_val1; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; v16u8 const1 = (v16u8) __msa_ldi_b(1); @@ -2441,14 +2442,15 @@ static void hevc_sao_edge_filter_135degree_8width_msa(uint8_t *dst, static void hevc_sao_edge_filter_135degree_16multiple_msa(uint8_t *dst, int32_t dst_stride, - uint8_t *src, + const uint8_t *src, int32_t src_stride, - int16_t * + const int16_t * sao_offset_val, int32_t width, int32_t height) { - uint8_t *src_orig, *dst_orig; + const uint8_t *src_orig; + uint8_t *dst_orig; int32_t v_cnt; v16i8 edge_idx = { 1, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; v16u8 const1 = (v16u8) __msa_ldi_b(1); @@ -2563,39 +2565,39 @@ static void hevc_sao_edge_filter_135degree_16multiple_msa(uint8_t *dst, void ff_hevc_loop_filter_luma_h_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q) + int32_t beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q) { hevc_loopfilter_luma_hor_msa(src, src_stride, beta, tc, no_p, no_q); } void ff_hevc_loop_filter_luma_v_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q) + int32_t beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q) { hevc_loopfilter_luma_ver_msa(src, src_stride, beta, tc, no_p, no_q); } void ff_hevc_loop_filter_chroma_h_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q) + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q) { hevc_loopfilter_chroma_hor_msa(src, src_stride, tc, no_p, no_q); } void ff_hevc_loop_filter_chroma_v_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q) + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q) { hevc_loopfilter_chroma_ver_msa(src, src_stride, tc, no_p, no_q); } -void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, uint8_t *src, +void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, - int16_t *sao_offset_val, int sao_left_class, + const int16_t *sao_offset_val, int sao_left_class, int width, int height) { if (width >> 4) { @@ -2621,9 +2623,9 @@ void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, uint8_t *src, } } -void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, uint8_t *src, +void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int eo, int width, int height) { ptrdiff_t stride_src = (2 * MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) / sizeof(uint8_t); diff --git a/libavcodec/mips/hevc_mc_bi_msa.c b/libavcodec/mips/hevc_mc_bi_msa.c index c6c8d2705d..701e12ab86 100644 --- a/libavcodec/mips/hevc_mc_bi_msa.c +++ b/libavcodec/mips/hevc_mc_bi_msa.c @@ -58,9 +58,9 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = { HEVC_BI_RND_CLIP2_MAX_SATU(in2, in3, vec2, vec3, rnd_val, out2, out3); \ } -static void hevc_bi_copy_4w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -126,9 +126,9 @@ static void hevc_bi_copy_4w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_6w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -178,9 +178,9 @@ static void hevc_bi_copy_6w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_8w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -266,9 +266,9 @@ static void hevc_bi_copy_8w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_12w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -305,9 +305,9 @@ static void hevc_bi_copy_12w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_16w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -343,9 +343,9 @@ static void hevc_bi_copy_16w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_24w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -389,9 +389,9 @@ static void hevc_bi_copy_24w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_32w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -433,9 +433,9 @@ static void hevc_bi_copy_32w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_48w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -487,9 +487,9 @@ static void hevc_bi_copy_48w_msa(uint8_t *src0_ptr, } } -static void hevc_bi_copy_64w_msa(uint8_t *src0_ptr, +static void hevc_bi_copy_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -526,9 +526,9 @@ static void hevc_bi_copy_64w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_4w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -599,9 +599,9 @@ static void hevc_hz_bi_8t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_8w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -667,9 +667,9 @@ static void hevc_hz_bi_8t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_12w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -755,9 +755,9 @@ static void hevc_hz_bi_8t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_16w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -826,9 +826,9 @@ static void hevc_hz_bi_8t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_24w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -898,9 +898,9 @@ static void hevc_hz_bi_8t_24w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_32w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -970,9 +970,9 @@ static void hevc_hz_bi_8t_32w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_48w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1062,9 +1062,9 @@ static void hevc_hz_bi_8t_48w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_8t_64w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_8t_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1172,9 +1172,9 @@ static void hevc_hz_bi_8t_64w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_8t_4w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1258,9 +1258,9 @@ static void hevc_vt_bi_8t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_8t_8w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1336,9 +1336,9 @@ static void hevc_vt_bi_8t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_8t_12w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1443,17 +1443,17 @@ static void hevc_vt_bi_8t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_8t_16multx2mult_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_16multx2mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t width) { - uint8_t *src0_ptr_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + const int16_t *src1_ptr_tmp; uint8_t *dst_tmp; uint32_t loop_cnt; uint32_t cnt; @@ -1549,9 +1549,9 @@ static void hevc_vt_bi_8t_16multx2mult_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_8t_16w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1562,9 +1562,9 @@ static void hevc_vt_bi_8t_16w_msa(uint8_t *src0_ptr, dst, dst_stride, filter, height, 16); } -static void hevc_vt_bi_8t_24w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1577,9 +1577,9 @@ static void hevc_vt_bi_8t_24w_msa(uint8_t *src0_ptr, dst + 16, dst_stride, filter, height); } -static void hevc_vt_bi_8t_32w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1590,9 +1590,9 @@ static void hevc_vt_bi_8t_32w_msa(uint8_t *src0_ptr, dst, dst_stride, filter, height, 32); } -static void hevc_vt_bi_8t_48w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1603,9 +1603,9 @@ static void hevc_vt_bi_8t_48w_msa(uint8_t *src0_ptr, dst, dst_stride, filter, height, 48); } -static void hevc_vt_bi_8t_64w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_8t_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1616,9 +1616,9 @@ static void hevc_vt_bi_8t_64w_msa(uint8_t *src0_ptr, dst, dst_stride, filter, height, 64); } -static void hevc_hv_bi_8t_4w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1741,9 +1741,9 @@ static void hevc_hv_bi_8t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_8t_8multx1mult_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_8multx1mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1753,8 +1753,8 @@ static void hevc_hv_bi_8t_8multx1mult_msa(uint8_t *src0_ptr, { uint32_t loop_cnt; uint32_t cnt; - uint8_t *src0_ptr_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + const int16_t *src1_ptr_tmp; uint8_t *dst_tmp; v16u8 out; v16i8 src0, src1, src2, src3, src4, src5, src6, src7; @@ -1874,9 +1874,9 @@ static void hevc_hv_bi_8t_8multx1mult_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_8t_8w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1889,9 +1889,9 @@ static void hevc_hv_bi_8t_8w_msa(uint8_t *src0_ptr, height, 8); } -static void hevc_hv_bi_8t_12w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1900,8 +1900,9 @@ static void hevc_hv_bi_8t_12w_msa(uint8_t *src0_ptr, int32_t height) { uint32_t loop_cnt; - uint8_t *src0_ptr_tmp, *dst_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + uint8_t *dst_tmp; + const int16_t *src1_ptr_tmp; uint64_t tp0, tp1; v16u8 out; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; @@ -2103,9 +2104,9 @@ static void hevc_hv_bi_8t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_8t_16w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2118,9 +2119,9 @@ static void hevc_hv_bi_8t_16w_msa(uint8_t *src0_ptr, height, 16); } -static void hevc_hv_bi_8t_24w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2133,9 +2134,9 @@ static void hevc_hv_bi_8t_24w_msa(uint8_t *src0_ptr, height, 24); } -static void hevc_hv_bi_8t_32w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2148,9 +2149,9 @@ static void hevc_hv_bi_8t_32w_msa(uint8_t *src0_ptr, height, 32); } -static void hevc_hv_bi_8t_48w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2163,9 +2164,9 @@ static void hevc_hv_bi_8t_48w_msa(uint8_t *src0_ptr, height, 48); } -static void hevc_hv_bi_8t_64w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_8t_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2178,9 +2179,9 @@ static void hevc_hv_bi_8t_64w_msa(uint8_t *src0_ptr, height, 64); } -static void hevc_hz_bi_4t_4x2_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_4x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2221,9 +2222,9 @@ static void hevc_hz_bi_4t_4x2_msa(uint8_t *src0_ptr, ST_W2(dst0, 0, 1, dst, dst_stride); } -static void hevc_hz_bi_4t_4x4_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_4x4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2267,9 +2268,9 @@ static void hevc_hz_bi_4t_4x4_msa(uint8_t *src0_ptr, ST_W4(dst0, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_hz_bi_4t_4x8multiple_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_4x8multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2330,9 +2331,9 @@ static void hevc_hz_bi_4t_4x8multiple_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_4w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2352,9 +2353,9 @@ static void hevc_hz_bi_4t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_6w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2413,9 +2414,9 @@ static void hevc_hz_bi_4t_6w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_8x2_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_8x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2456,9 +2457,9 @@ static void hevc_hz_bi_4t_8x2_msa(uint8_t *src0_ptr, ST_D2(dst0, 0, 1, dst, dst_stride); } -static void hevc_hz_bi_4t_8x6_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_8x6_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2520,9 +2521,9 @@ static void hevc_hz_bi_4t_8x6_msa(uint8_t *src0_ptr, ST_D2(dst2, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_hz_bi_4t_8x4multiple_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_8x4multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2578,9 +2579,9 @@ static void hevc_hz_bi_4t_8x4multiple_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_8w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2600,9 +2601,9 @@ static void hevc_hz_bi_4t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_12w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2674,9 +2675,9 @@ static void hevc_hz_bi_4t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_16w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2734,16 +2735,16 @@ static void hevc_hz_bi_4t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_24w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { - int16_t *src1_ptr_tmp; + const int16_t *src1_ptr_tmp; uint8_t *dst_tmp; uint32_t loop_cnt; v16i8 src0, src1, src2, src3, src4, src5, src6, src7; @@ -2840,9 +2841,9 @@ static void hevc_hz_bi_4t_24w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_bi_4t_32w_msa(uint8_t *src0_ptr, +static void hevc_hz_bi_4t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2901,9 +2902,9 @@ static void hevc_hz_bi_4t_32w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_4x2_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_4x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2949,9 +2950,9 @@ static void hevc_vt_bi_4t_4x2_msa(uint8_t *src0_ptr, ST_W2(dst10, 0, 1, dst, dst_stride); } -static void hevc_vt_bi_4t_4x4_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_4x4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2998,9 +2999,9 @@ static void hevc_vt_bi_4t_4x4_msa(uint8_t *src0_ptr, ST_W4(dst10, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_vt_bi_4t_4x8multiple_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_4x8multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3071,9 +3072,9 @@ static void hevc_vt_bi_4t_4x8multiple_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_4w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3093,9 +3094,9 @@ static void hevc_vt_bi_4t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_6w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3191,9 +3192,9 @@ static void hevc_vt_bi_4t_6w_msa(uint8_t *src0_ptr, dst += (4 * dst_stride); } -static void hevc_vt_bi_4t_8x2_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_8x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3235,9 +3236,9 @@ static void hevc_vt_bi_4t_8x2_msa(uint8_t *src0_ptr, ST_D2(dst0_r, 0, 1, dst, dst_stride); } -static void hevc_vt_bi_4t_8x6_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_8x6_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3295,9 +3296,9 @@ static void hevc_vt_bi_4t_8x6_msa(uint8_t *src0_ptr, ST_D2(dst2_r, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_vt_bi_4t_8x4multiple_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_8x4multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3357,9 +3358,9 @@ static void hevc_vt_bi_4t_8x4multiple_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_8w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3379,9 +3380,9 @@ static void hevc_vt_bi_4t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_12w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3462,9 +3463,9 @@ static void hevc_vt_bi_4t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_16w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3547,9 +3548,9 @@ static void hevc_vt_bi_4t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_24w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3671,9 +3672,9 @@ static void hevc_vt_bi_4t_24w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_bi_4t_32w_msa(uint8_t *src0_ptr, +static void hevc_vt_bi_4t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3781,9 +3782,9 @@ static void hevc_vt_bi_4t_32w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_4x2_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_4x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3848,9 +3849,9 @@ static void hevc_hv_bi_4t_4x2_msa(uint8_t *src0_ptr, ST_W2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_bi_4t_4x4_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_4x4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3924,9 +3925,9 @@ static void hevc_hv_bi_4t_4x4_msa(uint8_t *src0_ptr, ST_W4(out, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_hv_bi_4t_4multx8mult_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_4multx8mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4043,9 +4044,9 @@ static void hevc_hv_bi_4t_4multx8mult_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_4w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4067,9 +4068,9 @@ static void hevc_hv_bi_4t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_6w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4217,9 +4218,9 @@ static void hevc_hv_bi_4t_6w_msa(uint8_t *src0_ptr, ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride); } -static void hevc_hv_bi_4t_8x2_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_8x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4291,9 +4292,9 @@ static void hevc_hv_bi_4t_8x2_msa(uint8_t *src0_ptr, ST_D2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_bi_4t_8multx4_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_8multx4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4387,9 +4388,9 @@ static void hevc_hv_bi_4t_8multx4_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_8x6_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_8x6_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4503,9 +4504,9 @@ static void hevc_hv_bi_4t_8x6_msa(uint8_t *src0_ptr, ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_hv_bi_4t_8multx4mult_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_8multx4mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4515,8 +4516,8 @@ static void hevc_hv_bi_4t_8multx4mult_msa(uint8_t *src0_ptr, int32_t width) { uint32_t loop_cnt, cnt; - uint8_t *src0_ptr_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + const int16_t *src1_ptr_tmp; uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6; @@ -4628,9 +4629,9 @@ static void hevc_hv_bi_4t_8multx4mult_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_8w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4655,9 +4656,9 @@ static void hevc_hv_bi_4t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_12w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4667,8 +4668,9 @@ static void hevc_hv_bi_4t_12w_msa(uint8_t *src0_ptr, { uint32_t loop_cnt; uint64_t tp0, tp1; - uint8_t *src0_ptr_tmp, *dst_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + uint8_t *dst_tmp; + const int16_t *src1_ptr_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7; @@ -4857,9 +4859,9 @@ static void hevc_hv_bi_4t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_16w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4877,9 +4879,9 @@ static void hevc_hv_bi_4t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_bi_4t_24w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4892,9 +4894,9 @@ static void hevc_hv_bi_4t_24w_msa(uint8_t *src0_ptr, height, 24); } -static void hevc_hv_bi_4t_32w_msa(uint8_t *src0_ptr, +static void hevc_hv_bi_4t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4910,9 +4912,9 @@ static void hevc_hv_bi_4t_32w_msa(uint8_t *src0_ptr, #define BI_MC_COPY(WIDTH) \ void ff_hevc_put_hevc_bi_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ intptr_t mx, \ intptr_t my, \ @@ -4937,9 +4939,9 @@ BI_MC_COPY(64); #define BI_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \ void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ intptr_t mx, \ intptr_t my, \ @@ -4991,9 +4993,9 @@ BI_MC(epel, v, 32, 4, vt, my); #define BI_MC_HV(PEL, WIDTH, TAP) \ void ff_hevc_put_hevc_bi_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ intptr_t mx, \ intptr_t my, \ diff --git a/libavcodec/mips/hevc_mc_biw_msa.c b/libavcodec/mips/hevc_mc_biw_msa.c index f775ea8592..981c37d7e8 100644 --- a/libavcodec/mips/hevc_mc_biw_msa.c +++ b/libavcodec/mips/hevc_mc_biw_msa.c @@ -79,9 +79,9 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = { out2, out3); \ } -static void hevc_biwgt_copy_4w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -168,9 +168,9 @@ static void hevc_biwgt_copy_4w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_6w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -222,9 +222,9 @@ static void hevc_biwgt_copy_6w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_8w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -310,9 +310,9 @@ static void hevc_biwgt_copy_8w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_12w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -369,9 +369,9 @@ static void hevc_biwgt_copy_12w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_16w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -424,9 +424,9 @@ static void hevc_biwgt_copy_16w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_24w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -488,9 +488,9 @@ static void hevc_biwgt_copy_24w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_32w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -549,9 +549,9 @@ static void hevc_biwgt_copy_32w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_48w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -601,9 +601,9 @@ static void hevc_biwgt_copy_48w_msa(uint8_t *src0_ptr, } } -static void hevc_biwgt_copy_64w_msa(uint8_t *src0_ptr, +static void hevc_biwgt_copy_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -656,9 +656,9 @@ static void hevc_biwgt_copy_64w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_8t_4w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -728,9 +728,9 @@ static void hevc_hz_biwgt_8t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_8t_8w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -808,9 +808,9 @@ static void hevc_hz_biwgt_8t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_8t_12w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -903,9 +903,9 @@ static void hevc_hz_biwgt_8t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_8t_16w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -987,9 +987,9 @@ static void hevc_hz_biwgt_8t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_8t_24w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1109,9 +1109,9 @@ static void hevc_hz_biwgt_8t_24w_msa(uint8_t *src0_ptr, dst += dst_stride; } -static void hevc_hz_biwgt_8t_32w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1195,9 +1195,9 @@ static void hevc_hz_biwgt_8t_32w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_8t_48w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1299,9 +1299,9 @@ static void hevc_hz_biwgt_8t_48w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_8t_64w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_8t_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1313,9 +1313,9 @@ static void hevc_hz_biwgt_8t_64w_msa(uint8_t *src0_ptr, int32_t offset1, int32_t rnd_val) { - uint8_t *src0_ptr_tmp; + const uint8_t *src0_ptr_tmp; uint8_t *dst_tmp; - int16_t *src1_ptr_tmp; + const int16_t *src1_ptr_tmp; uint32_t loop_cnt, cnt; int32_t offset, weight, constant; v16i8 src0, src1, src2; @@ -1398,9 +1398,9 @@ static void hevc_hz_biwgt_8t_64w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_8t_4w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1496,9 +1496,9 @@ static void hevc_vt_biwgt_8t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_8t_8w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1584,9 +1584,9 @@ static void hevc_vt_biwgt_8t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_8t_12w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1694,9 +1694,9 @@ static void hevc_vt_biwgt_8t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_8t_16multx2mult_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_16multx2mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1709,8 +1709,8 @@ static void hevc_vt_biwgt_8t_16multx2mult_msa(uint8_t *src0_ptr, int32_t rnd_val, int32_t width) { - uint8_t *src0_ptr_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + const int16_t *src1_ptr_tmp; uint8_t *dst_tmp; uint32_t loop_cnt, cnt; int32_t offset, weight; @@ -1810,9 +1810,9 @@ static void hevc_vt_biwgt_8t_16multx2mult_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_8t_16w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1831,9 +1831,9 @@ static void hevc_vt_biwgt_8t_16w_msa(uint8_t *src0_ptr, rnd_val, 16); } -static void hevc_vt_biwgt_8t_24w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1856,9 +1856,9 @@ static void hevc_vt_biwgt_8t_24w_msa(uint8_t *src0_ptr, weight0, weight1, offset0, offset1, rnd_val); } -static void hevc_vt_biwgt_8t_32w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1877,9 +1877,9 @@ static void hevc_vt_biwgt_8t_32w_msa(uint8_t *src0_ptr, rnd_val, 32); } -static void hevc_vt_biwgt_8t_48w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1898,9 +1898,9 @@ static void hevc_vt_biwgt_8t_48w_msa(uint8_t *src0_ptr, rnd_val, 48); } -static void hevc_vt_biwgt_8t_64w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_8t_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -1919,9 +1919,9 @@ static void hevc_vt_biwgt_8t_64w_msa(uint8_t *src0_ptr, rnd_val, 64); } -static void hevc_hv_biwgt_8t_4w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2064,9 +2064,9 @@ static void hevc_hv_biwgt_8t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_8t_8multx2mult_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_8multx2mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2082,8 +2082,8 @@ static void hevc_hv_biwgt_8t_8multx2mult_msa(uint8_t *src0_ptr, { uint32_t loop_cnt, cnt; int32_t offset, weight; - uint8_t *src0_ptr_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + const int16_t *src1_ptr_tmp; uint8_t *dst_tmp; v16u8 out; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8; @@ -2247,9 +2247,9 @@ static void hevc_hv_biwgt_8t_8multx2mult_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_8t_8w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2269,9 +2269,9 @@ static void hevc_hv_biwgt_8t_8w_msa(uint8_t *src0_ptr, offset1, rnd_val, 1); } -static void hevc_hv_biwgt_8t_12w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2285,8 +2285,9 @@ static void hevc_hv_biwgt_8t_12w_msa(uint8_t *src0_ptr, int32_t rnd_val) { uint32_t loop_cnt; - uint8_t *src0_ptr_tmp, *dst_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + uint8_t *dst_tmp; + const int16_t *src1_ptr_tmp; int32_t offset, weight; uint64_t tp0, tp1; v16u8 out; @@ -2519,9 +2520,9 @@ static void hevc_hv_biwgt_8t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_8t_16w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2541,9 +2542,9 @@ static void hevc_hv_biwgt_8t_16w_msa(uint8_t *src0_ptr, offset1, rnd_val, 2); } -static void hevc_hv_biwgt_8t_24w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2563,9 +2564,9 @@ static void hevc_hv_biwgt_8t_24w_msa(uint8_t *src0_ptr, offset1, rnd_val, 3); } -static void hevc_hv_biwgt_8t_32w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2585,9 +2586,9 @@ static void hevc_hv_biwgt_8t_32w_msa(uint8_t *src0_ptr, offset1, rnd_val, 4); } -static void hevc_hv_biwgt_8t_48w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_48w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2607,9 +2608,9 @@ static void hevc_hv_biwgt_8t_48w_msa(uint8_t *src0_ptr, offset1, rnd_val, 6); } -static void hevc_hv_biwgt_8t_64w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_8t_64w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2629,9 +2630,9 @@ static void hevc_hv_biwgt_8t_64w_msa(uint8_t *src0_ptr, offset1, rnd_val, 8); } -static void hevc_hz_biwgt_4t_4x2_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_4x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2689,9 +2690,9 @@ static void hevc_hz_biwgt_4t_4x2_msa(uint8_t *src0_ptr, ST_W2(out0, 0, 1, dst, dst_stride); } -static void hevc_hz_biwgt_4t_4x4_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_4x4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2749,9 +2750,9 @@ static void hevc_hz_biwgt_4t_4x4_msa(uint8_t *src0_ptr, ST_W4(dst0, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_hz_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_4x8multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2824,9 +2825,9 @@ static void hevc_hz_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_4w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2855,9 +2856,9 @@ static void hevc_hz_biwgt_4t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_6w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2929,9 +2930,9 @@ static void hevc_hz_biwgt_4t_6w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_8x2_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_8x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -2985,9 +2986,9 @@ static void hevc_hz_biwgt_4t_8x2_msa(uint8_t *src0_ptr, ST_D2(dst0, 0, 1, dst, dst_stride); } -static void hevc_hz_biwgt_4t_8x6_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_8x6_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3059,9 +3060,9 @@ static void hevc_hz_biwgt_4t_8x6_msa(uint8_t *src0_ptr, ST_D2(dst3, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_hz_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_8x4multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3129,9 +3130,9 @@ static void hevc_hz_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_8w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3160,9 +3161,9 @@ static void hevc_hz_biwgt_4t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_12w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3246,9 +3247,9 @@ static void hevc_hz_biwgt_4t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_16w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3335,9 +3336,9 @@ static void hevc_hz_biwgt_4t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_24w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3422,9 +3423,9 @@ static void hevc_hz_biwgt_4t_24w_msa(uint8_t *src0_ptr, } } -static void hevc_hz_biwgt_4t_32w_msa(uint8_t *src0_ptr, +static void hevc_hz_biwgt_4t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3495,9 +3496,9 @@ static void hevc_hz_biwgt_4t_32w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_4x2_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_4x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3560,9 +3561,9 @@ static void hevc_vt_biwgt_4t_4x2_msa(uint8_t *src0_ptr, ST_W2(out, 0, 1, dst, dst_stride); } -static void hevc_vt_biwgt_4t_4x4_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_4x4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3627,9 +3628,9 @@ static void hevc_vt_biwgt_4t_4x4_msa(uint8_t *src0_ptr, dst += (4 * dst_stride); } -static void hevc_vt_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_4x8multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3713,9 +3714,9 @@ static void hevc_vt_biwgt_4t_4x8multiple_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_4w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3744,9 +3745,9 @@ static void hevc_vt_biwgt_4t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_6w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3821,9 +3822,9 @@ static void hevc_vt_biwgt_4t_6w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_8x2_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_8x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3878,9 +3879,9 @@ static void hevc_vt_biwgt_4t_8x2_msa(uint8_t *src0_ptr, ST_D2(tmp0, 0, 1, dst, dst_stride); } -static void hevc_vt_biwgt_4t_8x6_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_8x6_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -3949,9 +3950,9 @@ static void hevc_vt_biwgt_4t_8x6_msa(uint8_t *src0_ptr, ST_D2(tmp3, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_vt_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_8x4multiple_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4023,9 +4024,9 @@ static void hevc_vt_biwgt_4t_8x4multiple_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_8w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4054,9 +4055,9 @@ static void hevc_vt_biwgt_4t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_12w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4146,9 +4147,9 @@ static void hevc_vt_biwgt_4t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_16w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4240,9 +4241,9 @@ static void hevc_vt_biwgt_4t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_24w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4377,9 +4378,9 @@ static void hevc_vt_biwgt_4t_24w_msa(uint8_t *src0_ptr, } } -static void hevc_vt_biwgt_4t_32w_msa(uint8_t *src0_ptr, +static void hevc_vt_biwgt_4t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4496,9 +4497,9 @@ static void hevc_vt_biwgt_4t_32w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_4x2_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_4x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4580,9 +4581,9 @@ static void hevc_hv_biwgt_4t_4x2_msa(uint8_t *src0_ptr, ST_W2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_biwgt_4t_4x4_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_4x4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4677,9 +4678,9 @@ static void hevc_hv_biwgt_4t_4x4_msa(uint8_t *src0_ptr, ST_W4(out, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_hv_biwgt_4t_4multx8mult_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_4multx8mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4821,9 +4822,9 @@ static void hevc_hv_biwgt_4t_4multx8mult_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_4w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_4w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -4853,9 +4854,9 @@ static void hevc_hv_biwgt_4t_4w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_6w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_6w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5035,9 +5036,9 @@ static void hevc_hv_biwgt_4t_6w_msa(uint8_t *src0_ptr, ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride); } -static void hevc_hv_biwgt_4t_8x2_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_8x2_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5131,9 +5132,9 @@ static void hevc_hv_biwgt_4t_8x2_msa(uint8_t *src0_ptr, ST_D2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_biwgt_4t_8multx4_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_8multx4_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5255,9 +5256,9 @@ static void hevc_hv_biwgt_4t_8multx4_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_8x6_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_8x6_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5405,9 +5406,9 @@ static void hevc_hv_biwgt_4t_8x6_msa(uint8_t *src0_ptr, ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_hv_biwgt_4t_8multx4mult_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_8multx4mult_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5424,8 +5425,8 @@ static void hevc_hv_biwgt_4t_8multx4mult_msa(uint8_t *src0_ptr, uint32_t loop_cnt; uint32_t cnt; int32_t offset, weight; - uint8_t *src0_ptr_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + const int16_t *src1_ptr_tmp; uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6; @@ -5555,9 +5556,9 @@ static void hevc_hv_biwgt_4t_8multx4mult_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_8w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_8w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5592,9 +5593,9 @@ static void hevc_hv_biwgt_4t_8w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_12w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_12w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5610,8 +5611,9 @@ static void hevc_hv_biwgt_4t_12w_msa(uint8_t *src0_ptr, uint32_t loop_cnt; uint64_t tp0, tp1; int32_t offset, weight; - uint8_t *src0_ptr_tmp, *dst_tmp; - int16_t *src1_ptr_tmp; + const uint8_t *src0_ptr_tmp; + const int16_t *src1_ptr_tmp; + uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7; @@ -5831,9 +5833,9 @@ static void hevc_hv_biwgt_4t_12w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_16w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_16w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5859,9 +5861,9 @@ static void hevc_hv_biwgt_4t_16w_msa(uint8_t *src0_ptr, } } -static void hevc_hv_biwgt_4t_24w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_24w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5881,9 +5883,9 @@ static void hevc_hv_biwgt_4t_24w_msa(uint8_t *src0_ptr, weight1, offset0, offset1, rnd_val, 24); } -static void hevc_hv_biwgt_4t_32w_msa(uint8_t *src0_ptr, +static void hevc_hv_biwgt_4t_32w_msa(const uint8_t *src0_ptr, int32_t src_stride, - int16_t *src1_ptr, + const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, @@ -5906,9 +5908,9 @@ static void hevc_hv_biwgt_4t_32w_msa(uint8_t *src0_ptr, #define BI_W_MC_COPY(WIDTH) \ void ff_hevc_put_hevc_bi_w_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ int denom, \ int weight0, \ @@ -5944,10 +5946,10 @@ BI_W_MC_COPY(64); void ff_hevc_put_hevc_bi_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t \ dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t \ src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ int denom, \ int weight0, \ @@ -6007,9 +6009,9 @@ BI_W_MC(epel, v, 32, 4, vt, my); #define BI_W_MC_HV(PEL, WIDTH, TAP) \ void ff_hevc_put_hevc_bi_w_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ int denom, \ int weight0, \ diff --git a/libavcodec/mips/hevc_mc_uni_msa.c b/libavcodec/mips/hevc_mc_uni_msa.c index 36e65527af..c0571e1231 100644 --- a/libavcodec/mips/hevc_mc_uni_msa.c +++ b/libavcodec/mips/hevc_mc_uni_msa.c @@ -101,7 +101,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 3] __attribute__((aligned(0x40))) = { out0, out1, out2, out3); \ } -static void copy_width8_msa(uint8_t *src, int32_t src_stride, +static void copy_width8_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height) { @@ -143,7 +143,7 @@ static void copy_width8_msa(uint8_t *src, int32_t src_stride, } } -static void copy_width12_msa(uint8_t *src, int32_t src_stride, +static void copy_width12_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height) { @@ -157,7 +157,7 @@ static void copy_width12_msa(uint8_t *src, int32_t src_stride, ST12x8_UB(src0, src1, src2, src3, src4, src5, src6, src7, dst, dst_stride); } -static void copy_width16_msa(uint8_t *src, int32_t src_stride, +static void copy_width16_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height) { @@ -193,7 +193,7 @@ static void copy_width16_msa(uint8_t *src, int32_t src_stride, } } -static void copy_width24_msa(uint8_t *src, int32_t src_stride, +static void copy_width24_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height) { @@ -216,7 +216,7 @@ static void copy_width24_msa(uint8_t *src, int32_t src_stride, } } -static void copy_width32_msa(uint8_t *src, int32_t src_stride, +static void copy_width32_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height) { @@ -233,7 +233,7 @@ static void copy_width32_msa(uint8_t *src, int32_t src_stride, } } -static void copy_width48_msa(uint8_t *src, int32_t src_stride, +static void copy_width48_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height) { @@ -254,7 +254,7 @@ static void copy_width48_msa(uint8_t *src, int32_t src_stride, } } -static void copy_width64_msa(uint8_t *src, int32_t src_stride, +static void copy_width64_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height) { @@ -283,7 +283,7 @@ static void copy_width64_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_4x4_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_4x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -312,7 +312,7 @@ static void common_hz_8t_4x4_msa(uint8_t *src, int32_t src_stride, ST_W4(out, 0, 1, 2, 3, dst, dst_stride); } -static void common_hz_8t_4x8_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_4x8_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -349,7 +349,7 @@ static void common_hz_8t_4x8_msa(uint8_t *src, int32_t src_stride, ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride); } -static void common_hz_8t_4x16_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_4x16_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -405,7 +405,7 @@ static void common_hz_8t_4x16_msa(uint8_t *src, int32_t src_stride, ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride); } -static void common_hz_8t_4w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -418,7 +418,7 @@ static void common_hz_8t_4w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_8w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -470,7 +470,7 @@ static void common_hz_8t_8w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_12w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -549,7 +549,7 @@ static void common_hz_8t_12w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_16w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -607,7 +607,7 @@ static void common_hz_8t_16w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_24w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -677,7 +677,7 @@ static void common_hz_8t_24w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_32w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -738,7 +738,7 @@ static void common_hz_8t_32w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_48w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_48w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -824,7 +824,7 @@ static void common_hz_8t_48w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_8t_64w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_8t_64w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -903,7 +903,7 @@ static void common_hz_8t_64w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_8t_4w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -972,7 +972,7 @@ static void common_vt_8t_4w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_8t_8w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1027,7 +1027,7 @@ static void common_vt_8t_8w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_8t_12w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1129,7 +1129,7 @@ static void common_vt_8t_12w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_8t_16w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1208,12 +1208,12 @@ static void common_vt_8t_16w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_8t_16w_mult_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_16w_mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t width) { - uint8_t *src_tmp; + const uint8_t *src_tmp; uint8_t *dst_tmp; uint32_t loop_cnt, cnt; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; @@ -1297,7 +1297,7 @@ static void common_vt_8t_16w_mult_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_8t_24w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1308,7 +1308,7 @@ static void common_vt_8t_24w_msa(uint8_t *src, int32_t src_stride, height); } -static void common_vt_8t_32w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1316,7 +1316,7 @@ static void common_vt_8t_32w_msa(uint8_t *src, int32_t src_stride, 32); } -static void common_vt_8t_48w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_48w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1324,7 +1324,7 @@ static void common_vt_8t_48w_msa(uint8_t *src, int32_t src_stride, 48); } -static void common_vt_8t_64w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_8t_64w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1332,7 +1332,7 @@ static void common_vt_8t_64w_msa(uint8_t *src, int32_t src_stride, 64); } -static void hevc_hv_uni_8t_4w_msa(uint8_t *src, +static void hevc_hv_uni_8t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1466,7 +1466,7 @@ static void hevc_hv_uni_8t_4w_msa(uint8_t *src, } } -static void hevc_hv_uni_8t_8multx2mult_msa(uint8_t *src, +static void hevc_hv_uni_8t_8multx2mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1475,7 +1475,7 @@ static void hevc_hv_uni_8t_8multx2mult_msa(uint8_t *src, int32_t height, int32_t width) { uint32_t loop_cnt, cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; uint8_t *dst_tmp; v16u8 out; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8; @@ -1605,7 +1605,7 @@ static void hevc_hv_uni_8t_8multx2mult_msa(uint8_t *src, } } -static void hevc_hv_uni_8t_8w_msa(uint8_t *src, +static void hevc_hv_uni_8t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1617,7 +1617,7 @@ static void hevc_hv_uni_8t_8w_msa(uint8_t *src, filter_x, filter_y, height, 8); } -static void hevc_hv_uni_8t_12w_msa(uint8_t *src, +static void hevc_hv_uni_8t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1626,7 +1626,8 @@ static void hevc_hv_uni_8t_12w_msa(uint8_t *src, int32_t height) { uint32_t loop_cnt; - uint8_t *src_tmp, *dst_tmp; + const uint8_t *src_tmp; + uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 src11, src12, src13, src14; @@ -1851,7 +1852,7 @@ static void hevc_hv_uni_8t_12w_msa(uint8_t *src, } } -static void hevc_hv_uni_8t_16w_msa(uint8_t *src, +static void hevc_hv_uni_8t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1863,7 +1864,7 @@ static void hevc_hv_uni_8t_16w_msa(uint8_t *src, filter_x, filter_y, height, 16); } -static void hevc_hv_uni_8t_24w_msa(uint8_t *src, +static void hevc_hv_uni_8t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1875,7 +1876,7 @@ static void hevc_hv_uni_8t_24w_msa(uint8_t *src, filter_x, filter_y, height, 24); } -static void hevc_hv_uni_8t_32w_msa(uint8_t *src, +static void hevc_hv_uni_8t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1887,7 +1888,7 @@ static void hevc_hv_uni_8t_32w_msa(uint8_t *src, filter_x, filter_y, height, 32); } -static void hevc_hv_uni_8t_48w_msa(uint8_t *src, +static void hevc_hv_uni_8t_48w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1899,7 +1900,7 @@ static void hevc_hv_uni_8t_48w_msa(uint8_t *src, filter_x, filter_y, height, 48); } -static void hevc_hv_uni_8t_64w_msa(uint8_t *src, +static void hevc_hv_uni_8t_64w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1911,7 +1912,7 @@ static void hevc_hv_uni_8t_64w_msa(uint8_t *src, filter_x, filter_y, height, 64); } -static void common_hz_4t_4x2_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_4x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -1938,7 +1939,7 @@ static void common_hz_4t_4x2_msa(uint8_t *src, int32_t src_stride, ST_W2(out, 0, 1, dst, dst_stride); } -static void common_hz_4t_4x4_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_4x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -1965,7 +1966,7 @@ static void common_hz_4t_4x4_msa(uint8_t *src, int32_t src_stride, ST_W4(out, 0, 1, 2, 3, dst, dst_stride); } -static void common_hz_4t_4x8_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_4x8_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -2000,7 +2001,7 @@ static void common_hz_4t_4x8_msa(uint8_t *src, int32_t src_stride, ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride); } -static void common_hz_4t_4x16_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_4x16_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -2048,7 +2049,7 @@ static void common_hz_4t_4x16_msa(uint8_t *src, int32_t src_stride, ST_W4(out, 0, 1, 2, 3, dst + 4 * dst_stride, dst_stride); } -static void common_hz_4t_4w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2063,7 +2064,7 @@ static void common_hz_4t_4w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_4t_6w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_6w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2112,7 +2113,7 @@ static void common_hz_4t_6w_msa(uint8_t *src, int32_t src_stride, ST_H2(out5, 2, 6, dst + 2 * dst_stride + 4, dst_stride); } -static void common_hz_4t_8x2mult_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_8x2mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2146,7 +2147,7 @@ static void common_hz_4t_8x2mult_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_4t_8x4mult_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_8x4mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2180,7 +2181,7 @@ static void common_hz_4t_8x4mult_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_4t_8w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2193,7 +2194,7 @@ static void common_hz_4t_8w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_4t_12w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2247,7 +2248,7 @@ static void common_hz_4t_12w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_4t_16w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2310,7 +2311,7 @@ static void common_hz_4t_16w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_4t_24w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2393,7 +2394,7 @@ static void common_hz_4t_24w_msa(uint8_t *src, int32_t src_stride, } } -static void common_hz_4t_32w_msa(uint8_t *src, int32_t src_stride, +static void common_hz_4t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2461,7 +2462,7 @@ static void common_hz_4t_32w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_4x2_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_4x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -2492,7 +2493,7 @@ static void common_vt_4t_4x2_msa(uint8_t *src, int32_t src_stride, ST_W2(out, 0, 1, dst, dst_stride); } -static void common_vt_4t_4x4multiple_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_4x4multiple_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2538,7 +2539,7 @@ static void common_vt_4t_4x4multiple_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_4w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2550,7 +2551,7 @@ static void common_vt_4t_4w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_6w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_6w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2621,7 +2622,7 @@ static void common_vt_4t_6w_msa(uint8_t *src, int32_t src_stride, ST_H2(out1, 2, 6, dst + 2 * dst_stride + 4, dst_stride); } -static void common_vt_4t_8x2_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_8x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -2647,7 +2648,7 @@ static void common_vt_4t_8x2_msa(uint8_t *src, int32_t src_stride, ST_D2(out, 0, 1, dst, dst_stride); } -static void common_vt_4t_8x6_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_8x6_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter) { @@ -2700,7 +2701,7 @@ static void common_vt_4t_8x6_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_8x4mult_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_8x4mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2745,7 +2746,7 @@ static void common_vt_4t_8x4mult_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_8w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2759,7 +2760,7 @@ static void common_vt_4t_8w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_12w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2822,7 +2823,7 @@ static void common_vt_4t_12w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_16w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2880,7 +2881,7 @@ static void common_vt_4t_16w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_24w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2991,7 +2992,7 @@ static void common_vt_4t_24w_msa(uint8_t *src, int32_t src_stride, } } -static void common_vt_4t_32w_msa(uint8_t *src, int32_t src_stride, +static void common_vt_4t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -3084,7 +3085,7 @@ static void common_vt_4t_32w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hv_uni_4t_4x2_msa(uint8_t *src, +static void hevc_hv_uni_4t_4x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3139,7 +3140,7 @@ static void hevc_hv_uni_4t_4x2_msa(uint8_t *src, ST_W2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_uni_4t_4x4_msa(uint8_t *src, +static void hevc_hv_uni_4t_4x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3198,7 +3199,7 @@ static void hevc_hv_uni_4t_4x4_msa(uint8_t *src, ST_W4(out, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_hv_uni_4t_4multx8mult_msa(uint8_t *src, +static void hevc_hv_uni_4t_4multx8mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3296,7 +3297,7 @@ static void hevc_hv_uni_4t_4multx8mult_msa(uint8_t *src, } } -static void hevc_hv_uni_4t_4w_msa(uint8_t *src, +static void hevc_hv_uni_4t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3316,7 +3317,7 @@ static void hevc_hv_uni_4t_4w_msa(uint8_t *src, } } -static void hevc_hv_uni_4t_6w_msa(uint8_t *src, +static void hevc_hv_uni_4t_6w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3435,7 +3436,7 @@ static void hevc_hv_uni_4t_6w_msa(uint8_t *src, ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride); } -static void hevc_hv_uni_4t_8x2_msa(uint8_t *src, +static void hevc_hv_uni_4t_8x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3497,7 +3498,7 @@ static void hevc_hv_uni_4t_8x2_msa(uint8_t *src, ST_D2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_uni_4t_8multx4_msa(uint8_t *src, +static void hevc_hv_uni_4t_8multx4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3582,7 +3583,7 @@ static void hevc_hv_uni_4t_8multx4_msa(uint8_t *src, } } -static void hevc_hv_uni_4t_8x6_msa(uint8_t *src, +static void hevc_hv_uni_4t_8x6_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3685,7 +3686,7 @@ static void hevc_hv_uni_4t_8x6_msa(uint8_t *src, ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_hv_uni_4t_8multx4mult_msa(uint8_t *src, +static void hevc_hv_uni_4t_8multx4mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3695,7 +3696,7 @@ static void hevc_hv_uni_4t_8multx4mult_msa(uint8_t *src, int32_t width8mult) { uint32_t loop_cnt, cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6; @@ -3799,7 +3800,7 @@ static void hevc_hv_uni_4t_8multx4mult_msa(uint8_t *src, } } -static void hevc_hv_uni_4t_8w_msa(uint8_t *src, +static void hevc_hv_uni_4t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3822,7 +3823,7 @@ static void hevc_hv_uni_4t_8w_msa(uint8_t *src, } } -static void hevc_hv_uni_4t_12w_msa(uint8_t *src, +static void hevc_hv_uni_4t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3831,7 +3832,8 @@ static void hevc_hv_uni_4t_12w_msa(uint8_t *src, int32_t height) { uint32_t loop_cnt; - uint8_t *src_tmp, *dst_tmp; + const uint8_t *src_tmp; + uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7; @@ -3990,7 +3992,7 @@ static void hevc_hv_uni_4t_12w_msa(uint8_t *src, } } -static void hevc_hv_uni_4t_16w_msa(uint8_t *src, +static void hevc_hv_uni_4t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4007,7 +4009,7 @@ static void hevc_hv_uni_4t_16w_msa(uint8_t *src, } } -static void hevc_hv_uni_4t_24w_msa(uint8_t *src, +static void hevc_hv_uni_4t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4019,7 +4021,7 @@ static void hevc_hv_uni_4t_24w_msa(uint8_t *src, filter_x, filter_y, height, 3); } -static void hevc_hv_uni_4t_32w_msa(uint8_t *src, +static void hevc_hv_uni_4t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4034,7 +4036,7 @@ static void hevc_hv_uni_4t_32w_msa(uint8_t *src, #define UNI_MC_COPY(WIDTH) \ void ff_hevc_put_hevc_uni_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -4057,7 +4059,7 @@ UNI_MC_COPY(64); #define UNI_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \ void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -4109,7 +4111,7 @@ UNI_MC(epel, v, 32, 4, vt, my); #define UNI_MC_HV(PEL, WIDTH, TAP) \ void ff_hevc_put_hevc_uni_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ diff --git a/libavcodec/mips/hevc_mc_uniw_msa.c b/libavcodec/mips/hevc_mc_uniw_msa.c index 1a8c251534..3c3d7a0da2 100644 --- a/libavcodec/mips/hevc_mc_uniw_msa.c +++ b/libavcodec/mips/hevc_mc_uniw_msa.c @@ -54,7 +54,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = { out2_h, out3_h); \ } -static void hevc_uniwgt_copy_4w_msa(uint8_t *src, +static void hevc_uniwgt_copy_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -121,7 +121,7 @@ static void hevc_uniwgt_copy_4w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_6w_msa(uint8_t *src, +static void hevc_uniwgt_copy_6w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -183,7 +183,7 @@ static void hevc_uniwgt_copy_6w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_8w_msa(uint8_t *src, +static void hevc_uniwgt_copy_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -278,7 +278,7 @@ static void hevc_uniwgt_copy_8w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_12w_msa(uint8_t *src, +static void hevc_uniwgt_copy_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -323,7 +323,7 @@ static void hevc_uniwgt_copy_12w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_16w_msa(uint8_t *src, +static void hevc_uniwgt_copy_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -366,7 +366,7 @@ static void hevc_uniwgt_copy_16w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_24w_msa(uint8_t *src, +static void hevc_uniwgt_copy_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -419,7 +419,7 @@ static void hevc_uniwgt_copy_24w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_32w_msa(uint8_t *src, +static void hevc_uniwgt_copy_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -465,7 +465,7 @@ static void hevc_uniwgt_copy_32w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_48w_msa(uint8_t *src, +static void hevc_uniwgt_copy_48w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -522,7 +522,7 @@ static void hevc_uniwgt_copy_48w_msa(uint8_t *src, } } -static void hevc_uniwgt_copy_64w_msa(uint8_t *src, +static void hevc_uniwgt_copy_64w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -585,7 +585,7 @@ static void hevc_uniwgt_copy_64w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_4w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -661,7 +661,7 @@ static void hevc_hz_uniwgt_8t_4w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_8w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -739,7 +739,7 @@ static void hevc_hz_uniwgt_8t_8w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_12w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -833,7 +833,7 @@ static void hevc_hz_uniwgt_8t_12w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_16w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -911,7 +911,7 @@ static void hevc_hz_uniwgt_8t_16w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_24w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1004,7 +1004,7 @@ static void hevc_hz_uniwgt_8t_24w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_32w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1106,7 +1106,7 @@ static void hevc_hz_uniwgt_8t_32w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_48w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_48w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1200,7 +1200,7 @@ static void hevc_hz_uniwgt_8t_48w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_8t_64w_msa(uint8_t *src, +static void hevc_hz_uniwgt_8t_64w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1210,7 +1210,7 @@ static void hevc_hz_uniwgt_8t_64w_msa(uint8_t *src, int32_t offset, int32_t rnd_val) { - uint8_t *src_tmp; + const uint8_t *src_tmp; uint8_t *dst_tmp; uint32_t loop_cnt, cnt; v16u8 out0, out1; @@ -1291,7 +1291,7 @@ static void hevc_hz_uniwgt_8t_64w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_8t_4w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1383,7 +1383,7 @@ static void hevc_vt_uniwgt_8t_4w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_8t_8w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1462,7 +1462,7 @@ static void hevc_vt_uniwgt_8t_8w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_8t_12w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1565,7 +1565,7 @@ static void hevc_vt_uniwgt_8t_12w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_8t_16multx4mult_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_16multx4mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1576,7 +1576,7 @@ static void hevc_vt_uniwgt_8t_16multx4mult_msa(uint8_t *src, int32_t rnd_val, int32_t weightmul16) { - uint8_t *src_tmp; + const uint8_t *src_tmp; uint8_t *dst_tmp; int32_t loop_cnt, cnt; v16u8 out0, out1, out2, out3; @@ -1676,7 +1676,7 @@ static void hevc_vt_uniwgt_8t_16multx4mult_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_8t_16w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1691,7 +1691,7 @@ static void hevc_vt_uniwgt_8t_16w_msa(uint8_t *src, offset, rnd_val, 1); } -static void hevc_vt_uniwgt_8t_24w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1709,7 +1709,7 @@ static void hevc_vt_uniwgt_8t_24w_msa(uint8_t *src, filter, 32, weight, offset, rnd_val); } -static void hevc_vt_uniwgt_8t_32w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1724,7 +1724,7 @@ static void hevc_vt_uniwgt_8t_32w_msa(uint8_t *src, offset, rnd_val, 2); } -static void hevc_vt_uniwgt_8t_48w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_48w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1739,7 +1739,7 @@ static void hevc_vt_uniwgt_8t_48w_msa(uint8_t *src, offset, rnd_val, 3); } -static void hevc_vt_uniwgt_8t_64w_msa(uint8_t *src, +static void hevc_vt_uniwgt_8t_64w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1754,7 +1754,7 @@ static void hevc_vt_uniwgt_8t_64w_msa(uint8_t *src, offset, rnd_val, 4); } -static void hevc_hv_uniwgt_8t_4w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1879,7 +1879,7 @@ static void hevc_hv_uniwgt_8t_4w_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_8t_8multx2mult_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_8multx2mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -1892,7 +1892,7 @@ static void hevc_hv_uniwgt_8t_8multx2mult_msa(uint8_t *src, int32_t width) { uint32_t loop_cnt, cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; uint8_t *dst_tmp; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8; v8i16 filt0, filt1, filt2, filt3; @@ -2041,7 +2041,7 @@ static void hevc_hv_uniwgt_8t_8multx2mult_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_8t_8w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2057,7 +2057,7 @@ static void hevc_hv_uniwgt_8t_8w_msa(uint8_t *src, offset, rnd_val, 8); } -static void hevc_hv_uniwgt_8t_12w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2069,7 +2069,8 @@ static void hevc_hv_uniwgt_8t_12w_msa(uint8_t *src, int32_t rnd_val) { uint32_t loop_cnt; - uint8_t *src_tmp, *dst_tmp; + const uint8_t *src_tmp; + uint8_t *dst_tmp; v16u8 out; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 mask0, mask1, mask2, mask3, mask4, mask5, mask6, mask7; @@ -2262,7 +2263,7 @@ static void hevc_hv_uniwgt_8t_12w_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_8t_16w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2278,7 +2279,7 @@ static void hevc_hv_uniwgt_8t_16w_msa(uint8_t *src, offset, rnd_val, 16); } -static void hevc_hv_uniwgt_8t_24w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2294,7 +2295,7 @@ static void hevc_hv_uniwgt_8t_24w_msa(uint8_t *src, offset, rnd_val, 24); } -static void hevc_hv_uniwgt_8t_32w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2310,7 +2311,7 @@ static void hevc_hv_uniwgt_8t_32w_msa(uint8_t *src, offset, rnd_val, 32); } -static void hevc_hv_uniwgt_8t_48w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_48w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2326,7 +2327,7 @@ static void hevc_hv_uniwgt_8t_48w_msa(uint8_t *src, offset, rnd_val, 48); } -static void hevc_hv_uniwgt_8t_64w_msa(uint8_t *src, +static void hevc_hv_uniwgt_8t_64w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2342,7 +2343,7 @@ static void hevc_hv_uniwgt_8t_64w_msa(uint8_t *src, offset, rnd_val, 64); } -static void hevc_hz_uniwgt_4t_4x2_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_4x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2400,7 +2401,7 @@ static void hevc_hz_uniwgt_4t_4x2_msa(uint8_t *src, dst += (4 * dst_stride); } -static void hevc_hz_uniwgt_4t_4x4_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_4x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2457,7 +2458,7 @@ static void hevc_hz_uniwgt_4t_4x4_msa(uint8_t *src, dst += (4 * dst_stride); } -static void hevc_hz_uniwgt_4t_4x8multiple_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_4x8multiple_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2525,7 +2526,7 @@ static void hevc_hz_uniwgt_4t_4x8multiple_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_4t_4w_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2548,7 +2549,7 @@ static void hevc_hz_uniwgt_4t_4w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_4t_6w_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_6w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2629,7 +2630,7 @@ static void hevc_hz_uniwgt_4t_6w_msa(uint8_t *src, ST_H2(out3, 2, 6, dst + 2 * dst_stride + 4, dst_stride); } -static void hevc_hz_uniwgt_4t_8x2_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_8x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2684,7 +2685,7 @@ static void hevc_hz_uniwgt_4t_8x2_msa(uint8_t *src, ST_D2(out, 0, 1, dst, dst_stride); } -static void hevc_hz_uniwgt_4t_8x4_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_8x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2741,7 +2742,7 @@ static void hevc_hz_uniwgt_4t_8x4_msa(uint8_t *src, ST_D4(out0, out1, 0, 1, 0, 1, dst, dst_stride); } -static void hevc_hz_uniwgt_4t_8x6_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_8x6_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2811,7 +2812,7 @@ static void hevc_hz_uniwgt_4t_8x6_msa(uint8_t *src, ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_hz_uniwgt_4t_8x8multiple_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_8x8multiple_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2891,7 +2892,7 @@ static void hevc_hz_uniwgt_4t_8x8multiple_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_4t_8w_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2917,7 +2918,7 @@ static void hevc_hz_uniwgt_4t_8w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_4t_12w_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -2997,7 +2998,7 @@ static void hevc_hz_uniwgt_4t_12w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_4t_16w_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3080,7 +3081,7 @@ static void hevc_hz_uniwgt_4t_16w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_4t_24w_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3158,7 +3159,7 @@ static void hevc_hz_uniwgt_4t_24w_msa(uint8_t *src, } } -static void hevc_hz_uniwgt_4t_32w_msa(uint8_t *src, +static void hevc_hz_uniwgt_4t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3245,7 +3246,7 @@ static void hevc_hz_uniwgt_4t_32w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_4x2_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_4x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3300,7 +3301,7 @@ static void hevc_vt_uniwgt_4t_4x2_msa(uint8_t *src, ST_W2(out, 0, 1, dst, dst_stride); } -static void hevc_vt_uniwgt_4t_4x4_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_4x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3354,7 +3355,7 @@ static void hevc_vt_uniwgt_4t_4x4_msa(uint8_t *src, ST_W4(out, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_vt_uniwgt_4t_4x8multiple_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_4x8multiple_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3430,7 +3431,7 @@ static void hevc_vt_uniwgt_4t_4x8multiple_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_4w_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3453,7 +3454,7 @@ static void hevc_vt_uniwgt_4t_4w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_6w_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_6w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3531,7 +3532,7 @@ static void hevc_vt_uniwgt_4t_6w_msa(uint8_t *src, ST_H2(out3, 2, 6, dst + 2 * dst_stride + 4, dst_stride); } -static void hevc_vt_uniwgt_4t_8x2_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_8x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3582,7 +3583,7 @@ static void hevc_vt_uniwgt_4t_8x2_msa(uint8_t *src, ST_D2(out, 0, 1, dst, dst_stride); } -static void hevc_vt_uniwgt_4t_8x4_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_8x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3637,7 +3638,7 @@ static void hevc_vt_uniwgt_4t_8x4_msa(uint8_t *src, ST_D4(out0, out1, 0, 1, 0, 1, dst, dst_stride); } -static void hevc_vt_uniwgt_4t_8x6_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_8x6_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3700,7 +3701,7 @@ static void hevc_vt_uniwgt_4t_8x6_msa(uint8_t *src, ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_vt_uniwgt_4t_8x8mult_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_8x8mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3779,7 +3780,7 @@ static void hevc_vt_uniwgt_4t_8x8mult_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_8w_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3805,7 +3806,7 @@ static void hevc_vt_uniwgt_4t_8w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_12w_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3910,7 +3911,7 @@ static void hevc_vt_uniwgt_4t_12w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_16w_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -3992,7 +3993,7 @@ static void hevc_vt_uniwgt_4t_16w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_24w_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4094,7 +4095,7 @@ static void hevc_vt_uniwgt_4t_24w_msa(uint8_t *src, } } -static void hevc_vt_uniwgt_4t_32w_msa(uint8_t *src, +static void hevc_vt_uniwgt_4t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4188,7 +4189,7 @@ static void hevc_vt_uniwgt_4t_32w_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_4x2_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_4x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4252,7 +4253,7 @@ static void hevc_hv_uniwgt_4t_4x2_msa(uint8_t *src, ST_W2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_uniwgt_4t_4x4_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_4x4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4321,7 +4322,7 @@ static void hevc_hv_uniwgt_4t_4x4_msa(uint8_t *src, ST_W4(out, 0, 1, 2, 3, dst, dst_stride); } -static void hevc_hv_uniwgt_4t_4multx8mult_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_4multx8mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4428,7 +4429,7 @@ static void hevc_hv_uniwgt_4t_4multx8mult_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_4w_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_4w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4454,7 +4455,7 @@ static void hevc_hv_uniwgt_4t_4w_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_6w_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_6w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4581,7 +4582,7 @@ static void hevc_hv_uniwgt_4t_6w_msa(uint8_t *src, ST_H8(out2, 0, 1, 2, 3, 4, 5, 6, 7, dst + 4, dst_stride); } -static void hevc_hv_uniwgt_4t_8x2_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_8x2_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4657,7 +4658,7 @@ static void hevc_hv_uniwgt_4t_8x2_msa(uint8_t *src, ST_D2(out, 0, 1, dst, dst_stride); } -static void hevc_hv_uniwgt_4t_8multx4_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_8multx4_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4752,7 +4753,7 @@ static void hevc_hv_uniwgt_4t_8multx4_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_8x6_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_8x6_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4868,7 +4869,7 @@ static void hevc_hv_uniwgt_4t_8x6_msa(uint8_t *src, ST_D2(out2, 0, 1, dst + 4 * dst_stride, dst_stride); } -static void hevc_hv_uniwgt_4t_8multx4mult_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_8multx4mult_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -4881,7 +4882,7 @@ static void hevc_hv_uniwgt_4t_8multx4mult_msa(uint8_t *src, int32_t width8mult) { uint32_t loop_cnt, cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6; @@ -4990,7 +4991,7 @@ static void hevc_hv_uniwgt_4t_8multx4mult_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_8w_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_8w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -5021,7 +5022,7 @@ static void hevc_hv_uniwgt_4t_8w_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_12w_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_12w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -5033,7 +5034,8 @@ static void hevc_hv_uniwgt_4t_12w_msa(uint8_t *src, int32_t rnd_val) { uint32_t loop_cnt; - uint8_t *src_tmp, *dst_tmp; + const uint8_t *src_tmp; + uint8_t *dst_tmp; v16u8 out0, out1; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7; @@ -5198,7 +5200,7 @@ static void hevc_hv_uniwgt_4t_12w_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_16w_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_16w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -5220,7 +5222,7 @@ static void hevc_hv_uniwgt_4t_16w_msa(uint8_t *src, } } -static void hevc_hv_uniwgt_4t_24w_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_24w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -5236,7 +5238,7 @@ static void hevc_hv_uniwgt_4t_24w_msa(uint8_t *src, offset, rnd_val, 3); } -static void hevc_hv_uniwgt_4t_32w_msa(uint8_t *src, +static void hevc_hv_uniwgt_4t_32w_msa(const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, @@ -5255,7 +5257,7 @@ static void hevc_hv_uniwgt_4t_32w_msa(uint8_t *src, #define UNIWGT_MC_COPY(WIDTH) \ void ff_hevc_put_hevc_uni_w_pel_pixels##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ int denom, \ @@ -5286,7 +5288,7 @@ UNIWGT_MC_COPY(64); void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t \ dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t \ src_stride, \ int height, \ @@ -5344,7 +5346,7 @@ UNI_W_MC(epel, v, 32, 4, vt, my); #define UNI_W_MC_HV(PEL, WIDTH, TAP) \ void ff_hevc_put_hevc_uni_w_##PEL##_hv##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ int denom, \ diff --git a/libavcodec/mips/hevcdsp_mips.h b/libavcodec/mips/hevcdsp_mips.h index c84e08d160..a8f78ff73a 100644 --- a/libavcodec/mips/hevcdsp_mips.h +++ b/libavcodec/mips/hevcdsp_mips.h @@ -25,7 +25,7 @@ #define MC(PEL, DIR, WIDTH) \ void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_msa(int16_t *dst, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -104,7 +104,7 @@ MC(epel, hv, 64); #define UNI_MC(PEL, DIR, WIDTH) \ void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -184,7 +184,7 @@ UNI_MC(epel, hv, 64); void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t \ dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t \ src_stride, \ int height, \ @@ -267,9 +267,9 @@ UNI_W_MC(epel, hv, 64); #define BI_MC(PEL, DIR, WIDTH) \ void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ intptr_t mx, \ intptr_t my, \ @@ -348,10 +348,10 @@ BI_MC(epel, hv, 64); void ff_hevc_put_hevc_bi_w_##PEL##_##DIR##WIDTH##_8_msa(uint8_t *dst, \ ptrdiff_t \ dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t \ src_stride, \ - int16_t *src_16bit, \ + const int16_t *src_16bit, \ int height, \ int denom, \ int weight0, \ @@ -433,32 +433,32 @@ BI_W_MC(epel, hv, 64); void ff_hevc_loop_filter_luma_h_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q); + int32_t beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q); void ff_hevc_loop_filter_luma_v_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t beta, int32_t *tc, - uint8_t *no_p, uint8_t *no_q); + int32_t beta, const int32_t *tc, + const uint8_t *no_p, const uint8_t *no_q); void ff_hevc_loop_filter_chroma_h_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q); + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q); void ff_hevc_loop_filter_chroma_v_8_msa(uint8_t *src, ptrdiff_t src_stride, - int32_t *tc, uint8_t *no_p, - uint8_t *no_q); + const int32_t *tc, const uint8_t *no_p, + const uint8_t *no_q); -void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, uint8_t *src, +void ff_hevc_sao_band_filter_0_8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, - int16_t *sao_offset_val, int sao_left_class, + const int16_t *sao_offset_val, int sao_left_class, int width, int height); -void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, uint8_t *src, +void ff_hevc_sao_edge_filter_8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, - int16_t *sao_offset_val, + const int16_t *sao_offset_val, int eo, int width, int height); void ff_hevc_idct_4x4_msa(int16_t *coeffs, int col_limit); @@ -469,20 +469,20 @@ void ff_hevc_idct_dc_4x4_msa(int16_t *coeffs); void ff_hevc_idct_dc_8x8_msa(int16_t *coeffs); void ff_hevc_idct_dc_16x16_msa(int16_t *coeffs); void ff_hevc_idct_dc_32x32_msa(int16_t *coeffs); -void ff_hevc_addblk_4x4_msa(uint8_t *dst, int16_t *pi16Coeffs, +void ff_hevc_addblk_4x4_msa(uint8_t *dst, const int16_t *pi16Coeffs, ptrdiff_t stride); -void ff_hevc_addblk_8x8_msa(uint8_t *dst, int16_t *pi16Coeffs, +void ff_hevc_addblk_8x8_msa(uint8_t *dst, const int16_t *pi16Coeffs, ptrdiff_t stride); -void ff_hevc_addblk_16x16_msa(uint8_t *dst, int16_t *pi16Coeffs, +void ff_hevc_addblk_16x16_msa(uint8_t *dst, const int16_t *pi16Coeffs, ptrdiff_t stride); -void ff_hevc_addblk_32x32_msa(uint8_t *dst, int16_t *pi16Coeffs, +void ff_hevc_addblk_32x32_msa(uint8_t *dst, const int16_t *pi16Coeffs, ptrdiff_t stride); void ff_hevc_idct_luma_4x4_msa(int16_t *pi16Coeffs); /* Loongson optimization */ #define L_MC(PEL, DIR, WIDTH, TYPE) \ void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_##TYPE(int16_t *dst, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -509,9 +509,9 @@ L_MC(qpel, hv, 64, mmi); #define L_BI_MC(PEL, DIR, WIDTH, TYPE) \ void ff_hevc_put_hevc_##PEL##_bi_##DIR##WIDTH##_8_##TYPE(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ - int16_t *src2, \ + const int16_t *src2, \ int height, \ intptr_t mx, \ intptr_t my, \ @@ -553,7 +553,7 @@ L_BI_MC(epel, hv, 32, mmi); #define L_UNI_MC(PEL, DIR, WIDTH, TYPE) \ void ff_hevc_put_hevc_##PEL##_uni_##DIR##WIDTH##_8_##TYPE(uint8_t *dst, \ ptrdiff_t dst_stride, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ diff --git a/libavcodec/mips/hevcdsp_mmi.c b/libavcodec/mips/hevcdsp_mmi.c index 6583bef5da..0ea88a7c08 100644 --- a/libavcodec/mips/hevcdsp_mmi.c +++ b/libavcodec/mips/hevcdsp_mmi.c @@ -24,13 +24,13 @@ #include "libavutil/mips/mmiutils.h" #define PUT_HEVC_QPEL_H(w, x_step, src_step, dst_step) \ -void ff_hevc_put_hevc_qpel_h##w##_8_mmi(int16_t *dst, uint8_t *_src, \ +void ff_hevc_put_hevc_qpel_h##w##_8_mmi(int16_t *dst, const uint8_t *_src, \ ptrdiff_t _srcstride, \ int height, intptr_t mx, \ intptr_t my, int width) \ { \ int x, y; \ - pixel *src = (pixel*)_src - 3; \ + const pixel *src = (const pixel*)_src - 3; \ ptrdiff_t srcstride = _srcstride / sizeof(pixel); \ double ftmp[15]; \ uint64_t rtmp[1]; \ @@ -118,14 +118,14 @@ PUT_HEVC_QPEL_H(48, 12, -48, -96); PUT_HEVC_QPEL_H(64, 16, -64, -128); #define PUT_HEVC_QPEL_HV(w, x_step, src_step, dst_step) \ -void ff_hevc_put_hevc_qpel_hv##w##_8_mmi(int16_t *dst, uint8_t *_src, \ +void ff_hevc_put_hevc_qpel_hv##w##_8_mmi(int16_t *dst, const uint8_t *_src,\ ptrdiff_t _srcstride, \ int height, intptr_t mx, \ intptr_t my, int width) \ { \ int x, y; \ const int8_t *filter; \ - pixel *src = (pixel*)_src; \ + const pixel *src = (const pixel*)_src; \ ptrdiff_t srcstride = _srcstride / sizeof(pixel); \ int16_t tmp_array[(MAX_PB_SIZE + QPEL_EXTRA) * MAX_PB_SIZE]; \ int16_t *tmp = tmp_array; \ @@ -303,14 +303,14 @@ PUT_HEVC_QPEL_HV(64, 16, -64, -128); #define PUT_HEVC_QPEL_BI_H(w, x_step, src_step, src2_step, dst_step) \ void ff_hevc_put_hevc_qpel_bi_h##w##_8_mmi(uint8_t *_dst, \ ptrdiff_t _dststride, \ - uint8_t *_src, \ + const uint8_t *_src, \ ptrdiff_t _srcstride, \ - int16_t *src2, int height, \ + const int16_t *src2, int height, \ intptr_t mx, intptr_t my, \ int width) \ { \ int x, y; \ - pixel *src = (pixel*)_src - 3; \ + const pixel *src = (const pixel*)_src - 3; \ ptrdiff_t srcstride = _srcstride / sizeof(pixel); \ pixel *dst = (pixel *)_dst; \ ptrdiff_t dststride = _dststride / sizeof(pixel); \ @@ -434,9 +434,9 @@ PUT_HEVC_QPEL_BI_H(64, 16, -64, -128, -64); #define PUT_HEVC_QPEL_BI_HV(w, x_step, src_step, src2_step, dst_step) \ void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst, \ ptrdiff_t _dststride, \ - uint8_t *_src, \ + const uint8_t *_src, \ ptrdiff_t _srcstride, \ - int16_t *src2, int height, \ + const int16_t *src2, int height, \ intptr_t mx, intptr_t my, \ int width) \ { \ @@ -654,9 +654,9 @@ PUT_HEVC_QPEL_BI_HV(64, 16, -64, -128, -64); #define PUT_HEVC_EPEL_BI_HV(w, x_step, src_step, src2_step, dst_step) \ void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst, \ ptrdiff_t _dststride, \ - uint8_t *_src, \ + const uint8_t *_src, \ ptrdiff_t _srcstride, \ - int16_t *src2, int height, \ + const int16_t *src2, int height, \ intptr_t mx, intptr_t my, \ int width) \ { \ @@ -835,9 +835,9 @@ PUT_HEVC_EPEL_BI_HV(32, 8, -32, -64, -32); #define PUT_HEVC_PEL_BI_PIXELS(w, x_step, src_step, dst_step, src2_step) \ void ff_hevc_put_hevc_pel_bi_pixels##w##_8_mmi(uint8_t *_dst, \ ptrdiff_t _dststride, \ - uint8_t *_src, \ + const uint8_t *_src, \ ptrdiff_t _srcstride, \ - int16_t *src2, int height, \ + const int16_t *src2, int height, \ intptr_t mx, intptr_t my, \ int width) \ { \ @@ -945,7 +945,7 @@ PUT_HEVC_PEL_BI_PIXELS(64, 8, -64, -64, -128); #define PUT_HEVC_QPEL_UNI_HV(w, x_step, src_step, dst_step, tmp_step) \ void ff_hevc_put_hevc_qpel_uni_hv##w##_8_mmi(uint8_t *_dst, \ ptrdiff_t _dststride, \ - uint8_t *_src, \ + const uint8_t *_src, \ ptrdiff_t _srcstride, \ int height, \ intptr_t mx, intptr_t my, \ diff --git a/libavcodec/mips/hevcdsp_msa.c b/libavcodec/mips/hevcdsp_msa.c index 2c57ec857a..8841a31369 100644 --- a/libavcodec/mips/hevcdsp_msa.c +++ b/libavcodec/mips/hevcdsp_msa.c @@ -29,7 +29,7 @@ static const uint8_t ff_hevc_mask_arr[16 * 2] __attribute__((aligned(0x40))) = { 0, 1, 1, 2, 2, 3, 3, 4, 16, 17, 17, 18, 18, 19, 19, 20 }; -static void hevc_copy_4w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_4w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -77,7 +77,7 @@ static void hevc_copy_4w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_6w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_6w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -101,7 +101,7 @@ static void hevc_copy_6w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_8w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_8w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -162,7 +162,7 @@ static void hevc_copy_8w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_12w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_12w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -199,7 +199,7 @@ static void hevc_copy_12w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_16w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_16w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -290,7 +290,7 @@ static void hevc_copy_16w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_24w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_24w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -319,7 +319,7 @@ static void hevc_copy_24w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_32w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_32w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -357,7 +357,7 @@ static void hevc_copy_32w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_48w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_48w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -408,7 +408,7 @@ static void hevc_copy_48w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_copy_64w_msa(uint8_t *src, int32_t src_stride, +static void hevc_copy_64w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, int32_t height) { @@ -445,7 +445,7 @@ static void hevc_copy_64w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_4w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_4w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -500,7 +500,7 @@ static void hevc_hz_8t_4w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_8w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_8w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -555,7 +555,7 @@ static void hevc_hz_8t_8w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_12w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_12w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -630,7 +630,7 @@ static void hevc_hz_8t_12w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_16w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_16w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -687,7 +687,7 @@ static void hevc_hz_8t_16w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_24w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_24w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -762,7 +762,7 @@ static void hevc_hz_8t_24w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_32w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_32w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -822,7 +822,7 @@ static void hevc_hz_8t_32w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_48w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_48w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -893,7 +893,7 @@ static void hevc_hz_8t_48w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hz_8t_64w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hz_8t_64w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -987,7 +987,7 @@ static void hevc_hz_8t_64w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_vt_8t_4w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_4w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1057,7 +1057,7 @@ static void hevc_vt_8t_4w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_vt_8t_8w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_8w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1120,7 +1120,7 @@ static void hevc_vt_8t_8w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_vt_8t_12w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_12w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1207,7 +1207,7 @@ static void hevc_vt_8t_12w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_vt_8t_16multx4mult_msa(uint8_t *src, +static void hevc_vt_8t_16multx4mult_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -1215,7 +1215,7 @@ static void hevc_vt_8t_16multx4mult_msa(uint8_t *src, int32_t height, int32_t width) { - uint8_t *src_tmp; + const uint8_t *src_tmp; int16_t *dst_tmp; int32_t loop_cnt, cnt; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; @@ -1315,7 +1315,7 @@ static void hevc_vt_8t_16multx4mult_msa(uint8_t *src, } } -static void hevc_vt_8t_16w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_16w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1323,7 +1323,7 @@ static void hevc_vt_8t_16w_msa(uint8_t *src, int32_t src_stride, filter, height, 16); } -static void hevc_vt_8t_24w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_24w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1333,7 +1333,7 @@ static void hevc_vt_8t_24w_msa(uint8_t *src, int32_t src_stride, filter, height); } -static void hevc_vt_8t_32w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_32w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1341,7 +1341,7 @@ static void hevc_vt_8t_32w_msa(uint8_t *src, int32_t src_stride, filter, height, 32); } -static void hevc_vt_8t_48w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_48w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1349,7 +1349,7 @@ static void hevc_vt_8t_48w_msa(uint8_t *src, int32_t src_stride, filter, height, 48); } -static void hevc_vt_8t_64w_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_8t_64w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -1357,7 +1357,7 @@ static void hevc_vt_8t_64w_msa(uint8_t *src, int32_t src_stride, filter, height, 64); } -static void hevc_hv_8t_4w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_4w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) @@ -1464,7 +1464,7 @@ static void hevc_hv_8t_4w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hv_8t_8multx1mult_msa(uint8_t *src, +static void hevc_hv_8t_8multx1mult_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -1473,7 +1473,7 @@ static void hevc_hv_8t_8multx1mult_msa(uint8_t *src, int32_t height, int32_t width) { uint32_t loop_cnt, cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; int16_t *dst_tmp; v16i8 src0, src1, src2, src3, src4, src5, src6, src7; v8i16 filt0, filt1, filt2, filt3; @@ -1591,7 +1591,7 @@ static void hevc_hv_8t_8multx1mult_msa(uint8_t *src, } } -static void hevc_hv_8t_8w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_8w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) @@ -1600,13 +1600,13 @@ static void hevc_hv_8t_8w_msa(uint8_t *src, int32_t src_stride, filter_x, filter_y, height, 8); } -static void hevc_hv_8t_12w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_12w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) { uint32_t loop_cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; int16_t *dst_tmp; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 mask0, mask1, mask2, mask3, mask4, mask5, mask6, mask7; @@ -1795,7 +1795,7 @@ static void hevc_hv_8t_12w_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hv_8t_16w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_16w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) @@ -1804,7 +1804,7 @@ static void hevc_hv_8t_16w_msa(uint8_t *src, int32_t src_stride, filter_x, filter_y, height, 16); } -static void hevc_hv_8t_24w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_24w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) @@ -1813,7 +1813,7 @@ static void hevc_hv_8t_24w_msa(uint8_t *src, int32_t src_stride, filter_x, filter_y, height, 24); } -static void hevc_hv_8t_32w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_32w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) @@ -1822,7 +1822,7 @@ static void hevc_hv_8t_32w_msa(uint8_t *src, int32_t src_stride, filter_x, filter_y, height, 32); } -static void hevc_hv_8t_48w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_48w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) @@ -1831,7 +1831,7 @@ static void hevc_hv_8t_48w_msa(uint8_t *src, int32_t src_stride, filter_x, filter_y, height, 48); } -static void hevc_hv_8t_64w_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_8t_64w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height) @@ -1840,7 +1840,7 @@ static void hevc_hv_8t_64w_msa(uint8_t *src, int32_t src_stride, filter_x, filter_y, height, 64); } -static void hevc_hz_4t_4x2_msa(uint8_t *src, +static void hevc_hz_4t_4x2_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -1873,7 +1873,7 @@ static void hevc_hz_4t_4x2_msa(uint8_t *src, ST_D2(dst0, 0, 1, dst, dst_stride); } -static void hevc_hz_4t_4x4_msa(uint8_t *src, +static void hevc_hz_4t_4x4_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -1910,7 +1910,7 @@ static void hevc_hz_4t_4x4_msa(uint8_t *src, ST_D4(dst0, dst1, 0, 1, 0, 1, dst, dst_stride); } -static void hevc_hz_4t_4x8multiple_msa(uint8_t *src, +static void hevc_hz_4t_4x8multiple_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -1959,7 +1959,7 @@ static void hevc_hz_4t_4x8multiple_msa(uint8_t *src, } } -static void hevc_hz_4t_4w_msa(uint8_t *src, +static void hevc_hz_4t_4w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -1976,7 +1976,7 @@ static void hevc_hz_4t_4w_msa(uint8_t *src, } } -static void hevc_hz_4t_6w_msa(uint8_t *src, +static void hevc_hz_4t_6w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2047,7 +2047,7 @@ static void hevc_hz_4t_6w_msa(uint8_t *src, } } -static void hevc_hz_4t_8x2multiple_msa(uint8_t *src, +static void hevc_hz_4t_8x2multiple_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2091,7 +2091,7 @@ static void hevc_hz_4t_8x2multiple_msa(uint8_t *src, } } -static void hevc_hz_4t_8x4multiple_msa(uint8_t *src, +static void hevc_hz_4t_8x4multiple_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2144,7 +2144,7 @@ static void hevc_hz_4t_8x4multiple_msa(uint8_t *src, } } -static void hevc_hz_4t_8w_msa(uint8_t *src, +static void hevc_hz_4t_8w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2160,7 +2160,7 @@ static void hevc_hz_4t_8w_msa(uint8_t *src, } } -static void hevc_hz_4t_12w_msa(uint8_t *src, +static void hevc_hz_4t_12w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2221,7 +2221,7 @@ static void hevc_hz_4t_12w_msa(uint8_t *src, } } -static void hevc_hz_4t_16w_msa(uint8_t *src, +static void hevc_hz_4t_16w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2293,7 +2293,7 @@ static void hevc_hz_4t_16w_msa(uint8_t *src, } } -static void hevc_hz_4t_24w_msa(uint8_t *src, +static void hevc_hz_4t_24w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2394,7 +2394,7 @@ static void hevc_hz_4t_24w_msa(uint8_t *src, } } -static void hevc_hz_4t_32w_msa(uint8_t *src, +static void hevc_hz_4t_32w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2446,7 +2446,7 @@ static void hevc_hz_4t_32w_msa(uint8_t *src, } } -static void hevc_vt_4t_4x2_msa(uint8_t *src, +static void hevc_vt_4t_4x2_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2479,7 +2479,7 @@ static void hevc_vt_4t_4x2_msa(uint8_t *src, ST_D2(dst10, 0, 1, dst, dst_stride); } -static void hevc_vt_4t_4x4_msa(uint8_t *src, +static void hevc_vt_4t_4x4_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2516,7 +2516,7 @@ static void hevc_vt_4t_4x4_msa(uint8_t *src, ST_D4(dst10, dst32, 0, 1, 0, 1, dst, dst_stride); } -static void hevc_vt_4t_4x8_msa(uint8_t *src, +static void hevc_vt_4t_4x8_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2565,7 +2565,7 @@ static void hevc_vt_4t_4x8_msa(uint8_t *src, ST_D8(dst10, dst32, dst54, dst76, 0, 1, 0, 1, 0, 1, 0, 1, dst, dst_stride); } -static void hevc_vt_4t_4x16_msa(uint8_t *src, int32_t src_stride, +static void hevc_vt_4t_4x16_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height) { @@ -2635,7 +2635,7 @@ static void hevc_vt_4t_4x16_msa(uint8_t *src, int32_t src_stride, ST_D8(dst10, dst32, dst54, dst76, 0, 1, 0, 1, 0, 1, 0, 1, dst, dst_stride); } -static void hevc_vt_4t_4w_msa(uint8_t *src, +static void hevc_vt_4t_4w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2653,7 +2653,7 @@ static void hevc_vt_4t_4w_msa(uint8_t *src, } } -static void hevc_vt_4t_6w_msa(uint8_t *src, +static void hevc_vt_4t_6w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2727,7 +2727,7 @@ static void hevc_vt_4t_6w_msa(uint8_t *src, } } -static void hevc_vt_4t_8x2_msa(uint8_t *src, +static void hevc_vt_4t_8x2_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2762,7 +2762,7 @@ static void hevc_vt_4t_8x2_msa(uint8_t *src, ST_SH2(dst0_r, dst1_r, dst, dst_stride); } -static void hevc_vt_4t_8x6_msa(uint8_t *src, +static void hevc_vt_4t_8x6_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2824,7 +2824,7 @@ static void hevc_vt_4t_8x6_msa(uint8_t *src, ST_SH2(dst0_r, dst1_r, dst, dst_stride); } -static void hevc_vt_4t_8x4multiple_msa(uint8_t *src, +static void hevc_vt_4t_8x4multiple_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2873,7 +2873,7 @@ static void hevc_vt_4t_8x4multiple_msa(uint8_t *src, } } -static void hevc_vt_4t_8w_msa(uint8_t *src, +static void hevc_vt_4t_8w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2890,7 +2890,7 @@ static void hevc_vt_4t_8w_msa(uint8_t *src, } } -static void hevc_vt_4t_12w_msa(uint8_t *src, +static void hevc_vt_4t_12w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -2961,7 +2961,7 @@ static void hevc_vt_4t_12w_msa(uint8_t *src, } } -static void hevc_vt_4t_16w_msa(uint8_t *src, +static void hevc_vt_4t_16w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3028,7 +3028,7 @@ static void hevc_vt_4t_16w_msa(uint8_t *src, } } -static void hevc_vt_4t_24w_msa(uint8_t *src, +static void hevc_vt_4t_24w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3126,7 +3126,7 @@ static void hevc_vt_4t_24w_msa(uint8_t *src, } } -static void hevc_vt_4t_32w_msa(uint8_t *src, +static void hevc_vt_4t_32w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3232,7 +3232,7 @@ static void hevc_vt_4t_32w_msa(uint8_t *src, } } -static void hevc_hv_4t_4x2_msa(uint8_t *src, +static void hevc_hv_4t_4x2_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3286,7 +3286,7 @@ static void hevc_hv_4t_4x2_msa(uint8_t *src, ST_D2(dst0, 0, 1, dst, dst_stride); } -static void hevc_hv_4t_4x4_msa(uint8_t *src, +static void hevc_hv_4t_4x4_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3349,7 +3349,7 @@ static void hevc_hv_4t_4x4_msa(uint8_t *src, } -static void hevc_hv_4t_4multx8mult_msa(uint8_t *src, +static void hevc_hv_4t_4multx8mult_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3445,7 +3445,7 @@ static void hevc_hv_4t_4multx8mult_msa(uint8_t *src, } } -static void hevc_hv_4t_4w_msa(uint8_t *src, +static void hevc_hv_4t_4w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3465,7 +3465,7 @@ static void hevc_hv_4t_4w_msa(uint8_t *src, } } -static void hevc_hv_4t_6w_msa(uint8_t *src, +static void hevc_hv_4t_6w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3590,7 +3590,7 @@ static void hevc_hv_4t_6w_msa(uint8_t *src, ST_W4(tmp5, 0, 1, 2, 3, dst + 4, dst_stride); } -static void hevc_hv_4t_8x2_msa(uint8_t *src, +static void hevc_hv_4t_8x2_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3657,7 +3657,7 @@ static void hevc_hv_4t_8x2_msa(uint8_t *src, ST_SW2(dst0_r, dst1_r, dst, dst_stride); } -static void hevc_hv_4t_8multx4_msa(uint8_t *src, int32_t src_stride, +static void hevc_hv_4t_8multx4_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t width8mult) @@ -3741,7 +3741,7 @@ static void hevc_hv_4t_8multx4_msa(uint8_t *src, int32_t src_stride, } } -static void hevc_hv_4t_8x6_msa(uint8_t *src, +static void hevc_hv_4t_8x6_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3852,7 +3852,7 @@ static void hevc_hv_4t_8x6_msa(uint8_t *src, ST_SW2(dst4_r, dst5_r, dst, dst_stride); } -static void hevc_hv_4t_8multx4mult_msa(uint8_t *src, +static void hevc_hv_4t_8multx4mult_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3862,7 +3862,7 @@ static void hevc_hv_4t_8multx4mult_msa(uint8_t *src, int32_t width8mult) { uint32_t loop_cnt, cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; int16_t *dst_tmp; v16i8 src0, src1, src2, src3, src4, src5, src6; v8i16 filt0, filt1; @@ -3969,7 +3969,7 @@ static void hevc_hv_4t_8multx4mult_msa(uint8_t *src, } } -static void hevc_hv_4t_8w_msa(uint8_t *src, +static void hevc_hv_4t_8w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -3993,7 +3993,7 @@ static void hevc_hv_4t_8w_msa(uint8_t *src, } } -static void hevc_hv_4t_12w_msa(uint8_t *src, +static void hevc_hv_4t_12w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -4002,7 +4002,7 @@ static void hevc_hv_4t_12w_msa(uint8_t *src, int32_t height) { uint32_t loop_cnt; - uint8_t *src_tmp; + const uint8_t *src_tmp; int16_t *dst_tmp; v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10; v16i8 vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7; @@ -4166,7 +4166,7 @@ static void hevc_hv_4t_12w_msa(uint8_t *src, } } -static void hevc_hv_4t_16w_msa(uint8_t *src, +static void hevc_hv_4t_16w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -4183,7 +4183,7 @@ static void hevc_hv_4t_16w_msa(uint8_t *src, } } -static void hevc_hv_4t_24w_msa(uint8_t *src, +static void hevc_hv_4t_24w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -4195,7 +4195,7 @@ static void hevc_hv_4t_24w_msa(uint8_t *src, filter_x, filter_y, height, 3); } -static void hevc_hv_4t_32w_msa(uint8_t *src, +static void hevc_hv_4t_32w_msa(const uint8_t *src, int32_t src_stride, int16_t *dst, int32_t dst_stride, @@ -4209,7 +4209,7 @@ static void hevc_hv_4t_32w_msa(uint8_t *src, #define MC_COPY(WIDTH) \ void ff_hevc_put_hevc_pel_pixels##WIDTH##_8_msa(int16_t *dst, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -4233,7 +4233,7 @@ MC_COPY(64); #define MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR) \ void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_msa(int16_t *dst, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ @@ -4284,7 +4284,7 @@ MC(epel, v, 32, 4, vt, my); #define MC_HV(PEL, WIDTH, TAP) \ void ff_hevc_put_hevc_##PEL##_hv##WIDTH##_8_msa(int16_t *dst, \ - uint8_t *src, \ + const uint8_t *src, \ ptrdiff_t src_stride, \ int height, \ intptr_t mx, \ diff --git a/libavcodec/x86/hevc_add_res.asm b/libavcodec/x86/hevc_add_res.asm index c6c40078a0..3ecbd4269c 100644 --- a/libavcodec/x86/hevc_add_res.asm +++ b/libavcodec/x86/hevc_add_res.asm @@ -47,7 +47,7 @@ cextern pw_1023 INIT_MMX mmxext -; void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, int16_t *res, ptrdiff_t stride) +; void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, const int16_t *res, ptrdiff_t stride) cglobal hevc_add_residual_4_8, 3, 3, 6 pxor m4, m4 ADD_RES_MMX_4_8 @@ -118,7 +118,7 @@ cglobal hevc_add_residual_4_8, 3, 3, 6 %macro TRANSFORM_ADD_8 0 -; void ff_hevc_add_residual_8_8_(uint8_t *dst, int16_t *res, ptrdiff_t stride) +; void ff_hevc_add_residual_8_8_(uint8_t *dst, const int16_t *res, ptrdiff_t stride) cglobal hevc_add_residual_8_8, 3, 4, 8 pxor m4, m4 lea r3, [r2*3] @@ -128,7 +128,7 @@ cglobal hevc_add_residual_8_8, 3, 4, 8 ADD_RES_SSE_8_8 RET -; void ff_hevc_add_residual_16_8_(uint8_t *dst, int16_t *res, ptrdiff_t stride) +; void ff_hevc_add_residual_16_8_(uint8_t *dst, const int16_t *res, ptrdiff_t stride) cglobal hevc_add_residual_16_8, 3, 5, 7 pxor m0, m0 lea r3, [r2*3] @@ -142,7 +142,7 @@ cglobal hevc_add_residual_16_8, 3, 5, 7 jg .loop RET -; void ff_hevc_add_residual_32_8_(uint8_t *dst, int16_t *res, ptrdiff_t stride) +; void ff_hevc_add_residual_32_8_(uint8_t *dst, const int16_t *res, ptrdiff_t stride) cglobal hevc_add_residual_32_8, 3, 5, 7 pxor m0, m0 mov r4d, 16 @@ -163,7 +163,7 @@ TRANSFORM_ADD_8 %if HAVE_AVX2_EXTERNAL INIT_YMM avx2 -; void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride) +; void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride) cglobal hevc_add_residual_32_8, 3, 5, 7 pxor m0, m0 lea r3, [r2*3] @@ -289,7 +289,7 @@ cglobal hevc_add_residual_32_8, 3, 5, 7 mova [%1+%2+32], m3 %endmacro -; void ff_hevc_add_residual_<4|8|16|32>_10(pixel *dst, int16_t *block, ptrdiff_t stride) +; void ff_hevc_add_residual_<4|8|16|32>_10(pixel *dst, const int16_t *block, ptrdiff_t stride) INIT_MMX mmxext cglobal hevc_add_residual_4_10, 3, 3, 6 pxor m2, m2 diff --git a/libavcodec/x86/hevc_mc.asm b/libavcodec/x86/hevc_mc.asm index e159adccc7..eb267453fe 100644 --- a/libavcodec/x86/hevc_mc.asm +++ b/libavcodec/x86/hevc_mc.asm @@ -711,7 +711,7 @@ SECTION .text ; ****************************** ; void put_hevc_mc_pixels(int16_t *dst, ptrdiff_t dststride, -; uint8_t *_src, ptrdiff_t _srcstride, +; const uint8_t *_src, ptrdiff_t _srcstride, ; int height, int mx, int my) ; ****************************** @@ -765,7 +765,7 @@ cglobal hevc_put_hevc_bi_pel_pixels%1_%2, 6, 6, 6, dst, dststride, src, srcstrid ; ****************************** ; void put_hevc_epel_hX(int16_t *dst, ptrdiff_t dststride, -; uint8_t *_src, ptrdiff_t _srcstride, +; const uint8_t *_src, ptrdiff_t _srcstride, ; int height, int mx, int my, int width); ; ****************************** @@ -820,7 +820,7 @@ cglobal hevc_put_hevc_bi_epel_h%1_%2, 7, 8, XMM_REGS, dst, dststride, src, srcst ; ****************************** ; void put_hevc_epel_v(int16_t *dst, ptrdiff_t dststride, -; uint8_t *_src, ptrdiff_t _srcstride, +; const uint8_t *_src, ptrdiff_t _srcstride, ; int height, int mx, int my, int width) ; ****************************** @@ -877,7 +877,7 @@ cglobal hevc_put_hevc_bi_epel_v%1_%2, 6, 8, XMM_REGS, dst, dststride, src, srcst ; ****************************** ; void put_hevc_epel_hv(int16_t *dst, ptrdiff_t dststride, -; uint8_t *_src, ptrdiff_t _srcstride, +; const uint8_t *_src, ptrdiff_t _srcstride, ; int height, int mx, int my, int width) ; ****************************** @@ -1088,7 +1088,7 @@ cglobal hevc_put_hevc_bi_epel_hv%1_%2, 8, 9, 16, dst, dststride, src, srcstride, ; ****************************** ; void put_hevc_qpel_hX_X_X(int16_t *dst, ptrdiff_t dststride, -; uint8_t *_src, ptrdiff_t _srcstride, +; const uint8_t *_src, ptrdiff_t _srcstride, ; int height, int mx, int my, int width) ; ****************************** @@ -1144,7 +1144,7 @@ cglobal hevc_put_hevc_bi_qpel_h%1_%2, 7, 8, 16 , dst, dststride, src, srcstride, ; ****************************** ; void put_hevc_qpel_vX_X_X(int16_t *dst, ptrdiff_t dststride, -; uint8_t *_src, ptrdiff_t _srcstride, +; const uint8_t *_src, ptrdiff_t _srcstride, ; int height, int mx, int my, int width) ; ****************************** @@ -1206,7 +1206,7 @@ cglobal hevc_put_hevc_bi_qpel_v%1_%2, 6, 10, 16, dst, dststride, src, srcstride, ; ****************************** ; void put_hevc_qpel_hvX_X(int16_t *dst, ptrdiff_t dststride, -; uint8_t *_src, ptrdiff_t _srcstride, +; const uint8_t *_src, ptrdiff_t _srcstride, ; int height, int mx, int my) ; ****************************** %macro HEVC_PUT_HEVC_QPEL_HV 2 diff --git a/libavcodec/x86/hevc_sao.asm b/libavcodec/x86/hevc_sao.asm index 756adfee57..2eb8924da8 100644 --- a/libavcodec/x86/hevc_sao.asm +++ b/libavcodec/x86/hevc_sao.asm @@ -119,7 +119,7 @@ DEFINE_ARGS dst, src, dststride, srcstride, offset, height %endif ; ARCH %endmacro -;void ff_hevc_sao_band_filter__8_(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, +;void ff_hevc_sao_band_filter__8_(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, ; int16_t *sao_offset_val, int sao_left_class, int width, int height); %macro HEVC_SAO_BAND_FILTER 2 cglobal hevc_sao_band_filter_%1_8, 6, 6, 15, 7*mmsize*ARCH_X86_32, dst, src, dststride, srcstride, offset, left diff --git a/libavcodec/x86/hevc_sao_10bit.asm b/libavcodec/x86/hevc_sao_10bit.asm index b30583dd2f..38005740e5 100644 --- a/libavcodec/x86/hevc_sao_10bit.asm +++ b/libavcodec/x86/hevc_sao_10bit.asm @@ -92,7 +92,7 @@ DEFINE_ARGS dst, src, dststride, srcstride, offset, height mov heightd, r7m %endmacro -;void ff_hevc_sao_band_filter___(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, +;void ff_hevc_sao_band_filter___(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, ; int16_t *sao_offset_val, int sao_left_class, int width, int height); %macro HEVC_SAO_BAND_FILTER 3 cglobal hevc_sao_band_filter_%2_%1, 6, 6, 15, 7*mmsize*ARCH_X86_32, dst, src, dststride, srcstride, offset, left diff --git a/libavcodec/x86/hevcdsp.h b/libavcodec/x86/hevcdsp.h index 24e35bc032..037519fad4 100644 --- a/libavcodec/x86/hevcdsp.h +++ b/libavcodec/x86/hevcdsp.h @@ -38,11 +38,11 @@ dst ## _bi_w[idx1][idx2][idx3] = ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _## #define PEL_PROTOTYPE(name, D, opt) \ -void ff_hevc_put_hevc_ ## name ## _ ## D ## _##opt(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); \ -void ff_hevc_put_hevc_bi_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); \ -void ff_hevc_put_hevc_uni_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); \ -void ff_hevc_put_hevc_uni_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width); \ -void ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) +void ff_hevc_put_hevc_ ## name ## _ ## D ## _##opt(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); \ +void ff_hevc_put_hevc_bi_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); \ +void ff_hevc_put_hevc_uni_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); \ +void ff_hevc_put_hevc_uni_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width); \ +void ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, int denom, int wx0, int wx1, int ox0, int ox1, intptr_t mx, intptr_t my, int width) /////////////////////////////////////////////////////////////////////////////// @@ -71,8 +71,8 @@ void ff_hevc_put_hevc_bi_w_ ## name ## _ ## D ## _##opt(uint8_t *_dst, ptrdiff_t PEL_PROTOTYPE(fname##64, bitd, opt) #define WEIGHTING_PROTOTYPE(width, bitd, opt) \ -void ff_hevc_put_hevc_uni_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, int16_t *_src, int height, int denom, int _wx, int _ox); \ -void ff_hevc_put_hevc_bi_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, int16_t *_src, int16_t *_src2, int height, int denom, int _wx0, int _wx1, int _ox0, int _ox1) +void ff_hevc_put_hevc_uni_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, const int16_t *_src, int height, int denom, int _wx, int _ox); \ +void ff_hevc_put_hevc_bi_w##width##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, const int16_t *_src, const int16_t *_src2, int height, int denom, int _wx0, int _wx1, int _ox0, int _ox1) #define WEIGHTING_PROTOTYPES(bitd, opt) \ WEIGHTING_PROTOTYPE(2, bitd, opt); \ @@ -94,38 +94,38 @@ EPEL_PROTOTYPES(pel_pixels , 8, sse4); EPEL_PROTOTYPES(pel_pixels , 10, sse4); EPEL_PROTOTYPES(pel_pixels , 12, sse4); -void ff_hevc_put_hevc_pel_pixels16_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels24_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels32_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels48_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels64_8_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels16_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels24_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels32_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels48_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels64_8_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels16_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels24_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels32_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels48_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_pel_pixels64_10_avx2(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels16_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels24_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels32_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels48_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_pel_pixels64_10_avx2(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_uni_pel_pixels32_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_uni_pel_pixels48_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_uni_pel_pixels64_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); -void ff_hevc_put_hevc_uni_pel_pixels96_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); //used for 10bit -void ff_hevc_put_hevc_uni_pel_pixels128_8_avx2(uint8_t *dst, ptrdiff_t dststride,uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);//used for 10bit +void ff_hevc_put_hevc_uni_pel_pixels32_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_uni_pel_pixels48_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_uni_pel_pixels64_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); +void ff_hevc_put_hevc_uni_pel_pixels96_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width); //used for 10bit +void ff_hevc_put_hevc_uni_pel_pixels128_8_avx2(uint8_t *dst, ptrdiff_t dststride,const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my,int width);//used for 10bit -void ff_hevc_put_hevc_bi_pel_pixels16_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels24_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels32_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels48_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels64_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels16_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels24_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels32_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels48_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels64_8_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels16_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels24_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels32_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels48_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_bi_pel_pixels64_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, uint8_t *_src, ptrdiff_t _srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels16_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels24_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels32_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels48_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_bi_pel_pixels64_10_avx2(uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width); /////////////////////////////////////////////////////////////////////////////// // EPEL @@ -233,34 +233,34 @@ WEIGHTING_PROTOTYPES(8, sse4); WEIGHTING_PROTOTYPES(10, sse4); WEIGHTING_PROTOTYPES(12, sse4); -void ff_hevc_put_hevc_qpel_h4_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_qpel_h8_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_qpel_h16_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_qpel_h32_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_qpel_h64_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); -void ff_hevc_put_hevc_qpel_hv8_8_avx512icl(int16_t *dst, uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_qpel_h4_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_qpel_h8_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_qpel_h16_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_qpel_h32_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_qpel_h64_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); +void ff_hevc_put_hevc_qpel_hv8_8_avx512icl(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width); /////////////////////////////////////////////////////////////////////////////// // TRANSFORM_ADD /////////////////////////////////////////////////////////////////////////////// -void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_8_8_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_16_8_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_32_8_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_8_8_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_16_8_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_32_8_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_8_8_avx(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_16_8_avx(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_32_8_avx(uint8_t *dst, int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_8_8_avx(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_16_8_avx(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_32_8_avx(uint8_t *dst, const int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_32_8_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_4_10_mmxext(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_8_10_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_16_10_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_32_10_sse2(uint8_t *dst, int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_4_10_mmxext(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_8_10_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_16_10_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_32_10_sse2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_16_10_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride); -void ff_hevc_add_residual_32_10_avx2(uint8_t *dst, int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_16_10_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); +void ff_hevc_add_residual_32_10_avx2(uint8_t *dst, const int16_t *res, ptrdiff_t stride); #endif // AVCODEC_X86_HEVCDSP_H diff --git a/libavcodec/x86/hevcdsp_init.c b/libavcodec/x86/hevcdsp_init.c index f7a5b28bec..6f45e5e0db 100644 --- a/libavcodec/x86/hevcdsp_init.c +++ b/libavcodec/x86/hevcdsp_init.c @@ -29,10 +29,10 @@ #include "libavcodec/x86/hevcdsp.h" #define LFC_FUNC(DIR, DEPTH, OPT) \ -void ff_hevc_ ## DIR ## _loop_filter_chroma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, int *tc, uint8_t *no_p, uint8_t *no_q); +void ff_hevc_ ## DIR ## _loop_filter_chroma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, const int *tc, const uint8_t *no_p, const uint8_t *no_q); #define LFL_FUNC(DIR, DEPTH, OPT) \ -void ff_hevc_ ## DIR ## _loop_filter_luma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, int beta, int *tc, uint8_t *no_p, uint8_t *no_q); +void ff_hevc_ ## DIR ## _loop_filter_luma_ ## DEPTH ## _ ## OPT(uint8_t *pix, ptrdiff_t stride, int beta, const int *tc, const uint8_t *no_p, const uint8_t *no_q); #define LFC_FUNCS(type, depth, opt) \ LFC_FUNC(h, depth, opt) \ @@ -85,46 +85,42 @@ IDCT_FUNCS(avx) #define mc_rep_func(name, bitd, step, W, opt) \ void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *_dst, \ - uint8_t *_src, ptrdiff_t _srcstride, int height, \ + const uint8_t *_src, ptrdiff_t _srcstride, int height, \ intptr_t mx, intptr_t my, int width) \ { \ int i; \ - uint8_t *src; \ int16_t *dst; \ for (i = 0; i < W; i += step) { \ - src = _src + (i * ((bitd + 7) / 8)); \ + const uint8_t *src = _src + (i * ((bitd + 7) / 8)); \ dst = _dst + i; \ ff_hevc_put_hevc_##name##step##_##bitd##_##opt(dst, src, _srcstride, height, mx, my, width); \ } \ } #define mc_rep_uni_func(name, bitd, step, W, opt) \ void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, \ - uint8_t *_src, ptrdiff_t _srcstride, int height, \ + const uint8_t *_src, ptrdiff_t _srcstride, int height, \ intptr_t mx, intptr_t my, int width) \ { \ int i; \ - uint8_t *src; \ uint8_t *dst; \ for (i = 0; i < W; i += step) { \ - src = _src + (i * ((bitd + 7) / 8)); \ + const uint8_t *src = _src + (i * ((bitd + 7) / 8)); \ dst = _dst + (i * ((bitd + 7) / 8)); \ ff_hevc_put_hevc_uni_##name##step##_##bitd##_##opt(dst, dststride, src, _srcstride, \ height, mx, my, width); \ } \ } #define mc_rep_bi_func(name, bitd, step, W, opt) \ -void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, uint8_t *_src, \ - ptrdiff_t _srcstride, int16_t* _src2, \ +void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, const uint8_t *_src, \ + ptrdiff_t _srcstride, const int16_t *_src2, \ int height, intptr_t mx, intptr_t my, int width) \ { \ int i; \ - uint8_t *src; \ uint8_t *dst; \ - int16_t *src2; \ for (i = 0; i < W ; i += step) { \ - src = _src + (i * ((bitd + 7) / 8)); \ + const uint8_t *src = _src + (i * ((bitd + 7) / 8)); \ + const int16_t *src2 = _src2 + i; \ dst = _dst + (i * ((bitd + 7) / 8)); \ - src2 = _src2 + i; \ ff_hevc_put_hevc_bi_##name##step##_##bitd##_##opt(dst, dststride, src, _srcstride, src2, \ height, mx, my, width); \ } \ @@ -137,7 +133,7 @@ void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dst #define mc_rep_func2(name, bitd, step1, step2, W, opt) \ void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *dst, \ - uint8_t *src, ptrdiff_t _srcstride, int height, \ + const uint8_t *src, ptrdiff_t _srcstride, int height, \ intptr_t mx, intptr_t my, int width) \ { \ ff_hevc_put_hevc_##name##step1##_##bitd##_##opt(dst, src, _srcstride, height, mx, my, width); \ @@ -146,7 +142,7 @@ void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *dst, } #define mc_rep_uni_func2(name, bitd, step1, step2, W, opt) \ void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, \ - uint8_t *src, ptrdiff_t _srcstride, int height, \ + const uint8_t *src, ptrdiff_t _srcstride, int height, \ intptr_t mx, intptr_t my, int width) \ { \ ff_hevc_put_hevc_uni_##name##step1##_##bitd##_##opt(dst, dststride, src, _srcstride, height, mx, my, width);\ @@ -155,8 +151,8 @@ void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dst height, mx, my, width); \ } #define mc_rep_bi_func2(name, bitd, step1, step2, W, opt) \ -void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, \ - ptrdiff_t _srcstride, int16_t* src2, \ +void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \ + ptrdiff_t _srcstride, const int16_t *src2, \ int height, intptr_t mx, intptr_t my, int width) \ { \ ff_hevc_put_hevc_bi_##name##step1##_##bitd##_##opt(dst, dststride, src, _srcstride, src2, height, mx, my, width);\ @@ -173,7 +169,7 @@ void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t dsts #if ARCH_X86_64 && HAVE_SSE4_EXTERNAL #define mc_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \ -void ff_hevc_put_hevc_##name##width1##_10_##opt1(int16_t *dst, uint8_t *src, ptrdiff_t _srcstride, \ +void ff_hevc_put_hevc_##name##width1##_10_##opt1(int16_t *dst, const uint8_t *src, ptrdiff_t _srcstride, \ int height, intptr_t mx, intptr_t my, int width) \ \ { \ @@ -182,8 +178,8 @@ void ff_hevc_put_hevc_##name##width1##_10_##opt1(int16_t *dst, uint8_t *src, ptr } #define mc_bi_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \ -void ff_hevc_put_hevc_bi_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, \ - ptrdiff_t _srcstride, int16_t *src2, \ +void ff_hevc_put_hevc_bi_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \ + ptrdiff_t _srcstride, const int16_t *src2, \ int height, intptr_t mx, intptr_t my, int width) \ { \ ff_hevc_put_hevc_bi_##name##width2##_10_##opt1(dst, dststride, src, _srcstride, src2, \ @@ -194,7 +190,7 @@ void ff_hevc_put_hevc_bi_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dsts #define mc_uni_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \ void ff_hevc_put_hevc_uni_##name##width1##_10_##opt1(uint8_t *dst, ptrdiff_t dststride, \ - uint8_t *src, ptrdiff_t _srcstride, int height, \ + const uint8_t *src, ptrdiff_t _srcstride, int height, \ intptr_t mx, intptr_t my, int width) \ { \ ff_hevc_put_hevc_uni_##name##width2##_10_##opt1(dst, dststride, src, _srcstride, \ @@ -209,7 +205,7 @@ mc_bi_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) \ mc_uni_rep_mix_10(name, width1, width2, width3, opt1, opt2, width4) #define mc_rep_mix_8(name, width1, width2, width3, opt1, opt2) \ -void ff_hevc_put_hevc_##name##width1##_8_##opt1(int16_t *dst, uint8_t *src, ptrdiff_t _srcstride, \ +void ff_hevc_put_hevc_##name##width1##_8_##opt1(int16_t *dst, const uint8_t *src, ptrdiff_t _srcstride, \ int height, intptr_t mx, intptr_t my, int width) \ \ { \ @@ -218,8 +214,8 @@ void ff_hevc_put_hevc_##name##width1##_8_##opt1(int16_t *dst, uint8_t *src, ptrd } #define mc_bi_rep_mix_8(name, width1, width2, width3, opt1, opt2) \ -void ff_hevc_put_hevc_bi_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, \ - ptrdiff_t _srcstride, int16_t* src2, \ +void ff_hevc_put_hevc_bi_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \ + ptrdiff_t _srcstride, const int16_t *src2, \ int height, intptr_t mx, intptr_t my, int width) \ { \ ff_hevc_put_hevc_bi_##name##width2##_8_##opt1(dst, dststride, src, _srcstride, \ @@ -230,7 +226,7 @@ void ff_hevc_put_hevc_bi_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dstst #define mc_uni_rep_mix_8(name, width1, width2, width3, opt1, opt2) \ void ff_hevc_put_hevc_uni_##name##width1##_8_##opt1(uint8_t *dst, ptrdiff_t dststride, \ - uint8_t *src, ptrdiff_t _srcstride, int height, \ + const uint8_t *src, ptrdiff_t _srcstride, int height, \ intptr_t mx, intptr_t my, int width) \ { \ ff_hevc_put_hevc_uni_##name##width2##_8_##opt1(dst, dststride, src, _srcstride, \ @@ -434,14 +430,13 @@ mc_rep_funcs(qpel_hv,12, 8, 16, sse4) mc_rep_funcs(qpel_hv,12, 4, 12, sse4) #define mc_rep_uni_w(bitd, step, W, opt) \ -void ff_hevc_put_hevc_uni_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, int16_t *_src, \ +void ff_hevc_put_hevc_uni_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, const int16_t *_src, \ int height, int denom, int _wx, int _ox) \ { \ int i; \ - int16_t *src; \ uint8_t *dst; \ for (i = 0; i < W; i += step) { \ - src= _src + i; \ + const int16_t *src = _src + i; \ dst= _dst + (i * ((bitd + 7) / 8)); \ ff_hevc_put_hevc_uni_w##step##_##bitd##_##opt(dst, dststride, src, \ height, denom, _wx, _ox); \ @@ -470,17 +465,15 @@ mc_rep_uni_w(12, 8, 48, sse4) mc_rep_uni_w(12, 8, 64, sse4) #define mc_rep_bi_w(bitd, step, W, opt) \ -void ff_hevc_put_hevc_bi_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, int16_t *_src, \ - int16_t *_src2, int height, \ +void ff_hevc_put_hevc_bi_w##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dststride, const int16_t *_src, \ + const int16_t *_src2, int height, \ int denom, int _wx0, int _wx1, int _ox0, int _ox1) \ { \ int i; \ - int16_t *src; \ - int16_t *src2; \ uint8_t *dst; \ for (i = 0; i < W; i += step) { \ - src = _src + i; \ - src2 = _src2 + i; \ + const int16_t *src = _src + i; \ + const int16_t *src2 = _src2 + i; \ dst = _dst + (i * ((bitd + 7) / 8)); \ ff_hevc_put_hevc_bi_w##step##_##bitd##_##opt(dst, dststride, src, src2, \ height, denom, _wx0, _wx1, _ox0, _ox1); \ @@ -510,7 +503,7 @@ mc_rep_bi_w(12, 8, 64, sse4) #define mc_uni_w_func(name, bitd, W, opt) \ void ff_hevc_put_hevc_uni_w_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t _dststride, \ - uint8_t *_src, ptrdiff_t _srcstride, \ + const uint8_t *_src, ptrdiff_t _srcstride, \ int height, int denom, \ int _wx, int _ox, \ intptr_t mx, intptr_t my, int width) \ @@ -568,8 +561,8 @@ mc_uni_w_funcs(qpel_hv, 12, sse4) #define mc_bi_w_func(name, bitd, W, opt) \ void ff_hevc_put_hevc_bi_w_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t _dststride, \ - uint8_t *_src, ptrdiff_t _srcstride, \ - int16_t *_src2, \ + const uint8_t *_src, ptrdiff_t _srcstride, \ + const int16_t *_src2, \ int height, int denom, \ int _wx0, int _wx1, int _ox0, int _ox1, \ intptr_t mx, intptr_t my, int width) \ @@ -628,16 +621,16 @@ mc_bi_w_funcs(qpel_hv, 12, sse4) #endif //ARCH_X86_64 && HAVE_SSE4_EXTERNAL #define SAO_BAND_FILTER_FUNCS(bitd, opt) \ -void ff_hevc_sao_band_filter_8_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ - int16_t *sao_offset_val, int sao_left_class, int width, int height); \ -void ff_hevc_sao_band_filter_16_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ - int16_t *sao_offset_val, int sao_left_class, int width, int height); \ -void ff_hevc_sao_band_filter_32_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ - int16_t *sao_offset_val, int sao_left_class, int width, int height); \ -void ff_hevc_sao_band_filter_48_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ - int16_t *sao_offset_val, int sao_left_class, int width, int height); \ -void ff_hevc_sao_band_filter_64_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ - int16_t *sao_offset_val, int sao_left_class, int width, int height); +void ff_hevc_sao_band_filter_8_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ + const int16_t *sao_offset_val, int sao_left_class, int width, int height); \ +void ff_hevc_sao_band_filter_16_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ + const int16_t *sao_offset_val, int sao_left_class, int width, int height); \ +void ff_hevc_sao_band_filter_32_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ + const int16_t *sao_offset_val, int sao_left_class, int width, int height); \ +void ff_hevc_sao_band_filter_48_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ + const int16_t *sao_offset_val, int sao_left_class, int width, int height); \ +void ff_hevc_sao_band_filter_64_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src, \ + const int16_t *sao_offset_val, int sao_left_class, int width, int height); SAO_BAND_FILTER_FUNCS(8, sse2) SAO_BAND_FILTER_FUNCS(10, sse2) @@ -657,17 +650,17 @@ SAO_BAND_FILTER_FUNCS(12, avx2) c->sao_band_filter[4] = ff_hevc_sao_band_filter_64_##bitd##_##opt; \ } while (0) -#define SAO_EDGE_FILTER_FUNCS(bitd, opt) \ -void ff_hevc_sao_edge_filter_8_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \ - int eo, int width, int height); \ -void ff_hevc_sao_edge_filter_16_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \ - int eo, int width, int height); \ -void ff_hevc_sao_edge_filter_32_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \ - int eo, int width, int height); \ -void ff_hevc_sao_edge_filter_48_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \ - int eo, int width, int height); \ -void ff_hevc_sao_edge_filter_64_##bitd##_##opt(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, \ - int eo, int width, int height); \ +#define SAO_EDGE_FILTER_FUNCS(bitd, opt) \ +void ff_hevc_sao_edge_filter_8_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \ + const int16_t *sao_offset_val, int eo, int width, int height); \ +void ff_hevc_sao_edge_filter_16_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \ + const int16_t *sao_offset_val, int eo, int width, int height); \ +void ff_hevc_sao_edge_filter_32_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \ + const int16_t *sao_offset_val, int eo, int width, int height); \ +void ff_hevc_sao_edge_filter_48_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \ + const int16_t *sao_offset_val, int eo, int width, int height); \ +void ff_hevc_sao_edge_filter_64_##bitd##_##opt(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, \ + const int16_t *sao_offset_val, int eo, int width, int height); \ SAO_EDGE_FILTER_FUNCS(8, ssse3) SAO_EDGE_FILTER_FUNCS(8, avx2) From patchwork Tue Jul 26 22:07:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36971 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232242pzb; Wed, 27 Jul 2022 02:31:11 -0700 (PDT) X-Google-Smtp-Source: AGRyM1t+v39PR8rxnsqC/5dRSi1yaDN2/68ApL7Fy8fytpggytnUImFdBmk8vx5lOVcYHbW1NT1l X-Received: by 2002:a05:6402:388b:b0:42b:5f20:c616 with SMTP id fd11-20020a056402388b00b0042b5f20c616mr21667272edb.50.1658914271744; Wed, 27 Jul 2022 02:31:11 -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 d12-20020a50f68c000000b0043ade0b9a7fsi18125715edn.195.2022.07.27.02.31.11; Wed, 27 Jul 2022 02:31:11 -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=oJ1Hi91a; 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 2357C68B88E; Wed, 27 Jul 2022 12:30:43 +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-oln040092073060.outbound.protection.outlook.com [40.92.73.60]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9D7A868B616 for ; Wed, 27 Jul 2022 12:30:36 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RFZEeo7luHsP08U+SP6OtUVE9DGfAm8q5W+QYk3LYzZSPuxgpG3FghT6gtZFPMRAurnxiLbL1lx3dEqHn4fJSxfbc3jdtXDu+vN4qtqGJe0hmEsXZRsAmvILIxcUzJu/+0YS8h71s0NXl7pS0nPurpEPnN04xgcmolS7JimbiLqEAzIY1ax9CLlRoJ7UO7RyfAAd9GY74CYqqjiFgG1sAYe3b++SkGu1HZ1NwBXdY9rHQ+7PEnt7MG/JosimlXHEH4Vxbv5oJFSRE+bTIE5mByk9k4eG17KEcJ0SGpiS1rB4R40PtRnZ3wuwa0uJI8yefuCgBIU7TJFpv+XF+i+9eQ== 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=NhhiPG2Rr+fdEvRP6EYk23UVgYYQgKBhtGQEKSPSkng=; b=ZzSZN0EBdzYE8E2x02W7J8h4ucemcui2dE9C9e99gJmptxrWaL5xFX2kEYnQVaIetc1Z3U74YtS6or/3q/qL5BuD6QHPzSzgooBwWsBbaiKrLThM6ir8hUUhQ82Ctql8jwGTD7QIV9DzACQAT9HulY8wlM/3rivkabOOxF+dd+L0lUQcf4yz7InlJth/unXSWU30LG/YVxF0E59Rm0yDhXn/Ab7hqBwbodxNPXwlvCkwIlM7TOfZUiZrla5uJdj/af0UKM+BUf4bXFOhYiNshwUtMo6jCoUNBTIdaenCPDutH9himAeVTyATg3Szm9VXwqs+8FIXBd2K0NP2GapJ/w== 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=NhhiPG2Rr+fdEvRP6EYk23UVgYYQgKBhtGQEKSPSkng=; b=oJ1Hi91aisxuMEbSrBgr3W0eWWFgtEgp0rIA98SNMHm7DqlGd4FGGQxULag0r0iqBFT6HRoIOsFVlxzIjXwSPCWgktVaQbm8xPM4BkkiOxg6GdKwxJ0XH+bmHgLDCTNhg1O7Q8PNvze01JR7GwU9NVsHtRtiC7R2wzGrwBOCu6L6fKKMx02UeZ8VJqZwWfA22qzVXjCn7c8ThhKNaan54V7gVbmGvxXaRMP8bGtSiggA8tpqSVUfQCkPu4aVJv0A+Y4NZMdCfyRhpLvmsIBfl1KvqoSZFSWmDMlLVKmLJdHCaX/dxZu5E69InAptJTHt371Jh07ngzWPohzDiLeUag== 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:08:23 +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:08:23 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:37 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [LlYnafsg30Y6Ip4P5FW2kSWOwumQPie2] 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-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 993901c5-609d-4137-54d4-08da6f535b4e X-MS-Exchange-SLBlob-MailProps: /mB5ds43bCF1yj8Qt4poal2mNTdkd4U3re0dgIXIAC5Lf7fsSVxNGUiAiFP5UdgdLo6bfZ4n/6hqjIzPHHV7jXh3J/nt//N0OvfMRqaxbPKd4Qsy1iZ7YyeoyWYgd+UqBGp9y3kEQvkjr6gOr0tBdAASdEuj++SMS+A6dmtLkJEzyEbDncApnAf4Ku4vPgiY/U7AIf2XJmCbpYCrRT0tn8gOWMfdQ5HMKptWNdcJ3i2cb87v0Obpy7eWgcKnpOmpXI1BEkhWdC83Wbz4GtTIxEjqcLFZkxMS0mOgWm7X7Fb3dDkAMOeFMMuzH9mhkQcUj13OB2eqP5ARFdOvWz90hhRjYKC/RzbQeoGUcb/62nKrw86u0iY1eeD2oL2fjNYUvMNCfxWGm4d1O4/Wek6trI1Pn5KMMz7C2/h2ksWTVe9P/9q2hTdETbKlXE31SUH5PxAOyi15LfyXu38GXVKbCBBM2o9h5MOTxcNzmAAZhICTvwldRFhkQO5gfrrMBjCqeR6+BR10XqiwDt5UpyK7bL743b5CLdIhtGa7Lk647twi4K4OPidWIBdZZ/9nuk5sLdoMl/alCWqKTQHxcuGwkfiS1wFfkiXhHZaGP18hw2UGQYfk1ftIgnACnci39kwt6CLsQU7hSHhuWl1i2FcQ1d9zYa5BFos81qf5RQCpq/h1ltrdFJaN5a218zAWPZWajvw+qDLUbVU5PF/mHu55m97lPNSBAH+KjGux348bPbsYMmWDPmG/jqSn36h9ZYbCnFPBNrT92XvHowkXp1BsPc0hv3VJYq+q+gyF6xUmu7RHJGq3HZJoWAK1k4Vx87bGiSXT+7iJlktHRA7bHxTQEhopxW7GTin9CZkHaYmoQt3385sL2wcxx3/GhBDw0Efo/bBpeRHz97qbasX99A1BX+qUdrPLtxVHEUyiF71q17g= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Fo1ovDFImDfD2MwBcwTQ/rYcoRdzYAGUI5QDyw2tpwAd4GMSyOapF7m2+C8ZyWWJO7eDQUJ//+n2TJ9ivJZJZD1zxXC0kh7k0Nr+PmjhAjeAIRCfxW9MxtaFfUiLCrZnom75fMSTXKkAibxIegmqQb7wXXun9L0d+MiYgNXwsSGhp6jxW3CQdG/FY8u1xc4Zm2ryKzSvbZ6p+pIvbzGl+xWk+x82zia6daqzINOr+gL2Gq624blNOKY/Yw0S3UDIfLRYxvT4oC8sl20BJOAfYQMSr3AoHj17J4cut4ZAakV3gyHaGKWd2ppx6eTPUvgjo0yhJromlUK7puWNQZKigdzfNxeZ60XhVxLdxFABv1EyUr/zQczGtu7q+wAVXTmQ20ucGmLR8719bbiqvhLgkhoYTWwmSVqqOMvacaEDe80Fkq1OshYvb0FvFsVxRWe6v4mc+YZSEGv1t0OpgRkZRSHBLOZ9IXHLyBpsiKT3aqP+PvDns0qFNeTda/o9+XEsfnAdQNSYtRBeRFT/WuMsPGQgL3+CFCk9vo3tkQ5sv/hfaIYXPmRPqVWX1LmSX686UgmEpqlPhdBuV/CvtXs4ATy+37Pn6p7QxrnI35hblJTBEwSohS8Ua+ywAMEmosecjlapZsbWnDLy6MEYQ9Xa2A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cF6iiQ3WSlr86LZb4MptgPV/LZqwHpwPonwiWuP4uYxj9RS9uR1wBoClBM69WKMM8VdEcYSJnlXWoad98S8xjRbE5WfiWOoa6Smx2GdZp8IjcOAvxbay6qwAyO6ptWbncw6sqGIrV3frCdM0yGPFFpGnEykqNId+CdF03CXUILjxkjCLuOKYoT9wACNed3kFZdquVc3zHxq2lm8Fa9CIN8Hjv/zcpZaO66yfXkayUG4bBxtmz9bTgNMB37wlbJFMV3AZin6oF3HOhX6hwe37rCyUJ26xuBI70vC0U8GlLJ0pyDz6XPXa6L6KpNZ1QBUIFn46EOQUenCeYH8lAPzm3V/Bo9vqJ6TASIFa0dXDcUgVJ3D5nL9O2EsoIPSmSe0gnQnSHXBteFkSjd9/xmUOfZQs3YVVbcKSd9XLeei5IWy1k6gwZpkuSSPgZSd/HXAo0WxL+3tkxgNQGqECy6bvM/gubiK1axN2Op8P6YcEfaZj6xvfkTgxTDGQ70nyj+hc+viFGlAd6wPhoT8oAatVGb+SkkZtQyh0c0HgNCpKDwZ0jRXeUFRI0iyubeoQcCGyy8hAKraSEtZ8IEwmRS3CZCqdHak4fI5DB75oMDQHq/w3mhTg3dFzSixqZWI2vtMsyGe5CPa2iaTv6poIjYKI2gs0KncMxh3sXlg0h3X0+3dSDshQSHvTI4n38Qjmy74gUv1ctYovQKvPL/I2TrG+fFyAWaiL+CcQ9sLAEyciw7Jq2WPYTYDaTgrY7iWPOJixD+fn3u3HHDqIuaZ40H4WXHcteE6NMuA9DmnKkGiAwqaTY8QpB0y7DVeRWqQCjy3abs5n7GkJpxgIJ5LfwI+YpqdMfXeWfEViPbo3lMv7ZVOg9RHTz52xtJcAeZbEY60DTToneM+0P8tfUNx5JQbgwTEnUeOl7kWdpIEXhVWu4Dlw/mGBFvojrvSeXBUq+TFmz1NS3F45GBFKqJ/7Wqjd5rx/DolGzX++hBJp5NmPatgJb/zcS6GxUtV0Y5HDnp8lSiXwWA4fNgPVt3bRa7jU8oBDaHKTD7jJTZPGmDsLTNqk8qwL3ehcj8923Cs25JsO+GoIezQbIhpEsjMS79Z5C187roI/P/2fLcB5laKkkrLmaS+VS4h2wQH7JFFUiBnF8RDQtiVJT85n0UTv4Ov4K7n7BeNmFeR+eTKFkO063KbSEu2M/jAIV/cLPat6S0dHrhdKF7wCtIuxyAxhuGbO8IhrNAakPDUjbB7AdxGnyLgK1OdeiVMtveya9SaW6VKP+1TCwM7+Ki0NFgpIDEpGtUp19YPV6+0Py/8L3WPKfbY= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 993901c5-609d-4137-54d4-08da6f535b4e 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:08:23.3831 (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 02/39] avcodec/hevcdec: Constify src pointers of HEVC DSP functions 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: /9oXpTXzs8md This is possible now that the HEVC DSP API treats them as const. Also constify the AVFrames whose data is used as source in such cases. Signed-off-by: Andreas Rheinhardt --- libavcodec/hevcdec.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 0421db201e..ea196b39a9 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -1205,7 +1205,7 @@ static int hls_transform_unit(HEVCLocalContext *lc, int x0, int y0, ptrdiff_t stride = s->frame->linesize[1]; int hshift = s->ps.sps->hshift[1]; int vshift = s->ps.sps->vshift[1]; - int16_t *coeffs_y = (int16_t*)lc->edge_emu_buffer; + const int16_t *coeffs_y = (int16_t*)lc->edge_emu_buffer; int16_t *coeffs = (int16_t*)lc->edge_emu_buffer2; int size = 1 << log2_trafo_size_c; @@ -1235,7 +1235,7 @@ static int hls_transform_unit(HEVCLocalContext *lc, int x0, int y0, ptrdiff_t stride = s->frame->linesize[2]; int hshift = s->ps.sps->hshift[2]; int vshift = s->ps.sps->vshift[2]; - int16_t *coeffs_y = (int16_t*)lc->edge_emu_buffer; + const int16_t *coeffs_y = (int16_t*)lc->edge_emu_buffer; int16_t *coeffs = (int16_t*)lc->edge_emu_buffer2; int size = 1 << log2_trafo_size_c; @@ -1499,11 +1499,11 @@ static int hls_pcm_sample(HEVCLocalContext *lc, int x0, int y0, int log2_cb_size */ static void luma_mc_uni(HEVCLocalContext *lc, uint8_t *dst, ptrdiff_t dststride, - AVFrame *ref, const Mv *mv, int x_off, int y_off, + const AVFrame *ref, const Mv *mv, int x_off, int y_off, int block_w, int block_h, int luma_weight, int luma_offset) { const HEVCContext *const s = lc->parent; - uint8_t *src = ref->data[0]; + const uint8_t *src = ref->data[0]; ptrdiff_t srcstride = ref->linesize[0]; int pic_width = s->ps.sps->width; int pic_height = s->ps.sps->height; @@ -1560,8 +1560,9 @@ static void luma_mc_uni(HEVCLocalContext *lc, uint8_t *dst, ptrdiff_t dststride, * @param current_mv current motion vector structure */ static void luma_mc_bi(HEVCLocalContext *lc, uint8_t *dst, ptrdiff_t dststride, - AVFrame *ref0, const Mv *mv0, int x_off, int y_off, - int block_w, int block_h, AVFrame *ref1, const Mv *mv1, struct MvField *current_mv) + const AVFrame *ref0, const Mv *mv0, int x_off, int y_off, + int block_w, int block_h, const AVFrame *ref1, + const Mv *mv1, struct MvField *current_mv) { const HEVCContext *const s = lc->parent; ptrdiff_t src0stride = ref0->linesize[0]; @@ -1580,8 +1581,8 @@ static void luma_mc_uni(HEVCLocalContext *lc, uint8_t *dst, ptrdiff_t dststride, int y_off1 = y_off + (mv1->y >> 2); int idx = hevc_pel_weight[block_w]; - uint8_t *src0 = ref0->data[0] + y_off0 * src0stride + (int)((unsigned)x_off0 << s->ps.sps->pixel_shift); - uint8_t *src1 = ref1->data[0] + y_off1 * src1stride + (int)((unsigned)x_off1 << s->ps.sps->pixel_shift); + const uint8_t *src0 = ref0->data[0] + y_off0 * src0stride + (int)((unsigned)x_off0 << s->ps.sps->pixel_shift); + const uint8_t *src1 = ref1->data[0] + y_off1 * src1stride + (int)((unsigned)x_off1 << s->ps.sps->pixel_shift); if (x_off0 < QPEL_EXTRA_BEFORE || y_off0 < QPEL_EXTRA_AFTER || x_off0 >= pic_width - block_w - QPEL_EXTRA_AFTER || @@ -1651,7 +1652,7 @@ static void luma_mc_uni(HEVCLocalContext *lc, uint8_t *dst, ptrdiff_t dststride, */ static void chroma_mc_uni(HEVCLocalContext *lc, uint8_t *dst0, - ptrdiff_t dststride, uint8_t *src0, ptrdiff_t srcstride, int reflist, + ptrdiff_t dststride, const uint8_t *src0, ptrdiff_t srcstride, int reflist, int x_off, int y_off, int block_w, int block_h, const struct MvField *current_mv, int chroma_weight, int chroma_offset) { @@ -1716,12 +1717,13 @@ static void chroma_mc_uni(HEVCLocalContext *lc, uint8_t *dst0, * @param current_mv current motion vector structure * @param cidx chroma component(cb, cr) */ -static void chroma_mc_bi(HEVCLocalContext *lc, uint8_t *dst0, ptrdiff_t dststride, AVFrame *ref0, AVFrame *ref1, +static void chroma_mc_bi(HEVCLocalContext *lc, uint8_t *dst0, ptrdiff_t dststride, + const AVFrame *ref0, const AVFrame *ref1, int x_off, int y_off, int block_w, int block_h, const MvField *current_mv, int cidx) { const HEVCContext *const s = lc->parent; - uint8_t *src1 = ref0->data[cidx+1]; - uint8_t *src2 = ref1->data[cidx+1]; + const uint8_t *src1 = ref0->data[cidx+1]; + const uint8_t *src2 = ref1->data[cidx+1]; ptrdiff_t src1stride = ref0->linesize[cidx+1]; ptrdiff_t src2stride = ref1->linesize[cidx+1]; int weight_flag = (s->sh.slice_type == HEVC_SLICE_P && s->ps.pps->weighted_pred_flag) || From patchwork Tue Jul 26 22:07:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36969 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232092pzb; Wed, 27 Jul 2022 02:30:47 -0700 (PDT) X-Google-Smtp-Source: AGRyM1suaC75PqQkYZ+k7/MVlDYgdGYS3ZLsueRJR06qR5GkNfzrE+ke6WZXRMlggfWfRJuq8GSn X-Received: by 2002:a05:6402:51ca:b0:43a:df65:d180 with SMTP id r10-20020a05640251ca00b0043adf65d180mr22185987edd.255.1658914247494; Wed, 27 Jul 2022 02:30: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 n20-20020a170906701400b0072f7debe7d3si11047821ejj.352.2022.07.27.02.30.46; Wed, 27 Jul 2022 02:30: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="I2FYyO/R"; 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 47BDF68B800; Wed, 27 Jul 2022 12:30:38 +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 A7B7768B616 for ; Wed, 27 Jul 2022 12:30:31 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XXPzwTTSamxdHx161K0HFB1I8FLLrsrPLfeFcXWRddVfgexBsUYfh4ATHhBgyHbSCdNbF7KDH1/tnFr8Hs4e/wpd5Ax0iK1kFlLonGgK+aaa7poFYqzr11t7P0islnqoxt4hjja8xXr7SHdMvo48ZhI4is1qzaL7iYBo5XKUyHP5eA81xw2k0PzqEXweA9yznZRMbQNNb4IrkNZmtS4DjZbOUOYVGPFlVRkl+W5LSkMScaXB9RlL2V8UvgpLZxYakNFzVO9mWa9tQXTJvyQybjXEE2Kg7zR9W2LRFiwSLksMdIRC7wJg376E6jCj9gmDu8WmJlsr/cPHzzu2S9Kx2Q== 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=n5Zs1zEfCIr1bOuSBizpgFc7aLL7UOjSwDSuI9bINaI=; b=EQwBoRqXC2fO8PS3Sh6AP6TRHihAs7L1kViucpNWX+ssCbrMJ9MPhJuosgs13zdhzc06UMpmHAwlht9H3E9DsWYi6GNhRovCFq1nWLO+jMOfGKjPIjW2PTZNO/WfJ4fBgaPMBJFOsRewkOQ12siklBAkzaReKYed3459gPJY26PMV/qlsclHFvx7Ax4xH9IusRImn/tlhsVxjGUG3N886GeemUlbPWVf+EK/BIhY+aINl5cRVeaebRMKCgAq3fvEMTFqTvfruBY9T3x0/87yn6MFeAafbyZwwqpWGZzG8WXHsuZrgyhd3gmW4Wuo1RHphhpirLeTWXcbkkkeboCERw== 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=n5Zs1zEfCIr1bOuSBizpgFc7aLL7UOjSwDSuI9bINaI=; b=I2FYyO/RWOWY5V4lBAMxOxsmUgFdNmwaZHfziRlB1V5HwrkpxXFWdKIsgjb1ijCZq2qxkPMWzJUFNH9npRzTWKv//MdMwBXPXsvBWXEZ5uP6PeowCutoIuXT0n/3eeppPN0D4K9mxJ/WIuYTg6Yt6F9TRXRKjDsRqYZ2517AO9SMQrsW0ip9HfAahkusT8Li6T5k2Kuu3qz1nA9cd5ntDf2E84GRv4O9kCUW+QFdyUJq3RxZAOyDrmhFzWkcOeqycU/7P8M1ru8Ehnvy2z+6AD5PFztMKX4PwuUWvONLXim41pqE/iDHMtNxoNYGg4BOVSH/UeKYX9Undf2uWPh43Q== 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:08:25 +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:08:25 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:38 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [WCTkYwYR8BvDVoxa48b4w2j7K4y9/Gcm] 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-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2c8c5e3f-c5d3-4880-a148-08da6f535ca5 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUY5ttuuuj1VR/QRiIFuZZpFaCK/HcIG7TEDPokokVd+LqnK32WcpqV2hZ39VLq+tbTmMMNadSIcYOt8YnY7QWxjwiWE1RLRX8ZCxY2BSqPtvqY0OFlhwyvsva6ti9VNbfTUVYgjJ+86Kx/xweAUk3u2jKreCTMxBN6ZVyYyLZNJgiHjt39SOjE7aTyOvRMbW6CkCNmktmArKllbT/Tw368MRpDLBcNfcWeFJDEhB2OtNHPIv+MXmn3jC6z6cdLiOz93jFYSkmXvzD71N82Z6rUbFSDguAlDarFMbfi0CRc0MnTb3EnOkfdxXCMVDwx7mpKH2X2g4pGae52fxvpjS88zbxNbt6StqbJ1mx0iab1dCg4yFubranDU1SktsKfvHwRb0Ptdtk1/WbBS4f7cCMfkeGtmhkmzD8qe9yhpmdOx/jjq9fUAlMUh2t+uM9sYWqwJ5DVmB5ddbPab1cAxEvgdRL5KjDoddvCAYfKrBqPDH9UwBg6oDjQFRcT+aTNvFBptYNQFPZkgyEeutO5qzzFGfMbp6ud6UmNR+qLGaH3qzKLUt3gY2GaH+rkU63ofHeTp4g0Fjq+u3jWdTjf5QOQl3yNNaZs7UX/dKkCPMqFCKzFHXRnZk7e2ZUX4LZV393p4pGQ777rOhdZ72kVYUTlAyqY8IoFLaySekrBIunUl9X7PxdkIABAnYR6Gmp6sr7jdLLmLs9xmIw= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WH8xwPo7JGjG10F1Oew1UbOZ2ILdH1myYB70zoLsvVuo97b8fhwaMi3203SPV0GKYJUk9HjLyL9w2Hqh1d6al7ad35K4KCF/dZwoo0pKSroQ6urvj6YM6xPWttqE8PCFqHyG9T+SgyOldJEgKniJh4K6mn1VYCSFGx1cWHXSSPbWCzZ5JtVaE87shWhyE1/Gh4SLo0Kua+KQA29VsvkLVn5fvcZUJO5xrnbVgLX16jFqM8+lc07WfXXThDeBLj+sH8Iozyx7dtx7PPDcKAAqci2QXRX+1j0zhMaBG4J3m7MolwzUDmfvT7S0y1XPZAhelxsUOEoDV4Qxrn2IhY4DHHBDCCG5iKplR+uOQRVVq1eXvdz3M6oLFtRMc/fhAcz9jEzC2kiMXeeEo1h251XgbVNoGZ5Cq6rtREuK9q2f7ESnxMvm+aa1PVWShlTbgtMKdUjfFB0DnlpWQGb2wkwgOrrCFu2hXwfctXK7EdBEktxRRllNq7Fzl+iuI/GXf7swU/4o4gukVd4S5bIzd/XVkh76nXElHoewYngsgII6oiiNCZFDGRyugXCts7dTf1yuHnlgZJJPgYvEWtl1Da2K9j7huejLOIJWXvNB9phXAVO90FEZVjGxBKC62bWxzEG9 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: d3iRh4kij3xciMGK79CoHTTo096JUpRX3fYhVzX8urh7Rzu5RSxxP/1SRE2UdJojwYUyGwRd4/U6/EXLuPRSJutvfAcMDidtXKuftjZeV1NW6EWlv6QjLUAYmeNHri6NWkXAWZ63QoOWL7Q3LOWGuSfXKf2n040zQ4votnsssqmQ2Xv+Jk9Fm8O43PNY5MAaK8uYHAfYouGkUW3bhRogg6NfWQuMCyAFuNZVkjLelWfO1n9dUHB8zhKnBb1BCmmfPB5xC5wa49Hn0lUEC9V2n7ZW799rSn9bH9wl4bgm9RZ7s56wvHX7HCTQNNiSY7IDp+3QEhQZ1TJ27b0U53iwJMbfRbYLPqoXOpV9vte4zIrVAcO4nY7qdhpCU3FSoELQrDwA0N4z3hvdFa6G7C4xYKoPrI/6GvYNxbwEy7LBkggMTnD5sd/uka56LTofHzZ0IY4X6+EEqqOfjlFhNZlbATiXocd5B074CtR3an/lBrr8Z5TOijtKKqP6SDrwQoYYGvFzkyPQMEDwsJ/7UnSdPrqtKjppvzE2w4IwGdXDRPyrBmHSDu1RjNW972TnvHRFDGPtdgpQBelbOZ8IYDRTuWe3p1tT3eFjRop0P604jz94fKnLp6N/T8Sn6ZlRC+dTVSTUih1eeqXD7K0JJuLzbMA4FAsA8EozoPT/gUGjIkcHhA25J+e+5qtSRBCZx9hQT0AkFn2LNGEwZuN3YlMgDPwnOGwcfgOikTYOfA+smwb/1RKqDo9p8aSOtU//p2dz9rPVxruntycNzcHEGWn9wbgvk4HxN5/cN+gF2WpyUEFaBo4qTCG38t6fAsQw4AOz/vCJ1aYMjwuje+rmMJQ3ppJ7xvzaUIxMjRmvRhR1ina9vKiZKGUB2Dm4vpDUxD94zQzK0FF05Ehk1uSifdpqR/YXcsFG7Emb9dGw01icrYzxVP1xyVVnc+AN7932sDICZEGj9f4Lt/HvI2ve/JUnTToRtRmvLozQ5GS3eGY1gbh5tk3qtgqawY++DToC81U05FZodfGIbtd3y0iQt1vB56z6sm9ByI1C34IfvYM2lOA3vjfXhA+lOnrA2TQvFC92Snb4oNPExW+6Oner4AyepWwZgrkFikrnYwe/Z5LdgXx6ixvobD4+7+8tR5dbaIqfI4IrauzxILq5WVO5AVIXNi91aaQsbkW6a4t+hxCg5Q5u2KEK222+pTwEj/IXfJ5vlIxXz9XLaLe7xar29s9YDoyxJkdVa8gteAUzlTU4PGSE6cDLfxAfgt1sY3MGOjyOxE+gCaJAnbRUCuYMfhD4xpUVvKFhk38c+ZGlRNlRbMg= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c8c5e3f-c5d3-4880-a148-08da6f535ca5 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:08:25.6486 (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 03/39] avcodec/threadframe: Constify the frame in ff_thread_await_progress 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: +dlV1EnSr+RD It is safe to call it on a const ThreadFrame*. Signed-off-by: Andreas Rheinhardt --- libavcodec/pthread_frame.c | 2 +- libavcodec/threadframe.h | 2 +- libavcodec/utils.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 8faea75a49..a54d16fee4 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -615,7 +615,7 @@ void ff_thread_report_progress(ThreadFrame *f, int n, int field) pthread_mutex_unlock(&p->progress_mutex); } -void ff_thread_await_progress(ThreadFrame *f, int n, int field) +void ff_thread_await_progress(const ThreadFrame *f, int n, int field) { PerThreadContext *p; atomic_int *progress = f->progress ? (atomic_int*)f->progress->data : NULL; diff --git a/libavcodec/threadframe.h b/libavcodec/threadframe.h index dea4dadc6d..100e068e06 100644 --- a/libavcodec/threadframe.h +++ b/libavcodec/threadframe.h @@ -56,7 +56,7 @@ void ff_thread_report_progress(ThreadFrame *f, int progress, int field); * @param field The field being referenced, for field-picture codecs. * 0 for top field or frame pictures, 1 for bottom field. */ -void ff_thread_await_progress(ThreadFrame *f, int progress, int field); +void ff_thread_await_progress(const ThreadFrame *f, int progress, int field); /** * Wrapper around ff_get_buffer() for frame-multithreaded codecs. diff --git a/libavcodec/utils.c b/libavcodec/utils.c index cae61d80ff..e73e3a7d08 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -949,7 +949,7 @@ void ff_thread_report_progress(ThreadFrame *f, int progress, int field) { } -void ff_thread_await_progress(ThreadFrame *f, int progress, int field) +void ff_thread_await_progress(const ThreadFrame *f, int progress, int field) { } From patchwork Tue Jul 26 22:07:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36970 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232169pzb; Wed, 27 Jul 2022 02:31:00 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vkhgl/GOOIQUL70fDEyZBhVPQy6cnrLhWr6SQy+GvGhJw+BKXigY/cPxZ6dNeFAYFZ7EP8 X-Received: by 2002:a17:907:868e:b0:72e:fac8:ce51 with SMTP id qa14-20020a170907868e00b0072efac8ce51mr17327120ejc.549.1658914259959; Wed, 27 Jul 2022 02:30:59 -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 qw26-20020a1709066a1a00b0072f1c8d0ec4si19403798ejc.584.2022.07.27.02.30.58; Wed, 27 Jul 2022 02:30:59 -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="gfV8Lgk/"; 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 2AFFD68B856; Wed, 27 Jul 2022 12:30:39 +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 5719A68B808 for ; Wed, 27 Jul 2022 12:30:33 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ku7xoHou4WJdB3QUbDynB+qKMR4GLFnwz9HR8jv5Y44Nk55cs4M9IGFix1u8iVSL9Jy1Fr1U0ujYldLHHnr3X1HyH4SFCl1uuxtML9zJzPiPh00dOC912l+JBH6zCk0JwpGZklG+UVidgui5hsS+pDVpb/Eu5CNYAKdg9goY25bEQpvaerALovHpFeXjMAIcx7eAoiU4259A5TxunjwGci1roOhsuAfkcXp1u//NMp/7DVCKAu/eaRZK+5sSrikPu07ffiSZCL26BsjBCGxzh/2IObApHmuTPdIMDdwUmQwzwg9MD01dgNNPl1cpsgmzTvHQB5vyuxT+THsA1etzWQ== 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=cC9Wsae8KajK3fxMhCMe9HryPFQ/1w56TdxlacurMJQ=; b=chrguiQlDS5rqfq50QdhfXmozpwrwCuSv9H7kotU1AtYk6tz1aNSs4yidorDnwuht0YCE53GNQgh7ZlgsF/94Z2ZDEhTw0laqDOkBXsH5rVKXzGnyh7VzipndzCZpGP2mH4TwWiFNYOfBJZbK6BmFgXNmWOwekYX9DUZ5fPSf0nGuuVacCrxYgGU0cP537NWvl3ON/NrJ61cgoE6EnbB8QhbkdrrY+EqEv+j+5nYO+JzWbCA685h+wDeOBkhLpIpI6ZHzFWhG6FANIsf4rn5lMHjy7l9iAKugeP0RseIvEhR66ShIayS+ojv1/1DxWX7hyopxFnsUrPP5ujxg78Zng== 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=cC9Wsae8KajK3fxMhCMe9HryPFQ/1w56TdxlacurMJQ=; b=gfV8Lgk/6jeX3tAr1ly7Qpqk3fGPp+GjkvQGWEbz8AwrCPHt+gNcMvqYZAyeI8zj8cA+aI0RKfkaMXihYRIW8B+gHF/ojWMqcf+gRIzA5FnhqrJxKf6fF/2YorBkDhebTc2pCYT/ZH9DzrNXs3X6b1iVrtWJTCSSNVwj31qhCZ5fqJqI/TLe3k4NSrdaILblcYCgKKdCuEVIk7RxVANsKzuvymuqSU7EkmthogTYa3z8oDw714FCOsnSpJbRDIWownYbDen/rY2qIiouQS1QTt5b3RZVPxgDKGf8JmnQR4VRcR2ug0BFwSenUQ+hvnAywQ6621Mz6YEmp0Vwt45RDw== 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:08:30 +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:08:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:39 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [4IsRXbeYhEu9N2G96YuMlnXlxIfn1LFs] 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-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9a6de434-5aa9-4287-21b7-08da6f535f9e X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYXtfhnesvyBTO45TH0Qjhqouk8lQTpisyjIu3lZsN5UPmT54gKD4Vhe9gbBdlWGHCcl4+2kyRZXe/9dGhkFwzQDETyegLuAf7kFcMvvOtBF89vdIk+cFIgoUR5M2z2Lx5mrRBA0vMRHFO/DPFiUYwmVFt178eI9lc4+Zdg0LlfzJ7FG1Fh4xQhDtl9q+aak4rBuDkTbnQ5ZjUu38EDhAXzfsX/apCzfzs04wnwzwJ962hHxNdDOSq885rwkLyqzajrJP6pJ5WfWkGX4T4RJ499E+1lIiAtLRaguAVX3WqI89CL8LFkglonmFMm08CsRpa9YD2pSwleSoQQ9HOZqxYtLKrfDRulDCB8pa1NUlFTDTqDuxpNe3GFK50L2Yyct52YpMNDr2Koe+aop40x0fSBVCZclAHPKC1jJJack0Ccqw4EbYtZRgVjZVxoOOrcrFUqyZNra7OyIUI/eApJ1plxjwOfydEBi6HOa/WpOoPSlFFb1Oqog6PdgigsjtIp8Q3Pp5tXlpui9Usjt1LqBxY6/+dozlU3klJgFE8rgDNmpt5mkOEG7BxIk3VHgEplJYKXOP94Zb2E024P02UGAhO0SC/1/O6QcoIHQjpIn3LuUQ7jR7GdjDsQZjGpBna5uz/TEfSozCPRnLrzuQAH7tOm8Q2a2AmhzT6z8TSWeUjEAHB4uWrw7Ozs9FhmPeh64QTVKLLwbeAXq8= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wQvJiLzuIqCYr4dYm+dK3vytThW+cFSSGusTR6BosbYJVTqnPNM1gNRdOfOLpetYGwQ9r0m+LJKaYtKBlbC+M5q9oRHj87C+AKqEmoCPmIg59ZXWGXoOaMknOR1GdOn4qFHjSgnAcLOQfL4iDb0YTnr3HYeo35YXi3IKdHZ06Y4ornrFFTSTfszCr0BHhumhi6SYtq/FVyeBZlrPdQSqXB6q+cjF1RA4+r6R1g3eCW4fDxLyysfeHHTMoo/AjJ93PHcVoCfcqQjhU3ZfviSswjJ8cCkJEueOY0pfKZpACnqJOT0Frnf6kRkuyCtIsxMag+A69HbfW3S61HAkOAqaYY71GUr/PKarYIIJIFhnbmsPLxbk+/J5jzLvi5g8k+vnBR7FPFmkQCyjBs25sYtBfPj5w8e+T29+IKogNHCBg0mEFUI7SqrDwaybm71bSdEmI0q6a3TgmGFSqYdC+dhAkDAIV+PZS2arIO6NbJEqkMhMjFt9HS/5ms1Sq/0tnyyGD3Fnq5LN1uTsdoUSxucIOB65tDvcka6IZQIVlGGbJijFcWptcWuXO9+IKJdUakLyahakR6T/zqc2EVW22FN1FNIhwCscVYmRim8Cpqz5n45/vy9PmS3FCkeE9GU4kFmL2gv7fIuG3TIfmyAYHNgZQg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FWYl7TDje/0lxViP2GYbeYgZkLgC6I7GuXkctUB0a+CUewkV33RoBUIKkSixWqLg4mOM6J2I/LxEmh8ISTvEaBi0Nz0mXWjRm2iVTyQvFeBpPLoVhMep1kgIl64Oo/HGfbZNio36pemtwt0u7OIsl3Og4kyT6fkWd0dm08fu9WiBSDEPpu6ckYHVTZHXzWlQ5/s0p184GRi7bmptjIBKogJ21kxdBriHlEgtsDHHthoi+HM39MdeYxOiRM1OiCuMYQeoK7j4epUIi02iiQujQUTscFkCmNFMtyAHc+BVmMbJZXb2LXJYQLuBtkpW/dX4tbOHIOIvuDqjuvTTzNYbYZXdntFAp4zDAEMrC2871L94BXWH32CP6/laVkbZ2D62zpo+Lev6gTvMU7mFqLdoj3FhNVECIA9k2k1Y+vM53q+shFl1UoKA13XNQgh2A+uN+4nR8I8Gpy1I30ebnU3X0IgIMhCxdsL6zP8iOcQPpbu3K5ECq0AB44WZvl/5/SIIAtOerCrYfTXtXL7T0A7S7bjNHTU/HSI2nHNJm2om21sGDC3IvcpmlWBqx/I50nht7HDP457SFbggAHad5wuY4zgh5kFqpzKoQ9K3rLjBTmV3h8/YAiNfOUQU96Z60/ZMovR1bKK4hGU2rZWGq5WRk7prqK1JZnrn18KNobJ/RROHQM+3wGUUV/zNm0HbpQQ1DMmH+y3TJOC/iPzYM9WOrru4GzCF53r1tRSFetLpJZvcNR5XCnKdr9aAbN20hxzyBKLOekXvSFBV+c3d/bP6WOzs5zjjqHic5/ibuOmBd7Q57XCoW4SEv1MMbOpfk+P6Fx5HEOR+NVYOyitCCRZS1fF+T/6pMJ5xzE2jntQGnpSyVrMHNrEMpBaUSHlWy/9JEaHx9cTDaSzn1xILevlVLpe6sIOp8VnRrjrtwWtNfdYa3Hz0PRPceZqgD2tTNt5F/+35R9Uf5VzwfgI09IWPB+MshXM5TmyVGxbenNho/x6DMEJs8JklnrA10TJV4VIcS/9AJCEy4C58OWlGvsXHicI1jDEIO6XBxLtN1VNuaRhzM11VeBubMTaxVNZtropDS8y1hq0mVF8rn1970Jx3KzNquL/SeapGq2qJSOmL1aNTQDhXxaaMZoO0PahjGBeAtS/R9fEAY4LDTDfsr+pSZSF8/REwR33Lixej3dKBwoBZeqv2OXdCUNXJQe9wMp2+84E50gL13vtQUea1bcfTrvRPjyq0gOGk8jYaPiTN9V4SiUXVPM2roFqPNK6/ZlFKLVSna8VI3dToYDCn7wmPkL5f7mHykyp5baN9EMz9f5g= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a6de434-5aa9-4287-21b7-08da6f535f9e 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:08:30.6482 (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 04/39] avcodec: Constify ThreadFrames if possible 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: Q4QcYX2RiELF This is possible now that ff_thread_await_progress() accepts a const ThreadFrame*. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264_slice.c | 2 +- libavcodec/hevc_mvs.c | 2 +- libavcodec/hevcdec.c | 4 ++-- libavcodec/rv34.c | 2 +- libavcodec/vp3.c | 2 +- libavcodec/vp8.c | 9 +++++---- libavcodec/vp9_mc_template.c | 4 ++-- libavcodec/vp9recon.c | 8 ++++---- 8 files changed, 17 insertions(+), 16 deletions(-) diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index d56722a5c2..8f9d0a6231 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -1649,7 +1649,7 @@ static int h264_field_start(H264Context *h, const H264SliceContext *sl, while (h->poc.frame_num != h->poc.prev_frame_num && !h->first_field && h->poc.frame_num != (h->poc.prev_frame_num + 1) % (1 << sps->log2_max_frame_num)) { - H264Picture *prev = h->short_ref_count ? h->short_ref[0] : NULL; + const H264Picture *prev = h->short_ref_count ? h->short_ref[0] : NULL; av_log(h->avctx, AV_LOG_DEBUG, "Frame num gap %d %d\n", h->poc.frame_num, h->poc.prev_frame_num); if (!sps->gaps_in_frame_num_allowed_flag) diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c index bcf6ec3abc..c231797a57 100644 --- a/libavcodec/hevc_mvs.c +++ b/libavcodec/hevc_mvs.c @@ -227,7 +227,7 @@ static int temporal_luma_motion_vector(const HEVCContext *s, int x0, int y0, int availableFlagLXCol = 0; int colPic; - HEVCFrame *ref = s->ref->collocated_ref; + const HEVCFrame *ref = s->ref->collocated_ref; if (!ref) { memset(mvLXCol, 0, sizeof(*mvLXCol)); diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index ea196b39a9..24da690e94 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -1808,7 +1808,7 @@ static void chroma_mc_bi(HEVCLocalContext *lc, uint8_t *dst0, ptrdiff_t dststrid _mx1, _my1, block_w); } -static void hevc_await_progress(const HEVCContext *s, HEVCFrame *ref, +static void hevc_await_progress(const HEVCContext *s, const HEVCFrame *ref, const Mv *mv, int y0, int height) { if (s->threads_type == FF_THREAD_FRAME ) { @@ -1878,7 +1878,7 @@ static void hls_prediction_unit(HEVCLocalContext *lc, int x0, int y0, MvField *tab_mvf = s->ref->tab_mvf; const RefPicList *refPicList = s->ref->refPicList; - HEVCFrame *ref0 = NULL, *ref1 = NULL; + const HEVCFrame *ref0 = NULL, *ref1 = NULL; uint8_t *dst0 = POS(0, x0, y0); uint8_t *dst1 = POS(1, x0, y0); uint8_t *dst2 = POS(2, x0, y0); diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c index 5f3b7d31cd..2ac3f2c7b2 100644 --- a/libavcodec/rv34.c +++ b/libavcodec/rv34.c @@ -703,7 +703,7 @@ static inline void rv34_mc(RV34DecContext *r, const int block_type, if (HAVE_THREADS && (s->avctx->active_thread_type & FF_THREAD_FRAME)) { /* wait for the referenced mb row to be finished */ int mb_row = s->mb_y + ((yoff + my + 5 + 8 * height) >> 4); - ThreadFrame *f = dir ? &s->next_picture_ptr->tf : &s->last_picture_ptr->tf; + const ThreadFrame *f = dir ? &s->next_picture_ptr->tf : &s->last_picture_ptr->tf; ff_thread_await_progress(f, mb_row, 0); } diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 53fc514788..3f6b0100d9 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -1950,7 +1950,7 @@ static void vp3_draw_horiz_band(Vp3DecodeContext *s, int y) static void await_reference_row(Vp3DecodeContext *s, Vp3Fragment *fragment, int motion_y, int y) { - ThreadFrame *ref_frame; + const ThreadFrame *ref_frame; int ref_row; int border = motion_y & 1; diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 10de962118..e474fc5de5 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -1247,7 +1247,7 @@ void decode_intra4x4_modes(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb, static av_always_inline void decode_mb_mode(VP8Context *s, VP8mvbounds *mv_bounds, VP8Macroblock *mb, int mb_x, int mb_y, - uint8_t *segment, uint8_t *ref, int layout, int is_vp7) + uint8_t *segment, const uint8_t *ref, int layout, int is_vp7) { VP56RangeCoder *c = &s->c; static const char * const vp7_feature_name[] = { "q-index", @@ -1811,7 +1811,7 @@ static const uint8_t subpel_idx[3][8] = { */ static av_always_inline void vp8_mc_luma(VP8Context *s, VP8ThreadData *td, uint8_t *dst, - ThreadFrame *ref, const VP56mv *mv, + const ThreadFrame *ref, const VP56mv *mv, int x_off, int y_off, int block_w, int block_h, int width, int height, ptrdiff_t linesize, vp8_mc_func mc_func[3][3]) @@ -1869,7 +1869,7 @@ void vp8_mc_luma(VP8Context *s, VP8ThreadData *td, uint8_t *dst, */ static av_always_inline void vp8_mc_chroma(VP8Context *s, VP8ThreadData *td, uint8_t *dst1, - uint8_t *dst2, ThreadFrame *ref, const VP56mv *mv, + uint8_t *dst2, const ThreadFrame *ref, const VP56mv *mv, int x_off, int y_off, int block_w, int block_h, int width, int height, ptrdiff_t linesize, vp8_mc_func mc_func[3][3]) @@ -2374,7 +2374,8 @@ static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void int mb_y = atomic_load(&td->thread_mb_pos) >> 16; int mb_x, mb_xy = mb_y * s->mb_width; int num_jobs = s->num_jobs; - VP8Frame *curframe = s->curframe, *prev_frame = s->prev_frame; + const VP8Frame *prev_frame = s->prev_frame; + VP8Frame *curframe = s->curframe; VP56RangeCoder *c = &s->coeff_partition[mb_y & (s->num_coeff_partitions - 1)]; VP8Macroblock *mb; uint8_t *dst[3] = { diff --git a/libavcodec/vp9_mc_template.c b/libavcodec/vp9_mc_template.c index 31e692f362..d0c12e81f1 100644 --- a/libavcodec/vp9_mc_template.c +++ b/libavcodec/vp9_mc_template.c @@ -36,8 +36,8 @@ static void FN(inter_pred)(VP9TileData *td) VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; - ThreadFrame *tref1 = &s->s.refs[s->s.h.refidx[b->ref[0]]], *tref2; - AVFrame *ref1 = tref1->f, *ref2; + const ThreadFrame *tref1 = &s->s.refs[s->s.h.refidx[b->ref[0]]], *tref2; + const AVFrame *ref1 = tref1->f, *ref2; int w1 = ref1->width, h1 = ref1->height, w2, h2; ptrdiff_t ls_y = td->y_stride, ls_uv = td->uv_stride; int bytesperpixel = BYTES_PER_PIXEL; diff --git a/libavcodec/vp9recon.c b/libavcodec/vp9recon.c index bfafde8c9c..1cdbc6a71d 100644 --- a/libavcodec/vp9recon.c +++ b/libavcodec/vp9recon.c @@ -298,7 +298,7 @@ void ff_vp9_intra_recon_16bpp(VP9TileData *td, ptrdiff_t y_off, ptrdiff_t uv_off static av_always_inline void mc_luma_unscaled(VP9TileData *td, vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { @@ -336,7 +336,7 @@ static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*m ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, const uint8_t *ref_v, ptrdiff_t src_stride_v, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { @@ -407,7 +407,7 @@ static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *in_mv, int px, int py, int pw, int ph, int bw, int bh, int w, int h, int bytesperpixel, @@ -467,7 +467,7 @@ static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_fun ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, const uint8_t *ref_v, ptrdiff_t src_stride_v, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *in_mv, int px, int py, int pw, int ph, int bw, int bh, int w, int h, int bytesperpixel, From patchwork Tue Jul 26 22:07:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36978 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232909pzb; Wed, 27 Jul 2022 02:32:31 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tbtnMxQeP4ezX81wv7lk5JfL3iiRviyx9/fiOI9xngXxAgqgRMNOPe0EzlbMFxaakCuF/5 X-Received: by 2002:a05:6402:d77:b0:43b:bcdc:ec9b with SMTP id ec55-20020a0564020d7700b0043bbcdcec9bmr22675614edb.183.1658914351324; Wed, 27 Jul 2022 02:32:31 -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 me23-20020a170906aed700b0072b4cba9671si4612169ejb.186.2022.07.27.02.32.30; Wed, 27 Jul 2022 02:32:31 -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=Vsuk3C5U; 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 4B5EE68B8D7; Wed, 27 Jul 2022 12:30:51 +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 99A5968B890 for ; Wed, 27 Jul 2022 12:30:38 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eWIXMWPC3nJ5K56M4yV2FKqezvX2h9mxgyzakOr13ELQ0CmWPJhAEWpgf9nnVTgmxrH5tMjAnMsaJ0bWMFRV5fZUnlVBcWiZARHJC1wbrPOo7mIGkpOUT5aE9l5cBT+ul+pIljoCZBuRBsBfr1TnmJ0itj0a2SZ3Wkt6rpNfa4cWWOe1mHL0Tum0sBaKykE7fEmyWAD4eZslo/1ebkLiGRJunAmB05RBVlWGNHVufuJYOwZXnsOvIk2yd8EZ/otXEUc+25Tds3GzUTsAHS8mQ1Qr9aIVZOH4+JzRz8C/Mxrq29qcBVOehgnYIppoQol+BNN9ZUFyNtZtJP5QlpuM1g== 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=JdtOJNSw6A6G4QBSwQzXG4pOV3kDePxcKF7attyU1vM=; b=XQ3SDTwYt57vAe5ZuVaiTPgoK5gDnT9xa7zTPQqoDXu/Nh5utNY4m+5xfgqBi+sv3GObbOloYfX/PYDzks6JRanwrzaO3+ibQ5lMxhM/fVhs6hn2ZfViENDYOaPXtmCYhXiNzYXPHHkiEW6vh7eXFhfPzzI6jQSHndXiyGjhyA15vQYevOPaYUgNdddCGa+6LBT9WVPr0IbC59BROLphdvZSa9UWfd0xNNZD8dPozgvs3gR3ZDMsx7rCxwHTo2s2+bcLcx9PFGLySmfeybh/qmuc8NYxzuUaTCkmg+JRon2PRrwXbCxgNUPTPBn1s3FHAX8r7r9aorcblc0GJjhUmQ== 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=JdtOJNSw6A6G4QBSwQzXG4pOV3kDePxcKF7attyU1vM=; b=Vsuk3C5U6j+EjglAKThgXydUq/gSCiIjNyWC5a5D8zu7Ndg2Thqxu2D5He7rlF1wEJw82DUEBCujHH9rlb7JN4IfOBmcUcEqn616Go60PnPMfPJ7hUj7i/deDVTqxc2gtAuWm+4lNrhVvGHlhg3kBi1eezcLfWCLhySvKC3xizAkVinipOFCqUHf9LKrbigVta9tj944vX7ovfWKMAsEAnFVPaGRd/pgSX3+DpcjmnMwqnWDiabWd9IiS2MftkFNr7Znb4gdC3Cr0XnwqYO/W6QIkC0VL7KcY45Y3BDngkV0Regby8DGXaxJwwoOvcZ3A2MdjGgGUa6Rkfix7GP6wA== 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:08:38 +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:08:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:40 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [8Y+43lGSkZPOwSQW5MwsikWDJwS8Xwkl] 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-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 522b2d0f-c2a4-4e20-af3b-08da6f536430 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBZQOLWT4s897ePBs9MMVtsqqgHbYRgyWJXXVzQnK1rCmUgKxvgIRXY/pi1SezNZ89Hlh62geA/cLxn0Ihb0N6gyNOCj3xgM6x5d2uzFnmRcCEJEMwXXEaDTGuPujF9YglVaVTVgRUsfWGpBHRKqocCdRS1Q4QBLD8OvXG8FiBhHtlw/lTaK+c5YIWJggjKpdmZpi2hRwa2tpASvEt+NHyRyFwPv930WH/iwSA0L8+LSF/ibt8GwT3Nr/4crgVYcfYNHe/5rDUT36bw4Qk6/zT7ct0hG/Ch4UhliA/jyahlhOQFUoXcTMEJnIRs8RUqjJh+wHQSQtWoxxDA8GXwZmINM2OWHi/onYTEzJoOS+JX148DiMtyTWxLVJBn0DvW17OCKoIbUIBTwdki+TsSrHEt6DCE2iHgqdXoQ9DYvqngs5j0hjz0I5fuSRoAbzZhBjnU3951IrAr5xrfgCW2iIPSufXaqxgOZv5z+/zdJqGzgk+VhdicRbrsqqxrOoDvuX6dXLTIuF8eMVlNfuBb4UaDdFxqmYsRxz3QFPpEemULv6Zwg67k34e/Ko65ScsRkSdJM7VJ1iupNAhbrZDWQyoY8IW+wfg8rXcYhvgyiZEn/d9Wo467eWYD0b95f2igPzNpvkAQm8uGTrjk6PAsrVxTGR+3u0tDRki3Cv0ZVukQropl6ZE3FpPZ4KI3U4Grdn0iup6tiyz2XEHP9v46H1mHiI0tdaqQqPxASr1583M2Hs= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BJkhlNJyTbZ4s4UHcr1QVwW1QnoSgCbLqifBH4RpjY+DSOyzh59BtYpuAD7yTVnnvMBwzeUAGaT4n+VGEMVmZFWF9zAe1yDPpLAhPVnvHpTgMRoLIi5k//b5MpRDLFpUlWKcApdpKtXD07YjXb+BzbIom46mIU8WGaJsn2krxg8dVmOgBH+S37LoqlHASBuyogLLF6t4AQL45PgVgEfdwxLVFDmTtL1rNQ0TLKOiTBDdIPy+nAHqrce7bacef2gpNkH+kuyy9+JPUmw10T2qLrGcAg2DRIx8TbW892Vj/OKTHYC7T8pjpOvEkOzgOc7d2LaKh0yLUIQEM+3iPiJ9XTtoPJjQd/vpbxoyH5Q4MN/UG5tx33Gi8a8L+W8V6vsw0x24AWuCnkWKCq0liEN+be9yWrw/lIs81JX5pM9A7l33vFHcLFmLe3vOAz0v5orTIF9fSYamL0e0VOFLSspdphTifyzIgoHxTF4+wRMO9hEeBQEqOqICPohDVPJ5CBEKx3hG9TMgGLxIrJ/h0VypYTAv/SS7Z9n971DiR03I5SAfS8Atmju9kYaiPRhipjiOnt7fIraTHN+g/kJn7zWXPSqQ7Ue8W6aRtd4afzbcKao58vBcnsLmTkbNiCaPJWpdxg1QGe5LLfSvn8WC3klz4A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uwAFVReOFqDCIPCY4wE587mSncoUNWG5ov+Hcp62X7Jy7I8ksRdLinFp3/TiCcLhruPMBDKnS4+x0H16/L/+8mp6S5wb0HwXcJZtumAFp6cArxu7i9mBUHTTyD8ytQOpiQY/k0XJBHklDTVp3k0J2DUqMBoT/X5NYxJZE/P2rHeHYtxfFAnWLj5A7xr4RFs6BmyI0x3MdyoNtjxombzNW2VrR1VhcFDfqwXRhB0FpzHurnPe+AOMVBDDfqDOnbX+rrClQOg06AS+USpGuKIXCttZMSTQvwHSmgagAgmFM1PdWHkgtZ2bPLJo05LR5Etfdl1U33jDhBmqTv47C/tkJPMikHht9Jm4f6+BjgtCqsb7x3On6r8bIpFFf1UYIz+6Q07ObNFxpndhxSWDywcPS0D8CSYNdzOSkb29BwOigsYetABD04VH46LvJw0cyqnN8f3TG6Y+8MbCHiKZwzuR4U5kgKpinWD+xwRrJbHH00qHmJigJSqZPfBborXY/K6GSX1wEOvJ2VJnKAng5OFoh/OSc2QNyJVqB26sJLbZkjEJ72qwqkmcrpuQo9/Wwz0VMFGjuFcG3eWkcW29miDgjFFvIwVjyt44xoHZh01wVbynGROa9LCaLPHpzA27/lnp2U2M3FWynhdGAFvOlk5//mg+K5wUQE+ECOUBOormsrRCG518pOVqOXn7OnKZ2qEdR6tudpCCSk+PxKTKL++3RohvOW4W54eENoR56lvGN0V0/CizyJ8axMrKs6FlHaAmKU/Fz9ZxnN+9TwUM7pIng+XVeuqA1M7VNYwwEAshI5bJsN4NlrWjqO2hH7biOF3DUwcC2gVvBR45U5Yo3SmG+Fxsg+o3ja/pDAeRwaLuxsTHvk/Vb96w5m3u2xIH1JxnLm+dFwd4BtauII5AS7eJTVcdAUfb1MYvYivljpBQfTV82KxVYQmSPAGmcGVHwjUBZGmf9uqZqfLetlr2GcOKJlIIgTwlQD1ajlW3zYsNf2IWOnQJ9sSGvQhYx1T4WWhTXDirTJQrxjWqzTKeQQzPnFTMRuK3DII4uVzQVlRDvAuJesC3e8uSPNRvSaP0uuT8MJVgfR3W363jilg8CxeyXXYPqy9xtmnn6POji+gG1C8rM8lZgHTlHRSitEFAZMpvA06Z8t1IpFstXfny9awhlyMUhNk7Blx1ZRERBgYHROFnQcRa6JIyQP9M6RjMX+6JUhv8gJ32HBlXhEM94BM1fceLLr0gFqi7QSl0NEFFZ/I0skVLigsefrPnq+sQ+wGqHodf6b41XEybdbQwZqKLUFo+FXfsflUeKfmXS9CAu2Q= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 522b2d0f-c2a4-4e20-af3b-08da6f536430 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:08:38.2883 (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 05/39] avcodec/vp9dec: Constify VP9TileData->VP9Context pointer target 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: 4zeXgZBY3KMy This is possible now that ff_thread_await_progress() accepts a const ThreadFrame*. Signed-off-by: Andreas Rheinhardt --- libavcodec/vp9_mc_template.c | 2 +- libavcodec/vp9block.c | 30 +++++++++++++++--------------- libavcodec/vp9dec.h | 4 +--- libavcodec/vp9mvs.c | 6 +++--- libavcodec/vp9recon.c | 22 +++++++++++----------- 5 files changed, 31 insertions(+), 33 deletions(-) diff --git a/libavcodec/vp9_mc_template.c b/libavcodec/vp9_mc_template.c index d0c12e81f1..9337edcbdb 100644 --- a/libavcodec/vp9_mc_template.c +++ b/libavcodec/vp9_mc_template.c @@ -33,7 +33,7 @@ static void FN(inter_pred)(VP9TileData *td) { 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 }, { 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4 }, }; - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; const ThreadFrame *tref1 = &s->s.refs[s->s.h.refidx[b->ref[0]]], *tref2; diff --git a/libavcodec/vp9block.c b/libavcodec/vp9block.c index 5fdda63545..5d498f0a95 100644 --- a/libavcodec/vp9block.c +++ b/libavcodec/vp9block.c @@ -87,7 +87,7 @@ static void decode_mode(VP9TileData *td) TX_32X32, TX_32X32, TX_32X32, TX_32X32, TX_16X16, TX_16X16, TX_16X16, TX_8X8, TX_8X8, TX_8X8, TX_4X4, TX_4X4, TX_4X4 }; - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col, row7 = td->row7; enum TxfmMode max_tx = max_tx_for_bl_bp[b->bs]; @@ -802,9 +802,9 @@ static void decode_mode(VP9TileData *td) static av_always_inline int decode_coeffs_b_generic(VP56RangeCoder *c, int16_t *coef, int n_coeffs, int is_tx32x32, int is8bitsperpixel, int bpp, unsigned (*cnt)[6][3], - unsigned (*eob)[6][2], uint8_t (*p)[6][11], + unsigned (*eob)[6][2], const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], - const int16_t *band_counts, int16_t *qmul) + const int16_t *band_counts, const int16_t *qmul) { int i = 0, band = 0, band_left = band_counts[band]; const uint8_t *tp = p[0][nnz]; @@ -921,9 +921,9 @@ skip_eob: static int decode_coeffs_b_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 0, 1, 8, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -931,9 +931,9 @@ static int decode_coeffs_b_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static int decode_coeffs_b32_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 1, 1, 8, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -941,9 +941,9 @@ static int decode_coeffs_b32_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static int decode_coeffs_b_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 0, 0, td->s->s.h.bpp, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -951,9 +951,9 @@ static int decode_coeffs_b_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static int decode_coeffs_b32_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 1, 0, td->s->s.h.bpp, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -961,17 +961,17 @@ static int decode_coeffs_b32_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static av_always_inline int decode_coeffs(VP9TileData *td, int is8bitsperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; - uint8_t (*p)[6][11] = s->prob.coef[b->tx][0 /* y */][!b->intra]; + const uint8_t (*p)[6][11] = s->prob.coef[b->tx][0 /* y */][!b->intra]; unsigned (*c)[6][3] = td->counts.coef[b->tx][0 /* y */][!b->intra]; unsigned (*e)[6][2] = td->counts.eob[b->tx][0 /* y */][!b->intra]; int w4 = ff_vp9_bwh_tab[1][b->bs][0] << 1, h4 = ff_vp9_bwh_tab[1][b->bs][1] << 1; int end_x = FFMIN(2 * (s->cols - col), w4); int end_y = FFMIN(2 * (s->rows - row), h4); int n, pl, x, y, ret; - int16_t (*qmul)[2] = s->s.h.segmentation.feat[b->seg_id].qmul; + const int16_t (*qmul)[2] = s->s.h.segmentation.feat[b->seg_id].qmul; int tx = 4 * s->s.h.lossless + b->tx; const int16_t * const *yscans = ff_vp9_scans[tx]; const int16_t (* const * ynbs)[2] = ff_vp9_scans_nb[tx]; @@ -1262,7 +1262,7 @@ void ff_vp9_decode_block(VP9TileData *td, int row, int col, VP9Filter *lflvl, ptrdiff_t yoff, ptrdiff_t uvoff, enum BlockLevel bl, enum BlockPartition bp) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; enum BlockSize bs = bl * 3 + bp; int bytesperpixel = s->bytesperpixel; diff --git a/libavcodec/vp9dec.h b/libavcodec/vp9dec.h index 9cbd5839a8..3621504fc8 100644 --- a/libavcodec/vp9dec.h +++ b/libavcodec/vp9dec.h @@ -163,9 +163,7 @@ typedef struct VP9Context { } VP9Context; struct VP9TileData { - //VP9Context should be const, but because of the threading API(generates - //a lot of warnings) it's not. - VP9Context *s; + const VP9Context *s; VP56RangeCoder *c_b; VP56RangeCoder *c; int row, row7, col, col7; diff --git a/libavcodec/vp9mvs.c b/libavcodec/vp9mvs.c index ddce9b6c84..16a2978035 100644 --- a/libavcodec/vp9mvs.c +++ b/libavcodec/vp9mvs.c @@ -65,7 +65,7 @@ static void find_ref_mvs(VP9TileData *td, [BS_4x4] = { { 0, -1 }, { -1, 0 }, { -1, -1 }, { 0, -2 }, { -2, 0 }, { -1, -2 }, { -2, -1 }, { -2, -2 } }, }; - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col, row7 = td->row7; const int8_t (*p)[2] = mv_ref_blk_off[b->bs]; @@ -235,7 +235,7 @@ static void find_ref_mvs(VP9TileData *td, static av_always_inline int read_mv_component(VP9TileData *td, int idx, int hp) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int bit, sign = vp56_rac_get_prob(td->c, s->prob.p.mv_comp[idx].sign); int n, c = vp8_rac_get_tree(td->c, ff_vp9_mv_class_tree, s->prob.p.mv_comp[idx].classes); @@ -290,7 +290,7 @@ static av_always_inline int read_mv_component(VP9TileData *td, int idx, int hp) void ff_vp9_fill_mv(VP9TileData *td, VP56mv *mv, int mode, int sb) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; if (mode == ZEROMV) { diff --git a/libavcodec/vp9recon.c b/libavcodec/vp9recon.c index 1cdbc6a71d..da6249f82d 100644 --- a/libavcodec/vp9recon.c +++ b/libavcodec/vp9recon.c @@ -36,7 +36,7 @@ static av_always_inline int check_intra_mode(VP9TileData *td, int mode, uint8_t int row, int y, enum TxfmMode tx, int p, int ss_h, int ss_v, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int have_top = row > 0 || y > 0; int have_left = col > td->tile_col_start || x > 0; int have_right = x < w - 1; @@ -218,7 +218,7 @@ static av_always_inline int check_intra_mode(VP9TileData *td, int mode, uint8_t static av_always_inline void intra_recon(VP9TileData *td, ptrdiff_t y_off, ptrdiff_t uv_off, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; int w4 = ff_vp9_bwh_tab[1][b->bs][0] << 1, step1d = 1 << b->tx, n; @@ -295,14 +295,14 @@ void ff_vp9_intra_recon_16bpp(VP9TileData *td, ptrdiff_t y_off, ptrdiff_t uv_off intra_recon(td, y_off, uv_off, 2); } -static av_always_inline void mc_luma_unscaled(VP9TileData *td, vp9_mc_func (*mc)[2], +static av_always_inline void mc_luma_unscaled(VP9TileData *td, const vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int mx = mv->x, my = mv->y, th; y += my >> 3; @@ -331,7 +331,7 @@ static av_always_inline void mc_luma_unscaled(VP9TileData *td, vp9_mc_func (*mc) mc[!!mx][!!my](dst, dst_stride, ref, ref_stride, bh, mx << 1, my << 1); } -static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*mc)[2], +static av_always_inline void mc_chroma_unscaled(VP9TileData *td, const vp9_mc_func (*mc)[2], uint8_t *dst_u, uint8_t *dst_v, ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, @@ -340,7 +340,7 @@ static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*m ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int mx = mv->x * (1 << !s->ss_h), my = mv->y * (1 << !s->ss_v), th; y += my >> 4; @@ -404,7 +404,7 @@ static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*m #undef SCALED static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func smc, - vp9_mc_func (*mc)[2], + const vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, const ThreadFrame *ref_frame, @@ -413,7 +413,7 @@ static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func int bw, int bh, int w, int h, int bytesperpixel, const uint16_t *scale, const uint8_t *step) { - VP9Context *s = td->s; + const VP9Context *s = td->s; if (s->s.frames[CUR_FRAME].tf.f->width == ref_frame->f->width && s->s.frames[CUR_FRAME].tf.f->height == ref_frame->f->height) { mc_luma_unscaled(td, mc, dst, dst_stride, ref, ref_stride, ref_frame, @@ -462,7 +462,7 @@ static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func } static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_func smc, - vp9_mc_func (*mc)[2], + const vp9_mc_func (*mc)[2], uint8_t *dst_u, uint8_t *dst_v, ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, @@ -473,7 +473,7 @@ static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_fun int bw, int bh, int w, int h, int bytesperpixel, const uint16_t *scale, const uint8_t *step) { - VP9Context *s = td->s; + const VP9Context *s = td->s; if (s->s.frames[CUR_FRAME].tf.f->width == ref_frame->f->width && s->s.frames[CUR_FRAME].tf.f->height == ref_frame->f->height) { mc_chroma_unscaled(td, mc, dst_u, dst_v, dst_stride, ref_u, src_stride_u, @@ -568,7 +568,7 @@ static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_fun static av_always_inline void inter_recon(VP9TileData *td, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; From patchwork Tue Jul 26 22:07:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36972 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232327pzb; Wed, 27 Jul 2022 02:31:23 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uF7i9UghCsAE57iw1e7Xt6Dipxxt3dwDkWj8gaPfc0kQ/84Epkt4dNoVszfi5k8b6yAOvx X-Received: by 2002:a17:907:97c7:b0:72f:575:723d with SMTP id js7-20020a17090797c700b0072f0575723dmr16182979ejc.499.1658914283151; Wed, 27 Jul 2022 02:31:23 -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 s19-20020a056402521300b0043c5a4dc3f1si4452908edd.31.2022.07.27.02.31.22; Wed, 27 Jul 2022 02:31:23 -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=HrflXwdu; 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 25F5868B8A6; Wed, 27 Jul 2022 12:30:45 +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 D88D568B87D for ; Wed, 27 Jul 2022 12:30:36 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X67vOLD/t0Y0H8v05c+Q9NpPLr01qUtO0lVIiRXmUFfUQokpg9T6VOTwFpomg/jalML8BtaSoI8EMj4Ay6iZs/HfSeqZKeDnEyKINKLRg0N5z8AxtCokfRar1nslRktqke0ySbrUWxQ6WQxcrXsyHDcJMl2EUr3sbnBGveKB1DSLnshLJPneGUIddxSk0C6fdPn48WPbLojoB9YzNRf5Nk42vvEt5HlBwSSdViQP6lFkZzORtUN+O0Bwk+VhCck2ZuAao0BTqrBDAJxQ71Qx6V0cXlzBzWKavn0+igeXSvCgP+N/NXYmTJAt0y6LnURHXESdfuxoH731OLnsWw0t5Q== 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=TPB4y1NY5zW3EVqr9YWLZ3DuWaORjpm55IT09sEWEws=; b=COFIdONObQ1VdpTidoptDrSS3O5yuj455YbdDfwuGmHyT+Q0eOvZ49xscASlRpHyvU0N+VJKYlg7SVytZ2CgYB6heDMbG5AOSOzJM00jhG4L/ye1CH0ENg2XGE2VeWkYdmjTPkgqB7xbvTJc3RakMvBas0mJ7Z6P+LASUMew7x69GdMuluq2rUVPKkbN51dl0HHKRJXRhdwOW5MJT7D2lNHQW3oI3Ormq0mv75c/YloZRkCZ+mVAeVKN5Cw+Nyy3qHtSG04KPjAHG5qcuGK+9Fp9M5aSWyhq4H06Ptn9UQ4Y00RGQ0BqtV+AQw4YU4pie6ITTbm/hujw3muUve3h3A== 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=TPB4y1NY5zW3EVqr9YWLZ3DuWaORjpm55IT09sEWEws=; b=HrflXwduyosRSYa4pmzdn6wQ8pau7rbg+k2QaXrhQNnFIhmrjcMr+qjxgq4CDynY9Tr+BrEgfewdtxG5sBDUWLfoOyezwAEYwAHVu93r3pmULNQm/MqZ0NAwZ5YlelumuLclPNKjcq7jWelOwFxEU/NXZc+fCsnL0uuRoWnsLuYHSmHHRkoHv+jKO8pb1GrvweNmA+dl8RwcCBDdqmNA8n8fJTNcrSKJTIHGc9OZWzRJtM63ls3PmlBHWkA+7Pu1SO26z/qb8V9j5CmzXGcxhIFf4fF00/2eTtKP1N1wNbT+CLqUtrBw81j0+x3i/0PPQUwx6sk12jlt12/qgbLUUg== 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:08:42 +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:08:42 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:41 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [QIxi2e2EUfzFhXw5TICfuC+LqpZYcsle] 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-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1479291a-5e25-4e62-bee9-08da6f5366d5 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBXLv/83ZzotqQHrehRDjJyPxCxbz+Jhwy9sOXn2mOrR4rhgO3m0VGi6E/wm5wpW03ZsSVZ38o/qzGMoI+VDpam2X925Rx9y6Wcb2n/cIE3fHvnP5Wbzv6APmZLPAbGOWMjIAsOZWzE4hU46gemOezuVLwxnB9FR+vz4zrTnHhZ+TPpKpqxHTkYUlUdlnpvk0Qivo6NqPhin7WxOGbz3JhbP2Z6eGKWee66YJsYwdV3t8Xdt3Ups3Z+dGHHQJMuGz+YpFeWnlD+PtuuIGrZG2s/4rPMJlf4LAtVaIONCbbKWdsR03hOPsWfXe0ihSa2x+9dWJl6YZGyJ7YSYnolpj1hHngdBzEoQixirM1HfgK5sw4VSKJGoRuD/9Vaz1/PSg9hkl2oCjVhAtIoSt0E5tUGJwzZRuGa+bSvK0zCx/hk+bFtXVN3qCy8ENdlKkIvM1b8L9pdz5S48guk/E+3DhjDXFo9Oj1AvuWGCHmpPYZxsRvWjEfJ2fPR4t6zcml3RIoeg4O+YXx6ea9at7bjxm0d8/o0HUEcfKFRkEc5jhHGOThB2sv3bv8JQRro0LZmpWVET2hisKs89RWVCXJS9DSIxEOziFEWgjaAONa79D8f/ugrEmNzD0Ie0dHFVHWI/NDdpje0w/PogzOfs9jCkWBQn9q/4YPUUWU0XhPKDC9IwdKqgUM8f1JEr50/ue7SwVs0mgnzhcwynQVKwznCHtflduUx97QOLlQCXp38YSvfVg= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L3qK285yOxpSITdr3N/zRpggN+bKc9ybmwGnO1vkpW3CTHtuOBpnX3lO2csegZUd1F3QvVfP2Vl3hBLz3D3ak+jvQq/wTR9pMkpeMl95gNCu7UWTauRmsAfjrzCK2Q2Cor7JtGdoitBQei6APhgxsvpBJ4BgDnUkoeBDd1RxyWrIWGwbGCzSVYYifDyhRQFM/oTRveBxM9EzpFuL15hIP0AA2XRotVj85XDA6aXq0cShW6+8wDipM7ySRHQcz9uLP2EZEreY2LkKfC245BDVycc77VTa+/Zxyh6/MmGSawiNUw5351sbmn3wYp9cJwBks0P2OrYv52HBHhEN1bCvCWujjneCrPLPYy7vDePquG9RpIRa/MCD9/xXcz9ILnTjjtNHHesXbuZ3Duq6bo/qgntVZJhsIrMoNBf0VyGJQSh8+k4LvyZLR8394GXuIh1ApIWvPjjfr3wPjuapuNchTnFfLqVZaI+C/Qj5+JT5rVr16VdJQGdWadKFWaPI8A3Xx8BVyJPKa336E+p9/KSgrECTEj1yS5oM23LEznk8r0jgkpcHHm3QX2qcz0aKuNItjfqo3kQ7L5TsIFiNrMQdv24owVlXr3QhZPgNW6LpsXRHLtOEO5HQ/sqbtqL8aLC6wpH1996LTUomrB+ZD2XbGA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rRw7g7PIFD4uPI7ImEuQ19OLknwq/rKF+jp3L+2GG9B1imu+CPwLkXeJvFhrWXC1fS0SmznAjtAHhrT+Tdobd085ylTkYUFERhRT6W3ZldVL7/Hga0UmMP2TgaLfvkHatjg6pguAD1bIadxxHKWRXnm4GE5zxv5NxQf/96yi75jdXWfbXm6kzR18a1BPlYKo4urQAkyf+n6iIwHrBvj7W+3vWmV8cSAs0xazHxeLFt6nL6pajVqMdITSJg4WlJp1/gVBFA1aA8k7ehvH6X1hctCOT+9xdXWS3PetxLvBKhuY+s6Cp+zrKsvIxMRZY49Pul/ixLBLbCGRagO2hWoD70UdOCVDOO4UEmscK0YeGb5tXzFt+6hnSILWD+yhGs/RSl//qDIenVNAMa4H3NnOr+0c0S9nZMOSQmIijvMSN7o1cpQu1XQUya1KAEBmAOymgEWrpQtNmsyD5TzytCe6dCEhhVTznPuK6Q08YmjEeYrWrwFibPbcz+KaKiNPprGOVVax9+2trvb0w39nsMVTcfJpHr8n5qnBXhzAyrDgF2n/NyhVLCATuFHTSnk/l7F1FDyl+rotUfk8w0KfE8ev1SJvyYR7yjq70+qG0d/KvLFdZUfUMdEI2gs348ecpgePWR2zSVW3+3CJ6sr621sV+tW5nppQztkzkRdq4ypE/20K14TmoiFF0zVli8vt01+bkSBIs2o853l5rKjUjejJ2l/VuSPq6IbhQPA66t1NRtqT+yfhALiwIoxiJhbve2ro4TywA4RTdN7/UF6OEV8qQKwOOqONU+TCwC8zIaKuOj7GC7rFqBg3pLIvEXpz0iO1rLzmHXWx913OtGsSSFWLbj86Cgx6QgL/UnI3apesIRP4XQLzCVA77RKQ5EQuFbXUNBIhE2XhJXx2IoForuo7PFt0rs+55G2lLzO2SiCzPhpNT2egzovxJYrYic+ciuOCKC8TbLnMi+v38WQdxnWcnhVHxpK/CSYDkV/bMWWE0EbL7uqbG8W1cRHsK0ULnWLA9FB7Jzb6CNzeC1Jl3E7qN+ImiFcrzDKGe56s2O28ePdfHeVYW1JfHzgtxoKHHdoDuIjKVmSqXgLID+97PyFAz27N1D5M5OcgP+A2sjkmog/bSvsEq+I61AKa1e2CmpRG1HK4oPV8Nfw/A6oDy4S/+N5o+jrcBWd5XofeQKl5EYgGPwhygWxtao+LrJUP4zWSR5Sw+gKoikQ/JZA9j2Nhp1lhNdSJj6htd5kSLtMTlyjYa5IjGFLNJjAdZ0JY/vaTW8pEUjv/msoDp57oxG6VQRobjwr+jQEYoNZF9FCo16U= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1479291a-5e25-4e62-bee9-08da6f5366d5 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:08:42.7724 (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 06/39] avcodec/wavpack: 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: 90nP/qd5LlCI 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/wavpack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index 0e8d1286c2..c12e1d6ec6 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -1616,7 +1616,7 @@ static void wavpack_decode_flush(AVCodecContext *avctx) static int dsd_channel(AVCodecContext *avctx, void *frmptr, int jobnr, int threadnr) { - WavpackContext *s = avctx->priv_data; + const WavpackContext *s = avctx->priv_data; AVFrame *frame = frmptr; ff_dsd2pcm_translate (&s->dsdctx [jobnr], s->samples, 0, From patchwork Tue Jul 26 22:07:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36974 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232588pzb; Wed, 27 Jul 2022 02:31:53 -0700 (PDT) X-Google-Smtp-Source: AGRyM1t7XxiaqoQOomTPjyBN8kvwn3tLW4G/hsX1go2Wj0JGmy7xwGMGCQpnEaMCCs8UnM/xvIaN X-Received: by 2002:a17:907:728d:b0:72f:38d0:b8ae with SMTP id dt13-20020a170907728d00b0072f38d0b8aemr17608115ejc.30.1658914313638; Wed, 27 Jul 2022 02:31:53 -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 g17-20020a1709065d1100b0072f1c8d0ea8si21290361ejt.30.2022.07.27.02.31.53; Wed, 27 Jul 2022 02:31:53 -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=FslPtUwn; 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 E083B68B8B7; Wed, 27 Jul 2022 12:30:47 +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 B563F68B87F 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=DUcTXk3Tsns4PcayPwpcwrwU2G36uv6jTMcMhZ0+927OP0pv/YDpEP9iyLadY4WjdIun6hoPudLrkTUdEqDI/SoSijlFO6NpICs8qYjRy75h3JqQW2/eKtPe/aBAe8tla/8eB5EDsRZqXT9UY5vdu3qfsm471fNObCZOgNLsuie/BM77ekryuxr1qph7cNDZvarU5b71LkUIAqU1iUdnsrAwKcMXGn4tyoXJfmSqWomMjCmdvdbm1lrQMT1ZnDtjXUZW6GDvjsgNDCmyYXlRpHwGdfaVeKnmEBYT0FbVDR2oiDEOA51E+w5eq1VGaivSFjbXW8/PD6ifuqVB1hviFw== 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=cvdPhalxiCzO3gx4QX+kdMeE8uEMz6kY+W678srY1n4=; b=WaJn5mxzzYEHo1DpkqZ2SHSS1FpDCzvQUuNYEvNhGqy3Qq1TGu3GJbq5OM59/Q3RBzploK8iHrj+CYwED/BLApKNk/FK7/Wo0C9jxl6pHH0MwjbJ/zvWtfSA25WxZufg/2h7/s9s5SQ3OmlrhAIwNfgBIeVmS27BzJby7g1nZKbCItjqdtQvFnjUsJUZ5498QzKLcDSepGV6nw/V0a1S2YdxmPmeNqBWRKzawo93O561Je84wAowC4hb8t+bG90BXo24WAY0oOmFfJQ/hLRGuOezLpps4il7vdD9dKI8jpRaL21yJ+wt92k0CeE+Okzp9BWkkiQhGk6eyL8bJIR2FQ== 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=cvdPhalxiCzO3gx4QX+kdMeE8uEMz6kY+W678srY1n4=; b=FslPtUwnZDDINkUiltAnxNk8ahrAYBLqzEbonmeY2ZjwKf4r/aAX5Wzbk2S2IcSEmDqxKSu65LCmv36bst6S7WYS7C/1yjEI8KwuH5h+E2xXHo4BnIfD6Hou0zi95KOYE1nCs29wIsxK9DdOdqrSAeDge8t/9EDNAh/bAaRR3xPuU9nJV04PgSFUWb+rBV307edw3MW54S0i6vgoDCxpBEqN4hR7TTEaDxfMi/6qT3uh5uLRBXXASbb3L3UCs0lySyEyS4DiNWSIMn/pPjh5cTWUex46neGzSO73NEjk4BRowtRtT0I058nkcIX08yI1979kiQs0I1FnVJPUgheoLw== 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:08:44 +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:08:44 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:42 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [0LaoRaHd7WS8bWL7egTZIAV+SsoXg7E9] 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-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 90b72e9d-49c4-4451-6fa8-08da6f536810 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBXLv/83ZzotqQHrehRDjJyPxCxbz+Jhwy9sOXn2mOrR4rhgO3m0VGi6E/wm5wpW03ZsSVZ38o/qyLK6Tqro7rWYZ/eFZMRJhCfsA+9YPCGVaVzaMeDOqj7jHuiEiiRe6xpgG/bA0Rhage+/xvL7cMluifniB4O7RV9UuOnPNyafKgr8oLPh/Cn2od/VRpVcwi9RzXrox7ltvMe4qOdwhkU+aed0Yf3aRLRQdZD7KaYdv+oODV/e/l1IXZ/DZr0MoJeLXBp68dz8ULaY0Lk0t8sMQIVYYXit+fq6h7nIPE/e/LwkR7gQt+AbX+Wxa684WMqbwm2zo8dIYuyskJ+2R+9TOI/QesUpDnR+K6xkWjG3pMHCaIKi2q+H5v6qG2GXQCL4/8F+Grl2TI5D6PsW6cWAbzThzRLsC+cEfl80QvRe17G+JqDgiBqjMXtumwKrixVVArZ7xpuKEKYmXfdRo8vBGuyum1q5zY/0iT60tXlrAk2BI50PLtZrG0QMf5FEnYx4iIPooCrNX5Z14GGYDUKGx0LEFjTQ/CZn+Uyo6c1U8i6MRmdMShVlNt1xHnyvzhn6CeVMENfY/CywdHuzWWeVAni55NDxUn/ujnFQRDSe5pbmX2ElZwe/sq6H29oeAigJ8azE49PKBRbeuZmbHpJFbw8SiHlPKR1P695UGVfX6wzApNMfqaeI25KFTpeVFlwgWz/CipojxDokBeL7jUTs7mL/0ABxEcRv85M7M3t7U= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W9mkuPVYDhopdOLKkyjJswawfkrzF8pmko6vSqcycCvCx+SV4MQOn3jbbS36BQeB4k9Xeex/kbNN5x67MAx1zda1WFEWD2eZ84oljMPl7j1VeWg6V3199MistiPz36aD88f8F9ybj+/PV9HSHBhsJOXPlKtOOzc3ODZGPavEl7D8bjNpOXuc3HYXOGyboK2fiONWGBecf7sHMIHrXREaa5wvt2BGGuTdnKQqv5hVzGXBz+JKqgz6nGhFA0rmAKqwKKgJMjdxhWLK1Mo0VgEk6lzu13zRITwvyiM4O+AhnTfKyErjijyqqvcanPxKJ8sPkpZi4sv21+eEZYxbUIXdCcI4bPTABY9YGbBkPOuaoJ/G5KAfOkNJxj5L6dytYAHJQ7WK3V1OcU2bEZ6UNxlfz/kPCgsm05pcWDJS5ugGA4sZ1r0qZ6/oTAOeWMIo1A8oShxgtY+aZh43sBoDfiV41zVeA057oCPWcenQqyt7+ZtKqQp0cXwnuBZbjgXLShn70R4GzjBNmXXlAMOMR3HUAHwnEzqs1AYhafvWn0Cxc1+bW0XQjJm1kQtZxwxoEweIqTI6w6yYbiq5XRbjXUU5Ip+hR4LEPeGFN033kaP4nhXSN9vqm284MmrOx/giKpiX8H9EnVY7S/oeiJgd/T/OGg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R3xhpE5LnLlyASmi9HWQT/fFRNbWij+a2tV7JifiKUaP640qR+OeNxcyMPSxlj5AO+wo7VRVU292wORoLvgJhmSZGJ98h55H8wH8QOrM4BBZEswLZLxXh5VnLLOkcg3lOoB75KPUEk6yw2kLTnExV2fZOiXVuZzOW/Ik1j2brATSz56fjncBTc/eMXFOPMGKPCIznp8Veh7ANaJuOx36hKJUuffruPWPW4a2dTOJjsfgd7IY7VeHQ2hMatH7ogTmkNj+bLwxnDpT7vW3lXoil07XQdvVKk7K4PNgcRGgUlTK6YpvU40mx4nKk21kUFMFNnqhXMSZlFs69J9mI51LdRO0JUJ/p/Dsg/amrbN4QWzVhFN36m24xu5lu68oPZ39Mehr4LwUSgLW81sOj9/4AHMntTtcN4cJ6FCMR/1/69bDxKUK0GTi6f3oLvNVfBEsCGXH/5nV0p+DOdvPFwJvY7cnmjhea3051zVFVuE/T78/dDIDpJLztrO44H13WvuPC0oO6B8smyJd+6NjUnpug5sG6EQCZItJOAVQQawwAF8j/yUFMMTtHqVIQDX2WAUA9QfaJBY3E4KvFbqKbiLC6sGLLG7b5xOR2C93XVGaeyfjlxSIOxW+CYa98zbeZzMs/LbVJO9jxubWZ7Ws8tB/XKwMqor5AG/kvrHZD24BwGWkVrPiB8KHIoHHxyqGg0INiAru/UW2Y56y+QZRSkxaD39rg3Kjy/LE7UNhtOVIjuDtjBty4kzUiC6VrXvOC6I0XMsY/Ka2OsHIHVvxQZ71NltnDA2uTqiYl+2FV0VRMxFiTejs4Nh+5IojSoOJSpVZyLc+C8o5CrOKhuhRkKaHIrnNrlXgMkVKwzunxgH+Pm1yiyZ2uU5PG3RNSoaCdgKYETsOEmNFzhGONH+mk8m2JmANDrsOWkS7gTqMy3mTH2ASfskdEm7M19PdB+2owZat970JdqdOJbRKMXPxuhPhhStgZGPaUJbstGE/9BaWDnMfGkzX4KNrkbImYGMLwfGlMQ0ZquvJWN2MF3p7aevAGCbwiihf/s/0R1ANgtlE+0ICfMc5qMOQwzJZWYDrdhkyqXCB2eI3lmIXRyKkWUfEGlF7VuB2PaeGffCfGlt6Eqq7Aab08Wadkf0KCBqPg9S5ee/paBJX1Oa/g6UGNwQqHDbQey8bwKpUq8Q4ngqENXthqkzZk+vjaGLQHbNoC4gFVTwaiI1cWuEM9Z36SzBMTbbc0PW3B5D6Fo7QgH9pIGhXvNKP4JKb6gB+HOdCgtXGjjs4zvzQMLJ5Guk9TPc7Vhtvsklp0mcnYVXMT0sE4ls= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90b72e9d-49c4-4451-6fa8-08da6f536810 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:08:44.8347 (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 07/39] avcodec/vp8: 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: lH+3Rm0b0k5b 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/vp8.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index e474fc5de5..d0c26ba00d 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -2582,7 +2582,7 @@ static av_always_inline int vp78_decode_mb_row_sliced(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr, int is_vp7) { - VP8Context *s = avctx->priv_data; + const VP8Context *s = avctx->priv_data; VP8ThreadData *td = &s->thread_data[jobnr]; VP8ThreadData *next_td = NULL, *prev_td = NULL; VP8Frame *curframe = s->curframe; 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; From patchwork Tue Jul 26 22:07:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36966 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232503pzb; Wed, 27 Jul 2022 02:31:43 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vHJJK2pd4sEd8XfyC0P/EPfxGONckYaGnzKQ95a1tCKV3iVTB7QkenEBtjyd6+MyUj7axn X-Received: by 2002:a17:907:6d1d:b0:72b:6d8a:ca64 with SMTP id sa29-20020a1709076d1d00b0072b6d8aca64mr17130478ejc.371.1658914303563; Wed, 27 Jul 2022 02:31:43 -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 la12-20020a170906ad8c00b0070c519c7b69si15728019ejb.409.2022.07.27.02.31.43; Wed, 27 Jul 2022 02:31:43 -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=Xf6ONIAn; 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 E6AA468B8AD; Wed, 27 Jul 2022 12:30:46 +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 5822F68B87F 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=ZzC9HyuiixWbJda+fYlHYvAoVbOfu59ycl6RaKNDDhZy6RIWwpoBrKDHSiCnsoD8kEAKWfX/qY5fZzlLdimUF2Ss+k0joFZ+F7xqTDse8m068XC2SfHZSh07DuMWeTetRsQ9fpkaIzBp4hGaV2epUl+YwrwvbzSGQQh9h5wpCl9xwUTE4wrU4ahKiDgqvEI+udNnsNBbU4Dee0DmanixisHX9ybvTS4brYmWrjDnztm85yQhGI58kTKLk0LVa0sCHsAn+vstqQE7jqvx1GFWSuezyjyBTGuvYmm4h5mtpmnOX2nWAWMlxDN1tI8NSJNfnjt7KazdIjTfQg+gbnJMSA== 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=n+kAH4rJmwlFExxCwUkFVn/Ga7xsiUJxU3NQtY8UXIk=; b=YWNSdMzCD2Ge/1Ix1/tnm2kpPu5nMfjb3giqJUxg2L62k4Bw6RRYrMb9izpgmQW9qy2iIQ5gvX2chtMtKB7BuH/WC7VjrK/h+dpv+4vk3xUWh5XtlyUxvESHmI5oYpjLXI0uMKewmTDN6NzpMHN49+kSO/1Ym4z/UpqRlHtjwFtVoPgjfaIOL2wodNw+aZQP4AFCOJdPkYWBA7gMRiO8tLqSQB2fdrmXrC1M7bNJ6wdt2XfCUVIVNQiq10x8ra9ZtzgPagbVmTS273jtC6FJmHvOAUhZX/rgouy7/jzr8FLwgo9/lEIklZZ1NZ7+nLt7W/fkaomhPJXtaQA3pVDdYQ== 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=n+kAH4rJmwlFExxCwUkFVn/Ga7xsiUJxU3NQtY8UXIk=; b=Xf6ONIAnsshQZXRZfyRSQeHuyv+l3/9SC78BW/qt6nAyZVkvuOFhCS810+Hr67Hy+UJkr0jA88NcQwG9oB94RFYHeRIa2c7URa95gOlhgJ2T9XonPGdm+JFCC+PlGeywbtvnjQkcymq3ymF9x5eOpt6PweyYBvTO7N7Mxxj9LmN2zq2BQMWb9lyjiN0XCc86bzDfY+BAsuNi/YGOEm/A/e71O7ITOGVE7baEjTl+B71h9zyceb4sS8kP3gZHthnsUGRCEa5bIJmM+rMPUIUWmfBJaLUq+aWPKcnWIRW3JZ+mmCRWrBVQYQNPUAOpHjVl8WE4GQ2pMNcKi7rADd9hbw== 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:02 +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:02 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:44 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [lW1f5i8BUnLRw3RYy27aVhcytbETfzuc] 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-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 52a9afc8-b792-4b63-855f-08da6f5372bc X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBXLv/83ZzotqZkQhSppKaxJ8aRYNcXzWNpA8JvgkiOfsCKt0g3uanrk3j80Ux5UehYY4CyPRohjoSpSMc04RiLGT3jHgolvILSlOjXT0eg+mdY98HhOdVvjdhdOqvSQS/AxByGLqCAGPzKsl4I4pYFZ4ZbzVwC+OnjfoihjqY8UQHt2VLxixIy35p2n3JW0cDIQrB0FQ8AKHrI3BJ7nQXJsYd6QUwpfkzQadU/RbS9bQe/3rOh5qiIZLgjAznre4OBzz5ePjk2Bhq2twEhOMWvw/owhijsuiPDtGBhX+i3ul2HETvfu7HOibzQp4x6X7P4HoSm0Pntu6KDYjTM9mWOClYQ1Ba8CtOD+aMWve9d4qHuOUp8c//7ny5YVgrr2ZZf6uxXRXQgq6ThrIZ15q7iIwPoYhaO0xCNIMikOsKKr4uQX6SHUP0CATX8wJXECKv7qZOso7WwjdQa0nwhXMeMKmOg4Rq+MCVyDAY+SgqHwTFDpwcboE7pP2sd3xIRR8+6kawWvOOLklcD7EOFZkXX2Dxuz/fxN9HpRhf26Hq+gBLnM0UgeDgM3NWHlyu4Bc4Z9hLzNl2X39MzKIn6KGlQRuBVXq7tyIpvvCd14u2h5MRWViaGHgnuUE7rmwPbQouqPHooxm4hN0iFR7PgMYXQ2VJmaekWWynAx95xbxnG24/FFERWTe//j/KTwDertwXfTaBdoWNbMeeyqY3VOXZAbXJW/xdsQpS1CmF4ncXSQo= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Q5kMu3aVjTAMM/Qa8wbgu7DBGFtvx8Wu6ROrs7jXXGcmIJrgp4wfdZwSxaYjhBqHUHJ30VZrd/Xg1BLwg+NN2+Xx2gbPgjzoKBTQDAznd0v1amPMPFY8CUxa5BE8p6Wqh6NDS44uLaP7r8cdVjEQ0+8KQjNu939j73fzbOo3DxNgloj+Wbv+Kx3YCeTKL/Mvx3QcpH5h+qzftks1LXwdBu/pI+Ad141FrGD83sAfWaTMRhO7bp2mXiXmwKoDdPd/0BDzil93ARnkLbrLy+OeWPhNgguuTNEFtx4DzIFWTjFj1hTlrp4uLieTGnmgdjbMFglD00bwNH77kBAeC/cZCLOOM2IVoowKIb9Mk/62WwIyevLwjg6zVP7bbpmpK8WqY1DUyFAuoSMfuiL0VBfctp67a/9y4qJ22UYzwoo31weuy+y/mUG53EZ0pyS8hnHEKiTJs9uNCp2cZn6P00Lnnoz0kNnb/fx82ii0MrHz4P6YCte34LuHjrJ28INuhcVvVgEHB39EpnKGBOMtT03D+iZsUKbhJEKnqcDGk3P7ccDHFImcLvCG9mLQ51Vj5vi8pQohWSKDZMuCwplGjxVfd3DVKrYkyNjKdo6QMQWnK0R5nptnIHHMeYm+yhhup2odZuKeOUim7tPQSEIb8rT4ew== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UYALJmR8F/Mk6Z0Ux8L7lHfVno7eXwXaWHgYaz9ODNUJ2CCQfGPSgU4IZFKMn5ajvNR3ZxnmeiMaYCAgduczRlFF6uwZbsyQ4JPWNtATU2ZCvWJ/vvHeBYUDtsb4UuMoOAXadWkXjUylkrDC1xbRYqyWn+VHHcVktlKf+2Ka9QBSZNGAlYAgvZdjvpZiVf+cMuMQ2cSawSSEOLwm7UCddJ3QS37rmMvZE+Twa9BCrtYEnECtvwl9iVx856k7yMwJBpv6buclyur0JGMR9DIzibFzpfDMMuvxYZIQTeoq1LoAdLbzQL+c82yJI2kYFlFhL6tlehxNOtJrZhQH90ZUTMjWEBVkCaokwFHyYQwMooGQW90hHRGDRqcyznd+X5voYFfLUNsiQ6qKeSIyzgFaE5ivRZaM3XDzurLT6e2i0k0ekSkwX3dBQsYYrMFUPGVpPG/GGJo47ZO602vprjG9XCsTRlbcmaH0+PAg5JiAA41R5XKifo0i/Ew47P8QURb9JPjGtHm5JLCGOhrVgyUHMsgzWRWOvzXOXkRt9egn3xhtIwimYLD7bUygjye3KcSp8dhmAofKNHH5X4Ox2mhOQeo3C0N5liFqd9ocmWMKOqtvyRpFUmhFL7SJydviY527h1ZhpHPUUp4JK9/1lCINJy8PiAQyOZZ2A3UFueLLUk5/ixi1t13wRdYdTOX3sQ4maIRBTb9pNNvNSk/38Z/A0lohpKOezQ1CJC0RiAMYj88qLOo4plUxygdJNZA762fvx+sxJO5iZMCTBXgstzozTvUXUNPQtEyDMqPkEVRHS/CpMTGIphjaIoFPQ0jvD20VLd/lcpX4grlU8Q49YPj2LI0gs1RpyCJ1cJ058Wk7Jlio+YBeRv/6zDqrnxsrrK9o4GH83Ba27rHC7SC+bpgnZ48Na/0uCEzS6XkNhyvflAA/PN5piXHEvZIa+Ktqc4Z0BW56JKCCRjxKxBS35PFHtjwAqX0oNoZlmED6/iWiKU7V20iaDtWEfXOxLhIXdvYV1rYEk/0EabCFLFTbuvEbAOvu/EOmXvwvTXELO5bPhEgQbOPh5rGccRI2Ug9K8Q9XqwRuaGUk8HRL9qPqYBFNqsdrp3RNbAq7gxxVy6ssCBur4XyNjwY/vosDJgPWAZT6usRwEkJht1ZZB4ONSEAHxWDJQiLZMFeLRMcpTNaSZPNrv7Q4l1BP7LeqfMzz8V8bqQElehdXYhW9jphjxHjm7/upq6NEGByrd0AlxJ9+X0gtuUTFjMIptHXF4uRgOkvpICEtzPHzpVF/5wOfTW48cAY5tPOQHNQ3c2+F9XANr7k= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52a9afc8-b792-4b63-855f-08da6f5372bc 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:02.7241 (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 09/39] avcodec/magicyuv: 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: wlcrxSeI54tk 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/magicyuv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/magicyuv.c b/libavcodec/magicyuv.c index ae1660eaa3..65dbb6a2f1 100644 --- a/libavcodec/magicyuv.c +++ b/libavcodec/magicyuv.c @@ -115,7 +115,7 @@ static void magicyuv_median_pred16(uint16_t *dst, const uint16_t *src1, static int magy_decode_slice10(AVCodecContext *avctx, void *tdata, int j, int threadnr) { - MagicYUVContext *s = avctx->priv_data; + const MagicYUVContext *s = avctx->priv_data; int interlaced = s->interlaced; const int bps = s->bps; const int max = s->max - 1; @@ -247,7 +247,7 @@ static int magy_decode_slice10(AVCodecContext *avctx, void *tdata, static int magy_decode_slice(AVCodecContext *avctx, void *tdata, int j, int threadnr) { - MagicYUVContext *s = avctx->priv_data; + const MagicYUVContext *s = avctx->priv_data; int interlaced = s->interlaced; AVFrame *p = s->p; int i, k, x, min_width; From patchwork Tue Jul 26 22:07:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36977 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232819pzb; Wed, 27 Jul 2022 02:32:21 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uBAqEyfBEzrY+WM5ggQuAtH1YPdCWdP3g5V7xUiRNroTPpLDQ6nJTmSxVa0Fze+PNYCdXE X-Received: by 2002:a17:906:847c:b0:72b:4188:f940 with SMTP id hx28-20020a170906847c00b0072b4188f940mr17187338ejc.552.1658914341463; Wed, 27 Jul 2022 02:32:21 -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 x2-20020a05640225c200b0043c87a39a3csi3344922edb.68.2022.07.27.02.32.21; Wed, 27 Jul 2022 02:32:21 -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=rRAzWfH2; 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 7A53068B8B1; Wed, 27 Jul 2022 12:30:50 +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 7297568B84C for ; Wed, 27 Jul 2022 12:30:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f+UzrISuQGwdg7WO+psUSmcK+q3V5YnpXEXt2w/U2oyOuiAFtm7AVDFHWPJIyqVo0BFDl6fvVZE66kF1fxN3mqMGfsEcm5w02BJ7NlRndrSz9pvktqNP7fVmtj5ofq5sXDHuIuUbVY/vWbUanAcI5UN6idEG9XowjRkgwL2HiMozugxHfhzJdrwPILde1BMpEQWbUL9n2k5DVFduraA9BhQ8FrV6VKADMvzq8XX9+ubinleNz7Q3IedwYJbnpfZNDkk7T/ArQ6BVlgrqU00RmD7WHfhlldE2FrCL6iJP/gq1Hd08EC596sBPoRLmwve4ZltQEqN2ABNQ+Li00m51fA== 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=SJPnJx61BKew9RnbZKHW4hD0vtlO2KfB45R67UPhFK4=; b=SA+k5nD3WshZFQWnz0SX/t1iCEj8CEhh+i0pPROIzGX1Zi9QAPtPZwr5SUqoaYb+33n3K3CnnCQwzmzwmTS5F/Mq1GzMqbPRpzp9WLm9uHCJzzvItQBgKnqVTEYGR2DXcbfrkwhphN/2lrodQVOLEPf+ZDvouPeQ4xWEevaUod/EqbcMOaL6BFp9tJfepVoKWtLIf1wVQj58F/Jnak/s1hAqvgdJjf7ZxAexdyE/n/J3yyJBeuonZhMGWLxtc69d/AN2sStqquxvUfFYeVxmSIX8AZQfjjXY8UhMJvp2W62fULCtQSF0wbM+rj3UeM7hIldkTsoQxzLm2637b5kYLw== 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=SJPnJx61BKew9RnbZKHW4hD0vtlO2KfB45R67UPhFK4=; b=rRAzWfH28WNmeAQ/86h2ySuN4jWpjCnjONJbstJ0rZuaQxjHYQ1quiXtoZii8XRvJ8sls1yUA5wwLD7bavqpM43ZYPvpfzy5BzEoEelx7ViadSL+V5abyAHAjhBorXLR1Ok/DJm/8rmSey4JIOVQHGrJUoUfJ5wNvwTQBwBeCNMJiGPtipbC0aBSiV3avNiYEbRIiDLyZ3smEDOAACh30biorF0OLsX/IApZZxg3IeyUf9OfnEbpypan5PefafPyaQm3KpGLTfCCOXgLApzFQ7ZsuYZCy6+ZWfToEy5IOyMp6lmyDD9pIozO2uIqBuKUc+xx8RogrR4dj6Efe49AaQ== 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:04 +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:04 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:45 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [LyQrDOcRM8zeTE49zbFzlQZ0sjHlVt6D] 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-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1f5b8894-e267-4f02-279e-08da6f5373a6 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBenjWUQXqlkIM3UReIIOs7lGsPTFx1EZtOOQfmZU9GQl27/Sz0M4qZzBWWJG9YReuoh4zYayCtcVL6FGqA1YagZolVyr/uEA/TmlFp1i0GzlxVwmFUAv//Ui2e3mNnoQrZ7lLiyxQ0BD5YpdYjrmDGls2Lf0fxJNuJ4cexol57rpVPJKuhdHNzt+X5V203Pfm9r5juulHjEbKjvW/ySK22IN5rD9b81LTu6mE9oiCoq2MMX218XDbDo7Iarvp8vxaWD0ka0sMyVUmnTzFu11s1qhs4AsWFQijM79iMksqe13Qy3DCGMet89PK2BWCLlP5iHFhROAMQM9jQ6cAWfn+4olv4PMNSOSP6Fb/oPIBtSffPXkI6oPing1joIGer/AF5b7OWZ7TOQaPR8zcmLpi0ibUpoS/IAdsGskLjruDE5nIMxOZ4fmOoEnRTZMBRBgAyrgLF0uV5HRzpSNpJkRQhHhbzBZiiYL+2nSVX2gUVCeTaI4Jpam1mIEp5TfhXeh66tkBBnaJ39/FPDd+cIqcbpD1tzi3KbJLJqu5bmdNpMraHLwvlcVMxQ3zLlxpmCderg3AUO5qem0BXNxyuXYqyK4cJU2izHeD7qeLZp7wcnaacH9/O4Rkm+avOt6MBrHRIrmNHT6QUcV+uJNZ2uOJaOmus0EjCbpA9G/zFQpfPb0cgqy9XjaKaazJyfCvSp9GUNBpRQ/9MBM0eiLiuVGjoP2lilSuzBD1Y7i2rzWGTlQ= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /ujC0LdrjHCbWVPGaApV+QxVGHBu7SHO+RhDCajR+OZmQdT4lslkq6/LjgfWWjPHakzBDGWzqaNAe1YwohrRYFYoLdT3rVQT31TDpYjh7Ls/PwHxv8pUn4hhrc6BDkb2iq7ICHj9b8AoKdMZtIjIUpND2bLbO9oyaf839zohwY66Ueif2NEcbsPj1woSVwwUhfGwvNnU63+Mp5dIsVZBS7fUyVXF4ixAvPTwwkD/Ak4L0icBO6/CKqwQX0uS0riszlEXsc0z5lVRjKyJ8Dfr150tazlyMdcMy6RmcA4XAKF3zshRQVbmDSbOckcgvXc20t9foFGUYVDeKoVbmhU7pqbDoPJuKw0kr1pKmhz+zP+n+H0o7M/8vRsi+Nmt5QhatnXLh4hm2kTg6BR3tYf7mN0/5VCgQhN7LsCwDZK+nSVc8VRh4LOUz3yYEjIQWjF+LkGClIiiSY8Enq3wIUUtMdYelUgj3DKo5CYQkvjA5cEUBEdkq7LyqFcPlF2hvkHVv2sBWJeIThLMuHDfH3mXBQcvObovSjYmUxuKcg/HS7ODkTtVdNmgnwiP8/sINJVzQqu5VbjdLDEkcVbLexg9tBjf0q51FX3LnJ04kusJFZ09SHeDI4+gJshdoof+OYTzPicH0FHmLZ6GLxB9xc5ILw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UBIEAGfZJRLtx9bczJcwnmKlz4iBjK3E3u9aGOMVp6WslsKyjUFZPF22SfyQuveutNoriFRVi47M2A88WKfJn7KmnNlIr4WxSakte4mgvwv3VM+q5HqB//thQ1ftUcs+AzrHCzlqYDMXGDMtCtbxBMcRnQG6/NROrypuW18nu4a2IMKCRwKXaIKSbQ/O9PPp9wya+pd54ygAC1go8SRMeIYj9ZfRbkdEC8lNUZnN3t/51ju5TDanVzAPVavgXnBonbj7+RC/h3aPg2VcY2yokR383yy39aLe1Rjd7/0W6DHsGKO+hl5c5TtxNRie+y3EF42AkXEmiUKMH0GRvjRM6DM7e3XoLtc5nBARLeRehJKHqPqC5vcPAVIv5dU3Jy0xMgRgr4yKI5YF0XGveyeFO3aNzX98ut2u+nKYpl4uIlAVRIGfkdZ3NRvKtn4bM+X3Z/GhpY0wZd1YkL32sPyT9qxAgzKkOeP5q75pcxTQuFr2TSHjz23QNL1JNeRqNNIWyfcHF0AoU37p4LWrNmT5XAJELZGGX6KdZpAIMQrH0aEPaJ6FupRYNSzbYWWXXqg96wcbfPZNFG6CZsE2GIgDUX4+pnvUE6DI0Joa78qKxMY2oJr0HjQYx2D8kG2F17kcZFsVuKhNs5OuotfMXiEzLTV0CKYSecB1e986z/PwBCJHvKYYYiWSNhVbowVAKxUZ4GJ7iKYVvxvLGYSU2FvavWNin42F0cE9C1e2GHV5/FlA7OxzBfIiY7MXy+bowuJzImbdfuREYncOLbgFzkqKajT73/0x1ieFqaHvOv+OOaCkGMDxytm3ph+a+jnhJ3WT4QS92XARlc52ZtgDc+0WNeMOHV5sHYAJFnWkEHoxL+VZS7MywBT4KBO1u2odyfYUQjnbxN/lwrMEmEjIDoTsGo4Rmy7MIY9ZxzJVwODhcAW8Jc+mxFniBDMMISHJ3U+ZmusqAAHg1JjfUqhljGRPzb+Xda6x7DRhdEZWWSXFEkZgCo8q4oRt9vDsLuFYW1lThB5Vcum/u+Ja85ifYFwjIHBMixdt24QUEiC6EfxSdOwFVxTydTQ4sT0VXypI2SPRMKcx/piWdw6UQBraiH+JKzCXj4jiuCMS3aGqmrIPeHbxWV2+goDz7x9zs4aJQ9D7wfb4NUaQ4+tKO/c+ml1Z3c6+a+1Ad8TemO0hTIphgHSeG2yx2lCdMCLkIzWObyz2Jr6uvv4ZYZaQ5l2ZLAR2ZZM6zSgMWJ27gAYCDtVSfU1yMp19IOsXiAtiyIVPuBSuaJjcryoYJJo8sGQ8dh3jKRmyloC1gOxMXYJOk5INzPc= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f5b8894-e267-4f02-279e-08da6f5373a6 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:04.2240 (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 10/39] avcodec/jpeg2000dec: 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: Qg/QBHgnmTQB 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/jpeg2000dec.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 4823127758..503753c4d6 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -1679,7 +1679,7 @@ static void decode_refpass(Jpeg2000T1Context *t1, int width, int height, } } -static void decode_clnpass(Jpeg2000DecoderContext *s, Jpeg2000T1Context *t1, +static void decode_clnpass(const Jpeg2000DecoderContext *s, Jpeg2000T1Context *t1, int width, int height, int bpno, int bandno, int seg_symbols, int vert_causal_ctx_csty_symbol) { @@ -1745,7 +1745,7 @@ static void decode_clnpass(Jpeg2000DecoderContext *s, Jpeg2000T1Context *t1, } } -static int decode_cblk(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *codsty, +static int decode_cblk(const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *codsty, Jpeg2000T1Context *t1, Jpeg2000Cblk *cblk, int width, int height, int bandpos, uint8_t roi_shift) { @@ -1896,7 +1896,7 @@ static void dequantization_int_97(int x, int y, Jpeg2000Cblk *cblk, } } -static inline void mct_decode(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile) +static inline void mct_decode(const Jpeg2000DecoderContext *s, Jpeg2000Tile *tile) { int i, csize = 1; void *src[3]; @@ -1937,7 +1937,7 @@ static inline void roi_scale_cblk(Jpeg2000Cblk *cblk, } } -static inline void tile_codeblocks(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile) +static inline void tile_codeblocks(const Jpeg2000DecoderContext *s, Jpeg2000Tile *tile) { Jpeg2000T1Context t1; @@ -2009,7 +2009,7 @@ static inline void tile_codeblocks(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile } #define WRITE_FRAME(D, PIXEL) \ - static inline void write_frame_ ## D(Jpeg2000DecoderContext * s, Jpeg2000Tile * tile, \ + static inline void write_frame_ ## D(const Jpeg2000DecoderContext * s, Jpeg2000Tile * tile, \ AVFrame * picture, int precision) \ { \ const AVPixFmtDescriptor *pixdesc = av_pix_fmt_desc_get(s->avctx->pix_fmt); \ @@ -2078,7 +2078,7 @@ WRITE_FRAME(16, uint16_t) static int jpeg2000_decode_tile(AVCodecContext *avctx, void *td, int jobnr, int threadnr) { - Jpeg2000DecoderContext *s = avctx->priv_data; + const Jpeg2000DecoderContext *s = avctx->priv_data; AVFrame *picture = td; Jpeg2000Tile *tile = s->tile + jobnr; From patchwork Tue Jul 26 22:07:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36973 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232429pzb; Wed, 27 Jul 2022 02:31:34 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tSiw7juumirudo3G8VpvAboW8xejyuRt0c9d0roRfryBZYK+hrke4X4MEeRt55bhX54Z0F X-Received: by 2002:a17:907:2722:b0:72b:6a93:bf9a with SMTP id d2-20020a170907272200b0072b6a93bf9amr16165414ejl.424.1658914294100; Wed, 27 Jul 2022 02:31:34 -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 hg3-20020a1709072cc300b006fe8fdac65dsi18482210ejc.745.2022.07.27.02.31.33; Wed, 27 Jul 2022 02:31:34 -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=rI4f1iTM; 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 E9E4168B87D; Wed, 27 Jul 2022 12:30:45 +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 29BE368B852 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=fjNVzrE3Alv/LVlZllKBme+/iUVRxfCEDu0P66NmlCPQ3C6gTsh7yWzAgpFIl79ZezRf9niR2FSpeiRgr41Qh2WdNByotRV6OP626emvtOp3C9wWqrdYvJu3vMMVTxwTr5KQrGdoaUH+63wx/PTAeVlYboZTYu52ds7lsijs22lAjo1M1dearrX4gWvrsHb+57woPlE4FtswPxdpEeSQHsSJXFNxY0MY6T/fYr5sbVdv16Fqpp93VAkAijtWMHZm6RuGugs5LKWsRoD3/QXTGIC4b5Kp/xmM2/UvVfRTjrUfrtzdMj0dCrWptFkuFkuUUCArCwMhiQg0oZKNtuqb1A== 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=Eq6iQhJr2mHih6uS2iCC7+d05lf/PVwxXdPNU4/11e8=; b=SyV0tsh7Q7psxaBokMTWCi2+rJRD/o8HEL27OpoyB7rIjWuPfgYnPQwzsjx4RCkJGniB4HijC4x0SF4PD731pcPTqsKNz+Y66nBAFR9A4c1IW4WD8UvtPL7WjTFjDm8jqVUx3zbB0/BsBRAGx3Mf8vRAjDiqYZVuRq29eFGr731J0DdkvadcJLiX2WhgqLw2CVPLb8eoh7M3nMMW1V3KC9i7ZfcqB046X1GLODzXu7aQxCAHJK9UE5RuLuKEaIGIYoI5YNyyXx57aH82FgeRqZo4+2oV6Hw1yhEepZxiLjDEo4LXWax53EaEh/o955Bh/Xdom2F/Ei29iZRS+RD80g== 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=Eq6iQhJr2mHih6uS2iCC7+d05lf/PVwxXdPNU4/11e8=; b=rI4f1iTM13LSios1HVtnPCQu8hgCriZ33Puo4+WwAqmwGJgUvdFI7/ZTUy3wB1noBfhBb5A20qJs2zBQm5BJdd7UDr3jz/TwpsVSdwa+pLTJH9958hh8pwa7tKmvoDksONKhtAGQSXusV2+j6o+qE1n9wQ16tSiBNnKlyfk7lBLM9JtbOWl8xsTD5WQJkGBRyo5Yks74LswKRH+bgsPLXW1ODpDho/8yffxaE969sGDcgMIQ2kEDyUOsjh+oFWW9FgDBiv5kgROY42YE1DzEnfbELTwMb2z0NTW78khnhCBpGugs9Pban3wiKkrYRRAM1+kOXaNokDnyb1cYZW8uSw== 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:05 +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:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:46 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Gto/i/SOSL6teiMNNtvcodVBUuWoJG7C] 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-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7e38adbc-c615-4a08-5711-08da6f53745b X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBXLv/83ZzotqZkQhSppKaxJ8aRYNcXzWNpA8JvgkiOfsCKt0g3uanrk3j80Ux5UehYY4CyPRohjo9CxHFppXcULLF/xWhj6saf8ouJuJ2b2wxweHUnkArj77wWAYYyx+Ow3Z/4nkTrcdGDo9E3XEduip2l4qBSSaiMyFZCPMjn0s5hy3+IpQSixA0GgGGSV+buNbx+tOyqk5A+sQ+wKxQDpp5npw4TXEODhq+dT1htIZ/HtPkeGDWSdUHnzyKcLJByVO4VmjR/3YLVnz8dzr5QcyesfT20Fz4G/hJnM5vjpWrFbSGXh9789DI9BK7MmLBh0fUQer5h58N0c3D3g3Cd3yoaSwKZZGj4KDHuHcNjbZ27CESH3rUNYd/mzt0eoEp/drMc2WmgkXUY1mYPfWDb94VbIJkDIuxTlv1Nyf29lvJnDnJXsQvV6GII86LxGpetbKBvfdFzID6pXGJFx1GBecaYqRc1me010seZG6LrpawLUNVnqc9dDFXeMucY0vARuXNQpeh6bvDrK9r9l2IwMlEgsBWB4YwDjC53Q/Ti8Vur8hPsVyndqGE6hLr8073n9b2y58VXh+lIahiBrOi+e+JimA1kz/CLXmj880le0338bCBo8zL/x8bKWOSYvoMz/Y8NGCXcWP8lGe61JHosT2Q9aO9k7KaMZx/0xoQQ1q0LAuZcgwNcn3CWcDM3Fa3s6Iv6LaSkzUzNGSXKiZylAstoTMnFOZvUCZ5FbE35BM= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: srdryNqCRYAlRc3zqma0SOZWXPkdm1abdk3gSMAs6nbiz/tI2p2zS6J/ut4rEZNfSXQCibLfJFWgnxNUQDpoKOfWI7mWyNBk87lLOf4ZzHVX6JrSzIwnfKL5T4oy/5NruNlz78dhQ0ek3JO6yqM4xyyfuggu+xFHKaV1B/Uranbapy5LSxrs6sFxUqmVogb5ZGsSxtHM0QMbrahsgfx4E9lH1ryy4r3yDgztXdtexP6ZRK915cs+e+lr0ESr7M3UG0hS16orfOXEXzwUYLU98+Iefu1fvhJ4q/+uTJDm8M7doAcB37ltDXSJhSat3gXcjjEN0P1THBMnLb6MjroisL36krzEhJInoDcjqY2zAeWSVeWKnXEUYHUEsJsuEzQxav7943UCyiTj29rl3MiGKO6ebYCX1Rs/z+Mw4CXFo8GOg8ZMoYyiz/Ut0Y/4Bt/oaQhtgXAQoLjRldlBg3ZFAPAmf1mSuozQeuzmrMDR+fYDKfzmYRNdgr0b26m48fi99bU/Xh6sAMmwgAwJ1wcW4dAyEgXz+YOtNb41YBlX8gFNzuoYeqVeR/P5e3ng27kRQ1crURMHhRF5c9w+3b+Gx1n4XyBscXqc9KBiRnpz78aI2LjKOUMQlOTH65sg2e5ABH3iluhG7dSn2tHJuC+d0Q== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oClUookDKVY8FRyVZhu8CvhMt4yuSieF2844QLkxOAm/fmv01MK9BJkUPweLWLf4RnRoOTA5qH7agWTlKmnFzhCo/14YXPkFuIcWkdrklu1NxhNtZWMKTNUIArxj0Sek9SDqEF6ZCuaZYAMOEaLU/lWxiARrRrQz5wGiIcGhHZTKce6SK70hE9fEohCzIJ/keuhr/qKM6bkzco3Q93h3zIs1N2G2vy1a32omNsII98NETN8HtfL5bwnTJ7LcvZhRg3ixS2YY9+2Hc5dvuZ7x11CG+wxXQEGBFDzFchj8ykf6Pl9L2+rfG22pR46L0rtSoDW439LL0NC2i3EF8eOXcTq+vt5KK93N88WBxDYrzalU8LadWjQhkVQmvUdyXoRLmIf3ZmtErBbYOkzOE3Gyj2v4iwlERcaSawQfsStVY7+7Ymmb451/kC3UaKq016AGZFg/gVXvYFFUCiGbgY+xXmlWwAJ1Ts7Yp421R/xbJuyUZSm5M/OZLmduiI6v0mViA72G3Js21BYASmKcQcxce1PaDkNA0Qx+1ZEI44GgVCOjmerkR6DkbTO59LZ+pbaDp5v6oinIiSyAg8HICZsGDDO6CQKeI7U8CXTTGUN7N25MLpCnSJ9jnbD+gyyHgeTpL3OnFRewzbUlMdEeTF+Ir+8xmPSXj1E7/NCIEEi079SHtCMVYnfiT+jHybntTP+hyV+MahMMmYET71ZTcXwYEgi4SmqsJK/NqyYmKFw5V7L7327B/m/b6eGpesnN3A6ey8jU+7JgJAbE/SaeO+KtUuXBnlOF5zK6wsjdmBXDABjJTjt21gNKze15WUSOWZpsyGUIqTi7n5MJsbo01SslMNeA/M/ltTHkg8GznyIoZX1xQRmBNPHYjTL1NygV0KWn1QrfJkuy/5BOoirhlR2EI6niAg0XufJynZchOJcWf+G3ZjWhWz6KlA4CCQdhyGVRo7NHZBTDb8Fc7LLFP1eTSY6JlroLPrf2At8VF9N2xc+m2iFJ/jbS8jQ2SA2YEY1YCjwIiZEESCgZ+gPsscdpzdQhuigyaNQceMjllcbylu9Zp16zL8lquR9nQLMUbQcTjvYGHQWRDM6zsnVNe2eEgESwWC8VDjUHBMGPDYCP9nnMPp48tzopURvmfPGu8dPs1KZwg0v0cRKDFcJSmto5aIB/cISnIaoLaNQ15MpHXOCK43joxq7i7w7avZKOmWv7QKfra0tT7wQJDxlBpO8gChdJXuZK8VElX4rDl4irUuuwuJ5FFSsIu2fp5xS8buPKnpFV/h8HCmgge5RbWzQJrJ7023wvXxc4SJWkoIgabok= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e38adbc-c615-4a08-5711-08da6f53745b 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:05.4739 (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 11/39] avcodec/dxv: 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: HHAnRAPpX7Zl 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/dxv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c index b3df00a5d8..2a055a3438 100644 --- a/libavcodec/dxv.c +++ b/libavcodec/dxv.c @@ -193,7 +193,7 @@ static int yao_block(uint8_t *plane0, ptrdiff_t stride0, static int decompress_texture_thread(AVCodecContext *avctx, void *arg, int slice, int thread_nb) { - DXVContext *ctx = avctx->priv_data; + const DXVContext *ctx = avctx->priv_data; AVFrame *frame = arg; const uint8_t *d = ctx->tex_data; int w_block = avctx->coded_width / ctx->texture_block_w; 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; From patchwork Tue Jul 26 22:07:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36976 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232745pzb; Wed, 27 Jul 2022 02:32:12 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uSGxXfChakkDwigwvYEKyzZxhcPZy+E2EAQpxqkIDdyMoJb6JtUFQYJ3oEqGEQ7kmGhJPg X-Received: by 2002:a05:6402:5192:b0:43b:d728:d2aa with SMTP id q18-20020a056402519200b0043bd728d2aamr22607499edd.185.1658914332036; Wed, 27 Jul 2022 02:32:12 -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 fm6-20020a1709072ac600b00722d8f8fe8asi14436901ejc.422.2022.07.27.02.32.11; Wed, 27 Jul 2022 02:32:12 -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=RWIfvPoj; 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 BA1FD68B8C5; Wed, 27 Jul 2022 12:30:49 +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 2E6A368B87F for ; Wed, 27 Jul 2022 12:30:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bEt7xMw9kM7YkFS/w0hWitOZ93BRaJXck/u7MuPib9Md4wUzWX/jtJ+Ix9VoixfQ6cjUWP21MCiNkvzK8kphJZ55ZFmVysZY0cHwuEw098/mwR+o6ECVU2MiuAwmlqNXMC9lfehJPqS7d0YodAq5HKxbL2mcaQqY2O4AIjIpYTFhr8C+gihZDQ0YbnLU64NhRiXc9VZNO+fBpch/qxEtBGZx2WHWYTQbS/b2sp3sfDLG1s+TQVjsRTMexdSFyTVGMLf81MJRuYB4N0aL/CEG0HH56mxEEZKIavZr+u7uJjfnoo6Yk/uPeuZJSd1unTm/BITp1siVqvy1AJDFTpC5Wg== 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=yUQag4ycwZNJ1SMvJ9hcihduA2IewCPr4ciFFpRFWpo=; b=IeV78nUH4zaOeMzEr+o4/5K6uTovQGNbFo5FVLunjwEE8pM1Ic6ydfcl+ZOhZJzBwG72bw//6hP66KvijBOmZP5Rc08e8o+uIZ0jaOP/557WE1PyIYmcJyhgXLFUkg0hKlQa1/IhqWa9VHafb7Uwb+p7eb0LNQSjIoEX3ouJJ63LK1ujFncnzjNbq02XaByCpV6NiDH6dTbLsjGFWjjxN766QqOLXYgX6cZ2fW6cgr/xldPwVzNPdWnv9P4NN8hoPtGzfHvnLFEth4ElZKBctiiIZ5SgdxuOgI1DMq1U9KZptp4yaH6kdwHYKLTV+DDYjTovelccSxmcJ23zBR3Qfg== 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=yUQag4ycwZNJ1SMvJ9hcihduA2IewCPr4ciFFpRFWpo=; b=RWIfvPojpimjcL48PqwxBeju6iSSEhvz5tZg+8Zkwa/v9LO9JGZ0luyFZGAq3QaADVtAFs8NY+9HkX/RcVYEnR05eNmPUZr/aqJWyPHz9JDE1y13I43YKv+kh8Y7Y9y8RiKFVfPjmapKhlDqM9sC9iks8m+n3+C0jUTl2k0V2boveElSnZT8SQEUDK1myfxU3c5V83fAfAmyE5NPG/AmGsMpzmjxjKm1Tl9FilgqHNtqRYirDkEk++wYq014q0ZLLg6TNY5UUKOrzuYeA/VathR4YHkDyvslexkhRGgXPUbdDvwOtSEzEdBU9lRI/TpLwCGcqaBxgrbag+g/jE99Nw== 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:07 +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:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:48 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [2Gm/W+9jnJZiIcsc5/A8W0VkGAgllv3H] 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-12-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f1929dc0-5c09-4b1f-3f3f-08da6f5375cf X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYFFFBH7fnh260x9H3g0+rl3BIpukJUS6nR/xn9AZh7RcqwpBxqtdGBNH1b4C71ibJ2RQCIPkuDSUGI8BVVw6CUbXROCOmh+s/++w71XebSphOy+ALdgy8R5oGYnZssvr44mpldMZjh6LEMfWvYTX4QQLTuAcnRZ/kMuIrQA/GGr2+HvYmnWsySuZFMn4tktWMW8ngK6YJ0+4B4ANPS7c/tZ1+UQjZwfOKN+n3gj27raa8ZQ49ZclmanB+rRNPBmx46HwOqhFPCKt8JIRvBywGBsPqwsE4zqMJcgOlJSbWCJaMgT3CusqOpy0YCuYikQTi0WmZXPjW1m3xF+Myowid5NnJwNDqmzpk9pYBHDaEcvPdq4kP+W/ueoVS+87dr3nuEhSg5JmsMY+UWtm/xDGBqBsi/SaNvOlenbG/3imhCbj3/1eJ/G76tsTPZ7lHtugNW3W1yI58dPJnznzQWktlX6qKBlqeFz935HgSq3xlke5ntaOBHxtFdcDVAVRR8O0qDlRQSltVDeGxzqDvYJMZ3vKTkrYlg34vPLSqoemhABeIcePDlzsVU1/9uz3us3YSaFIofDQgwEHxad/RkSYSllrkZ6hx6UC8sQujOVEVn4wbD4LwquxHtP6K7cpf3ocNLTc6tM/B7l8P/y+wAzSOsF0a7YPWB0a31SQBexWE5EIvkdIDfGUrvDAnt8nCRJbC2v4HRxaYeGs= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: I+GtGtcwvY0hpaTEMeBDX9MY3c2nupfji9tG9TShMKdAsWWciL/KrBOL8xw9Lp7WmTPMo2n8vg9h4JWePX+ovEGS96dThtWqZZYBN56cE+oPbhkFq7nimCnX/NUNGEYzrurTlYtN4taAb6A80rjW2MyK1ZzUN7Ie6Rhq3cGP1zSTFlxa/CqC/Y8P9iN/U/mRuQ5isb8iNP5HJn3jOs1yAQUjofvie44U4CvQkckUUlIBQmZpGrKY/v9lHeOoeGt/GXjKpY4l2pSKvwHsFK2sDAzFWe82oG2EKKk/hQ5lh1KziQRmfSrLBG2JkDN1+Nfcb8gaIg/r/xr2PjUgMgNQerZv8DEiB4zYcSh87cT4npVJlt4rRER60AsRvYlGGESiaHFcgs2spO7sSSygbSvTtFMjYWgFsmJyjzkGUzMhJ/stoPhZC+oDUfJ9RkGmouYx8s8IG/EuU1N1/IFoh3LeXPYLiyE+6xaDEp8lLKEmIF+J9vutWh0uNnEbaajvYVSFLdInVqhRnAY5btW/uv/fX+yo422wnun6xqyj8Lyw6utHtVy6IvFMmiyHKhFjbOeMIBcnGyYqR8xM4MU+KILN1oAyDAzu+vrWK9WP20JsFHJu8az7bZIGPwPRBW0v+Ye9 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WmzpxPe9WQq6VnauNC21DFDgxvCiEzCNGmtAi5HdgIJyD4ivDezgu98xuKw7bz1HvN4bWEfDQ1yI9SsYw03Cmwa+LfGTx3dU3/yOYlUJFsY12EY7DQdSqzZBby22rgM3AdmhCzVJEphfZaLHV/rGJffviKjoDeC03/KtDz7OlPyZ56miMqgnnAbWjPnSDdU5gh/WaUc4nnbgJlwHVKcavFWlVedxwmd+fclNvGsWi3C3DPsbinHtOMtFFRC4GdvJ8O1qgEodaWlUgUPKX1COt5hwSVkD1asBayfc8cOhuc84BVZB40f1sSwY2L5sa9CWpfpBC8gQqSdKsuZkO5wDOztsy0CVi6l+2TZrqlO2iHJ47vp2UHUZt+RYXyoaHZZjNhn1NK+zHjbofe4SNHQwn69eXKoNoCKk7/cV0MKvHVc5F3SNZYb8TFiBYkYHj9AZy63Ae1PFd0THKJVP0cyCu4qx89KyUHtguXt+q0s6lpinn6GFMMiob0UYwqv05Xg29wzCrRiAvDp1QHzJwwUEApfBfzBiIGzqfpc3o3Japj1wv2QtVdDsAuUDtrm0MUK/fTDY6QIrKERPLlxvPzb/kdRVZSMUbveivf5XcwQ5mCvJYawsiZLRKAyMBR2uD7eyfLRApiHHHmOljozRbCJH7FYqmB7bXEaTlG0ax3+fimiZatOZSeuTL1X1aHWfPlSd2OVBuO4QXnqACOZe+eei6+iih/XgSUWsz07+4MFSDkFWpk+kXMSdUoSctyMP42OfLTeY6amOWSiKqPKEX4WpEWFmyaE0vJBT9UOtYXnvKDCnHokq5pHR/vRKdpQpyO3WdESF7Uq3dbUGJNWpWP0n+VtMovFncqHG8sWXotHU3kLFJjI7WLzu6abnFAb786KLWtko67wrWqDb3hrJdZHOdpZMr803yeFxbiHIPV1Qc6/noriUyhCpWtkt17o7o4gQnocojkuqYm+KTaCAgzMaFQJa4XiMRNmAKurvVUiQgLUrLaX0rc722AO+EUgHP7z1NpoIT57jj01SrlldeEbt/cyPr7EcHa7KL4aetpsbpXBILgs/AEYxAbXYU205rNSDMcavSXTPlmhkeQqKJRG0jMu02+acW9naXio01lpS3Cui6nMGMlDAkS9RHhcUWMoX6K9pJg5GMmHuYHuoNgGEvvAdIryzaIV50QmSt4mARkN0F2NEJcHEg/c9PLgFR+ZNg4ArDLcQRHajJ83ZQ0XZ9lM9nwiEggTv+as7dvPTCrUfPPbUDxB97uDypicL04IWJ5dOe0OdejmqPXHHAXiSmPO0Sazcy3csIiyAVcts6b8= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1929dc0-5c09-4b1f-3f3f-08da6f5375cf 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:07.8956 (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 13/39] avcodec/diracdec: 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: 6bDfZaGSmvP3 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/diracdec.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index d8fdc27b2c..aef6ab20a3 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -486,7 +486,7 @@ UNPACK_ARITH(10, int32_t) * Decode the coeffs in the rectangle defined by left, right, top, bottom * [DIRAC_STD] 13.4.3.2 Codeblock unpacking loop. codeblock() */ -static inline int codeblock(DiracContext *s, SubBand *b, +static inline int codeblock(const DiracContext *s, SubBand *b, GetBitContext *gb, DiracArith *c, int left, int right, int top, int bottom, int blockcnt_one, int is_arith) @@ -596,7 +596,8 @@ INTRA_DC_PRED(10, uint32_t) * Dirac Specification -> * 13.4.2 Non-skipped subbands. subband_coeffs() */ -static av_always_inline int decode_subband_internal(DiracContext *s, SubBand *b, int is_arith) +static av_always_inline int decode_subband_internal(const DiracContext *s, + SubBand *b, int is_arith) { int cb_x, cb_y, left, right, top, bottom; DiracArith c; @@ -640,13 +641,13 @@ static av_always_inline int decode_subband_internal(DiracContext *s, SubBand *b, static int decode_subband_arith(AVCodecContext *avctx, void *b) { - DiracContext *s = avctx->priv_data; + const DiracContext *s = avctx->priv_data; return decode_subband_internal(s, b, 1); } static int decode_subband_golomb(AVCodecContext *avctx, void *arg) { - DiracContext *s = avctx->priv_data; + const DiracContext *s = avctx->priv_data; SubBand **b = arg; return decode_subband_internal(s, *b, 0); } @@ -721,9 +722,9 @@ static int decode_component(DiracContext *s, int comp) return; \ } \ -static void decode_subband(DiracContext *s, GetBitContext *gb, int quant, +static void decode_subband(const DiracContext *s, GetBitContext *gb, int quant, int slice_x, int slice_y, int bits_end, - SubBand *b1, SubBand *b2) + const SubBand *b1, const SubBand *b2) { int left = b1->width * slice_x / s->num_x; int right = b1->width *(slice_x+1) / s->num_x; @@ -775,7 +776,7 @@ static void decode_subband(DiracContext *s, GetBitContext *gb, int quant, */ static int decode_lowdelay_slice(AVCodecContext *avctx, void *arg) { - DiracContext *s = avctx->priv_data; + const DiracContext *s = avctx->priv_data; DiracSlice *slice = arg; GetBitContext *gb = &slice->gb; enum dirac_subband orientation; @@ -819,13 +820,13 @@ typedef struct SliceCoeffs { int tot; } SliceCoeffs; -static int subband_coeffs(DiracContext *s, int x, int y, int p, +static int subband_coeffs(const DiracContext *s, int x, int y, int p, SliceCoeffs c[MAX_DWT_LEVELS]) { int level, coef = 0; for (level = 0; level < s->wavelet_depth; level++) { SliceCoeffs *o = &c[level]; - SubBand *b = &s->plane[p].band[level][3]; /* orientation doens't matter */ + const SubBand *b = &s->plane[p].band[level][3]; /* orientation doens't matter */ o->top = b->height * y / s->num_y; o->left = b->width * x / s->num_x; o->tot_h = ((b->width * (x + 1)) / s->num_x) - o->left; @@ -840,7 +841,7 @@ static int subband_coeffs(DiracContext *s, int x, int y, int p, * VC-2 Specification -> * 13.5.3 hq_slice(sx,sy) */ -static int decode_hq_slice(DiracContext *s, DiracSlice *slice, uint8_t *tmp_buf) +static int decode_hq_slice(const DiracContext *s, DiracSlice *slice, uint8_t *tmp_buf) { int i, level, orientation, quant_idx; int qfactor[MAX_DWT_LEVELS][4], qoffset[MAX_DWT_LEVELS][4]; @@ -917,7 +918,7 @@ static int decode_hq_slice(DiracContext *s, DiracSlice *slice, uint8_t *tmp_buf) static int decode_hq_slice_row(AVCodecContext *avctx, void *arg, int jobnr, int threadnr) { int i; - DiracContext *s = avctx->priv_data; + const DiracContext *s = avctx->priv_data; DiracSlice *slices = ((DiracSlice *)arg) + s->num_x*jobnr; uint8_t *thread_buf = &s->thread_buf[s->thread_buf_size*threadnr]; for (i = 0; i < s->num_x; i++) From patchwork Tue Jul 26 22:07:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36979 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232964pzb; Wed, 27 Jul 2022 02:32:41 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vSNS6Zu0o4e/S7sQo025yeajRicIZymMV4lqegKtpjZ+ZKX2VXtuB2DcIpPrT9Q4nWG83K X-Received: by 2002:a17:906:8a63:b0:72b:3796:9d0b with SMTP id hy3-20020a1709068a6300b0072b37969d0bmr16870973ejc.573.1658914361383; Wed, 27 Jul 2022 02:32:41 -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 w11-20020a170906384b00b00722e3529906si15670738ejc.324.2022.07.27.02.32.40; Wed, 27 Jul 2022 02:32:41 -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=KOkpE+7U; 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 12C2168B8D0; Wed, 27 Jul 2022 12:30:52 +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 ADBBB68B84C for ; Wed, 27 Jul 2022 12:30:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I7CMO3l/50sfjaQW5haNvlRNiMIDF9dlbqYj0K93qmqak9/fOnjmjY01G2YG9kYr0LJ4PVtgun8VDFqrgAmTrNADZmholGhMZJzNOlLjq57aF5Oswl4ONjqS3ShLIbRD0D0C1zNUh+BdiYOx2nguudG3hpe2Y9lPogk8vumNMefZZbneojLkVkAB4Xi7aG7dONKE3HcdLR0keECJgibY28RxLnZDEkfuma80IsI3gwmuaFOV9dBHAhxm0g5BloZhpxi8NzUdOokftmsQis0NH3dRwMROmYokQ0AffNwPsbdLyTIEA8zfD2UuEN512p7ipT4Q1xF39mxwb2Dgk7l9bw== 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=dLnNqQLLhkBBZDwOnS1CUV1aIpB8PvVqYHLoXopCY4Q=; b=hQSorTl72hGYl7ZxQKmAyvqhBtTKW6bc0AQFobDW6UIPcFMYAYUicu93SenJfdQC/5LbCMoXhFKpG9ePgDCrfrUG0HH9q7jZCSa7/0Be7ej7/VusAv/zL4xQk33/ZDHqBpK8lzb7Vh8OELjAoCS5de3ym9b01aC9a5lOxuMcowoRJnFc/KguUYd+wMeB25P46+rBiqpvMOScUYhVJxp4VkiNa/feBzcqi8jD+7/eSCpbSOIbCk6cRu/5m5Ti6ZI9lHsSAXOhr0bz+mNXSC4vkTHS7At/zpjgz1Z55bduEU8eSA6ulCCQPP8D3l0frIVZMw8F9HELFN0vFsnAx0vNvQ== 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=dLnNqQLLhkBBZDwOnS1CUV1aIpB8PvVqYHLoXopCY4Q=; b=KOkpE+7UjKx6bal48kejtV6cQpcUkwWDWZmUs0dKL79NiSs8oZuAeHDDw9QaYqvBdXkxQS5uh3gOk9eRWQasTjLOTI7M7TPVi5taItLhVbmz9ele8N/azNWyc5MS22XmAq53gw0tduREuXDjs6g4G1oJgwv76plENggqjrWGB4iRuuo3HejmsrIMTufXucECsOodt+xnDSkZE7uzfI8aROA7aTjvUWmrmKXF5UWUMHihPHV64priMjqsc/GcdkdMeVp4pINrzfo/8b9WnVSogq9cyvzPbOpoXfcCUgfMgFso1XM5KLe4S3znygZyA474q0/6kF/5Zek+BbAD3KRDjA== 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:09 +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:09 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:49 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [SHo5Sr8J0mgP91SkIpG/XBYs0/aajVJc] 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-13-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 234ae67a-6862-4c25-aa0a-08da6f53767f X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/ULT2wyjUGO4RaZdS3jmh49tk6XwGwEdX/GxMHP+KTVarCoKwDd7kB6OIfs9i77VSZlwp4L9A4Lv6KbhRsD0UTnNH3299XVCHatdUaOdwnHpf847ceqUVvjLZHVliymc9ag6gJGsYmqQF1cPuXxpT0v4g37H/Jh76f0ayciqea/8+8sfr7+325DvbE+5Kcjbos9y7JXstjbZkhJLJzjyqZEO+Ltl7lxWdSv9PYpvP6Yx6ahi1SCRi8y5oZxbytooDyJcW8zBwyF2bCz3o7lg0f1awf754/k+Pf9lbcTUkDY7z2VydIs41MlyT6LIQlox7DZJKK6R9B6l77U6MUowFrrGeD1YqYhH8m+Gep9Dx82CB97QJz6w+eyPnCJUIEK31+wBpRyutUovM7kAs4VY+TJNGPWjxI9BCdG/Sop9609376LKgV0Za087pfiB/6+KNPV3ns54fFI/tMUF7b2qSa/0kd6VrpM31Da5R6V/eM1Ri69a19HQVPioETTC0zFrYZ8Tcedzme5kLPjwWdSeaNex4/dFmjdrpvzvH6ljgDNQaDUnfgxqdXtPeNN0XDgrr6whPvMQyvcIe7v70NDyGBzOcCDTpM2DlQmh0oeL5LILU8ulDmBOPVhTqGZb0tGXRKgUSFxMIk9Wqb5TqNsPV7h2340Q8HoepM87UPcvEzUDFHh9r0Ivl/R0npjx9Mt/6YROwjQF2GA8HQ== X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DQfYbs1QjmtLEphvXFNDPghIRW+tTbUGBJ2hfZyFp2AiDSW++uCQ1TA++hsjLeowyO3HZlO1SlrfhVcbbxhX6RnwOLxTDgIsalaHuGkSN79A2rrV7iGzXW0vUUaZAQ8JKiFt58Impug0Y/aHZGH0vstiYLK0V2hpTlviQj4v5PtIBY4w9xPOL9aEawvYV2e8XpuVlmJj8qjpSO4j+Q1RxgDs2LSQEDMeUWUssP8JwD1VtrIVvXSch9y+iWFB7Gn0+cvamI36pSSOpr6WPEC0y+aifG2sT9/8pSOkqJRDV9yZfo1GCyNfC5Pw9o0syFU/sR8yy5oBRAM3WVSGf6UBefwpQWNaJjfkhAb/sv5bItx96RNCB3JUQjxVCy02wk7DicndKE7aDOcqhJ1XSK6cwfQqyhiMFcEr2FugsLNmu+bDvZ9L4Mzl2VRlgMFSkQHvBgGJFACPlWGxe7qY6KUcaZCR7tZdTKNaJkko8lCJkjEOa67Of5sO+yX+jm9UQC5eBCKoz2qbOVwSzLZv5bnI7dOBSIcgcQhv5EIo1ZBop5aFK5LHrnJMNHF/Vq/050WAspz+HWlmmOLSyf9xWzF9v8zN0q1Jq1jm227fxGuYaWRYaHIguDHYG0dVgqDkmimobI0ScEbKD1gNJNN7K6pwmA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZM3x/iDXhzgDK34UX2OFnuMaGqN4QZUecaZMloJ/p4lOmmVrTevONK8regu9wonawhUY4klvTNiv9wC1v8lRbt6WYqW+REs8zrspLGF6F/B2170YpA+3ebxua7u7aPFMglEPoKSN//IJ/TMmcetLWSctVtZLtCMeldeszv6jj5QfTWkmIT8JwAeTMpAN/wWRxS7iNWIc/aZ4+FPSmYRvPscyORNSe1kVG6e/7Yb+wcfd3wd4ZIWjMOqOMLwLqCKQvjAnAOJkn4xiwvR5S3LXsTTa+rD5igqROzJYMoV6lQdp42ZbgvJvi80OIUUQJyjDHrGGTzxtB0AJVnrGvjs4NX84/6QKbqpRSXcbf+H19ugHDGcB3UUl3m1lns44IEv4lwituoE0RuKPcUnMPgNRoV6o055uyX83vko9C2yPIn5sqohzm4tn+EBRcm8kFOCXwixwXv1msYrgplSkXjbaOSdkQYwsxp+9pX9ZyC4hV3gTTLfHyg7LDxj1Y13UX0oLM6Tn5sw44ZUnh6DlyyYeUX0SkEQR41qjEHLC5MxS7LRxiJkrWUY726t1ZqFJUm52uSKMTp6PYHdR/3/uiRPnlHKqSm2txlWZJIoFSWOHowV6ZsPQ1cS5h6xhEviXBpMYgn5nNJFM26vRYIdSprh8Ank4C0vb2BF9fIXx/hnrpg52Wf4uo48UpKGTNrboeKEKX4MPsIZf/P960UMVEFTNwMqEOIHm8YKd5MqGPznU3tjpQ777dH8HYBo3srkuAJqmslBC6C/TrPYSlWcbakdwPXUUOOFnFNiAlTDrYAGQDVpgSAOWLg4nUsn22Y62FOv041xKkxTcdJMRtzYCEc3RdY+1YMwtGHmI18QHf/LkEDtCtSzZ0qWNiwLbe4tqW1BZ7Di9ZH0wIvafNimac1Bchmvx1DFG3trkEUUY5N8IAmlXa6ab0ZvG72ILjqvS8EWO1Bdiajp6VueVZXyT/o7v9IaH22BwJxJeUCvmI72VUa6ma2JT2H1EYeKb6gCzGX8ySDYs3ZWow1W06baqM66JfKPZKySbpWvpru938bqYLJw2tOKiOM+JQWmPFj0Q1/xMq2ThZe/R8QUey+jt76gbA3+DzWg3xhynWXpPdgUBqBtznLTv08xLN3IkOgZWxIRhao8pJAv9EW60BkWwToOAMmIzLeudKlMxq/LCElqy8Pm7H19ER5IDX2dMFfZ+cyqYpN9vE4phM9QeOJcsPqD4vWtcC4J+sKWbwuIHtquFNgFJEkMJjDAjW2dMn8EW17zmHq6bHqAqAYLqQ9zD0B4QInD9u257SN9R2rrUxGnE9Zk= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 234ae67a-6862-4c25-aa0a-08da6f53767f 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:09.0518 (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 14/39] avcodec/half2float: Constify arrays in half2float() 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: jrG97j0UHFVM Signed-off-by: Andreas Rheinhardt --- libavcodec/half2float.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/half2float.h b/libavcodec/half2float.h index fd11caffdf..7df6747e50 100644 --- a/libavcodec/half2float.h +++ b/libavcodec/half2float.h @@ -61,8 +61,8 @@ static void half2float_table(uint32_t *mantissatable, uint32_t *exponenttable, offsettable[32] = 0; } -static uint32_t half2float(uint16_t h, uint32_t *mantissatable, uint32_t *exponenttable, - uint16_t *offsettable) +static uint32_t half2float(uint16_t h, const uint32_t *mantissatable, const uint32_t *exponenttable, + const uint16_t *offsettable) { uint32_t f; From patchwork Tue Jul 26 22:07:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36992 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233929pzb; Wed, 27 Jul 2022 02:35:08 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vHU5Y7VFbIeAtwMxRnDdeCvOadw2H4HQm/RsxQGlsjmdVTS1eE2nDNzt+GhiSBJsRQcR07 X-Received: by 2002:a05:6402:40cb:b0:43b:e909:f7cc with SMTP id z11-20020a05640240cb00b0043be909f7ccmr16948712edb.111.1658914508151; Wed, 27 Jul 2022 02:35:08 -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 s17-20020a170906285100b006feb76dbd51si15450379ejc.289.2022.07.27.02.35.07; Wed, 27 Jul 2022 02:35:08 -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=HzRQVmgL; 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 B73F168B909; Wed, 27 Jul 2022 12:31:18 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C04BB68B909 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f+kib+P4SrsjDwbZqdSRrBRCh83EMGJMiJgCX1TURgI26UvNnD99eNOCIgPZ/e+Dz1fPXFkIUG/Z+CsIf24YwGyMjHxt6/okucsxw+9Wj3UXW7NddGnVFxJd/BKwSG/2vXa50NpvTyYXOd4HaNy9sQHPcz+FV75RGaGx9+CpLJV7/gfHmMWrtFpzr1zKDh1HxDVYooJMLlKJhMxvllWqK6THIWb6LS0OV9DjDlz7tfNpbedVaoWhPdFXwN1VgxBgwGnZPcxcJtLYXyEBMhNo5/e+qUoKarWMhaxC+BD5Vn3/dmY574UiquEb4iAylUq7wXRqGig86RtlCWoEf51SvA== 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=KOG+jz1ofXj4g/EnJBGmb6l8krBCI3cbhblJpVWK/nU=; b=FhMqeoBXemOGMiQE8yQQviBNssf8zKl2ItN28u4Jg99/uA7BX6K1P3uAreHs+s+gREs2H+XIrAYt6KEJfVMRDXCMkEpRNV3QZLwJU3UXxy0AVUbjuHaKOJNTfvtJyJP1wXPqPQJWgHa20nt6QuPnohAFZhZH9WsKOuw/nqWYa+pFWP8AID9QKBxlDMb821aFrOarxei0EzJFysHm4qP8ukPfwEdy6gAFM0vMrIT9MB7XqTFW1Pu0JrsA8COE1h4xwJsLSvkJ5cYmDRXpuwAmuO6sR30FIOpA/PmAJX8kYqe5zADtgmMGaQzN1QNiM32wLei0eA3p1bu0WW+9OmIOdA== 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=KOG+jz1ofXj4g/EnJBGmb6l8krBCI3cbhblJpVWK/nU=; b=HzRQVmgL5QoDq1Hib/w3D5fB8PG5sxnHCmfQV5huSF0eRE2QhgqopEbdHV2le28z6IRlRWHCgmPvIDnJten+R0xHgT5UCB45c4AASmI/LQqJIuf8xOKf03575UJcr18OJ0ATStdGOtfOzYjyKhuH/kEzNy2rKaa1idErZEK0NpxvZudhl7P9NWLRq36WO8a+VdBL06WVI4wAKKXqkk+B+U8FkR395nRB9AbslnZtKZOartH63MJ2P1fGuL8Qqo1VUzh6rIOW/ohCjRBFPEmqfk7BJn4JKSKt6ox9PHk3efl6greI+gN+tr/Yojnh2bOImavbrqaVJ3VHT+E5CkueoA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:10 +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:10 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:50 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [QAOPfD7zFzMEQQYq6O9evyXItQUBxl0Y] 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-14-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1d591ca2-b50b-4d6c-2562-08da6f537762 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYFFFBH7fnh260x9H3g0+rl3BIpukJUS6nR/xn9AZh7RcqwpBxqtdGBNH1b4C71ibJ2RQCIPkuDSUEkKPh6kROVrenOMl2ABSTGRy3L6/EobMNUsyBUdg/IgmyWdNSvDPRiKDUbLFj0XLvvEdFgZ+eO3U3RGsYk4Tj6VzrEbxWT2YCS9wgCSb2PyMcHdTvY9FPMBaEzrmaz8W3mGtdoao/Mpc1JBtIO01Hws6zmphFPNk0VuaS3ziL/jkBH7LKn5mF+hZSZ36Ui1OVr2G5kurm8vcvOnjST5pC91f/maIZz7vNVQd+wDdkpdNCPYS67WMzJn12IY2QJpaLDldLSCZb3vAumC1XeANIIbPwBc33eafLaoCvukoJb7ohJ8B6T+poDdtt6/j3QhwlLfDoHfJCn6MqtF5G6M9OWdDCPGAaRXetUXiM6v3kd94XGEmb9uyCY619zYUocsmiOyrU5r8LNVSIrpbYkB/XgRwGcIwJKOTOvDgnzjTr7ZQQv3hE5996F91+BCsagaYB5rkQoNErhkRHLKsCvnoGKwOQeTfEEIs7Fg28ZbpF1vB7LBn32Sb2Bn6zdIkK87ciX6P9AWYukZXT16Zyo7RQcbwO3FOZ7Ys5yD2PzS4wQU6icRnNDP8Bo5mjJo0cW2jlT1awkbVJdBG+18Cqvf58j550jLCxMIhXbl6otFtGc9sg4QXlFtyB9Ni1x0KwLqU= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ma872WvmZZJAQ50EaKvoubVOYYt1+C8pHd7fV+crBY71XjtsiEHXKkW3cyCEs9pJvI4W09+ycmEdZHrkd/+mKtYeIukCkS/Yn+yZYxlmqt0YBZNvJPCGU0Hva8y2/TCRphnG15OJ4vS0wqqGW3V/PspaF6bGqpuPt+4oVXdqtkUhSQwHugVCz4Q+eS21Rh5/KdGeATeNe/sD7W+fNr132knEo9GhJeroWUQ25b/ct2kg/qyKoRKpnvIiQfUmLDJ1/UuuVTBs1UUJznJL95FWbOveQs0GDdDpVzdJdschA0kfEeOM4r+yzAts+6xHV6hfnIIWGwH2+CdsBQbLD+YYRIlshq1p13K0rNYQL0BNeRu/uuZAz/5qyg55LiGcjXDYbNeA9Q6mq+yYjXKQ3f/2jm9h+bvdstP/ifAe+GeT8AEQU8x22LH208tseGCHtowj2PuOZLonsCW6PaNHK+wil2qZ6ABEecDVHRQwIQK7MI1LUIhudjvnyLRaP55hShkeHTLMG2AcGdOjO+zjq9dhHU7eZom2COBnM55XVdiZ2gHr/0/MhGCmaBogO/+EMUdLmRVIjHXAkBoJsiYZ7+m98CYqED2WIu/8RQMfLuNoNGES5QGkg79AUtlrjpgr6KtO3rGjKjHoBVAyUVbhRJXKeQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: a6WRORAOJ9EBoQx8DSewtkfp6Ok7hBZQt3EUtKTKFfW43CsEhwoELahXkvoRJSH5Mnulu6yAE6ocXXuJhsohE0b/1rw99MQZ8S7MJ/d3497uFAxSbROhYz5oEbVR1WwNYoVimDH1cPwmvZfm3neogO6uni8ak417iGbTmE48sqFEXvesqMgiL9eU61MRAAXuweXARgwhncEXXUtQ2SRIS9est/5kQO9byHiKv/ilrB7wX2gvSOlo85hURj1EQ0QcSYHQxRjrwZEwxQEdGhkHNd7pWuFHZkO9lDIGe1T5Kuj/qimbDNsZJlaMnILyPCCgetnBM1mfbZmbo6J1a1CxngY6xRNQLgvBHYn9yy7JXStat8t16yBgvaxQ0eCd3Z7tW1ifRJOyfBikidoQgDJi0zxklsNfKFkae7yFsDGQw9zNtcar3yv0usvZGQkxumIKMrJMwMqKK311PchibGZ1woGGAaM11SrQaKxvPfie2prfCahMJ40rQ5eMKJyLtWbz2L0UYgcOhwVX4jvqq8lB5NkQpT7MyVmKrrV10Q0GJcVm/XicR1e2AMps3yM1eELl+3CpPHEyho9fE1zL9BA/oBcD0LGvfaEDwMxPwh7U/8mXojzfPzWDDfd2dLk3dDI0xB7uD/2FHEO2VqDZJK6GKY2Wo8crHjWPL0fgU1OrsRSJaz9W3/w5akAmCNypGsD6+uip7OVflMHgmUyahsKTqWyCtzM7xNa1RsCRAnPNW4nCWRMQzQ+ygbNRoY9ZBx1G6dsbQaeeU7ypaA5fjN2lL11Zku0YI7mfRuXugtx0+9PRhL12aVjKZFQ8KKLv8c+/yMuxdwo6M3FarNs1RvDmheYMe4mVDrM4Hfluv/ge0ctdTuLaM6yzpKGMPOr3/3FIL3BTHQqL+Zebc5obGt2/6Rq5XUEza3YuId+yoYswKxLL9fq30/D7uRfOg00aGztYqax68qJ1L4J5AfhHLAjGUZoLo8sSPwLAqtfhsPjex3X0q+6EyKQnw22wCg39aAqlF39ZQe6+91XFsIL0Yw1Ul2ChO59AaMfhdCkWwoQsJ9DtxaVqcqjgGX1VCqGa/oCwXfYvXY2B5Hn/zeDraBpy81VGqZjtVs/GF/HoQfELXRvPK2UxjFkQZWhr+UIwUCaKmb6kdoTGMBKF26NduisLnAg6G5mftNaVVLaQUBLnxvzoG6zYjCG23pKUssy0KU5+00w3EFcZ+yDZfr6qd3O0UHfnzxmx4/cAhpLyDSuqasYDOARsCTUpGEyA0a0Xce5AHBstHrNnhygVg2GLGwyHvUnR4AnlZIO0sry1hnIsBIU= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d591ca2-b50b-4d6c-2562-08da6f537762 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:10.4892 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 15/39] avcodec/exr: 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: ND1YBFDUBS3c 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/exr.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/libavcodec/exr.c b/libavcodec/exr.c index e4b66a08ac..3a6b9c3014 100644 --- a/libavcodec/exr.c +++ b/libavcodec/exr.c @@ -196,7 +196,7 @@ typedef struct EXRContext { uint16_t offsettable[64]; } EXRContext; -static int zip_uncompress(EXRContext *s, const uint8_t *src, int compressed_size, +static int zip_uncompress(const EXRContext *s, const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) { unsigned long dest_len = uncompressed_size; @@ -255,7 +255,7 @@ static int rle(uint8_t *dst, const uint8_t *src, return 0; } -static int rle_uncompress(EXRContext *ctx, const uint8_t *src, int compressed_size, +static int rle_uncompress(const EXRContext *ctx, const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) { rle(td->tmp, src, compressed_size, uncompressed_size); @@ -365,7 +365,7 @@ static int huf_unpack_enc_table(GetByteContext *gb, return 0; } -static int huf_build_dec_table(EXRContext *s, +static int huf_build_dec_table(const EXRContext *s, EXRThreadData *td, int im, int iM) { int j = 0; @@ -440,7 +440,7 @@ static int huf_decode(VLC *vlc, GetByteContext *gb, int nbits, int run_sym, return 0; } -static int huf_uncompress(EXRContext *s, +static int huf_uncompress(const EXRContext *s, EXRThreadData *td, GetByteContext *gb, uint16_t *dst, int dst_size) @@ -588,7 +588,7 @@ static void wav_decode(uint16_t *in, int nx, int ox, } } -static int piz_uncompress(EXRContext *s, const uint8_t *src, int ssize, +static int piz_uncompress(const EXRContext *s, const uint8_t *src, int ssize, int dsize, EXRThreadData *td) { GetByteContext gb; @@ -674,7 +674,7 @@ static int piz_uncompress(EXRContext *s, const uint8_t *src, int ssize, return 0; } -static int pxr24_uncompress(EXRContext *s, const uint8_t *src, +static int pxr24_uncompress(const EXRContext *s, const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) { @@ -809,7 +809,7 @@ static void unpack_3(const uint8_t b[3], uint16_t s[16]) } -static int b44_uncompress(EXRContext *s, const uint8_t *src, int compressed_size, +static int b44_uncompress(const EXRContext *s, const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) { const int8_t *sr = src; int stay_to_uncompress = compressed_size; @@ -833,7 +833,7 @@ static int b44_uncompress(EXRContext *s, const uint8_t *src, int compressed_size for (iY = 0; iY < nb_b44_block_h; iY++) { for (iX = 0; iX < nb_b44_block_w; iX++) {/* For each B44 block */ if (stay_to_uncompress < 3) { - av_log(s, AV_LOG_ERROR, "Not enough data for B44A block: %d", stay_to_uncompress); + av_log(s->avctx, AV_LOG_ERROR, "Not enough data for B44A block: %d", stay_to_uncompress); return AVERROR_INVALIDDATA; } @@ -843,7 +843,7 @@ static int b44_uncompress(EXRContext *s, const uint8_t *src, int compressed_size stay_to_uncompress -= 3; } else {/* B44 Block */ if (stay_to_uncompress < 14) { - av_log(s, AV_LOG_ERROR, "Not enough data for B44 block: %d", stay_to_uncompress); + av_log(s->avctx, AV_LOG_ERROR, "Not enough data for B44 block: %d", stay_to_uncompress); return AVERROR_INVALIDDATA; } unpack_14(sr, tmp_buffer); @@ -868,7 +868,7 @@ static int b44_uncompress(EXRContext *s, const uint8_t *src, int compressed_size target_channel_offset += 2; } else {/* Float or UINT 32 channel */ if (stay_to_uncompress < td->ysize * td->xsize * 4) { - av_log(s, AV_LOG_ERROR, "Not enough data for uncompress channel: %d", stay_to_uncompress); + av_log(s->avctx, AV_LOG_ERROR, "Not enough data for uncompress channel: %d", stay_to_uncompress); return AVERROR_INVALIDDATA; } @@ -886,7 +886,7 @@ static int b44_uncompress(EXRContext *s, const uint8_t *src, int compressed_size return 0; } -static int ac_uncompress(EXRContext *s, GetByteContext *gb, float *block) +static int ac_uncompress(const EXRContext *s, GetByteContext *gb, float *block) { int ret = 0, n = 1; @@ -986,7 +986,7 @@ static float to_linear(float x, float scale) } } -static int dwa_uncompress(EXRContext *s, const uint8_t *src, int compressed_size, +static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) { int64_t version, lo_usize, lo_size; @@ -1181,7 +1181,7 @@ static int dwa_uncompress(EXRContext *s, const uint8_t *src, int compressed_size static int decode_block(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr) { - EXRContext *s = avctx->priv_data; + const EXRContext *s = avctx->priv_data; AVFrame *const p = s->picture; EXRThreadData *td = &s->thread_data[threadnr]; const uint8_t *channel_buffer[4] = { 0 }; From patchwork Tue Jul 26 22:07:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36997 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234234pzb; Wed, 27 Jul 2022 02:35:52 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vj1G7XuesJuUlFBj+9FMDkIJaG+o/lpvppCmLcXkPh0HBFRaXJzrRN6VFcLfn0BGg3OinY X-Received: by 2002:a17:907:2855:b0:72b:67b7:2c28 with SMTP id el21-20020a170907285500b0072b67b72c28mr17361432ejc.331.1658914551838; Wed, 27 Jul 2022 02:35:51 -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 i26-20020a50fc1a000000b0043a5ed3f191si2891973edr.506.2022.07.27.02.35.51; Wed, 27 Jul 2022 02:35:51 -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=aupiNe3C; 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 85BBB68B6F6; Wed, 27 Jul 2022 12:31:24 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2AFDC68B922 for ; Wed, 27 Jul 2022 12:31:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nsc1MQhjQQEtp/2oBnx87miCIZTTHDNwgIFj7thzkWjAVnK1dwwKyKN3KWwofCRuBJxNXQZ8Q/X48qLkUusWJoJtZIlbq9XQ1Re+LKied8tlxBmxcC8J4Dj6XoyrlaEx00WXIt/nQU9AOf6rMd2TJ8XCLWWQjAI9qQPCeyqC89MRh2MjhAajkx1Huqcz+54hrNqHJMoxGbhF68ASTWHpq306ALMo2PHhBc3k7/Pr3cIuHUJ+yYuxfnvFE0GS0IdYHkBarES8t3J9MCBDT5lAvmp/pfgzGszfZbZnrzEvvuIoG9aXm6EPKEPJSTcSUCA4aF+NuthUKVApjqkGeNoZnw== 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=N2O3340ipuQu3L+LksyFBXzuiQgQpdpDORDOrAvGwZU=; b=gT/EzSkiEuUt4v0cJxEXwm8sBF67500goJpBUOdPx/iBx4u+KYfETr1XUuVFdIzGYO++8iugbWUxgYzVkaJECFH8Wy2sIXpGyfSPTD/72yA0J+sixeRhffCDsn3BWVbHwm/MuPToqhNbWQL4ltW2MRvAeydX9tlj4sxO4QX/MVvwwrud/gq7i4s88HhyiU9gPJ4BITvr0y2xcwhGPYsBkHMQCKhdlZ0YUuUCVcqA/LC2+c2f0gLIpRhiQD+wYQNNqStVJyN1f2YbIw8Z8ZXgudI3yc7DZsTBcco5NgJM9Ocac+wYNBud/oaDijUN/Dynp2/h4D3zurpur+iXyIMtFQ== 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=N2O3340ipuQu3L+LksyFBXzuiQgQpdpDORDOrAvGwZU=; b=aupiNe3Co/0Kz7fXOfCAtVM8wJADvATxXr1/QpYg/N5hQQoZHAmrbvbe8+ZDo3OG74RLTS0SV+WEAA4vdkU289Si6n+iAN2A8SSdU/AeCnZEDSTjqBDpTyPp9mRdaWLtIKW1ymScymc6m9GhYIeLTfDyNq2VxLaboGJY4TGEaFeL6rPo6PD8p2cghvnhSGWKCPcS//ysth0g7MyAZHJVAIvycnuyyNaFnKyLx7oIafWIkIDcsGeWjEwsc9qGt9h2Jny4dMFuE/62+t3ZtF+8iAfmak/f2HE0f1OGEIrXGlrPskxEHuH8y+zrI+R7rv658WYAMBMsQ/YYRL5vXvuyUg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:11 +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:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:51 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [2wiMJahQftMWPXCkZeXmPq8XHcteqd4s] 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-15-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 44e27bc7-28e7-4f93-b51f-08da6f537838 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBX9gtqYwdqgnuuZWLennEHJ0aemtjQ+MvBKIPaj2Qiep+RikWeSmZxqmOXe7hx8bdD29s0gt+WDp/s8Z+gEpdQJxVoT0PlZpYLdLuI00hCKDFzcWDtfyDeuWnL6XNSt23tYrMarU3qQNgkv9XTkANwmp433hcLZApUFFZBahmIG/eFl0GRj1cmFd0zYuqTIWsNtxNAO2SsMZiPaN6m1iwaJDr8o8cRdFpsL6mJO3wn/6Dtp1tZ+q9tL4F930F+HpvRXo7QQ/8DB6YM1xqrBEEmOvYBJa9jvGz+AoMa/Brj/O2UeknyVrkrJ1HJ1EWTaXfksVDByOsTQVdjdhK/+f4fTKiPOlqBAxaiSXfISLI11XewDlGuOJCi9uAvV7jApB1JmfFtrxNyvHS/Q/tWgF/lb9+zRBOqtHrXEVUUeF04ZMMKJ9EcjtpX2tEtupdW9F167+QtWS+dzam4pPKUna03Wb+mvw24x+hpmzv7XjQEz1/vrtxP3iC91dzQc5+SNnKmJK4YQvCVaagkzXsbn3ILGZ3uvh0uWRVLcVA7lwDIZykgEKDAmy8pUqVOspgv4XBxbhAAeVn7MNQTE2M1UqH1FPqsh9UbaQvo2iQf1bH4tslzsWm1aUF8Os1hjFmynt77ScxqYKlWZVUc8ipmk51XsHQn/FWlrfjoBnUUWOVogbH0adUqfS10EvDL5WJQJdd6VyW/Zs8IxRI/EmW6KbfgMwyKbTP8N4ng97shuAscoI= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gLc9Uss/WrjRb1nK9ChqDQivR1YBu4MqocIVB1tYN3Koar/h7o2j/ybZ/TC6G9U/SuW1f3k0rcu7EqoWfAvzu15TEloS4hC5QU06YZ80JtS7VGM+J0jmGpscPKy8vWtW5/+dcsgfyzfIcSjjB5hMQisdzul04JErpU8PT+0A3gGMkcR26UHTOW1pEl5xwjnDlySDB8ksVdPmH9BIfnuMtM/5sgJq76GzI9fHlULll8MIijtGIp1Jvl2yyPxxFwHkg/xKCIQCZABAc9Ysh+pRynTDhRy2uL1nFdX84bBjyHCTGJeZK5RrltTQ43hG1jSLG49jszg1s3qTGMsTasSQyi6hu9N/OEOgFimNelGgMVoiOURaR+kCGpLpTy5x1dGwIvLub5ng9eKCkR5G9HqymaXYMfTcjhlnmTzvNN5FHeoFZPNQaq20qTf5i6MXAjuQU22Gcshd7lOuvjY5dZDNcBglNS+XDwncx5l+r2N97t/gKEnjqfYzRVQQ0BZtaPxjtbnsIdR8l/7SYJd3mPHV5U3J+pltJiHL1b19emJk0z8FBnSh1sg2Aw/i0j+6s4r2ysiNU1fZuO3pd7O4uB6FqPjc3OHXwAuhT5db/Sxfnmb6/brUfPODwPWKdgymJhjT6Nj0U4sD6EolqI1xvT+vUg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BHIH5joeFhQxFzlFtiuQ5mfiNkxqk4nPaqoYbLshGrF2aBudM1FFzdJQCoiFydVhqhKlW1VdIr2SpUQpuOpaQhGG0sH3PhsLkYRYLg91nH1zsQgNS7NEs8Uu/nh9VddUWzel58VtLIEjxtApe9m7Mo5fBwaO5BqlYRbNCY7Yb3Lp3zkDgc18zTGdfxRimo+aonLRwcBb/PKEm2mt4Ezw58g4MoeC3qi2nOqddgOVDOx7uqGp+7Lcxx0XBXmeA2pdw3YLTovO6vigWKGbH1Seoi72ONs5RsOXBYOEah46fnOAboxDOBjiaVlAj69WhbNYtYKDVoIqoh16o3OilaUOuRMpiCCrsspKvJNA4chqw9nuQIaI436v098f9qXhS4Krl88MfVJDf5/gWicqc+taT44FJMgoUbnreQZQ3OFLhQCPGjl2l4VqmwV1bXLWBNenmbjV0i/q027y1rpR3n6WTp8+a1XXvgJYsfnAEtgvkR72YpTg9mDcf7mVx5AhcL2jSXkeKTJxIe504KZ85mvBSl3OyiSpn7mOQ38Qo55LSsyxOF2IP/7Myc/qT8BeFm4ZnE07CrhGhrGHSwA/9IO1CfQ9pmVXq4w2H71zaEtkR/ypD0V+LTsy7bu7J3X0/BASxM5BMKyn91G49vbmyE+HCdbo1iozgOzl0CO3lUT2EH6+ExuUxaX39I/VwtdV1WL/o6tblNYWbREBVkcDP/0dGK1jld1nEsF90EIIOqCdchGo75d7dMSLLY88vMuAddPwC3MD6mTyQklMU5/8Foq2VjDQxmhMgD53y5tP4xicOeNnOLkOEPrPONR9SFYhHwc4R8V1wVJcb2fGxvUgEO0GnC+hOeQ5Bi5WeMIUgOCeji1YoGTXV7Tk6qJBn2GnA00NyEkXNR7Qi0WJOlXK1arozmV//jq3H9Kz2YPqqDbR8A1zmW3g+6ZlGhjSsX/RFkBxGtM52coJAR/S15iX2HnQmB3PHVvrH5ooOJiLDJSgBlCJgA0P3Jwxev/LPZGRl99QEKcQ8O5qkmS74gTfRfAxB54H8Ay+2YVMBlZWkBj4LSp4xqpH8XIrcvSrUvbq47jdeP4/rE5lsIMYfEABtgyKr1vgyYQjCOfm/8jzMQFPu6jZHArU0ZI4ClT5N/gy5orZZVo1FzTE7Xbjpx/99JXfXkRMPTnL7WBo4ked+mBRhKxLdA1IiPjQa2gthwwMYMYb0mg4edCTFrF85GH4my4/ya8bX3SomoMcJth0w7Fu7IQAb3TFegox3oNfBKD0wm5NAetsp5h1yQEI1D0A/5aslNgmaohw7of4QubUD8aA8LA= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44e27bc7-28e7-4f93-b51f-08da6f537838 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:11.8641 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 16/39] avcodec/xwdenc: Don't modify input frame 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: VsfT8UebMAML These modifications were actually meant to be applied to the coded_frame, yet 08b31a72dbcf2935e871ef7c1ffa96ae200f78aa changed this and so this code has not been removed when coded_frame has been removed in 11bc79089378a5ec00547d0f85bc152afdf30dfa. Signed-off-by: Andreas Rheinhardt --- libavcodec/xwdenc.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libavcodec/xwdenc.c b/libavcodec/xwdenc.c index 0c6dfc6569..a28fca08e0 100644 --- a/libavcodec/xwdenc.c +++ b/libavcodec/xwdenc.c @@ -31,7 +31,7 @@ #define WINDOW_NAME_SIZE 11 static int xwd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, - const AVFrame *pict, int *got_packet) + const AVFrame *p, int *got_packet) { enum AVPixelFormat pix_fmt = avctx->pix_fmt; const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt); @@ -40,7 +40,6 @@ static int xwd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, uint32_t header_size; int i, out_size, ret; uint8_t *ptr, *buf; - AVFrame * const p = (AVFrame *)pict; uint32_t pal[256]; pixdepth = av_get_bits_per_pixel(desc); @@ -151,9 +150,6 @@ static int xwd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, return ret; buf = pkt->data; - p->key_frame = 1; - p->pict_type = AV_PICTURE_TYPE_I; - bytestream_put_be32(&buf, header_size); bytestream_put_be32(&buf, XWD_VERSION); // file version bytestream_put_be32(&buf, XWD_Z_PIXMAP); // pixmap format From patchwork Tue Jul 26 22:07:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36986 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233580pzb; Wed, 27 Jul 2022 02:34:11 -0700 (PDT) X-Google-Smtp-Source: AGRyM1ts/rQ46VJWQG+b0XNBYqjzI5a1VbZcKNODxDUQq8Nk7GjlZAiLQXMkmbvY6MAoM2iqHjRe X-Received: by 2002:a17:907:97c6:b0:72e:e552:4511 with SMTP id js6-20020a17090797c600b0072ee5524511mr16818105ejc.460.1658914450983; Wed, 27 Jul 2022 02:34:10 -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 gn14-20020a1709070d0e00b0072b2fbd78bcsi19587174ejc.665.2022.07.27.02.34.10; Wed, 27 Jul 2022 02:34:10 -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=jogsVuML; 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 E76A668B901; Wed, 27 Jul 2022 12:31:11 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 380F168B884 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=InUWWBnwp8yG1NzR5jpLqn+ZUPut7T2hkQPvxRIrpUqVrFJ7mi5yqmWOcA9IdAdCGB0mI4qEMc4fNnjC4jEoEWSeWTQfzaPaL05WBpAKbKvSv8AOv7jT/mf8DRjmEA/jfC/I0d7qG9kP9YVJ4HQh32gPDVunvVNXRrTT6Ns5wUUl48zJlpndY+lK/H4aFAB3upRWdzD8tLeocJyMDMmwFmCIb3ZKe/5JOMEBMENCaGdPsU6Xi31DYQXzRPtaMwH8HUpDKQ265bQamHF98tiQnfNOVRBT+y+lAxJ4cHC8Nnwy4h8pW4cXEWwAmrkqHLeGAHW26jTJiFk+DfAHQmFIRg== 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=inaASoLTMIgKSs+pzcM+EdGsB6gpghONopQo6qhK1Co=; b=PuRtgC+gVOAl741Q+9lAAUv2dOna1ZYdBONdAdjPGyEvikFygxbPBRMx5dGuNweH7JEv7HJtvlFL/KdFiRMT1n7aC7ViflcnYScEFpCQAFxo3ILs1V3il1MbeTUqtB4hT+0nNEL49Y0Cd0pPNmoz9yrUgmqREvGWuivyYZXzxqnvINfUSlPacuzj7gWi2eOBbZKLjfUZh8NVIVY1K4AuD29pgTfz32Xy9YehXjjJYO7ttJMnCM10Oce5hXixpO6uyguyKWNweiOhmJ0q6/kw+ItK/RlJHJ9t4ye0LCzfNvLTiFSWUe1UG8zXjxH30we3k4RWzPTv2mW0F5Xn9fvo2Q== 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=inaASoLTMIgKSs+pzcM+EdGsB6gpghONopQo6qhK1Co=; b=jogsVuMLLpkUAVW+6C4Mo9wYnOv6achwQkgvPHUMCIzRJmMjvc9ft7NRTEu7REZHfj+Qr2k9PRnOsnjgXSE6Eepei4tgOIyNsE+aYd5dr30yk36D6l94684RKx3X/sNxMi4Oh1A5W7rvoYuDX7wXz812Gy39MbaCvxInPEq2W3XS9MV+Oi3LJ8EC7CmxmZMXwN8Vfw+yw3Zacs41RWOMMirzq8WjJ4r94M5fcxIRvOj128kDQML4oq+JkMFaQ9UnmtGZoyBh0G9NSTuGlTAokGiwX6atvy4ApZ0gnzg+29KRWbqqPIlbsPMwqN1FquQE6wf94/mwxsabPT0nfiS4gg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:13 +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:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:52 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [mcdmPZk7hSAhgD2WtCNqVwfzLACKBmhf] 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-16-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0ebd4fd9-8400-459e-bdb0-08da6f5378e6 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBAS3H3+dcqtg6S0IkC+6k4ZP2CDJ8u4DopKIwPssqX6OyMDF6QYvb8YPNjS0ueto5+rtsdzmSnrzL6M0YOQzGs/KnAOLV4xRJSyyuC4XbEI+hXsLyQMcjIxEzrSdqd04S1dPumPMORIt0R13svVApts5IwYtrPpdtO193XugJL+AXxR6spUl//zfkz16pPVyBVOXCscB+WLYxGgXP2bu8/1BA8SeVvjWwaQUinyZZuNvxDyiedozDTfDHtA+Si2o5o5BcakQV5BYQ0gLv1b9TSlvOywJWrcchlyZAiIu1WGzmk1P+Z4hK4Gq67c4Ye6xvA4pzP2FSdId67Uhy8mhu9QJU8uXtlC4QAaekHFVPk9d6dapxqHZLnctZOdwq+ya0Fr7uhOB1Cxl43t9/hI2ZWL+m9PQlmpvIWJP0D10+gtPju7Oppkr9Rx49r14xQRrmMm7D3kfAAYA0I/AP+SKAW7OnGHpR7AcqtoQfOkJQ5N+Yh1D/yp9GhF6DVaxjSLzDxUCjSUpCpnYJwHoOR0HxzJ8NeMQDQoXMgOkuuKfXk0wqXuEiTFGjkLNhv7oafsK4GvP7UQEY2D6If6noKGwl2v8UnZdBkRAhtfpnvyI2eeSTuxlq1ueaLaX34Z3+ia7rAAFI2wfHi4XezLPBqzUkej5P/3/rTwWVRW3Ie42E2D5ZytbPbLof70U4eMTNHp34LnZv2uDp3hPDewSsY7pmY6BQTdM9V/MaxKCRb0RHfz0= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ursOF+r9QbJMJdwjefks9jFb+sxIRauauGWhSjGRrYceg8B35mff+yN7pHJg+6HvF6+cI/zHpgNnBZTX7GydiYffv7+Fl1nQc70fixEm//831RKGWcBr99Ljw7gq0NIEgi6Mr5b8Mo70AVwjbznVmAZiTpsRsNdXmmEzHeZALDohGbSS6iivgD2VEeT8KY2zZMyenGssQDW/Z56Udu8zQSl3YbHJO/9L6J9UImwG4S502XdL8LIOQv7Fgkq0H06GIAB93crYR3Pqbzhy8t27lWvfkWJBxLW64WkaooyPvy90Y4YIaK3FrNXPUODJgT11JXG/4Py5KrN7iLy5YX5kjboXh7uN66z0tYt7LkvxL5KsZ3PB1lBFjGpWc0e7DnJe+2iOw0frxFQiOVe7T/r5xlipBo2bB3qoWmNyM3iNtWkokwVuYNHvhCr5a5DUPcNtT0qDqUWSBYlUYMShCRmAUyiYoN15JEm7bgz5dNMzrM6va/S/mOJ2OUOyie0nVQ9KX8N7CWi3WLNhAXH9woHLNZy3mlEAAOB63lyFV2v2Pfx3Y4UiVXHA3wANhjiH0N6HDwimAcy/0In1CzwhqmuX1iK94ubfi0IF2uAmSXU72COQy92xYgvl3G1sZNQX4jSc7G+JmwGifXhx6MlNVogcMw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Kgdxh8D5diMDmmfhJH2iwQm+QjFkcX+1NwEadoDRCX11TG9U+AjCsNlcKBMNRFIj4i4rw0U9pc5AqwDGbR5RANyA9zfCdbnpBUyB5V8jHMmuhsbeKm90N7KKpLTWUL2na0cgB8sykDr8Y++h508x6s5YzrUtABpK10JTCgMfJZz/lUupqXi385tUXVdA7JAmo7C9iGsqBwjiNT4at5jHZd/i0bIjFLqZVveNTxM1IZ2eq7KZp9gxJgARNg7cdRzw8cih+n3E1vVtPtvBH0d2ZMfPyrq6X5ggvlZ664QbVQwQhaHNjr/nzvZC5vFHt6M9oKvMDbwygnkPCjpNvvMCTdcpnpymMc4sBwNfYlp7DLwZ3wh0ePR/T1O56zUlnXznGke+lJ+ZJKR7rQSJIBqzUsA1nAiGcf/23Prx3Xv0jcM/16lFA6jqW+4pC8lEkv/LrEEA6W2N5VLRmNl6QqrLoFQk0m7+W5K3BJTOgQItokEI1tyhQ/d/AuMqbDoTykAj0oRztn0cjsV8wO1egslOCds7ZNgvRJ1sFLRDxgbdQGZEoPOrpjBzJIuTcfbH9vFjbzUA+GM345DkcNpaeLncZu137uOrP3v70mAmdnluvB9p+QaymWOXXmFp+P6OhXsrylD9SOVyCRJFqinodHX62JdOQCNKOcDvqTLk1sO7IrQIvVtg4ivCnzysyMJ+kmVRsYUn0ZduWqRiFXPpFr0F0BBO/pxgIOKT0DdPjmNsbcWuWKMlRjNxBqgbO5jsDjWg8dpMZHy4ri6oO1YJtwDVU+DY5oHJi5daIziiWEdD18cHgJqyHVEHnNOPYDGyn57J6sfOPkBr1xBenYJVB7lmoHbhP8T/qS9jugRi1de+z4+6GP824wAwAjG0DRiOoyQNcZwXGpdXwMENnnUjsaljmaZ6Haeav6hbxsO0z619KfMmQ9M4Zxr9DHX2Oci/p6u6BESo/nfKFi7ExF1BAxW2s9WgKnpAWQ9X3IVTd3BK+wq3HQCfbwMUAa39dpXEVXIarh8ij8hoNGmpjuj5G78Ebxql8kRS3SpgbXgMBVk+1laLDFKvw5HO2D39QdhtdbVyHK5zq/BplGU54jDgq/xRfn67wqd2GjFihS2fYzpX2KKDoTi1hcXHuLVVT/WnSrvxTPfyePnbl+7pv2jxuuUD8NjS6tFGSaCZ2Z7SN2yycTSNykDVWrjj7s6UaJHxj61jA5Cf5eghJfgm+FoHqPQmF5A8lqViSsv7cg3ks7CNgs3NU5ysnsJLumecmZv1+3RvlKHZP5Q1jMDYDwPFhTGoNeD4ovvW3sFGU0z67DG/YSg= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ebd4fd9-8400-459e-bdb0-08da6f5378e6 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:13.0202 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 17/39] swscale/rgb2rgb: Don't cast const away 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: JphkKweB2nca Signed-off-by: Andreas Rheinhardt --- libswscale/rgb2rgb.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libswscale/rgb2rgb.c b/libswscale/rgb2rgb.c index b8be76913b..4f1ac9c465 100644 --- a/libswscale/rgb2rgb.c +++ b/libswscale/rgb2rgb.c @@ -317,7 +317,7 @@ void rgb15tobgr15(const uint8_t *src, uint8_t *dst, int src_size) void rgb12tobgr12(const uint8_t *src, uint8_t *dst, int src_size) { uint16_t *d = (uint16_t *)dst; - uint16_t *s = (uint16_t *)src; + const uint16_t *s = (const uint16_t *)src; int i, num_pixels = src_size >> 1; for (i = 0; i < num_pixels; i++) { @@ -331,7 +331,7 @@ void rgb48tobgr48_ ## need_bswap(const uint8_t *src, \ uint8_t *dst, int src_size) \ { \ uint16_t *d = (uint16_t *)dst; \ - uint16_t *s = (uint16_t *)src; \ + const uint16_t *s = (const uint16_t *)src; \ int i, num_pixels = src_size >> 1; \ \ for (i = 0; i < num_pixels; i += 3) { \ @@ -349,7 +349,7 @@ void rgb64tobgr48_ ## need_bswap(const uint8_t *src, \ uint8_t *dst, int src_size) \ { \ uint16_t *d = (uint16_t *)dst; \ - uint16_t *s = (uint16_t *)src; \ + const uint16_t *s = (const uint16_t *)src; \ int i, num_pixels = src_size >> 3; \ \ for (i = 0; i < num_pixels; i++) { \ @@ -367,7 +367,7 @@ void rgb64to48_ ## need_bswap(const uint8_t *src, \ uint8_t *dst, int src_size) \ { \ uint16_t *d = (uint16_t *)dst; \ - uint16_t *s = (uint16_t *)src; \ + const uint16_t *s = (const uint16_t *)src; \ int i, num_pixels = src_size >> 3; \ \ for (i = 0; i < num_pixels; i++) { \ @@ -385,7 +385,7 @@ void rgb48tobgr64_ ## need_bswap(const uint8_t *src, \ uint8_t *dst, int src_size) \ { \ uint16_t *d = (uint16_t *)dst; \ - uint16_t *s = (uint16_t *)src; \ + const uint16_t *s = (const uint16_t *)src; \ int i, num_pixels = src_size / 6; \ \ for (i = 0; i < num_pixels; i++) { \ @@ -404,7 +404,7 @@ void rgb48to64_ ## need_bswap(const uint8_t *src, \ uint8_t *dst, int src_size) \ { \ uint16_t *d = (uint16_t *)dst; \ - uint16_t *s = (uint16_t *)src; \ + const uint16_t *s = (const uint16_t *)src; \ int i, num_pixels = src_size / 6; \ \ for (i = 0; i < num_pixels; i++) { \ From patchwork Tue Jul 26 22:07:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36987 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233651pzb; Wed, 27 Jul 2022 02:34:20 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vmLuAX2NBcSZ4yodr20mjw1t/5ipuRnUztSvPsDgxns+V6kf6AdE3YrlDc/Inc//0PdLcd X-Received: by 2002:a05:6402:212:b0:43b:5419:f89b with SMTP id t18-20020a056402021200b0043b5419f89bmr22071676edv.9.1658914459780; Wed, 27 Jul 2022 02:34:19 -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 fg3-20020a056402548300b0043cc4d599f8si428735edb.161.2022.07.27.02.34.19; Wed, 27 Jul 2022 02:34:19 -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=VYxayfxQ; 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 2806668B992; Wed, 27 Jul 2022 12:31:13 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3DC1F68B903 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MagUhjYgw3JpfnDuEaxtNhAsI4YinzYdjmjMTEmvrKb96SvVp1oEGrIEWQoYuQL81MPbxjSLMXw3CRKZwQniaF4zliF5x3AXWwTfqwsofI/Gdhx1tSgyhMgReNQJFV3CuspVHe0r3LfK/CfAzUTy3zA3UKGeT5k37qH1S19a8gaDmtp5Lcc2fDGJTJhiIR2JYUfolj+5I10yiomBW6NywwTzON4slZjYuy+gwC/Fez5t/vOFgU7EPVNdNZycy36fhBk2KzthH26TUVCVwKAFQv3qmaZWzXBbWtNwHJy5vqsL/0G++oPlxD1yyBNvSqPRAwU3U16HyRrHFyjWnfy3SQ== 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=9SHr7ObFZgrrZdZQO8BseYK0pdt0XPtwqFDa4hDNW2Q=; b=U6d5ijseZKQgw1kmJp8wx0DvRmVe4dqRby0AewrS0wh3wBTGu9W7T3KEPEluxs8uB5WQy2o5smLqunRVJ7mAxFOG3dvHYMfi6XjDIjPZDoLl1z4s0ZzF0rElUpaK1vNsuxQnlnjPsOh5fNDS4Pb498ejeWSQ9QC9H2OxFwk/YA88WGlOPKxnAnlhX/X8NUxH8HFytVgQxId5Ic9GiLpHr3qhGdTp1KqxIBE7Xa9Gwrq+nJ80kcOtqPo/66xZO5xN8oPYN/3qQoU1UdK7b3EKoGUYKhvqxQ8vMbAJY1vAOS+77tHK5MMj0WlcIkFmpYJQvodqC6RdEP9lAxNA7Z3dvQ== 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=9SHr7ObFZgrrZdZQO8BseYK0pdt0XPtwqFDa4hDNW2Q=; b=VYxayfxQgh8uG2BILUJyz4iZ0nEE3mj3a+RWrUc9OWMnATHp4Ljz84GhyObMyeitZETH0KBfRB9IlhbY4kp5ACFzlUM9Tjy3Eq407AWiImYNVpPxNgDoockBruR0Zv2hC4pmddOgBcB6DMBBflZnFsao3gPeOECMrFut7ZcsxmRKNnZH8pbBOrUY/pPo8JubcEr6TcC7MGjYF+4PJ+0g0/mu34JBcR5wsnzwciUdNMUDVoARUZqc+8FfLoJZJ+hRh/gZZNxiM4+fqvNp3HpzGs0w2NHPauERUccGIEovGLlkbOtm28+I1wAtNEmRb6HT5coH5kZqwLIujDk567cYeQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:14 +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:14 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:53 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [M7FNxjBvpDDZiRA7KgKj9Y4kZeIR1vHg] 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-17-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4273b87a-c833-488d-c435-08da6f5379b3 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/ULT2wyjUGO4RaZdS3jmh49tjpEsrhJpUyX0RJnMpzWebnZBvmtuCo469MFOKpuhPHNul59/FcfXMRcwQf1jB5amll0e+crUf1oEozNBrtCY2s9+70wOes6NqEh+ECorB3IW/yvYGZipd9pI4Ud5+2LzuLn+iBOyiUY3Oh1z8LLAVy0hveBIkqTCIwRIfAY60DW5qebD29KHlpESipSPvHhhE6sYfnn08hwNDTQoiMok40bk4PTG+rB6fWfA/JkMyB5Bobg9YKm8f3Zlt4qYEH79b+zFE/mNY/IvN0O0Q0DUMywp7l6kpOBwkOiv4KJmicfMclhR6OuNp/Os4cXZNG7i+ut348AfA+UvUp9y5e0Hk0cQn0tMxH892iEDWY7c+iw1l2C0RqSjAjzTFh69zq8USKF49e+Tua34V1FUDCLU0ppeMuREfmu07DXetjCOJbCXDZp+KHsqzULSeea0JbE+kf2LNnxYmbKiCdwF8l4DaQ0S1Do8pN7lruzaUEO18c/sI+PkyRX6A9HWHHqx3L29wei4CnWW3ZqITXNaFCZWXnqPS0kEIm+XEhg2F/OVCyT4GMpptdESEDs8NxLL8Dde2+UpcEdqK29b26uMuVuGnJw452G4jcQiZrE/CbMspVUtUw4trRhH/VuRIkp72OmbmFFjjzbnmmfAdTvtlhvh4qyNRCLpIBTQ8lq3/N+9hZZ/Uy4jFaXPeg== X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: P54xFnRjyYx+22iBH/ur0M1SguiPX5IE9idNhTYvmLY3wnRAJf5llX03HnmkYwRDyxo9BcwXZOdmmbOzzSTjjRI/dba5nhEIiKYWIRI+X2kG9UAqtXAUPv4vkD155NGh127fsLc6Yfi8dPa4PW16pFgGql29Dnya5URKrdItGL3o9oFjZToaKujcGsWqnR+l//+aghBqYIAxlrr2SzpwYa9QbrmB9FBsJ3eEZMLs1nmhmIPCtmkvOmIEfvopOiM5qef2LXDPMttiqITfH+JywmIxmPDY7O8zSQvR2GTElhgPynx80+k9W86jaGgPvFVZpK+P1kGky2DF2y8mZzMCl5hyVsdE0L8166zcXys5C3FrQfqwyOXkaQLlK61Gap5wmsXfDAU03zPvWoaLbv9Isq3wr6yuzTMs28mPIs1tjiu47jHFCNTDfbknucd/YXFiV2DflyOPVsmPzTSIVXc7VB5W0gCLeYeFhxQG5hHdZxEe2p9Nso1F/Hx70utyu6vhQm6rN3lOaOXJrQPswUwy45EhsBftICiAxqcS18W/Ovs+r+kkShbd6BoSZLVmbr/x8BTbx2xLH2RzNIWXYOZxkVWH8/bxlGgcfyUmtOVVwXrdIkJmRTXsWax5pSXq2Wt16lPqa8Nn3TCR1c8HuoR0aQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5km5a5uRH8x0IoDKj3KQ8vfWqXpdQOQoEP9QCWwHk/NH6UauuZwHqd2Vms+iS+f4m1WQvycn5wHMLmlrshyNHRbhEMDkbAuyDquaYtEnehNl4i73XJRMfNSwwVCTJjOGyG8FedI6NSLl3ntYHpMbIpsP1iLGu09jZiM1JKpEnOsio7/kr4DYYO3mm5kqi9zGJTgXl+/N6/PUxE9iYEbNzyHbNqQ24C1hs136SROXF4SV6fOK2anPuupieIw/csL797WTi/s1g97T8fpf43geoqXrR6RN1JiRoxFacl+5FTP/10bNnVyRSfpKTlLYZqZCqK/J39EnxfAh0xZhfo4Vo7I0sseK1iKxsMKpe7tKJ9c7Zie9fe2zwmmsyzr3xK9lhVmsQ0CLDHmbMOUiDVonWuP4SCVMwAffTYKUZB81qino2okjM/I7AcgRY3U3DXS4UWHd+JYSzlM0vUiBkKCi/OMAuBqF7ePclWWJ+hCUMeQ4DWAq+N//3I5mWK/vk7j3ip6U4hpQJRB+MnXAZqG2z1hoTfQ6OkY2vkAyk+3eDwcF6ahjCE/NURn2Uw8KDYnnyit5ePZd8GCD2ZjQbmI8hjUqv1izSZkN8yW3QeBFcX4XlUnfIG9KNSYEdiB1ZEPrs/kcYgThHSpfUFfhelEoKX1439YqyVXYugqXvpNTB9Lldn9uinTkx+scoZLCLD6Eev0YZQlxkO2fiU3qzL8VWkyh3oSM/CIUHKPdi3fT6sOvUO0+kVt9ELbiQtA6qiGyAFDF6B88VhH6mZJAkRjaE/czPsVYXop4HTKU6hvuZlEP/8uTeRwxAVrEzH+aNpT3ZqU+dvrf4ZPXEa1iTcnWBsIgk02hrBAxylptqLzpoSJ7h8z1Q5ddxhOE5jCSzhAXk74lXzvQnbfN2O2v9EWimr06DP3fEWoABXO3bOw0ZFRJJ+wyYQkIcudGcXVD73VF2K8Nm0h2MDGohcHIWhR/+NFihEOVZJ1Y3xz1FC/leRDHVCINdkQXuf9QyBxvnvO8od0hjvCyLaPpebF6aeF+psO5EQqQF2z0mVazj09GyuYgp8pKZlhpCzSHy0Zam7CyJr7jv8xUPhoZ86JC1km1YjwmKV5O2OaiLYlS1vt2AZVNucf2FNL+Fy0HimsuTzP/jbvG3TQVE1gHr4B0+gLGa09rAIGK3/7xQVrY0O7jqiZWjmfJXSGytVFQ8jk5Ddt//ZEpKf34M8irSgtggHYtOWws+/b0luXs13iKX5zMk7L3nGFUJdEqdV4XguG/71BjvkAh/XMpkj8iFfhuQkTM5dQUKsPL7qX76+QMAH32O7M= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4273b87a-c833-488d-c435-08da6f5379b3 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:14.4733 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 18/39] avcodec/gif: Remove redundant cast 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: GdFcYnkO6aDw Possible since 529a9893d769f381b72785c500662be2020da5fe. Signed-off-by: Andreas Rheinhardt --- libavcodec/gif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index 4904f791ef..8e84b79b8c 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -508,7 +508,7 @@ static int gif_encode_frame(AVCodecContext *avctx, AVPacket *pkt, if (!s->image) { av_frame_unref(s->last_frame); - ret = av_frame_ref(s->last_frame, (AVFrame*)pict); + ret = av_frame_ref(s->last_frame, pict); if (ret < 0) return ret; } From patchwork Tue Jul 26 22:07:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36991 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233881pzb; Wed, 27 Jul 2022 02:34:59 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vjj9KCsnuiCSwgxVe6PMmgR21+BY8GVbQvWgWaCQ1UMiaFM4rhmqnOAX8oHQQ+syKfAtZC X-Received: by 2002:a17:907:87b0:b0:72b:9f0d:3f89 with SMTP id qv48-20020a17090787b000b0072b9f0d3f89mr16740086ejc.734.1658914499070; Wed, 27 Jul 2022 02:34:59 -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 i8-20020a1709064fc800b0072af12ec70asi22991028ejw.121.2022.07.27.02.34.58; Wed, 27 Jul 2022 02:34:59 -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="qd/7UHQC"; 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 91DAD68B9A4; Wed, 27 Jul 2022 12:31:17 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C9A968B914 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WusquHMIRXug3IPyH7/GNoIPLPtnyqV92BCwtLE1LONY8m65x7l8WQ5LfxfpUZ7CRYXO1Mw5xnWNOS1JVFDSkC2jWvazsqQGglBYSw590vehRuifTSqXC6qruZcfaXSFe246o+b7LAKeseqhjCSsQfwXuiVXfyogvm05lFkvh+j6O8CsMjgmknNAmQ2pBO2ZwK9U8fNDuLMN53yEd6T+y8Rqea5yIZNzwlsVS7PcFQc2wVmc27o/2XZHfPDbPmLrc1gY9HZvi25God+2hNzYqVJKDeiToU/RMHOPJr8krcd33CPtuoM3TQrFYAwIjxKOjf8X4KuXgv5uo/IA5/EwHA== 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=QV+N8uT7FRPG0b83Rd3bo9oNqm/Q3GvGLYTFmaJerqE=; b=WdjL+R9b5UupnQPr33mfAtKFCPNfcGINmSu3LpRqwtZs45vVQ6ZrSAN7sgeUNzJh/oNM3t+0yjnZfF4cGssBFUctpHQ3EmWzQ8aaFs8cHtobnS7VtHZOmVima3Ltb8vAOHAPeHDrpXm87nmxRV0IEgpSBh9XydNoVKnbK/SroeJAyokBKR1hKzj06Vu/ART45VD2cbLROO6c/4R1knAtZ7pCdzV3v+wFoPlwWQ3KRdoZdMXogarpy/2SN5d5JVb9HsMHTnpeIGzxdn7LxDpFzGvJoW7eekV25Gs/K3KSDei3dvyYsRqhD0ynxGNy7gjYKg7ldFukKUmAApjZmj+nQw== 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=QV+N8uT7FRPG0b83Rd3bo9oNqm/Q3GvGLYTFmaJerqE=; b=qd/7UHQCK6PLk9KXSZ+GOW2f4T3xk8lQLFNyP2k6zFfbyGqwIEU+3dJLgEhvZAYDX6Ne8d9esfqlflphFNIfFxUj3wcZkbjc5fXZ5Tocx9i6XQOcEkvz9dGJC8dKzcworilJ/HWCh56Ocb8fu5fRiodl0TvfulYbFC5rbiABnaFi4CAcdGdVIuDwdcNmQenU/m9eJTqBM2xUyosj83p9S+Brb6hjSMxfz6w1jkHflspskcHkvxQ7uiLKYH8dt5cA0PDIr9ttGkpUS/l21EXmUSuGst3SCYdA/PFo5/KG3FV4OPt0YMBF/UsQEphQREXG0DpFB0CkTEitukdF7HlniA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:15 +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:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:54 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Qv3YLSzD9MKjRUGeR1R3E4IBwZVNYBFk] 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-18-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a375a3e0-72bf-4010-686f-08da6f537a7e X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBabKT0lrjQW/prt3sRIH/NzdePbo76hBOF5X/v2OVwWsvv97o1IfucQpgS2Y8iJRjzaYzv7t+nCf2sS4j1Shr7Sy0bkCRQ0b8Z6VASkiMRQX7aGleP6a7TMGuWOme8lPdIYsylEa8SPsi69eQAbBpUstJOA6pQq5rSb12gfv+v6jD1i2ClwO6ZLcXhw491AXbUJ8Xjp+EGAO5rfC+Jkl+WbXfEqzmNjlHo9TNuomCvOeMTzsMUh+pIN2TIMN6pCK1pwrIghPhFb+w/JtWDC04SHho80UerEx2TpSGCwY8iSWn6Iw/bYW2uXT+B7WdAT4hoOoDZ83L/1vHADekEjr5DyTB9sa6kx97w680GYu20hzzF/5loJaKGX8yrRfei55CGQ4VvyuvDZgerL/7NzNvZtIh0R+zpWFtiyisJsNE/RupVNPzcWpFt7lpx231qUu94K3Z9ZehuVB1k8SU3UmCrEp10VN1XUNN/YEEVFF7LLeWaUkQV/AtQWaaTnTuwkcILSnG72f9cLBIVsE+VZzMHqPfZR+D2FN95xRsjHLXFa+PacKfBrMen6nxzNVS4B9VbLdMTh7LS3zI7gcRPDHljN9Z/G/j94wIKDsUl3FBnj8EKlw3rhQ1TmGuuu+cPGsemo3FyPjNCsfLDfR36KUGzgQOUa+Flj6nvVYBWGvPZbIHEPmAM9TtQh8kqoG/m3Afhasl19pQsrqKEzV1a6rfMj2a9uD+k6m8tKLMegfV4PM= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XLMKK38Dw1Iyt7UFECa4PweanpvTkFsJ7WHmyNqvcZkY93QxExjnrlmKgjhTo9eF7zPy5oozxurh109Xx6BqCLy3LOENV+/nccqkFIcmjp2clZOelTYlaTcruCjIjnRAoJFpM6wu0adhCg9luWDHGxveO3KYf5i/pp2rzvTzReUEnGOngnQLdKAniBdRuz1tB1CX71pu5rcZDCJGiKi1m4+Y6ulz74J0Z148+9WYtPpkOtzCFDU4914T7ducs1qgfT/lHsvO8FA90ej8AdLQ6YSwzb7uwUWXykSfTaX9pzQ51zyQq1m9WIVbMFT8P4MxP4H1ipLByghsAYJGW21cPcIpISgMs/GlM0EQNfOvXQPQ2+EnmgcwtPlXB3pWXk+5Fe5YQPnvv61ThrzfuYomWrIsU5ZooFDehFznDQRnR86qj5A6Z15cF/OC4Dy/bW9+fjUriz3W4XhDzmrRSeOHFJ8fYjhSESjswQBZHianBKaL9YfWlu1T38U7KbZu0IAaSSsQUouf9qZcxrGaC+RNEA2ki9NM9t93Zx91Z5IvL5dTh1oNHLwbkISncLN5A00u4GDYmC5/3CumOHZOfmwOhZjlkKMLJ6s3nPt0BpCF57lsTHIdqXqA2EozVwsWD4ptUwAt8hkC3k1SEFEmI/G1Eg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fQxsMSW/d9yKsgxJYMtDdoYR0iXrtfrZZ8surWR6qfItkG5g0nfdyC3qExpuQwE/MQUsR1uBCMN7G/1jtpTrKTYzHrcGSOTNQa9215U+8pTB05KFj/lLjqCOfaC4YEgSDBQaPIocD5LyRa4JbxsBgoUm43/djr7jV8gWrEUapP8ZWv1Q8ICF2kQCQWcnASKNY3uyMlSodEh6Y9TCINz7dMvKwg/jgx7lm0Kp6Kq50MRb3cJ6tvbwyUmJLp4LHJOt9FwwJ5r1vO64T9QH1gc+Q6iXyh0y2SonZa1Edu9bh8ylVlLg/0alBG95v/rYk+aCZPkQHemesBF/ae3OQe5PDTT6dYFyMfaA5q9ZfuBcMKLbAWgL1m7UEV6JacHeG5eQYS9fFPnNi9yVQZWXnFnz5VKtNhWdDkOe/jEkawaVcObeBxomZyaJNG9EqmACWr7Ho3m9l/kEMEkgorgDu7PYa1GfAignKMN2kXHkBVzrcWpqeVPMcg4JSeptkPa32Jax0YaGSnMZ5E9QtKk9NTgoB7MU6ZMNIeNYRn1z4/302MYpSnOUvU2rDEvb4s//cBKHWQiQoXTWWCwYd4cnesa13xQzQNQcsoF2wNLpPrCjzRlRuRJ1mZ1wIJQ5CcmaFnb+Bx1PJ45MpC9eP5lXJD2MV0rQqWPGkjCUyF6RxQFiK3gN2MzwQPTd0TnbaCZRaSIrrAQO0ZnsTw05aGHsmnNTlCyB9MD3hA2kblq9sFa/TlDvVGTUOyPf3ahyN0YT8OtUSLPHnBLnFx/BaH1ea4/VHI97Vv06tOnzHVUdu5+KQzpT262tHr1EcZQcg1O9Gp3XdZ9bq7feT6BrblF8vuvUsS1igE9qwQF5TLlY9hrIGLCnHWiaVtHdw2YWMaV4WnGMBaws51KUl3+PSpDLRQdRJjlwoWXkbnihJuxcVfQbOZEPBNQ4zOBAtgGWWTcsOJX0sWw/l4ATN3kzWF5OHZ/ohRPagQ///qM8SwyJSoBl2FMcs9yFTDU+YPfkgyfOJLJ0vrPItoPhTgfAOP0w4t1ce4BhMxF60PvM5Ea+EIThQo0WS4qaU+d/n0OeOGX3+ZGUgTNMpKmXnpFDo/A2vzhtfk9X7j71HOgW2+38zPm9xlGjvy+WyyQ/79y3EuIIcfjoIvFZpFpUTxLt1UGkEl32jMbnJqgxX8HgNFvAuGgqpvjYTUKVQGwqBW+qCJtilR1AEQQkA83/zrWAkfC4Uw5iKYsAtlDezAXcbREV+wVeINmMHZJs6F/nbqJ4jh+brfXpp26M8k+mtn2sb7RQ+VW+EyAbrlIU8nkp8wdKz+u+bJE= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a375a3e0-72bf-4010-686f-08da6f537a7e 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:15.7388 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 19/39] avcodec/fitsenc: Don't cast const away unnecessarily 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: JibXV2AmhTXe Signed-off-by: Andreas Rheinhardt --- libavcodec/fitsenc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/fitsenc.c b/libavcodec/fitsenc.c index 5e9100be85..6e0597c8ca 100644 --- a/libavcodec/fitsenc.c +++ b/libavcodec/fitsenc.c @@ -36,9 +36,8 @@ #include "encode.h" static int fits_encode_frame(AVCodecContext *avctx, AVPacket *pkt, - const AVFrame *pict, int *got_packet) + const AVFrame *p, int *got_packet) { - AVFrame * const p = (AVFrame *)pict; uint8_t *bytestream, *ptr; const uint16_t flip = (1 << 15); uint64_t data_size = 0, padded_data_size = 0; From patchwork Tue Jul 26 22:07:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36988 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233713pzb; Wed, 27 Jul 2022 02:34:29 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s0obzg9DGS9E20Q2AXD92piyrOGPeVQPoikIcOWipQ3o2D2YD6XwEzX/fmpGCmALylgThx X-Received: by 2002:a05:6402:28c4:b0:43a:cdde:e047 with SMTP id ef4-20020a05640228c400b0043acddee047mr22430892edb.368.1658914469431; Wed, 27 Jul 2022 02:34:29 -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 hc20-20020a170907169400b0072b6ea73316si5068720ejc.664.2022.07.27.02.34.29; Wed, 27 Jul 2022 02:34:29 -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=L83Cz0g+; 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 4372668B976; Wed, 27 Jul 2022 12:31:14 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6C7ED68B90A for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fvWyaYYju5Cnl01C8IbCPXMxyioq2pmf16/DKB5XaeGKMmbjgN1iCp4m9lIcllTBTqChl7KHlKkUZiqvrWCCDFctV696c3o5CCOOKodo1zEzf8IMY9qAU/+kjeX6bBp0r9MHUcrFbuBGUiaSaZdy7ATF5hHIhfIy9ttVyRmdmdp0uwRxB93+BKsKH7Hr9NS3cfmZRYhKBO1yjUKoIygpjZ94QfSJdNjoeQc6QiaQLX+YoE5COEwQcopjVyuEk6rwiNTsqkld0Mavg35J5F56oKU1k45/l3SEN6XCBinxRD/mpVPgxv5kSla6ujZzzb2BVZof05hUPnswQq/zcl7Qhg== 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=lKD7KXHMR6kXLAqYFVrMQJmkqaysTgvHtHjqEemLNpY=; b=BXKEqKHnz9TgD/hO4osLtM5gCEsvavyFr9DmPKcX+UUTjIxfqCcZ5Pk4779Rfr/7l2hL4jBcipSwG25LcQh50XEF1KI36ffhBS0ZqRW62zsjYPb45iDQWFOGoFkiGt5qjJaNALenzbFTSg4JimTMlIYdvV4pXuuju4zL7/opUQLnFA6ZswqizlsMtvSsxtgRbsRyFZTBEq8BiuRHFLs7o7ZOQ2CtlBZPsCiM/9V0dZHtYRmrBlQvque2CaTT/7nNgaDrJX37+/pIkRvRrDSrKKizYDnTQQa8kKARyqBDZoGyoaxw2cMzw+ujaA3VV5ljKEPbBsjs/AL/qf29QjaUlg== 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=lKD7KXHMR6kXLAqYFVrMQJmkqaysTgvHtHjqEemLNpY=; b=L83Cz0g+7SxXajWd2T8RI9cPTgs6Tdli7Ydxcu3js3y40FN9P3C6JIXC6f0NS/CQpCjO3+oa9yQwYq1fXdVZADjiyYxXgSmhqKLdlqL0et7Syv1arAgR2u1iCZ5PPtHTl8hCGbWy6TKWaPS5KS2hQTm1Rddv558+LJ36cowhNRxm/UymPfwtiJJHKJvT/eEhy/D80in2pZr8Dk/UO6KQKZojTaEJ1h7yUhFdRwpPhGLZdd6KcQMLyTRmLn/ULuwL556X6aQDBnLtCjCbz8aE4I2cfn76aWM4WetmAXDoG5XDTLj5FxH2OJno4ifTk8dZHNRVNxCd/SgOfFZGqRKbNQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:18 +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:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:55 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [vxFbFEU9r0zng8OLT7MdOhWiwWHaxUOJ] 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-19-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5ba597b7-5392-446b-f040-08da6f537bd0 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBabKT0lrjQW/prt3sRIH/N5oEuPNVnHl5xkXdkENS2hf1eX6Z+K3KxvsUhzqstU7tN1tJq0ALl4gubaoTADLYB9+G3eKaBnBcgfD+Etsd/6bFDFvX3orBfvx+A9471S+wvlZ2SZ1tU0DlLiihm69t0i2hhHpjDBAbJOh8edUt/ctA/Vfq4USYpsIoo9+oprym0HOQFMJC4o3121uU4LYfHAGfR6+LZQy4BYNUffofrVw+WdUSERkeqxb9MR5B5CNDImemjk9Op4zGqtHnxAGZvUCffaWr7ilUnKnnSJyGToZ8bWRfbDZBCwv6PTAWJY2CaI5tNqVgaZnFW/kJmsRMr/P8LI+uFvMkaNNexzzI7xb6zuZdOJ/NnTp8f5OXVxD/OxJ3j0oero8ZvTQ4mf6jSd5fxdK/F87Hc0YHadiS92YKbPLHVDTp64iyrnRSI5WVmJ1ezbJW+/AjrSHxZ00lGFGAs3Z0XTNBgItRSXb9YhzkcYX8rQVBmjsW5l8bPTzLmHZabA1WnbDPHVRzvzVUHU7YU92KvsaKa23AUnPnAClaM+/P7qSbrihBGhL8Xnm6YMxETezoRy0lJ4plFB3wpp6PISCfrLmcw2UZ51zGu5cSFpGeba8SX6ISW+Atg+Tegyx3z1Aj4oZgcD5UJtOng6LY5Bvhk1VF3Pxc+RNmf+CMy8NNbj0GtmpZ5G6nk0Neb8JYfeYUl8bxD50g/n0+165hR2WHoMQP5y/zRQna+Lw= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3206ugxXC/0aVvfewpsHcOWfrUs5MLnuyGdD8jG+uXdl6jAkTXlNmpbGr5jTORtURr371W+vetGMOv/dz4KmjEgIFch80ETvVAg/Zyo0qh4jDCDJY/x9KK2NS5+2Th+x/vFnov9CmYNUWxLRJ+x9LnxPObYq+/wO9rOyUFOX6LYlQDGAOcnSLg+jndFZHtchYk8lo/5mh+IbV9fN27xkuun3Tnt21YSsFIcZIjKIbrnQFjiQmwNDp+dlhzpvdBv71+hAZX3rXkHzDqsxHnTV0SpuJhjJqlFhPMd6t9TORZgrUwszHS1f6/QAlbvwwij/Sd4K+Ul/tHi+JHBA0tg3gKKc/knzS17NUO9ZP9nrlE7jD9SPrAvnwU9xhN3/0kMBiCiwT54ICPp88J4nNcbysa2dDH47qB55OaOyKIwl4YEjFeNCELXYWB5Mkka01xuBVvADHsixYq5YH8BVTRR1Bd/UyFlPoIdFvI12Clb09Us9rhXvFD8WNtTWwp5nPUPJ5/Thg2mAkwaKrCpdIJT3Qit9ZmiGLnrtgLY8tDwL5JzkbVNwzwlLi1EhWKtuwIt27N33sBJ0LJt+en9kA4/sh5zVTaXz11W1GLhx918UsbV2ghGX2ympm9Cc2bXnkbl3UeUZsIzHJ0Qn2rK8YEzxrw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Col7hG5HpXYGfafvQiU3fmzM7wOiG0bd20zh2qE2//rnlB0tov9GK729tQKI+lJW7zBpsrkH1/qrT1QvqO8QTQtploCaplmJocfdvS5XcvuGSMaNT2OyrZMtLIJ4tFuav2Hj9sF6VHKqElG2W8e5VtT1pZV5/Nn5e+r4GmHhnQSes8TiK+Jo3w2H6XHB0JQU8NetkIUnrnSCzt6IPUxEZbWuufCOezAVASWju14do5aQzXR0qs0xhMixhokyRs/wh6eqnyQS1MzB2Lx7hRT/fmV/PtonuLSXuRogWBb6F07b3+zWzy3Wy5z2B1/SWdGDaeaovqxdoJnDQ8jpfOiQgc/kolOkEG9g/I/wpyMbDrJ+NIVNaeRrPLUW1kRiLGt2gfhV/BSuU04Z/M67Yh0IigCkLLjY6Iiyn82hbDwJF67bgXSW8XF7STNt2RFXk1+W8wo4uLguNcLrNbJmdeHPICFnYJf1PIoB1SBOdU3KaTcgzWaLZ/IxH10n5poWpebfaqrcBpLNCfxK3vHzc1/kJelS9E6kutztYrNbi5f5lMcXMb6i2os7I1cuARkmvXpCdkBVPUTqZPIZdzQX3clKuTClOyQu+rw3yeoAXxweUcnhCL6fQB5uun4x0CkPhVTxU+c7HSuI11D5l11BpD9A8aQRfpmgo250dcePkJprgfwfJpG8cMw4mENvpbZxwzrob7ymh+v14ONmmHO1aSnkbYhQ7KLWrfbNoNMKtqGRVipTMmKOV5GkBmqunPlf+uaFY6KAzZjHJnCZLTFsQQJLLHTywq5ZFROSCUtvBkikitteQUpwOJW7iajqUXZ81ZlbCjEgQ45rptx3xn06EHsSlw6En4T85NqUD18Dr8R9Z9WInOwpqVAnRWrCA76PBHcbsAc/oeMyBCOy+FcxUxwUdKannOZq0QRRzMaz2jNBTHF+pXQYrWBhH3nIgPf4CPHjOkkockLHRNqM33EejAGOxTrfcP5wcoerqBBdT0GaE7M34FeDc0u2Wr7+eOLsUdeiLmyD3Iexvc6Yb1bEFEu7A3UlEL4QG54gAEEKAXTpetsidFTqNmz62IXL2u0imXsCwjvUK8kXKi/aXZz7gz057e+nmmVe4fFazB2AgTNuR2nHq0xr6kRhKw3ZmO8Z5Cke97I9ZhNQdO+48mHFhAbq09mmmDxAD7slHLqxMtSMEsPDK07rj/7geo28j/7PxUewqp4O/Rc6VTsFeMRBOj+oVIpZLs+guqMVdPP+eDIwN7AgG2c3YF2mDIpJQp4qaye06Ow1bh2aHZJiNLaxmXF+CEsLRF8YU/N1I9v7ZRDo6Qc= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ba597b7-5392-446b-f040-08da6f537bd0 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:17.8949 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 20/39] avcodec/diracdsp: Don't cast const away unnecessarily 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: UPj59GSI/SLl Signed-off-by: Andreas Rheinhardt --- libavcodec/diracdsp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/diracdsp.c b/libavcodec/diracdsp.c index aafdddcdc3..284f914f9d 100644 --- a/libavcodec/diracdsp.c +++ b/libavcodec/diracdsp.c @@ -139,7 +139,7 @@ ADD_OBMC(32) static void put_signed_rect_clamped_8bit_c(uint8_t *dst, int dst_stride, const uint8_t *_src, int src_stride, int width, int height) { int x, y; - int16_t *src = (int16_t *)_src; + const int16_t *src = (const int16_t *)_src; for (y = 0; y < height; y++) { for (x = 0; x < width; x+=4) { dst[x ] = av_clip_uint8(src[x ] + 128); @@ -158,7 +158,7 @@ static void put_signed_rect_clamped_ ## PX ## bit_c(uint8_t *_dst, int dst_strid { \ int x, y; \ uint16_t *dst = (uint16_t *)_dst; \ - int32_t *src = (int32_t *)_src; \ + const int32_t *src = (const int32_t *)_src; \ for (y = 0; y < height; y++) { \ for (x = 0; x < width; x+=4) { \ dst[x ] = av_clip_uintp2(src[x ] + (1U << (PX - 1)), PX); \ From patchwork Tue Jul 26 22:07:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36993 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234004pzb; Wed, 27 Jul 2022 02:35:16 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sRtjdhtUI0u2ujsug6CLAZRp/SvDOSURya61kJJk8fGt4qdQlAIzWGbvhG8J0SN+zAruW6 X-Received: by 2002:a17:906:8443:b0:72b:67a6:a42f with SMTP id e3-20020a170906844300b0072b67a6a42fmr17175731ejy.309.1658914516740; Wed, 27 Jul 2022 02:35:16 -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 be10-20020a0564021a2a00b0043cb3f4d7f6si1205073edb.555.2022.07.27.02.35.16; Wed, 27 Jul 2022 02:35:16 -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=uLwkZEwz; 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 C366268B9AE; Wed, 27 Jul 2022 12:31:19 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BA7CA68B919 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R5cR1t0puK3GlGPXHam6Fi56vnREt0LBWLmSR3gLAncdR47bEC5kPGsedxQPN17h4ydoPIMEZIP2CE2NnOn6RCW8VjtJrsNtWJKM8GJyxPgIkQOiLSnDai+DZQ14ZrRZPSdCI8DYuoOBe4MfaZM1TMCPYwZvYPFb2lBc7Cs0GAgReE2WIFYx6o/CaFWIOUmUlmW/zW0lcztddTLBu4a5KSKrf+Uo2M09z6LoaS+utCaQu066uq4gW1QNbDitATp38SmBwdvoHXLQ5gKPvyzCkD5igbqRJp5O8yEHpII2P/6IaVu4dNTyRfh3SwF/Me1vahi3xUF6DihJN9x5PQctkA== 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=T9EZ+7qcaeuqLNGd+IGgugxUJ3M70/K63I2BNf3+HBg=; b=m00ODhE2sPFwb+K2lKVGugtmX8m5ybBK16XQoECOCtW8sLfF93Uqa2LVVu3iI0GRkCc2k0mIY94G/2Ardyhx4BKfpDKxWxmEVqPsZuVVtcCXp4hZ63lxOieHCfDHLsqcLEs2EeNzbOS9L/XKwjQYhrpdVLgrXbV8mWIEo5sCbro/jymbbRvApLMtROpZUeuFZbDPycS5oSBBiLFtdrDjZjdwaDEliESafjPnX+xv0B6YaocpD9XZ5y36igJhbKimms4UtoZhXBcMHDz/9I08cLX+lAKmNgJj4ciCJZ8JvcJiGlVTREH8bOptdc2wtHdSgaXYbMVluJGPfuQc5A6Hzg== 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=T9EZ+7qcaeuqLNGd+IGgugxUJ3M70/K63I2BNf3+HBg=; b=uLwkZEwz8D9aV+Ec9Vkdcyq3PXbCsiGgfW4IxWncG8oiyf/V4j0xdjc5Bx/b3luwa9D8Y+NUDk99KnlqrlKf61afH8d1N38eR/2wc7QNUYXNe0kBwPz+Th28gmfu6hXXWK16VAYXxDxtdhojjdgIzNGqmomh1FQaA9NQBjJygfbn1pytJeG8+nJafZ0oozkGNQ04fkhbgzXXCiXf2cvfRBb7ULnDIk32mgomlVAOPE2ksxbMcoGsxaODc2H01+UQRfmx0VDFrpnTMEjVJ4kpVBsqU7KRNl845JtgwxSEhuPncqVCiKdv2pJydnXDir+7w8C4fgmg7uCFe+bYZRwXfg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:20 +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:20 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:56 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [REp3BRXnt+X+eIh2cPpKhgrQeVG9EJXg] 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-20-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e41ded1e-5758-4795-b37f-08da6f537d1e X-MS-Exchange-SLBlob-MailProps: ZTmCor6bjd/WIqCvC2BLtUqCEcZLVYXmAyEptj42XyplgsBnVmieoYLSvpXDhT68UNeI6q6k7qJjJc5meq749y5wsGGxVK5NUns5hmcyfrZ9uKdqtzRUiYSRjDq+BH6TQfzZS9fb7GFoqDWJ1Ya34aAp9Ihmkh//kRoWHRvMTeTzRRLLW5Bqw/m6mPlPm3XdElluLbATAWq16pKJv46vRvMYDMY5uergkpmMHOHVaNFIMfchDiSCoIucBB/ofbUIIggK/2cHnZD0CMSB6FFJuP/lmTCOJy42SIYC0xSPT5k8TNOC7GgfQrOyLJ/CRw3Hpy/+Yqu32wf3e6U5y6XQ402fipev+ZNMjmnya7EJi4jL7Knuz7Gx27wzr9+kZfj9q4v+e2ppP5YZ2Is9cWhMYKabeF+NFTvdePX9osw1lQiKL6vtMVOAl7I1bCyBl5XsaVUm3h3ctFO1toruUVT6oESp0At7IQQvSA4Pz4Y6BjIkOuvugiMgCZMK16Dk//4BBxYXYfIs8eAHk0Q57t+EgNJWcD0R00z43aXxuEg3vrlfd2X4Dc3goE6MLIuKJsQUJmDkoDRzCm4jBqnhib3NKAGn1SSV96f1aPBJL7nl25DtTKON4KNbfbveRXp+K9LG132hjoCLdhZxtZep2abwr3+l0VZZk16+/vU6/NVTz8UZu7WyjpsAhIDXYRLOhZKY2XgNNP/SZ8cpcPsSDhbD+5isk5YU4Ypsllq1NwMXiiH7o/x14FcOYizomCsSwGuu+8q3BbESH/ZuNzEDyrO6jDQ0btC8PesT7MDVKMejyQDWl2he/uqrf5j/XqDQyy1h X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vMQmjZ559sphjlQfZB2WvesLFjme+mF9BiVjBvJN0kF1Gzx4wADdAnGNUZFJhVFM2JakWBGdmActPcFRwrS7RUxrCghsRKdlmEl75cAmJ/kwbCPjGH9/GckpI4BvkjmHbzwxqzwjKn3/wBdiv5wGmezJax2KUhhaOGVS1KzNLDTo7awe4eyiMvccgakbj8edwjK/4A29yrZFzQC6PnTPNG16ISQDJHhrpCCJf2DQze1IuYgwWGG3AVBrQyA7ewXyMwozCLXvOQYi8tVs3dFyDwfUuIYf1U1+zMFDwjvdVzvHrHxhr4q67tUnpHigeY1b896uCyEWTfIXh0D/4zFUuJoCJP9iDMLq0tcXeefkStCO4Hf20ZaqoyRLJV6sJPkkT9cP2qx26OCGbUszlaApajqP4JdQNgnSd/2bihFo6eZ0/0qNkxR/vaJHCaUR0Dh+6UQuDCzc6BoOFp+l6kpPJKgIXjffzXBWHeHsUuRs0EUnRQo3nZX5nYe1FZpYfN1rNbz7EUB9nZ/qVWPxVRCvl/pldV9rZigTpI6Ic0+bTSFB8DhCYvxQFGBtNSjrVD7W50HkeHP8bY29V5+tQxrTbTTUhHZj1fGhMhtvsrxGrJAivO5VQT9+jDRcIzX8qi+KrBTGdimd1j8hCJPXNCzQMg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6ReZBi3sxLX99bTnx+McDADLvNP/W4dF+wsAX+IcLa+YDAH8shsklcKQselToem2ZILdbbGyterk0hOE3w6YSuior6JIPF4NF4mmuR42CFIVrQWsTv8YeYmIOF7vOLZlvyAmCJoZeT05DyUOgAgAWTHM/oANBwboP3wm3GRxjA7znDI/+AG9DajJvSPGytEeYNkk2xJPTCytDhMFm2yFTiZtG2PWElCarFL5JEPrR9VMWOg9VvqCx3NlUpyPFMyS2+vOZ55JXvws2u8ePItg0b5xZ+fHHAfmF6UXVkOKdkRGxHrpH9vr6Rbz8rP6zRvNMJKT41KhVy9/+gmEMAsJRG8M481iPj9H6UNR1F4QjnIydlF4Ijtst8PrnMikYuxku8dHBKRfgrHojfHESnnQRYpyVCKFL4fTl8R+/Mvz1Gl/OavHn+3BNn8PBCRp8ieb+5VjurhDLhWbxCJA7+OvbKkyDiWfzqXd48p0Tzgbg3upQgzyCrxXY6zDG3H/tHevZCb7KZvywQZc6CY4HPgWd7/dm+Wo1G3uYmsROgOVboQKE9bcyK8J4/GPIjtVFL8nAN2AwFMVIdn/lZUt4157ptkX7ivjPSg2Fl4O75QtrH7QLthM8F7bLfklSf1P/0m9hfEFhC1rhTf6vIWQaGv6rq52vwMKQoHOs37q+BMM++wT9gem7G2GfkBd2ISDqx43cK+1v/0rjtF0vT1cg4oEY7Z5rlQSHEEYTnEiKn0ZypN8E1G4AotblbvdZPHfrlO+B26PZS7zOWh/0E0uIp9BWgeyjuIBthucblWrZvjmYCnOIEqVfi5XtILzpi+u3+ki/EJfalKWoJV8S3LwnnVNO5E4xlEmKBfLfPH4jIzxXYtK3nc598DBICqHA1YSAgTzb1Z4yOb3djk5pTASEoi98GdwarnWeCaPHhckRIz0zIaIjlc1OuykmcNd61PT+18K/xqQHgIBF59cq5FjXZq3egg4y/UG3bI8rvUxDWjwg//lqlS9Yupst6EwVGj7ETrmupys60+Cfw1AK9+Vg9AbG8UD++17bj14V3wctwlHSC50BhJbjfafNZZNp3KNQubz7QakeUpV7Ue0L2AsA6oQqyjXfQQcjshZnnsZ4rWLEiok7/saunzwfIWh/MHxuKv4eKpKHX90fjdI1YSe4FHCu9g5hlCTCcGINs0NxQ6NbaAmzYJ1yNwLLDy85MKK5QgQAl9FApDIF3N/wV9uOGGUEyDDMpKwjUXBsxf0VpTaEsbXMkRh/r/QfYMz5UxwJv1XG/e6ay1feYhxdrHSU1bIHBK38C2c/MomyVTvjK+K+Ww= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e41ded1e-5758-4795-b37f-08da6f537d1e 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:20.1604 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 21/39] avcodec/dxv: Don't cast const away unnecessarily 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: tWfq0sIarTQG Signed-off-by: Andreas Rheinhardt --- libavcodec/dxv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c index 2a055a3438..13c028d8ba 100644 --- a/libavcodec/dxv.c +++ b/libavcodec/dxv.c @@ -432,7 +432,7 @@ static int get_opcodes(GetByteContext *gb, uint32_t *table, uint8_t *dst, int op int64_t size_in_bits; unsigned endoffset, newoffset, offset; unsigned next; - uint8_t *src = (uint8_t *)gb->buffer; + const uint8_t *src = gb->buffer; ret = fill_optable(table, optable, nb_elements); if (ret < 0) From patchwork Tue Jul 26 22:07:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36990 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233816pzb; Wed, 27 Jul 2022 02:34:50 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vGiBV4tASCta/JxLMzdXdRulvu49lPkZRzCvin2IPwV05/zsT52MJQczdnTRdJbs+V7qNd X-Received: by 2002:a05:6402:4306:b0:43c:3e09:a9d0 with SMTP id m6-20020a056402430600b0043c3e09a9d0mr9040205edc.194.1658914490168; Wed, 27 Jul 2022 02:34:50 -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 m6-20020a056402510600b0043bf3d294c3si9731118edd.40.2022.07.27.02.34.49; Wed, 27 Jul 2022 02:34:50 -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=r0x6Kgqk; 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 863C168B920; Wed, 27 Jul 2022 12:31:16 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 962A568B916 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YfmCFT7eBvFeaFWLy8IjC1btXK9im0MvOnpiVSly/67aGkVJ/2Wn6fDhO5JHkjy3N8TnQWf3+38jKS5MFOxicGBZuYpCW5+p2Frx4O/SuzDwiz1H0FeiZMepzf6h6e9CG804YR3NRn/rYWJxS+P030p1sjt12oQGWZxAI8OdfCxXZuN1cqcSJPgOj06EC5XM6fNzKYESXUS0y89bPjaR57TA2VXhJFDTbDUEtIujxbsScwLS/He3wYkO5Fk2a4Vi8XMMgZM1Pd1sJQpPx4zIFv8+8TO1jFdrKQBAmT5S4ahlTuabLLNkCHjzuAzv9YLqS4xxMbw0WUar4cDZIPsRPA== 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=RdZAY5e7w0yN9K4rM0RhHoVSGXOl52CFruohcvJSe3A=; b=hYlQrVwJHzHx/fC0eicOffjd1ri0OboG3DcZM00ksRMMn+vlVE5/fSOC6IjhJt3EREZYV+BwfXu9pKOjOqSmRstHxhRjAt6k9wAe5TSzRffx64eMSkZo1CQ4UB89ZlVBCeI1fSPHV8OXUt7nZD5//HIW2HDcaUlMnxoKn53FlPwhVsH/ERq0wql1fJljVzk6jOwfW66HS+qIBbQ1DCqLtXweI+GzEyvkhbvyl3WLW8W/TvGRganXYJklfkgFg+B96hCdp6J1Bt9e2U/q0RenRISaFt4KZKAy2ylW4o3qStpJlWHAttzF1eoiU1JqHIHuh3a2Zzsr+kN1WhAPNi3ulg== 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=RdZAY5e7w0yN9K4rM0RhHoVSGXOl52CFruohcvJSe3A=; b=r0x6KgqkG8ef6hcrVqNmHWJpd/AVxlvWnLes0nvlTc9jcehRklzQjSX7faJvb0BXHjowCwrvJK7ng9mn+zH1CmwPHgifJ1KHVQk7MejLKe8z2ko6XQBYZ9M5NjFRIvqvzcnI/CoVmiT3Ro+6sf5JHzEH+B4aDrc7x2At7YmGvKAy8wCD+ETnG66K/FGw+i0pyV4hQwUOJEiDsYL+GDPh+yJzDY8M67heu6yjuLhKw6fgamx2o6uacRZ5LOOFc4TlgycTiTYLiFjNnYKbCUAkI7IISL+cJmM7EEeiMijtO57g5zAOuR2+VO3DoqNRDDER7rQ5jJroAX6wngh6e5ZLsQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:25 +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:25 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:57 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [1Mdo4ENhZcv7EX49YaMvMvRqeuZwaVDX] 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-21-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8349764f-efe0-4116-d198-08da6f538014 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYTDGZ/9xJTLk2+UhLFTkXEh4VyxjLAF8BBm0+oKIgu6INUeqZiOwNemH58eJ+x1lpLwQEI/JDtNVIZLGDtX3Sq7pS7bmU+yE0pKe2a1h5xH2j/zMAsU020SFT7c/IF6xGM/0tdB1PYA/+/Qu8qKqgH6DpYyHMqGVN+d56EvvqY9bmrWPLEJv/G4z76wLUAFDcse2z9Nz7PEpBVDqGBbF+OOFuYJsUG1JoJtkRuUSgqh30Y5oQG/TrX3EUao6D6bTKQ6eOlW4J6ruW6oQNrXZ+bLQwf+qEmlDFvzA3xfrG8PlLA7hI2vr65s4M/+m9BFTLYKRS5HAzs+4qi1yId0wG/sq3dlL3j1HrisubDdDSld7lkf2DNXULYHrWQc+1lloxfQV+MHjvwH3O9c7jAdhp6t9wlKo8zbe+90geHUIGZDCRvwrQFWvDDoD19JN8JHxtAlNdvTQHnOwUERBG47zr+EkBHxKh1T5nO+/NZWkBZVOyeOXsw52zC5yafwSG+sFrFZRJHEzi1B2jK9v4luT5aAnGaSjGDBTq2ceTCAf7iv/MNRymz7uCVLHIJDHYS9dlkL7SeBPOB0+nV6HuWHPvvBW8kb1Zk6yOA212YqfWHOPw/l6Gv/osSh8GL7O/UH83XQI+p4P+3FbXdNuZUh/wo6KGNYVnXdONydqLukwxKDwmSpXXSLiHH77EV4lJIJ1FKD2jbnYfFfw= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oOzBWv9jqOc8cdIa8g6OuU6u3V4FucqsLpx/e5FOM/r6nRNBTq1P/86+9jdEn6z1a61siOh+s5sgn0S3O1V0vdrXH1qMmtHDZCQtX0gKkNgODHaM/+UKv+6e0CgTTRhK/Ge/f2z1LGW2ajgb7nVDFh1aLyFpg5mFPplclEvSDy/t0hZVbj9DYp6JAtLG4ScReIl6wm3gtI2w8hIWOEKGCrKnI6uxb89nHR2hIecuqGCpWJZq78BiMNCB+mc3LMhLsKOM/MSRWc1Rgv6W/4H0++yBXB5AjrlLt1LDuehvdZ06yxMV/dqdIUo+o3YLNvIZbCaqYnY9CJSvcZ5bLBVMvftxBKloTTFBtRFcAPha0/wHFDgT3010MaK1XNl+XzOMZ86JikOPuHOHRFltkLaKFSsw9giajhEF+2TRtexTWMtkGm9PjSMl9/mzYhnrZDQCBHnxid8RKTLTojjd7rJsrkNJwck4nKsryJSBs5rm6kGvTAt0ZFljsB4oNV7P3NYJXd0RZqKIWz+GeEFth8Hc3Bs60fZ+YCp0W2ZqtQhsMsIfxSJ6PJsxJS8WEGfYgpWTB0333Jlgb9cyiNPYc8uaqBnMxONTizHyNzdKZbR1RMUvzNkzVUW2Ej2Jq+VOXl/rLO2zfTbfgK+24GpbLtKm8g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: b224Nrm19ArnP3kjfgb3tqk9XIKsp6BCWr+/mqhjmrZh9tc1G1To/cdXVL1Y6zrXbCLS/j+oo+zliCqpdaazT9M7fFCDMvZnons0GYJSoAPuTIwd5KgYHQDbs5wl0H/p0WKN/4bFOLt2GwTUwuYrzHYZabXtHf8gy6loVoaR9b5rHETew6cRKmbaqu5Gevk/HL8xXbuTj69r2ifgBJ/4A0oftP2b24PKGRrbxA2uIZn6AQStjsqP9XywI244wOqQ4992Ti7oHwPwxXlDm6BkktU1jbv8GFj6AXMjJmygDGja2NVScMDdAFuj8c9VfLl+UXpMbIcy87pOK+t/A7ryekZnP6MyampMJgA9453WLrqbFPcUJ5g0bz3v/qdRIeRjR02vH20m+S4nXRs4rZSYYsYOYr3IVo/jV53f2PTHi2/EyDyrUdhwBPLtnUIHsmRYmhHPajlV+UNR5wOJVSvkzYbZeiAORp5vqFzaGqsLRH9K0k837GCDn/LhUYOlY9Pxz0GbRDAb7y/hFuHI/s+v9TQ51snoOiDsG0Iuk/UIyUJzuRUL1ZTTfEMugJwPUQpmw28CvIUIS1FuNx1FL9NfxwmoZooC2NK0rSrmFTIsX/PzgfsGO+6b7ZKVVQRuxjtR76T8DxQuPL4XOz9CGI53u2zZxeXNFfYpXO9AXWKWAQeLIBU8cf/MxcCth1B/BYxq4hYLGzFeFigGjYueHlNLMFdrKWA2t8FcSA/QloGw3IKAQgQzix/RaeUC8de7Ocjt8Sjl1dre2sbM28dAgjO1Rtz8HYgOb9pwM9sDvhOOnxgnRkh04IK3ZpbFKPlqI69xoX4zRFtiHDlp7uFt+OhjYrOiMpSodVa2xl70Ee8vt8XZs71Ln/D42eHH5RlRRw2NKgJHC7jzupyety18tSEmZGSKFwUdRU4oCglLC0w0vXytmqHlxd69JhgBEnVVdszcgDDwYJucqZFCi5rgGuisO9OpTdrfzWS/LHRfF0QoWQ88CqCE7nl14gRyO5XscMokZ9z7YlkTl2uMQqB82yaXYVVe2yoFJ6mf1FDCnfUoDLS/HMz2CDZzDU0KzJzA/5C7rwEQLaWLzMsBJQ9tJsheplXE8F7tO9vuiNeMWRibjYdY1Uo/Qg9E3Ju0XqeJp92uyzPc/KlqYqg2ENLAkzxrrO7ENw7d4yRCHcl3wxDtTP98UOUTSwIg2dbXLmGYYQPbjcRrJD3UF2ijC5g7HWiMkpzQe6XrCgVa+IMpv12ZSbw1V+2UXRfVqc+Y1YQludGgpebzJL/TLHef5kKmEYN8lCIHfwkrwGyZI0+U/sjX5K8= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8349764f-efe0-4116-d198-08da6f538014 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:25.1131 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 22/39] avcodec/cinepakenc: Avoid casting const away 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: KQqpWyb+sRql Signed-off-by: Andreas Rheinhardt --- libavcodec/cinepakenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/cinepakenc.c b/libavcodec/cinepakenc.c index 95af3cc7ef..1b7c901685 100644 --- a/libavcodec/cinepakenc.c +++ b/libavcodec/cinepakenc.c @@ -429,7 +429,7 @@ static int encode_codebook(CinepakEncContext *s, int *codebook, int size, // sets out to the sub picture starting at (x,y) in in static void get_sub_picture(CinepakEncContext *s, int x, int y, - uint8_t * in_data[4], int in_linesize[4], + uint8_t *const in_data[4], const int in_linesize[4], uint8_t *out_data[4], int out_linesize[4]) { out_data[0] = in_data[0] + x + y * in_linesize[0]; @@ -1097,7 +1097,7 @@ static int rd_frame(CinepakEncContext *s, const AVFrame *frame, data, linesize); else get_sub_picture(s, 0, y, - (uint8_t **)frame->data, (int *)frame->linesize, + frame->data, frame->linesize, data, linesize); get_sub_picture(s, 0, y, s->last_frame->data, s->last_frame->linesize, From patchwork Tue Jul 26 22:07:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36995 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234119pzb; Wed, 27 Jul 2022 02:35:34 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vMblqwzWEBmluadW76EVVCsQj3goG6c45WbRn1qHPF+uUpj/El9Ga+ZFgEeKACdOlgYfji X-Received: by 2002:a17:906:d54b:b0:72e:ece1:2956 with SMTP id cr11-20020a170906d54b00b0072eece12956mr17238938ejc.156.1658914534606; Wed, 27 Jul 2022 02:35:34 -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 cx15-20020a05640222af00b0043bb7a6477csi3572907edb.527.2022.07.27.02.35.34; Wed, 27 Jul 2022 02:35:34 -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="oZjEW2/F"; 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 87A3E68B9B0; Wed, 27 Jul 2022 12:31:22 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E229668B914 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i7WOBISKizh88Rspz5+FJevC2h07aZjGq8+RsnsHZv4Rza3ry5mACIdZedtsUJI1wnmTyCrlJwqUQpzLTeDmNOXQdc6SvPF1q35b/cZM8EItNaSqUSAcw7lhLKNW+EqwAsuiEy/+ifj1XpkaLi5NzyUNfoqp5TtM1BfblT4bE2iCLfWW2WSC5K4PTr1y8gsyuDEEt4i2/oIeD06oAXzYlhSNxWgIeYkDFo/ba1cCh8w1M8OAvnDaHdsrlwPnEuLwxjNTI3nWa7dXjjDVNn2borqh7oWT27ELr8AqbvHyFDE/1gQbbw0A/E1Z0afAXmNQv/3qvhkoSj54V2kknIUQ8g== 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=FkX/mMZnRgvK18s+BPwnxSPY4W7Pkqa5fI9lALPql+g=; b=LhkEtbPWPPhU+YrA0rgTK3RWpc8grpl55pBygZgaDSjv8zST2abJ2wax1YpVK/Qhte3RXwFtAul48NXIclBNhdgxY7x4puV4xyOP34C8emyFOrPXiMsRpEgVuch6z2lvLS0K3fzV+BWIR15Qx9dmu2Hz3ujHqsdIgGIaC1GtxhARb9sPheBYXZpcTkqVWJC+yb3/jMlPPuOYk6IMwXngCPQI2JYqJqmY+b5nbpx/rzrqMRXf5Wtp/28Ndzg6K9STUjJi5/LKmCb60yP2js3xgUIZ6SbXw+WtMnZS9fxHU2R+YnNcItClow/jxW+H2u/lRZgV0Vf2qAlzEhxflBE33w== 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=FkX/mMZnRgvK18s+BPwnxSPY4W7Pkqa5fI9lALPql+g=; b=oZjEW2/FImh0qOet+XYiMpW/6xXQFFMeI1rkeTPWizJY1kEUpofnIm26NcFEX3nQ2hvKA45UdN1thgy3IriP41z9YJf5w7J1voQjfy0IbTy9HTtkMYgzXGKVGsFbywkF6FGqMfhE9y/eEZ9inkHddV6MsD03QmovGMqFEg8zXRJbyKrEGmT0NgzbTSKG+eejOtjGcJv1TPsHGFBSCy/kR6mB5hvE6YDTR7DAL9XAIRhEn+VLRz4obp7j8Vtx7asoJD1YHdnusLIOicX6nWFafGhcrgM+vsRO/IX+FGx2b5zftP4oA4ZCgsPc09LXwBADpiztOxgxkGDFl9bBKrUaag== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:26 +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:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:58 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [aGAVAFYTlQR+O75il8AWSUajM7/JYETy] 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-22-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf149001-a08d-4bd7-fd12-08da6f538107 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBvqq+p2G+DEkM0mNflI0PsE+oDcK2GhyFZ1fT2PkeBNKGEHYEXw0FBL2taNscTYwiqbAUYsq6LtvwDGqQQ896rwwnVEmJFZxcd5xhrglExrOFnr0Cd9ppkl9CVsNN6DlQ7yqOdGAsLpwDL7lA0ioeeCKrtBdEg4hUEyTn+PnXqFJxQr3E+I7DGvmlDgzpc0jg3BWMH3LXvq/J30Tq78S6mw4tU8GwsMatRjMNTPVDzXA8dpkEZV34mlVa20Cv7iWGGWSD+Ki2XrfkEaZGBhgz4Ie2kMjwpxTqQeKExHSFZ0TcBzWNywrsq9V943usAgnR9G45xmuuhBmOMfk/eI/u1fEh1o83TEorX6qv/m4NFaGTYKzo88PMJVf1VpYSlYzIdHNZMJ6e/p2BCZEpt6wYR7m4n8SuIa78j2TSBNoZqdmnTI3KvlZ4gIF0m0Fk4CCq+3RgrWVuhCf9kCOavKl3tApO/dyBVtuAvJEVvExgXFu5u7OpaT4hhif3u5pof9IhXxgeOF1rvAtIKfNVseoAHo1jK2xaJbRqhpxNlmN0Q7jBMdx9v7j5TyFNgUmGvLUVsONCWw1zhxWHAQdZ8fbS+1byH+hDtL5NZ2oQ7jnX7O7l3diQ36BeNzW6bPO7Z8zC8Y2IYsIANl5WtKKEivDi7WMXHwfyb3gLVa81fHh9aWq0LXI7mRsksvyLQLrPNFBZx/S2YEMWbXFw0PqPHP0YXZi7rr3rhYqSNnaXkpPgILc= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VaH1OKF6K9FMBKZO2iftFFuUAGOKyPyCpsKasccn09gD1CTe4xbaaXOQYmOtHPgMMcMBnVb8Ec7NAc+RwZ9bPUyK+tgANRukVqqdWfMlI/AabVTOnzZi16aejZwYIb5rEu6KIAW3/i8lIorXrTe6d9pk3+HRs1VTwniamifT4yL5zwCGAjQJPeelxUxJoEqOyPo9ejmwEVdPV9iOhzmNJ/U8q/Y4kaCTiWRfz2+/TvD1l4nYDnBBttq5TfZYaYflwIp1Uwh76U48XsVS8RqPQD17R8RO6+oyLKejydmB4LBjuJ7ou7r2g2OK9O7/P5xB/hK21ExRvU96AwlTR7dXMjd76MY6HtTI1WwP/6i/klx5qOf1YGGFZiQ38FoyN1ry4dFbn9uq5RCA50Ic4GFPWFVwaoT9MniTohEPXXAIKaHfY68IUO5LxW53gROS9q/u69by0eh8JGj51yNa8K3hbvsCqbfTOuIE5sCtNmXKIfOVpUbTD+dgMKV7cKSfuMFs6zZuhY/N6QK4UeEc/KdIJp8U2fHiR9TR/kJmfJnKhD/m8Z1zTD1kFJi3smb6D6zMO/5Fa8vKC58qFLms8LantJ3qYgmeks3C3TgVfBunyCjPFMOgENf4BddZhCiqWine0t+YcvSh4EE6T9rB49VHlg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ti+yTck4ap84sRBQTuzOb04aQB2rz4wZx9cUVDGYOc39nKj2nk+mmRiIMZN0gknT4uyoVAux2qtNcguFwcvEYPQoQNjX0NLhE0Rtd7vBIm1oKXwedwPGcoNbq67N63/n4Dk3J/filZSqig6NX6a/JV3HCDSATU9Coj0yVvuGYYoYRZCFMAFpjR8L8wzVyVe4qhr6HjOJWcr3TJph5hKhniJtc4XnsCGbGg/DhGlblHs/7V+LCB5ZlTosVaBloj60aBC5eJmrIr9jtb2D61J0t2sPR8TQUpH0N6Xyj9PNdxvthiuNiE4TrTZkjey9LbF/qnWTdnTmi3Mi0I/sUUnMcp0Ih63Eepk3UmfLD0d0Y/cMMFecH8LMJUuRGh8lMCWIn7r0CwjfU2y1C0AhRD3bWX0xOwORCfjPhX5RZexbdPtJY4h377A1dS73OvchjAik6ciX0SKkW6UbSpEzHq+MBqCmw2zjRdmvPJAXa3k61zSb3WX19w1u+aFvofHdJcX50ehMU6Rr/JD+zcVMDIh8GvAcglLlfZRLm75AwUnhFhrJr71ywFSDvZNj8zuZkA7t68xdNnUcEgFVnEnGwFgsd8XnCHxKLZP6srr29BnWKBW4k110Y13Mrks2qleC+im1f8u8yYRhI9Wgp48Q5NvsrPdmA4S7WkLDB4M9zS+X4zoQksRz70CobotPvRQV3iyrWxZW/KHhBglhVeJp93u5e+DC+Zv+7XUm2c88uOjTT9CEJPHAHHCLM3fZRAEWivDpL+oqRcv0d15yVRX9o+yHSkUGPNsAc7/VXNgmsItWKaYBSKZPJLKZm+WuVGjbbHNfmazfxX4mejGEWNsqnvOTQZ+arBIzlVRgcQiJs5vdSLeUUMbP+VCC5XRAFRaCvGaJ4LPIQOLoaowo4HIAP3I+y3iSk3LX1uquelJXNDQ2i4A38KlgnI+lc8un9nV2n2K7vIvdhtYSUvl8VZ/fbiTE8K3WokJ40LA+2Kz4VlRGQyAojEMbm3o/PeDX8lc7/YKa6OQ42rukcMTGv53+NKyZea/dJHNDJ7/oiXvTmKj8eZ2jhZW1Qe+sCadVWb1J9R1pXhTUMlGkvXfiXECtaljGGGEHZrnbJhqAErVFb+vMJMW3cUuzo0tC12Y9OliHd/tmes+PjI7PUXnbXT34QhedpgatSxQ9N7iYk6lGU3PKV9JPSO2VObZgJJTFxeKEbsKJOJUxQ5D9+oBxEc4DB6nq8SDT82KhsjUP8gOS533qgbJVbetGu+GRQtjyJzc27NEWcSfPH8d42QWqu3TNbhhq3bxTPk8x015xYlzBevp79bI= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf149001-a08d-4bd7-fd12-08da6f538107 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:26.7068 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 23/39] avcodec/ilbcdec: Fix const correctness 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: +4IcTlVPgJbo Also constify everything that can be constified. Signed-off-by: Andreas Rheinhardt --- libavcodec/ilbcdec.c | 66 +++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/libavcodec/ilbcdec.c b/libavcodec/ilbcdec.c index 4c82631c34..4905ee4145 100644 --- a/libavcodec/ilbcdec.c +++ b/libavcodec/ilbcdec.c @@ -331,8 +331,8 @@ static void lsf_check_stability(int16_t *lsf, int dim, int nb_vectors) } } -static void lsf_interpolate(int16_t *out, int16_t *in1, - int16_t *in2, int16_t coef, +static void lsf_interpolate(int16_t *out, const int16_t *in1, + const int16_t *in2, int16_t coef, int size) { int invcoef = 16384 - coef, i; @@ -341,7 +341,7 @@ static void lsf_interpolate(int16_t *out, int16_t *in1, out[i] = (coef * in1[i] + invcoef * in2[i] + 8192) >> 14; } -static void lsf2lsp(int16_t *lsf, int16_t *lsp, int order) +static void lsf2lsp(const int16_t *lsf, int16_t *lsp, int order) { int16_t diff, freq; int32_t tmp; @@ -364,7 +364,7 @@ static void lsf2lsp(int16_t *lsf, int16_t *lsp, int order) } } -static void get_lsp_poly(int16_t *lsp, int32_t *f) +static void get_lsp_poly(const int16_t *lsp, int32_t *f) { int16_t high, low; int i, j, k, l; @@ -391,7 +391,7 @@ static void get_lsp_poly(int16_t *lsp, int32_t *f) } } -static void lsf2poly(int16_t *a, int16_t *lsf) +static void lsf2poly(int16_t *a, const int16_t *lsf) { int32_t f[2][6]; int16_t lsp[10]; @@ -418,8 +418,8 @@ static void lsf2poly(int16_t *a, int16_t *lsf) } } -static void lsp_interpolate2polydec(int16_t *a, int16_t *lsf1, - int16_t *lsf2, int coef, int length) +static void lsp_interpolate2polydec(int16_t *a, const int16_t *lsf1, + const int16_t *lsf2, int coef, int length) { int16_t lsftmp[LPC_FILTERORDER]; @@ -437,13 +437,13 @@ static void bw_expand(int16_t *out, const int16_t *in, const int16_t *coef, int } static void lsp_interpolate(int16_t *syntdenum, int16_t *weightdenum, - int16_t *lsfdeq, int16_t length, + const int16_t *lsfdeq, int16_t length, ILBCContext *s) { - int16_t lp[LPC_FILTERORDER + 1], *lsfdeq2; + int16_t lp[LPC_FILTERORDER + 1]; + const int16_t *const lsfdeq2 = lsfdeq + length; int i, pos, lp_length; - lsfdeq2 = lsfdeq + length; lp_length = length + 1; if (s->mode == 30) { @@ -478,8 +478,8 @@ static void lsp_interpolate(int16_t *syntdenum, int16_t *weightdenum, } } -static void filter_mafq12(int16_t *in_ptr, int16_t *out_ptr, - int16_t *B, int16_t B_length, +static void filter_mafq12(const int16_t *in_ptr, int16_t *out_ptr, + const int16_t *B, int16_t B_length, int16_t length) { int o, i, j; @@ -520,13 +520,14 @@ static void filter_arfq12(const int16_t *data_in, } } -static void state_construct(int16_t ifm, int16_t *idx, - int16_t *synt_denum, int16_t *Out_fix, +static void state_construct(int16_t ifm, const int16_t *idx, + const int16_t *synt_denum, int16_t *Out_fix, int16_t len) { int k; int16_t maxVal; - int16_t *tmp1, *tmp2, *tmp3; + int16_t *tmp1, *tmp3; + const int16_t *tmp2; /* Stack based */ int16_t numerator[1 + LPC_FILTERORDER]; int16_t sampleValVec[2 * STATE_SHORT_LEN_30MS + LPC_FILTERORDER]; @@ -630,7 +631,7 @@ static void add_vector_and_shift(int16_t *out, const int16_t *in1, out[i] = (in1[i] + in2[i]) >> shift; } -static void create_augmented_vector(int index, int16_t *buffer, int16_t *cbVec) +static void create_augmented_vector(int index, const int16_t *buffer, int16_t *cbVec) { int16_t cbVecTmp[4]; int interpolation_length = FFMIN(4, index); @@ -696,7 +697,7 @@ static void get_codebook(int16_t * cbvec, /* (o) Constructed codebook vector * /* do filtering to get the codebook vector */ - filter_mafq12(&mem[memIndTest + 4], cbvec, (int16_t *) kCbFiltersRev, CB_FILTERLEN, cbveclen); + filter_mafq12(&mem[memIndTest + 4], cbvec, kCbFiltersRev, CB_FILTERLEN, cbveclen); } else { /* interpolated vectors */ /* Stuff zeros outside memory buffer */ @@ -704,7 +705,7 @@ static void get_codebook(int16_t * cbvec, /* (o) Constructed codebook vector * memset(mem + lMem, 0, CB_HALFFILTERLEN * 2); /* do filtering */ - filter_mafq12(&mem[memIndTest + 7], tempbuff2, (int16_t *) kCbFiltersRev, CB_FILTERLEN, (int16_t) (cbveclen + 5)); + filter_mafq12(&mem[memIndTest + 7], tempbuff2, kCbFiltersRev, CB_FILTERLEN, (int16_t) (cbveclen + 5)); /* Calculate lag index */ lag = (cbveclen << 1) - 20 + index - base_size - lMem - 1; @@ -716,8 +717,8 @@ static void get_codebook(int16_t * cbvec, /* (o) Constructed codebook vector * static void construct_vector ( int16_t *decvector, /* (o) Decoded vector */ - int16_t *index, /* (i) Codebook indices */ - int16_t *gain_index, /* (i) Gain quantization indices */ + const int16_t *index, /* (i) Codebook indices */ + const int16_t *gain_index, /* (i) Gain quantization indices */ int16_t *mem, /* (i) Buffer for codevector construction */ int16_t lMem, /* (i) Length of buffer */ int16_t veclen) @@ -753,10 +754,10 @@ static void construct_vector ( } } -static void reverse_memcpy(int16_t *dest, int16_t *source, int length) +static void reverse_memcpy(int16_t *dest, const int16_t *source, int length) { int16_t* destPtr = dest; - int16_t* sourcePtr = source; + const int16_t *sourcePtr = source; int j; for (j = 0; j < length; j++) @@ -766,7 +767,7 @@ static void reverse_memcpy(int16_t *dest, int16_t *source, int length) static void decode_residual(ILBCContext *s, ILBCFrame *encbits, int16_t *decresidual, - int16_t *syntdenum) + const int16_t *syntdenum) { int16_t meml_gotten, Nfor, Nback, diff, start_pos; int16_t subcount, subframe; @@ -911,12 +912,10 @@ static int32_t scale_dot_product(const int16_t *v1, const int16_t *v2, int lengt return av_clipl_int32(sum); } -static void correlation(int32_t *corr, int32_t *ener, int16_t *buffer, +static void correlation(int32_t *corr, int32_t *ener, const int16_t *buffer, int16_t lag, int16_t blen, int16_t srange, int16_t scale) { - int16_t *w16ptr; - - w16ptr = &buffer[blen - srange - lag]; + const int16_t *w16ptr = &buffer[blen - srange - lag]; *corr = scale_dot_product(&buffer[blen - srange], w16ptr, srange, scale); *ener = scale_dot_product(w16ptr, w16ptr, srange, scale); @@ -952,8 +951,8 @@ static void do_plc(int16_t *plc_residual, /* (o) concealed residual */ int16_t *plc_lpc, /* (o) concealed LP parameters */ int16_t PLI, /* (i) packet loss indicator 0 - no PL, 1 = PL */ - int16_t *decresidual, /* (i) decoded residual */ - int16_t *lpc, /* (i) decoded LPC (only used for no PL) */ + const int16_t *decresidual, /* (i) decoded residual */ + const int16_t *lpc, /* (i) decoded LPC (only used for no PL) */ int16_t inlag, /* (i) pitch lag */ ILBCContext *s) /* (i/o) decoder instance */ { @@ -1202,7 +1201,7 @@ static void do_plc(int16_t *plc_residual, /* (o) concealed residual */ return; } -static int xcorr_coeff(int16_t *target, int16_t *regressor, +static int xcorr_coeff(const int16_t *target, const int16_t *regressor, int16_t subl, int16_t searchLen, int16_t offset, int16_t step) { @@ -1213,8 +1212,8 @@ static int xcorr_coeff(int16_t *target, int16_t *regressor, int16_t cross_corr_sg_mod, cross_corr_sg_mod_max; int32_t cross_corr, energy; int16_t cross_corr_mod, energy_mod, enery_mod_max; - int16_t *tp, *rp; - int16_t *rp_beg, *rp_end; + const int16_t *rp; + const int16_t *rp_beg, *rp_end; int16_t totscale, totscale_max; int16_t scalediff; int32_t new_crit, max_crit; @@ -1253,10 +1252,9 @@ static int xcorr_coeff(int16_t *target, int16_t *regressor, energy = scale_dot_product(regressor, regressor, subl, shifts); for (k = 0; k < searchLen; k++) { - tp = target; rp = ®ressor[pos]; - cross_corr = scale_dot_product(tp, rp, subl, shifts); + cross_corr = scale_dot_product(target, rp, subl, shifts); if ((energy > 0) && (cross_corr > 0)) { /* Put cross correlation and energy on 16 bit word */ From patchwork Tue Jul 26 22:07:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36994 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234057pzb; Wed, 27 Jul 2022 02:35:25 -0700 (PDT) X-Google-Smtp-Source: AGRyM1umIZ6abKKb+ctzb09Rf49e+0aXYkLTNpzeoqRxzIjYIZ14RHjsAA6Sj3tbmeGbvJnLJ7Md X-Received: by 2002:a05:6402:16:b0:43a:f435:5d07 with SMTP id d22-20020a056402001600b0043af4355d07mr22285237edu.420.1658914525496; Wed, 27 Jul 2022 02:35:25 -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 a22-20020a1709065f9600b0072afb8b295bsi15673479eju.338.2022.07.27.02.35.25; Wed, 27 Jul 2022 02:35:25 -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=mIUltEx8; 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 694D168B92C; Wed, 27 Jul 2022 12:31:21 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E269368B922 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LBB7GgBmJ3USfpbP1KEOHAcYS818Lo0opczBDDzX8nxhxEILdVxxlWzYCwSTo5iGdP4gDZ1x4BJ0Y2+M3hhdB5SlPI9a/WLp/J02Lqx/yitU9nabuvvjBqsSC/2J9CzvP6L2+heG5t3znEHLdggfcl/OgWxKoXRNbi5NYeBuLXjiScBpMVbXVEd8xOtks8N3P+6uSCwTuHP4JMj/BWH7R35Df43hblSAO1ieS9iwV3cVdUDuvSE8Lyp8ELD3c0Vi7G2ztNUqa8/Cm7OnzveKurbz3Avv4aXQCotJpnPWXVbkOYGZc/JwNSA4cngQ8qfJYpYardj+LnVC70Bcr3GJMg== 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=Z/hAenE9HAX9QOpBV0E2T27fy3BLszaBneLSjle8IzU=; b=UbjlJPRgcG/7W9IADpcnTBjWGx35cKElBi9Ag4p1QsqSdqDkzSuGUONfzlCZlcIOBHFicE52nZ1cNzwNJNfNC1+GoPAP1nX5NSOfCDRwzxBckf/c8KPbxmcAJk5x1q7FaN0a9g4GxtbmcBr2TmusBfKx7PpUOMUoqImf2zuaqin08cxk74JuAFEqoqpvEzVxaloVV+GpwBnILeGAPzhZMM2JPaaAi4/dj0lxK0WPTUnCIXRKaYDQHGHj2JJjIwKQ2+u+H8iPc1KjA7HGdxtaIvFpkbSDAUQMUYAhwnq281fuJe57O4XzdpqUig2iqRpQ6A5Ix3CGeyJ6HcF418iw4g== 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=Z/hAenE9HAX9QOpBV0E2T27fy3BLszaBneLSjle8IzU=; b=mIUltEx8xj5Y7oTp2wOuV86kchT5oz2QrxyiQnctQSUowmQXbLGITV114Wdcov26BAbr6kOlIWbM5IxPQMF7Ko4LPWdmZckM15qhOrN1h5vfztn9R2maGJt/9Csmdbw2V4OuyrTnhcLixOjVnNc/7qL3zMuiP37xSPDwL/784B0LsnNsLvQi2WTpfi4NW4QYoXirY43QM+7M//KU3KHRR8TkelEytcaqnQPUC+ZduwrqKh4Vc3mwdWvARNxc1uKPgIBruxuoTCZ9Zt3m6vBe4j0wTsLhA0HJsYyNCeQDKZhNHqdNLsw+0s9yDdyMB7KDqi2/NSoTRiGrjpAvqJiCiQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:30 +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:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:59 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [2+ezQQMTOr+W2ESO5k/9OmTvsZ2KQxkK] 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-23-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f343c996-ac99-43c7-2b26-08da6f538306 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuHAZUD9973euQIW/KMDlR3r8YeQwRWU0FQkf4cDWcjRsLTO7MNkjsLlr5Ap0oDk5k7VxRqvlOMB5FpfqyGwigpHIz7nfm1ZAT9T+fnxy4z3RIUpCFSdMQ4GVs3hANZyks7yEL4Jsqzk1GcXl/V2ykKJp7wtLfrF/u0iN2TZWmN+8bcPzxzyykjjDYmYTwviwyR+B18DMAaA8DGVEP3hT/nufKu0czSQ2KXoz7sgIG3JLyyXaAcUX6VUKCILfR+ESs1mO0vheXGwtVoxvHpEFKtq/2WESnsliOXn/Kttu/UjHyCFtXW5l7k5uWWpBOUqNa9ZHnnoQWBKKsS6VAT62+XpyTHbATbC+HkEzvyto++SG7s4hHT9Cj8Cz/JRl8Ut9f89BzuatuXH7ZyLTSu53wC8CQz3KmkAftCqHQTvbWFEVwYwkQs9GUIyKtWrkig1xRaVFTypO+c0lqFspil3HgFW108q2Alo07IG4repXb7riQyjypcnTr4RUcFevwU/GZLs0uYT3Ux2z03MYY5s051sLKmpg0YrHWARe4WHY8r+/zLEWIpSS0b7yYlMSmrm10+F08a2P8mCOYd9lHvqlNDZRZ96fBxM3VdT3zodfFsGP3H3are9md0c2GrV7VQboGqr0l64pBBGnk/sKR/JoaVkM0GPitz14Ikkmpg9PXnp3Rxwrm/AB47BDZLacrSZiPHrMGBGhgACn6ba6rJj8RaCks4b9MehzUQNDhkCHK0GXTbils6nyvdEGhiRNGNil0qEkL3DcvEWYtvarZDuy/0 X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OxO3YvW0gx9fr0Aj/ICN+ifdG3mg1kfAIZEQWxC2RTml1VmPh32UfVyvzhKP3C2p6/bw8n4IK7FAqhRH3hcpat308BfoWUWU2G1kpj2WQXlQ6CoHL+AaeKAejXPyhdylrMgbDp71AZTkO/nVlx30o8Cs7DRb6j+v65ftJdc0R6IwGH5FQGaRjXcaQHXKAIfsl3+++/ZKNJZPWv2LGD6eo6w1ppx076/0ZCIWWZltlYStVO/qStMjie+dsvVod/7Ml2lqaBocLnZX93BOPcSky9vGeigyPqXJC0U3lVWJfYx7LbmgSmDrITlfDRY18FJvFP0C8WhfC0jOy/FeHIyhOs8C4KrlQ9Gl6iNdfOoiW9IWidt7z+O1qOGwyqOruCM2HRscuUnR8KOBaYf/zAtnl6GgTWQg+0C/1MdnPSE3qKBkv+yAaTV9lwDu6RCqiBgIBgSkXszsVOPqtddwBM2zTGB4keWkPHxe16ZqV9/VK7WDIW1xUvTf6n91wJ65SbKZRh7G/qdycpi6tE7WqTwtqMszkOXH+h2kThcXVYho9EPdTIOP8Jr0Y2vQztTOkXvItQf8XMvzcni5+5ob6eOtuAcBtwmc00H3fJcwQImAYEfQMyJf9Ujln/R11Is9XCq16DCOxaSiFwKqTV3OxjrKXQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: o+8b3sTr66hhoF7sLU3cpmvRox98tXGtgcUvqsoAxpGzty9mau+7CwutrmHjZJ6cBqcfBaMaLYALlQ06+bPk8x48PJ4dUQoQKI0QVthMlnugqz+cjCLwKhhzr7Fv/YS08KHa1dxqZEq/hZJ2KAPUB7f4idzmwN8vW1DW3fY7JY81fNJfmiWwVaGOiTcZrGOSyh+yULrTA1jrCzdHy0Yp4Fm55tzQ7gbkD0E96J3Zwpr3KfM0NHb6wR3dy8ZvKcrftNSjFFqEKxt323mARSSAJvNu5jkkh3IxzfTMdHce/zGDp45a6D2E4EhL64ez1y/c19Pz4gHQHOEdZMkS8dYIrPcH+Tzp0xm2QsZwGhAKDFlEZKBX9gtmfSsXR5fyG5GqBs1Mn8raJM4MJN2BhVZbODTG6Z0ck4+Z2xWyvJcNpA+DQk5drl88a2Zh/iDcIDRDcjPIy6kqI96acB7I3PstObfSOeqo53SXwHdJ3s08lz1wkWevrXegblpTVqM0K+1Itx1CgHIak1jssOgiYTtAU4AJWZbIa4FsHqJ8XiBG2j03sFQL97NvzwopeK6LPygJNfT8WoCZNy0dMZ7kv7RXB2dwPWcbC/4sVYI02T72eDSG8AhT+TUuy9f9hzDYWIIuCVaJD3UKflHcuiK5UD/URFPP93QxeAIywhYBtBSQk27a3bxvVgQNENkdvFGVrCdCThgpDsQ0T98YMqoQBpS+p+qhsLlhZg2q3WdERKZtrvm6YtGUJ3JaFIBKtqday0LgKZdA6hGGDyL2vCJb5oM1dsasdt2Cc5U5tDakhW9kT9K3y6codT2UjFFoqGvwhVQ49QykeLfIVFHnbLTqu3tuPw1Mw4xTJEQjlmARgM+1KZk/e4OCnYlAWYXD9VQenUtkwGf6Sxl+vmnv0DjGLycvjAR/h4LE5EyM89u5Aza0OsNF6HYLvXi8RTLHn0dIH6jpGWBBv+1++MGF9FIGsplo+qyLmA+dl+mxrQndPKPqeAb8NdYG++gdR28H+ftYHAIMK0J12A9DrMbkPcFQvWrQXKkRrwWmkZ3EjzvGSIx+rjTKyykxTrwAs+qTacQn9BnAPb4entgfARe8QiSb6pkeES2QZ3qAAbSvCSmRVCywm01pwnMU+gSnWJvtL+BVNI7+wNR5YsYJ5yjC5CsZkpHRkRCOtfuXH45ALXOkD54go5Br2+FfW1tQGm6o5WX7vsPY6QLMXTwjyN3W7xEckHnmqOKuPdt08/yKMoeirh0EIB8J6eLBBlvut8hKYvqG246Jak6bzPnSkqN08nA68Vtu5lmlGaLPdr4n+WCIz8ouSeM= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f343c996-ac99-43c7-2b26-08da6f538306 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:30.0034 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 24/39] avcodec/ilbcdec: Move transient GetBitContext from ctx to stack 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: 3FHepYEAHBI6 Signed-off-by: Andreas Rheinhardt --- libavcodec/ilbcdec.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/libavcodec/ilbcdec.c b/libavcodec/ilbcdec.c index 4905ee4145..2bc559a3e8 100644 --- a/libavcodec/ilbcdec.c +++ b/libavcodec/ilbcdec.c @@ -91,7 +91,6 @@ typedef struct ILBCContext { int enhancer; int mode; - GetBitContext gb; ILBCFrame frame; int prev_enh_pl; @@ -127,11 +126,14 @@ typedef struct ILBCContext { int16_t hpimemy[4]; } ILBCContext; -static int unpack_frame(ILBCContext *s) +static int unpack_frame(ILBCContext *s, const uint8_t *buf, int size) { ILBCFrame *frame = &s->frame; - GetBitContext *gb = &s->gb; - int j; + GetBitContext gb0, *const gb = &gb0; + int j, ret; + + if ((ret = init_get_bits8(gb, buf, size)) < 0) + return ret; frame->lsf[0] = get_bits(gb, 6); frame->lsf[1] = get_bits(gb, 7); @@ -1357,21 +1359,21 @@ static void hp_output(int16_t *signal, const int16_t *ba, int16_t *y, static int ilbc_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) { - const uint8_t *buf = avpkt->data; ILBCContext *s = avctx->priv_data; int mode = s->mode, ret; int16_t *plc_data = &s->plc_residual[LPC_FILTERORDER]; - if ((ret = init_get_bits8(&s->gb, buf, avpkt->size)) < 0) - return ret; memset(&s->frame, 0, sizeof(ILBCFrame)); + ret = unpack_frame(s, avpkt->data, avpkt->size); + if (ret < 0) + return ret; + if (ret) + mode = 0; frame->nb_samples = s->block_samples; if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) return ret; - if (unpack_frame(s)) - mode = 0; if (s->frame.start < 1 || s->frame.start > 5) mode = 0; From patchwork Tue Jul 26 22:08:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36996 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234177pzb; Wed, 27 Jul 2022 02:35:43 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sP0Xvi8v7a0LZSi2QUr/dcjev8dXFt3Y96ASvP3pRhAknYCEhtFYuaKTGyPOUDM2tH17u+ X-Received: by 2002:a05:6402:3219:b0:43c:b636:6a20 with SMTP id g25-20020a056402321900b0043cb6366a20mr2108585eda.96.1658914543052; Wed, 27 Jul 2022 02:35:43 -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 nc31-20020a1709071c1f00b0072f390774a3si21383143ejc.61.2022.07.27.02.35.42; Wed, 27 Jul 2022 02:35:43 -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=CXJldpyK; 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 8458268B808; Wed, 27 Jul 2022 12:31:23 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2B3AC68B926 for ; Wed, 27 Jul 2022 12:31:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=THa+gW1tpBsLuGH+w515QHBK6V0L04iSu/2Efjdxgzfn0lYp0OtjH6mq2GnkjWk4trgf0u8bpZRUnUKw05WAH7bmVWJN2ngct5q6oRf2pKyYc6LNALlnu5xd2OX6N/oLX1xUuarD9x8KS5H9djJ0PB6X3idgiROlaIgDP59oXCnYDB4HQQELL6DDVFDCop6u7kqdUahrSilL+5xw1AY2cYE6+x3tmXrudoe4vfNSI5qXJFSS5IgaeJnZhw0q3npGl7JccPRaf6902aXsCarElk+rkJcv8o6SWGCxxb8zJX0ZHJbAtlsJJDwkrqUXBGW1xO/Eadm5zJX3cn1ayoN74g== 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=aG7i6Ywvu7sR68NJsF9o0IyvWZMkPYskVSNbswoZ4MU=; b=VkKT+mVki1k3hr/iwEsMCoCnqjWu0gD5768x5WCCsdLOxKQJpUUgC0c33iEOIqjVdfMkwAMOekWbiChd3osDT/tmcp2Fvy2y9uxpjWZjGT0w9eVTwg/PcvRy8sCDDk73l4F2LKIWkMepFyQHRBlk32mVEIAiteeYrsN1kV07+m4vS4p8JSgqlZ9vFLTlquF5zgfvJ2lDm9SfYzeGEl3a33CjgJUvNPbSAN9mYnMVXmtzgQX7VUkkHUP7lwuRNx+2Frj/YA+dVzQIDTwaJS/BY3Gb1uxasu8i1N7QhWvo16Lh2Cn/lDIndfYzA3UdXKZHiAQt9BtlKNMnJm1iL7lsZg== 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=aG7i6Ywvu7sR68NJsF9o0IyvWZMkPYskVSNbswoZ4MU=; b=CXJldpyKLQKVykAi2PbP+YDCIwMvMt4c6eXlCnWbPNeMgmvpetPTneAalToSs9il7X8cu3VJZkr1YlBnLWv05BpVQCdcBJzx7jPMLdI5IqZ97XgoS3hM3IiVeN3p88TudUqSPQrk3wyn1Uyd/sEh6VR5iLINc5/bAEaZKu3wHBeWAtG1lTwMxJlCoTPtA9rORmfWjHjVFlqoXKZukVjuzGAyS+7beW6jgTqS0f37yO7PYV1oKWyVY+T2/+Ej0RFL5ORatVwCx+Ce9Ohu0m17TJA6m9ir6Jfjz/fE0+urzHYYcig2bWeN384Kqi++rJ64m380empMzMLcCSQ9ohq3LQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:32 +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:32 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:00 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [5quDOkSB3ErbsfYkGyYWY1cTIOCuiQD3] 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-24-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 82eff1e7-71d7-4f2f-8818-08da6f53848f X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBvlQf+1LD50UP5lGdVw+R7uoWv12MRkq08KPD50SpFRv+s1jXaNEOEl4Q0gOuyYfNq68oKUx7/NANJgBrfNI6IG+m+an7en5z0r2MPBK/Ad+7AprvTGRqkwFzVgiD65vrcL2Ttgu2DtQKqN6KtGAjgfnlH1NEmdlQTHu9nHK+5IM4yct0qe5UknWwrgWdl7Ws8CtpeHRPoSscBgU/DxZNXIkuISHwicy8pWN4ZQ1rX+IBUSPy/eBs0biiU9oHhMLnJytsin0nwrUUvZ/5o3NcYpTHfRBw/jluAHrUnTEXhmlOipFvRqTubPdrmXOQBhz0f4Y8py4QUYYdjZdo4+bBKSNoUHgvRTlNT2gUEWU8z605Pq7kY6zEdu5uqBpUCCaKSzzIvJcw75N+ZkY3RZUAinNUge0cgV5jtWo9e+jLRnWt1L4XQTJJc1hspEFMNtvfypIwFa3CZzzKnuSuwcYLQfJ+ZY926tGNPd1CxCXQr4RsoyPc3xhAG1mLVp7tvwEn45tG5n8JN4jAVEGWFVJgopJX9Fik/ICc/6Es0SIZlxmUYf5oOdc6yRptxMxSMCyE3WqBEjJiXxVxZGo6L1wCCV0STMLP0UtpfWT+lmzqcFCLra3V18FgBxrrPAttNnQvzaFQuNzJOepq9P+fm7wlDkqIHwfkWV+4JiLlGs8wQdPGXbzQ2u0jGTYtCzHvfYyly6UzEehxcmLyEpYs9iEtrMoUmr+Jqq6XzdWFskhQWV8= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hCAB87m2kP+no2OHcLBJKGHQbKzLglzXm2m+tGtp94bxA0hHbLpAL8h+g94eVjqLc4UVZ71F6d7tu4AOA96MiX/c2q3aaCsYN4sx/jbgRUXdBuWu6mrD9BcoZsSXMKLJdMFXiUvPiuPkocfZ8GCFqWANs+GXXSTYi+xHwEgGFAXarWibaiqiCoLVapVuwBEEKdzzUoTyewpkezhps61+7j1gBcoPHxUe/SeN38HPGJ+YjrG2EchCDJuOaoEVW+irfWGuNQTDxboPkNzWB9REqK6+91PR6cY5nI+KKqO/p1b5r5b75qwt3G6CTzNZe8ZUbwrXCFttf2cL6jZMylYHSyrksQHWoYI5svAmWTTjS3+tGaKXhjNmo5WmO3pAE9moSGbase/hUjizGTZm6G7jqGu4UsDVVWIdreEMG71XEqvVMnWGhwAIrzADTAg6o4YyUiwgoke1zeDt87r/WMMji1Lhcpn6OeF9fPtdxYTYnaqPTXfeWcGr/exLcieyKNxDVQPV5Aviwai4bupC04h6kq3ruGPenhEG/0Wj0i4ckEoseWiUZ0NBtjoXdBMwiXvlQkv30FUKeyxjwgFCQ3WE2iKt99AOJBh6ZVPUxAPtKtBsd8uJTJKaQy32b4fxszsBpXUqRXI+P7Q7Wrah1TTpyw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E0UC90o7vYZgdCiaRJ+7r1JjCAt8hqSzUAsroIDyLJH39wZwug5a4b+CmGszBPdTQ1IPMyypCPwkY0rrmWs6SHzCfjgPA4GpqQbXR/1Zsdq6rmfq5MDCN9y7KH1FbvKjSxFpTxxG2+oTEMfZYRfqj98nDt+A5q1Ghi8ejRtL+7Mq8wLEaVRu6dqrhmMjHm88Yx2FSA6gkFg9zjKi/UY1tgaAM+Oa8xqiT1U6tiks5K6m091zIkbvosqVrIcU5UPpVcslh22kCtQ3PdXUcnNNBAsw9cPyWDSlKzT1eBY1MkHRx9WwhrQPWo7+qSATw7tmVsvrI1GOXbO7I51pZjqY6wv3XfY24nJO0ior3cZol/jrygv0QRzxG0r9ZM6TbsSgN4w3d7mu4FvS+6q/4KxHjmZGJWnaisAGGzszwjFiNWiN7kJh3buxVXsY0Qt2NMq4SO2+/kPdP0AMIOyHY34OwTcgEoo/5BYx3+qcWBgOqNbuItmBTq9NlNtOMiuc+rGL2G+pBCQg+2u4TGzSoNLK818A6h89q29VJferDKqcyVQwJmcaGd9CIUsC9ZqLzUwKGGHwiztb32ZUtGfc/RkB9STgmughhxUEil+b7jTdbwGJ4hg3LHLFOK3x/DmOoOS2qoPbbyDO8LWXGth4fjeaM/eE7K9ca0boHOdorCptRJoSgEg6klrGycfzeCtc5rp//libS1VXw8CEpNvso0KC/Z94f8A+tOl/6MuuvWp+vg/epPHHIeyVrGtDxZHQG3Zfnd7KT/GNRxVTBKU3GMe0so9M6inILx0WYJW1Ct1wGO7Y/Hjnc1bEqrpz4Wu47cesoz1pz2+YMWtfyV3dDdiD8Z+df6xRGPkETzaHiSCsH5Mc3b0hmAGBsCmbnx1IwHaDrAXZ4E9JkRmE2PN8K6EujzGEvwmvhBM4erk7foJw/V4eSXGmfQJKvlMEgt38Z8vPELZOq/cqmTWiy7KGm8TnGyhg7xZQJvUqCapNTqzZJ7aEkagW4QYM1KY0cXWvyFeTAJvErf1ER4Lk1vy0SApFdHfN+eW9hyuHamPzoJz8LqOLTbYPZRNpIO/+kSXUf0LIFP1RIuyxR1gi3AWx08xMafbQAxwliVS4Wf8TdVxuzqrq6aYlXixEJ+drPJlWyDCY2wM4b4viQPWWQo2M4FKE+EyIKrMmW6zzYN9wWMQj/xF7tBj/qlsrlybCC5PUicmxnJ/FJRyhyV4O2ZcpaZWJ5U1FJ8+boUZ3Owddpc9olI/wPmKCeE87geebyFErUFCvEn4Sh5inri1pCdPF6LcTlsSXGNB2KPMSQU2yr9J9qdE= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82eff1e7-71d7-4f2f-8818-08da6f53848f 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:32.5657 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 25/39] avcodec/pnmdec, pnm_parser: Improve const-correctness 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: VjrYwE6Podv4 Signed-off-by: Andreas Rheinhardt --- libavcodec/pnm.c | 2 +- libavcodec/pnm.h | 6 +++--- libavcodec/pnm_parser.c | 8 ++++---- libavcodec/pnmdec.c | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libavcodec/pnm.c b/libavcodec/pnm.c index 605a529622..aabc788684 100644 --- a/libavcodec/pnm.c +++ b/libavcodec/pnm.c @@ -38,7 +38,7 @@ static void pnm_get(PNMContext *sc, char *str, int buf_size) { char *s; int c; - uint8_t *bs = sc->bytestream; + const uint8_t *bs = sc->bytestream; const uint8_t *end = sc->bytestream_end; /* skip spaces and comments */ diff --git a/libavcodec/pnm.h b/libavcodec/pnm.h index f109d16239..5bf2eaa4d9 100644 --- a/libavcodec/pnm.h +++ b/libavcodec/pnm.h @@ -25,9 +25,9 @@ #include "avcodec.h" typedef struct PNMContext { - uint8_t *bytestream; - uint8_t *bytestream_start; - uint8_t *bytestream_end; + const uint8_t *bytestream; + const uint8_t *bytestream_start; + const uint8_t *bytestream_end; int maxval; ///< maximum value of a pixel int type; int endian; diff --git a/libavcodec/pnm_parser.c b/libavcodec/pnm_parser.c index 6607ac7e7f..74f918a94b 100644 --- a/libavcodec/pnm_parser.c +++ b/libavcodec/pnm_parser.c @@ -65,8 +65,8 @@ retry: pnmctx.bytestream_end = pc->buffer + pc->index; } else { pnmctx.bytestream_start = - pnmctx.bytestream = (uint8_t *) buf + skip; /* casts avoid warnings */ - pnmctx.bytestream_end = (uint8_t *) buf + buf_size - skip; + pnmctx.bytestream = buf + skip; + pnmctx.bytestream_end = buf + buf_size - skip; } if (ff_pnm_decode_header(avctx, &pnmctx) < 0) { if (pnmctx.bytestream < pnmctx.bytestream_end) { @@ -81,9 +81,9 @@ retry: goto retry; } } else if (pnmctx.type < 4) { - uint8_t *bs = pnmctx.bytestream; + const uint8_t *bs = pnmctx.bytestream; const uint8_t *end = pnmctx.bytestream_end; - uint8_t *sync = bs; + const uint8_t *sync = bs; if (pc->index) { av_assert0(pnmpc->ascii_scan <= end - bs); diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c index bb2ce53496..7cf9886ce7 100644 --- a/libavcodec/pnmdec.c +++ b/libavcodec/pnmdec.c @@ -52,8 +52,8 @@ static int pnm_decode_frame(AVCodecContext *avctx, AVFrame *p, float scale; s->bytestream_start = - s->bytestream = (uint8_t *)buf; - s->bytestream_end = (uint8_t *)buf + buf_size; + s->bytestream = buf; + s->bytestream_end = buf + buf_size; if ((ret = ff_pnm_decode_header(avctx, s)) < 0) return ret; From patchwork Tue Jul 26 22:08:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36982 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233304pzb; Wed, 27 Jul 2022 02:33:28 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vhpLJDuoGqZ38aL3WoN1HsmhJFKvSx1450on6SjqjKZdlxCelY+VgHRofXFGaLukt84ojO X-Received: by 2002:a17:907:1dda:b0:72b:31e2:905e with SMTP id og26-20020a1709071dda00b0072b31e2905emr17633879ejc.183.1658914407907; Wed, 27 Jul 2022 02:33:27 -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 o3-20020a170906974300b0072ef52514f6si20418516ejy.629.2022.07.27.02.33.24; Wed, 27 Jul 2022 02:33:27 -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=CKEmyZ8e; 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 B400F68B918; Wed, 27 Jul 2022 12:31:05 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6197C68B59D for ; Wed, 27 Jul 2022 12:31:03 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dgIJ6TM14ZTpgDGXTzNCZD1jWWDWrYYJBoEdxaxMCnnRyoZ6lPmVUuKJcJF+ndnrYnulx4pnyix+ZuuvYm1XJbv4HeSuzEB79nEgGKfZdMlSuQ8Z3zuri5hEmssGtC+xrfrhu2hn+8whwhsfNbrJ7WyK2YUii8/9SFtsDIZuUUxxNr7l1OsXurK1wT2zadiUcjvjTvCnTE+sbIZ48qqJ8RkGmYg+vS34QJP6B3qAP1/6kUOb29uJwKiplwQCdQE32262iBPjo4Xe+E7NTW/mTNPGmevsACPL3xTwh46vh5NacvsN2eyYAvFtl8EZxYrWSqg1hz3xWG6KUgaPvu7quw== 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=5DVaF55QMaouVQl5komwPapTpPIOICfns9n+1zuvyr4=; b=VRQYAZ0+tGTxfw89QqD7TqXNQQW9V1dwnNJR2xR01OVlPjLQCInMiVcKrpCG7BIc3VIu7fww68yIRl8ItaLbEtdo2UctCHBh1CroHuSo0pOGzTwfrVwIXEDun+LqCZeTvuMNXiMXaz0XlN6xQHtyoUaH0raS+Q+15SoNp1AJKg8//M4TrcQd2/G9BCE07qXLtHJ5bbRwu/WkGIFlij+edT7RvHISUhfvRG9rDyxfi3qnmbhSWZYkQru7oPMORgsF7mbJ4/Lt+oovKUEiUAj454Hl3e/8sWhyK/pKAbB7oX9VLAf7horDUeNTI3WFvc8fwMzA+5O5cyEWAD2wVkkY1Q== 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=5DVaF55QMaouVQl5komwPapTpPIOICfns9n+1zuvyr4=; b=CKEmyZ8e8KmXIJdcTB7Kah7FqHMsgpWYSA4mQ62FqW/+9SYFvAjhcImeUzUa2ocO8+x2QeO7kbBOvaIXMss0mFikmoF8VJpgKzx62LhFPO25FPvaPH7L+PzfqMgrDixesO+lsRyt3mr62nN92Uix7yqoQNyUkVUYZw+SVOa+w+htvuoJAWGRpjPR7Qmus4GYcTYfY6VRhbLAqWk7qrasNOmc9pvB7pSxU/Y7bZiKfEmOmuM5aBJeyIu+mY4umr9mir5hDes4tPew1jue94w/OG37GTOgiN7baP5+eiVihL7g3+sSIV9qOlDc1LGvsBfXu6dSbtmbDRuWAmPLJ6i5hg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:34 +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:34 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:01 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [krDiW9DNI5hQK9elnkGkZPhs2CTdziXW] 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-25-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a968a322-22e6-48c4-4b4c-08da6f5385dd X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/ULT2wyjUGO4RaZdS3jmh49t0zU3Z4G7S7QWMlbB3HsKx2t3JaimOT1wQPs9VTXrdaPx/UWqepxT5C0Qnmtx//UgIHSxQUb3arITpT8co/IFhJoi8DG51QlHb3mb3X4iXIoyu0ytNy1q+ugJRceLS1k+4y90GD171D111RDDZtBJZUW46fR/kluWDQduwAQ4mKEkyhOkudAk3VMURVHKCl7pjrprNN7fRGgz7XJSfb38tKXsUiaNCAwNovvrTAZAf49HMOhZKXB7qwsFIINQ25G8bH/Ti6HCFhJz1F2g+JFP1bruS5Ntbx9DgwjySConPwqxF/fmFPL34rzal5FpcIw9HY28eCByRTMWEnS71prkMucDwny4P6U6t6t7aGBXCPqm/TMH/zPB+bEpXaoULdhXrPwBlrOsSfipobqSyaoK98AOP3lNayWv3lRZK3zVD/dqxgxbc6wyPgAVYfRazkTg5tvfG36OpUL8VQe4RYfZDEY6KtmZeYDbUyzPyFenNGQqqBCs1K3ZfqC/64bkF1BYYWMbWeH/ZorULVhk8r6qYhXjDR/E+wukMWeonsE5VEtQm3K7Bz5489MS94Yg2V37jIIOer0X5Y6RcJArHsk8iIr2c+hs2m/AgFmJD5XJYZosuPzlWeqbxJaL8sw/iRxCORyM5z4AOkSE3QLF6rKZKEwTZdCT7oC9nE1wgsfJ/huHJi0zZf2wuA== X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3dJzbtcwDwoVPEK0TWzB4kHOj8FR/azXH8CeNTQPs4T0RW/hj0Q8HNNQQvK+WJMRMxfP74QIRbBe61ylbUhZSdhRhp2pze/hN/JpHAlc7N/qdzI8vMrPzCz0X/tPW+1b8Rx541NAbNWvL8wNDOUzJj8fbM1u6IIKLtdK5LiSci+PR1EeKQkBiFVg7YQBdosx0X9W4Fy2vdKAXVGFyYgxMTbE5aOLkqo9LSrKe6pQSZhCVejFPIUKM6xCKBSoEJPaYn6MfjWTh/PFVvby051BDfoxSqGtpo8k+CmPf3+GfP3oNI6dQJt7XOur3GPk5OtJDpVtCt1+A35CZsB2mfX4ymHEcXag2lUupNVKvkq2rr9mNSParb/O5ZrZRwxlak6PVcGlsSS12uAJCbHqRycea/NozGybF5JYxQf7SP/7gqOPU2Cnm46NQ3BwwPPQIXvlOudGV5UkZ3pfE+NkHy4KLpzzIpbJ8WficGNMdFKTW++2KDwN0BnOzGI6EfTuwYA3au3MC5/FsagW9sBrLHnkMcyORnSbP6oyRqdg0yKLa2XdXzeL4BvjMfCeBpR5Dc82hs4xrwWMh7l/Am45yrs/EVbkxrs24TvInT8wzkILNkZr4dxXMouldNLT9T1g5pshoVm6bkKlRlc9m1UIC74qNQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VFOcCiLKulBAZrbVqD+3pMIwkNL82aONdgSJC/B7iITRn01sEGA7v6tyYRbLV5zW5bx95+mr9twTLRjYOCGXZsTVAIEJ7z0iIBc7zypBeMgM5R19B3iL7hd5wH8XSLYKUslvn2jwrdiBaBW83R+mZePZPmc+jlvJCg05QXQE+30ZCIw+87QkN59LWvVGsWBjSNMzLY9+dsctD6IguK0l4J+J8mVPMK98pJFprMviF+2Zr9KhNCsEcRk+VWqTnH+YzOggcpikTf7cVKvP3q9DN4u6xbIbnO1COItDkkCfgfUtb2O2EmojRNM102Amd/zkD2p2xSKaWugKAX/YF/8oPwEc6zupf/wXqyXysyQ5ikYc+hb13fYpYi2IDA4z8M0ZVIbk3XxGWNaJ+RTIeaw+rgAMmyg/qvEuMbENITG02O0NwqGumNpQqOnk8oipu1b8iEoBZ2JMljdW6MFi9b+46U3dG9sxcFshyXep7ApMl6uk8eNSgYCvdZzYG96fZC58ZAYB0aGoExWzMehlHiORfgD1XbAwOAKw7rvqmGNX21Tp6EIHHOqSgYc6iPKHz5r2UeYy3oyBWGR7WxDUaWRhn84xfyTi2HqHU+UDidA2K/Uc8ix0VI+zqJIN39OpTnGDNeq7APHN8EsOBrjSQ1b5HW9eTRHhTVXFpO9JEv2pb+GJwz2qACugehjU6mTq437o+ofmbYxJekQlaovZsfqtGBFXSXxcfcrmefGEdnZrPytkg6Ka150NiInyImyNEPKnCFGt+Dv1MTMK8S9+ndZUv2Pegiz++nzm1S6dwrmbv0/ystPxw57sB1fvkMsoWF1gYgpzCVvZQeR8bWpYEYoMlWAPgkmTofn0tdeHq/K7iZuqtiRFlzBKpkSOsFvLayg3y1I0E+dctpaLR0ACfbYRTr5uP6n4WYy53HnAAKZrSX7L2qlvrv861EZPc72H//QJC8RCiDGWbLZXfVgKeueS5pfqaESb4S4gj5oqhxIibW+lmLRBkP7OPHBe9T+JsI3bUiyav8YOaFMZdzZqJDfOSfqeLjInEF6Kd3VJAsndpYnXOaPRaHtL372l0DnBHQ8NS6RL9a4r+OZXy6uPVZh8gwSvr/ISayxEXAqRP4WCf4ABy+HIRadMR1GvMQYrr5pPl+8UcmUpSlyhbgZtuC4e0LyR4RzT8HZ91mG8CAIzT5UVfRBCk6Eox2kLYGT8hghKeJ1qjPD69KKHpoOhVVBKMEDKaAA2g4Pb9RvxxEsLK/anKuaCyvFYaIU1KBMdAsyTGnRwxwoAFeVnx0vFMiRqiUCz7seU2bd0CQLx8sGM3Kk= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a968a322-22e6-48c4-4b4c-08da6f5385dd 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:34.7687 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 26/39] avcodec/pnmdec: Fix indentation 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: I/6QBuT7yrl7 Forgotten after ff1450e449f848ad4b37b3cf448315ba4581364e. Signed-off-by: Andreas Rheinhardt --- libavcodec/pnmdec.c | 139 ++++++++++++++++++++++---------------------- 1 file changed, 70 insertions(+), 69 deletions(-) diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c index 7cf9886ce7..130407df25 100644 --- a/libavcodec/pnmdec.c +++ b/libavcodec/pnmdec.c @@ -166,23 +166,23 @@ static int pnm_decode_frame(AVCodecContext *avctx, AVFrame *p, ptr+= linesize; } }else{ - for (i = 0; i < avctx->height; i++) { - if (!upgrade) - samplecpy(ptr, s->bytestream, n, s->maxval); - else if (upgrade == 1) { - unsigned int j, f = (255 * 128 + s->maxval / 2) / s->maxval; - for (j = 0; j < n; j++) - ptr[j] = (s->bytestream[j] * f + 64) >> 7; - } else if (upgrade == 2) { - unsigned int j, v, f = (65535 * 32768 + s->maxval / 2) / s->maxval; - for (j = 0; j < n / 2; j++) { - v = AV_RB16(s->bytestream + 2*j); - ((uint16_t *)ptr)[j] = (v * f + 16384) >> 15; + for (int i = 0; i < avctx->height; i++) { + if (!upgrade) + samplecpy(ptr, s->bytestream, n, s->maxval); + else if (upgrade == 1) { + unsigned int f = (255 * 128 + s->maxval / 2) / s->maxval; + for (unsigned j = 0; j < n; j++) + ptr[j] = (s->bytestream[j] * f + 64) >> 7; + } else if (upgrade == 2) { + unsigned int f = (65535 * 32768 + s->maxval / 2) / s->maxval; + for (unsigned j = 0; j < n / 2; j++) { + unsigned v = AV_RB16(s->bytestream + 2*j); + ((uint16_t *)ptr)[j] = (v * f + 16384) >> 15; + } } + s->bytestream += n; + ptr += linesize; } - s->bytestream += n; - ptr += linesize; - } } break; case AV_PIX_FMT_YUV420P: @@ -260,46 +260,46 @@ static int pnm_decode_frame(AVCodecContext *avctx, AVFrame *p, break; case AV_PIX_FMT_GBRPF32: if (!s->half) { - if (avctx->width * avctx->height * 12 > s->bytestream_end - s->bytestream) - return AVERROR_INVALIDDATA; - scale = 1.f / s->scale; - if (s->endian) { - float *r, *g, *b; + if (avctx->width * avctx->height * 12 > s->bytestream_end - s->bytestream) + return AVERROR_INVALIDDATA; + scale = 1.f / s->scale; + if (s->endian) { + float *r, *g, *b; - r = (float *)p->data[2]; - g = (float *)p->data[0]; - b = (float *)p->data[1]; - for (int i = 0; i < avctx->height; i++) { - for (int j = 0; j < avctx->width; j++) { - r[j] = av_int2float(AV_RL32(s->bytestream+0)) * scale; - g[j] = av_int2float(AV_RL32(s->bytestream+4)) * scale; - b[j] = av_int2float(AV_RL32(s->bytestream+8)) * scale; - s->bytestream += 12; + r = (float *)p->data[2]; + g = (float *)p->data[0]; + b = (float *)p->data[1]; + for (int i = 0; i < avctx->height; i++) { + for (int j = 0; j < avctx->width; j++) { + r[j] = av_int2float(AV_RL32(s->bytestream+0)) * scale; + g[j] = av_int2float(AV_RL32(s->bytestream+4)) * scale; + b[j] = av_int2float(AV_RL32(s->bytestream+8)) * scale; + s->bytestream += 12; + } + + r += p->linesize[2] / 4; + g += p->linesize[0] / 4; + b += p->linesize[1] / 4; } + } else { + float *r, *g, *b; - r += p->linesize[2] / 4; - g += p->linesize[0] / 4; - b += p->linesize[1] / 4; - } - } else { - float *r, *g, *b; + r = (float *)p->data[2]; + g = (float *)p->data[0]; + b = (float *)p->data[1]; + for (int i = 0; i < avctx->height; i++) { + for (int j = 0; j < avctx->width; j++) { + r[j] = av_int2float(AV_RB32(s->bytestream+0)) * scale; + g[j] = av_int2float(AV_RB32(s->bytestream+4)) * scale; + b[j] = av_int2float(AV_RB32(s->bytestream+8)) * scale; + s->bytestream += 12; + } - r = (float *)p->data[2]; - g = (float *)p->data[0]; - b = (float *)p->data[1]; - for (int i = 0; i < avctx->height; i++) { - for (int j = 0; j < avctx->width; j++) { - r[j] = av_int2float(AV_RB32(s->bytestream+0)) * scale; - g[j] = av_int2float(AV_RB32(s->bytestream+4)) * scale; - b[j] = av_int2float(AV_RB32(s->bytestream+8)) * scale; - s->bytestream += 12; + r += p->linesize[2] / 4; + g += p->linesize[0] / 4; + b += p->linesize[1] / 4; } - - r += p->linesize[2] / 4; - g += p->linesize[0] / 4; - b += p->linesize[1] / 4; } - } } else { if (avctx->width * avctx->height * 6 > s->bytestream_end - s->bytestream) return AVERROR_INVALIDDATA; @@ -358,32 +358,33 @@ static int pnm_decode_frame(AVCodecContext *avctx, AVFrame *p, g += p->linesize[0] / 4; b += p->linesize[1] / 4; } - } } + } + } break; case AV_PIX_FMT_GRAYF32: if (!s->half) { - if (avctx->width * avctx->height * 4 > s->bytestream_end - s->bytestream) - return AVERROR_INVALIDDATA; - scale = 1.f / s->scale; - if (s->endian) { - float *g = (float *)p->data[0]; - for (int i = 0; i < avctx->height; i++) { - for (int j = 0; j < avctx->width; j++) { - g[j] = av_int2float(AV_RL32(s->bytestream)) * scale; - s->bytestream += 4; + if (avctx->width * avctx->height * 4 > s->bytestream_end - s->bytestream) + return AVERROR_INVALIDDATA; + scale = 1.f / s->scale; + if (s->endian) { + float *g = (float *)p->data[0]; + for (int i = 0; i < avctx->height; i++) { + for (int j = 0; j < avctx->width; j++) { + g[j] = av_int2float(AV_RL32(s->bytestream)) * scale; + s->bytestream += 4; + } + g += p->linesize[0] / 4; } - g += p->linesize[0] / 4; - } - } else { - float *g = (float *)p->data[0]; - for (int i = 0; i < avctx->height; i++) { - for (int j = 0; j < avctx->width; j++) { - g[j] = av_int2float(AV_RB32(s->bytestream)) * scale; - s->bytestream += 4; + } else { + float *g = (float *)p->data[0]; + for (int i = 0; i < avctx->height; i++) { + for (int j = 0; j < avctx->width; j++) { + g[j] = av_int2float(AV_RB32(s->bytestream)) * scale; + s->bytestream += 4; + } + g += p->linesize[0] / 4; } - g += p->linesize[0] / 4; } - } } else { if (avctx->width * avctx->height * 2 > s->bytestream_end - s->bytestream) return AVERROR_INVALIDDATA; From patchwork Tue Jul 26 22:08:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36998 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234290pzb; Wed, 27 Jul 2022 02:36:00 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vDPfzm/ITxKSJgfntDbItROLS5+uA192Tu4J+MBm68/0NjzkRtzeuKxQ+qCLQbmVJt+zcT X-Received: by 2002:a17:907:7b9c:b0:72b:5652:a14a with SMTP id ne28-20020a1709077b9c00b0072b5652a14amr16868477ejc.86.1658914560079; Wed, 27 Jul 2022 02:36:00 -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 ne1-20020a1709077b8100b00715867834e2si20328515ejc.499.2022.07.27.02.35.59; Wed, 27 Jul 2022 02:36:00 -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=RSBDr4ep; 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 8DF2168B9E5; Wed, 27 Jul 2022 12:31:25 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 49B2568B928 for ; Wed, 27 Jul 2022 12:31:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FWLnzhHeX4whPsF/g+8I1WbRemTY9BrJnYDBngy4hLcS+CON6QcphJRTII3F1SNTLTp0j9oAKENZKCFVwn1GMMWBd9hj+rhmHGPGwYg8kbG5JLzO2VKuGFp8YkyM5cV2CL4qf4zUDc3bzyUcol7k9Tv3QnYvKs4RX93W9MXXiKS7dpTxe5z0YfFdr5RXtZM7JOp6pNzxPTQosV0Z4UJEP2/oDzw3BN1IkUKOBPqP6i7qXdUVWzGgzIykUnwJ1qj/8dEOeftRbdfoHHgSxCJ4I6QrPRYz89AR6FpDjZGTGVShYtoAZchjvs/e1gG7uCGght5fMPoD82X4cJQ/vJEI4Q== 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=khh/4pVtPTzR4UweS+N14aVsLtkY/XWzZYHtRUCTfnE=; b=LyO4QuoKVwqHJWPiIvlnxMrZSfj/6TK6wlo8us8Io//xrJ3VFouAogYDfmfo5dnbWCh8T1UHNKvnHc0Zp2Cabdpod/nNJsvJtCU3UvteWCbrHadkhzyL755P5pJuIZIKnWrH5+YQHcyc0CgC1mbxK0ESCPlXVQj9S24+es7QXRtlLPB3PDlxrkiz+b9Ip7UFXaMXC5HN7/mAHP2RvC385kd2edrLLbgNUTSw4IyrHWDwaebjkeN6u8ukTPswCOh26i3SeeRUF+nMN4nhYgDq2mTFuskExllKoEMWtNWvorWXsqeR+hfdtv9WPx5cXuIJirYhu7q/4L4Z9AlGlP3ycw== 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=khh/4pVtPTzR4UweS+N14aVsLtkY/XWzZYHtRUCTfnE=; b=RSBDr4epMbOqyDPl7wjjpvtCupl2+CRzDftkJjhuzKxOwgLGXMgxTZ3UwN9iMRbx6HAMcmUb7FiIHdsY7VTgNM3v65OYw2vS21q0cfoIwINb9JT/wf5YvDKZCCXz6MLqnfmWguL7He1s2+O+ZRoiMKaAbK5W8/5dI1ni4y0xkhLfxFRN1Pbk/gpwD2z9gKjnLEwbqnQ9feXXWlJ5b9xsLap6amS6t/q/e3cuW/0SzItsM38wEsCvlhNTPubMeO1kRfBuRJqi052XgqVXf4a/CFiRSncjgWfEj4548F+xLUwcC7LrGZakZKL0x4UFj000prqlvRbcmHZGa4qFzm9WjA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:37 +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:37 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:02 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [bk5EqgKhjPnC908IyMMpz373so3SnWYP] 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-26-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2c7b75e3-f351-4a20-91ba-08da6f538791 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuHAZUD9973euQIW/KMDlR3DgPHnFURaULYy6DlOg84FkapWH1jD0RjhJYv4YHHgyIPfJ4rWMtoAOvHA6IdS+4MZ8NDYJcRALvyF51zVQckvaxBwC9huX9dlvXAl+QoHP9FOjHzpKQRyHfWn6kOABTr/HfuU85jPV2flbIBLtI6ErgOEFEjB5XPjUZJQkb8RdnoQ76FHyWywoXPjDFb4xFny7Gy4s+JsaLd7xIIcgrdhscl1zFxCS4PHG+LzgWtEa1rv+Kbtl1vib1qylrM+4TBI1HH6Zy3Rt/2M0bwJJnr+5jJPfY417sRCoJPI3la0H5RmisdMp5GBdT2OTwY2B/Tc8Q2HQ6YTspqLt2CDNnxZV9rIxnaE66E00gxY+umWzT6qW3IIszATDcEnF9rLYL8zM4ihN8YHV25Pq0iiiXDvJADwiipVhMaZPZKzGCtMUlNgVs4aMShgdaJLRZWmGteVLPIpvqPr666uiYKyKFUU+syVIOxYN7Z1iIPzCtUVM5m3Cfyx+IBy9ciB4CjTBiUNOIj0I6SI55MDRQQQUv/ZeudhI8lb4xpLWqyf7x9fXTJAbpwasBcbjhgWqBxxtvXuzSk16qFmVM6RYB3vsVbKU+2pq3vK2ZEGQCS+NEr5gIkqrPgJ0h5rg9YGszuGjJbrYk2iD2TiP2RFTHP6N7P0INRoJJj71b0P23mNflQcBijCbgWOmxJE3+SWhytKmVCCrHXqRE8AtxvmfINB/dLRuAmy5Ur6oSO67Kxkc9vnTWVDhF3RwOjKBi2ALhorMBj X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hVMjb/QbSIPppGOma84m28xUNK4V7PLuxepiwNeKZOESE8qxMoSvz5b6PWIMWol0kY1oG3pv7KqIdi5kpJe6cZlKr2rvwf/iRQW6CelSTtlo7Z0Mmt3T1KYdBEXTlkPCQ1IpBwS3wnZJBoe8StMqBRRaFvkXBk/HwDP0nphRNs7AgsgCyJ3vmwbgDRoABgsBbDtJ6CxPUpQRZikq5TBUrAInGy33k2/WFlE6ddlZcOubZyB+9p0cfRl89o0+QREX/u9EikkGP+5Yq8GdAqNqF52pP00gAyhFRzlarNgeKDBern0fub0vSt/c8y1jjOfhuVO/xpFM/gA0yxABx6TpayLLAATrwCCjdRuMBEWKd9TQfXHbRBUzcHyk1zfZAyLgC6giMMc4tk14ueWz4iTXJ7mOWoSb0UO1GxQV5j17OWUfr8HkYOGH+0BHSTZ3FNg2G5P0aA1zsi6fZOe+1wveweiCa1QI83JSkfRfeaOaOL0OA+KAC+48S8NlW/oqH+sZHvIlKo0M+Nt01JNbAETyEZ4EE2nTmWWV3TZPUYLgdFrAqm6wIxQzYeNpmraewwFR3OKz1tNHZ+KpVv8MvOmMTkGkp/dIst8en/awiOjsWlqD/g7rvf7Ugc/+Zs02t7zYVYhqOIEEnJaI1mSQk2r+Pg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8LXTqa2ZaouzEygCkqq0VJHIGgfI8Sqyh9OwLKrtB7/Z4OdmfWTq2Gd3yThpAdHose9sRZt5jA+HtlHfKqRAcv1597/3rctd00BSYrjGE2JIK8W/bvpzmVSA/o6YnyRec+BzMQP1KQJ3rdk/I/vjaXp1NNNvhvMPvVERcyVfH/bSo1RnaN95KTPLlI/zkRwwMQN2P0I96wYGfaB8SrSPdZi7M27qbhI0+fP3nMCYYD6F6kGpxs9oePukIdl0ngbeFY1rxUoXvKKHHHqegekv9pLpxDO6+xqhHzMXp769fnCmPQjh8YAr6BaU+w3Nhxh86w3rVkiYdTTXmOAUp9aC7wDz4JPZ0wxu3g48dgcyGLZ0LmdmR11Y/DCJvD51BM2nt6Ktd6j7HTM2c9od8tL0zH//1tr35u7/CMDfHWp4KV7Ef0NtwKqhTJ28clh30jqk6aZRFZcwFBJ+QvbVxYlYijWPMKb91t65FT70B/FzlFhSI9xFEGcE+f8xmAaJ9LojYoQr3KTqgODcL6ZDNoLzEX51o8+tE2+CSRmEgo7MgV0dsFO0i20qOSFHqsAlseJvgn0pFtYZ0gsk39dMPNq7LxlGPFt4av0BaegupvXCMm4dS5I16MQ+9MJ+z+x/EKpQwOpMJSqOVQzxBtkcpS9vc1jRIcnjq0ojJHfJpWoiaPrfuW23GqUQnoJbRS+MZGR0xphBc+OUspbf6Z3O+gNkS7C1uCcSGMq/05Wv8O80u5mTJW8zrTkz7hbH12CkfvdbLnJzPU3pfU+QcHRfxFNUlBI8RqsMiwsE7O/oxpAEVIvDL18wx3jKOv98uWgfmtjkjLmuKG5UdTZAATUekInzfnV5IeErh4T79YU6388rC6sZ9r4DzY+SbyhQRwIjpkAJIm9iC4wK6gBiV+P5YA7alNOnmhGfx3KaAaXbSJZxrKoIhU+BZfo2qUCgITTRnacPt2x76mPIZ1EZ5I3nKD0zHDxt1BgF8QG7vkk+MuAWJynYNQHBVHe3A/jd+7Z1a5OGdkMUICuTWNDoOJMrZSjsgOXpc+v7yDwJ3p29TXu8bQi5EUvw5AzNtLLILkbXBd4rDNnE+M95UaPFwuj4D3fEsxJU8DPIi0qmevleG1IL4+RqvZvUvxxDJkN+k0rDmo6Husk9oP0NJUEVE+PIHWxBYq9DfEGKk2W2mzv/iaWwz7yffnacor9YxJPfjrz/NvTKBR1f+dc0QAIfL6+IVyYn/MX1+yvmTajDcuXMPzhwrpctTZSu/DrcewDpl673t3mPPAZRiKNTjKYEZfUBVEGAPIu7X1/uUOp/5KaqvYINRVs= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c7b75e3-f351-4a20-91ba-08da6f538791 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:37.5966 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 27/39] avcodec/videodsp: Constify buf in VideoDSPContext.prefetch 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: 4Fh2Cvsqqgn0 Signed-off-by: Andreas Rheinhardt --- libavcodec/aarch64/videodsp_init.c | 2 +- libavcodec/arm/videodsp_init_armv5te.c | 2 +- libavcodec/loongarch/videodsp_init.c | 2 +- libavcodec/mips/videodsp_init.c | 2 +- libavcodec/ppc/videodsp.c | 2 +- libavcodec/videodsp.c | 2 +- libavcodec/videodsp.h | 2 +- libavcodec/x86/videodsp_init.c | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libavcodec/aarch64/videodsp_init.c b/libavcodec/aarch64/videodsp_init.c index 6f667a6d3e..1f77a918d7 100644 --- a/libavcodec/aarch64/videodsp_init.c +++ b/libavcodec/aarch64/videodsp_init.c @@ -21,7 +21,7 @@ #include "libavutil/aarch64/cpu.h" #include "libavcodec/videodsp.h" -void ff_prefetch_aarch64(uint8_t *mem, ptrdiff_t stride, int h); +void ff_prefetch_aarch64(const uint8_t *mem, ptrdiff_t stride, int h); av_cold void ff_videodsp_init_aarch64(VideoDSPContext *ctx, int bpc) { diff --git a/libavcodec/arm/videodsp_init_armv5te.c b/libavcodec/arm/videodsp_init_armv5te.c index 1ea1f3438d..eaa8c5bbf8 100644 --- a/libavcodec/arm/videodsp_init_armv5te.c +++ b/libavcodec/arm/videodsp_init_armv5te.c @@ -23,7 +23,7 @@ #include "libavcodec/videodsp.h" #include "videodsp_arm.h" -void ff_prefetch_arm(uint8_t *mem, ptrdiff_t stride, int h); +void ff_prefetch_arm(const uint8_t *mem, ptrdiff_t stride, int h); av_cold void ff_videodsp_init_armv5te(VideoDSPContext *ctx, int bpc) { diff --git a/libavcodec/loongarch/videodsp_init.c b/libavcodec/loongarch/videodsp_init.c index 6cbb7763ff..92ade4f846 100644 --- a/libavcodec/loongarch/videodsp_init.c +++ b/libavcodec/loongarch/videodsp_init.c @@ -22,7 +22,7 @@ #include "libavcodec/videodsp.h" #include "libavutil/attributes.h" -static void prefetch_loongarch(uint8_t *mem, ptrdiff_t stride, int h) +static void prefetch_loongarch(const uint8_t *mem, ptrdiff_t stride, int h) { register const uint8_t *p = mem; diff --git a/libavcodec/mips/videodsp_init.c b/libavcodec/mips/videodsp_init.c index 07c23bcf7e..89409fc8fd 100644 --- a/libavcodec/mips/videodsp_init.c +++ b/libavcodec/mips/videodsp_init.c @@ -24,7 +24,7 @@ #include "libavutil/mips/asmdefs.h" #include "libavcodec/videodsp.h" -static void prefetch_mips(uint8_t *mem, ptrdiff_t stride, int h) +static void prefetch_mips(const uint8_t *mem, ptrdiff_t stride, int h) { register const uint8_t *p = mem; diff --git a/libavcodec/ppc/videodsp.c b/libavcodec/ppc/videodsp.c index 915702252e..a7ab5a6a42 100644 --- a/libavcodec/ppc/videodsp.c +++ b/libavcodec/ppc/videodsp.c @@ -21,7 +21,7 @@ #include "libavutil/attributes.h" #include "libavcodec/videodsp.h" -static void prefetch_ppc(uint8_t *mem, ptrdiff_t stride, int h) +static void prefetch_ppc(const uint8_t *mem, ptrdiff_t stride, int h) { register const uint8_t *p = mem; do { diff --git a/libavcodec/videodsp.c b/libavcodec/videodsp.c index 90dc1aacbd..bdff2e76f5 100644 --- a/libavcodec/videodsp.c +++ b/libavcodec/videodsp.c @@ -32,7 +32,7 @@ #include "videodsp_template.c" #undef BIT_DEPTH -static void just_return(uint8_t *buf, ptrdiff_t stride, int h) +static void just_return(const uint8_t *buf, ptrdiff_t stride, int h) { } diff --git a/libavcodec/videodsp.h b/libavcodec/videodsp.h index b5219d236c..e8960b609d 100644 --- a/libavcodec/videodsp.h +++ b/libavcodec/videodsp.h @@ -72,7 +72,7 @@ typedef struct VideoDSPContext { * @param stride distance between two lines of buf (in bytes) * @param h number of lines to prefetch */ - void (*prefetch)(uint8_t *buf, ptrdiff_t stride, int h); + void (*prefetch)(const uint8_t *buf, ptrdiff_t stride, int h); } VideoDSPContext; void ff_videodsp_init(VideoDSPContext *ctx, int bpc); diff --git a/libavcodec/x86/videodsp_init.c b/libavcodec/x86/videodsp_init.c index a14c9635fb..ae9db95624 100644 --- a/libavcodec/x86/videodsp_init.c +++ b/libavcodec/x86/videodsp_init.c @@ -215,7 +215,7 @@ static av_noinline void emulated_edge_mc_avx2(uint8_t *buf, const uint8_t *src, #endif /* HAVE_AVX2_EXTERNAL */ #endif /* HAVE_X86ASM */ -void ff_prefetch_mmxext(uint8_t *buf, ptrdiff_t stride, int h); +void ff_prefetch_mmxext(const uint8_t *buf, ptrdiff_t stride, int h); av_cold void ff_videodsp_init_x86(VideoDSPContext *ctx, int bpc) { From patchwork Tue Jul 26 22:08:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36984 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233477pzb; Wed, 27 Jul 2022 02:33:53 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u8lgptyGdfldkbpaGVDV5viTDEvYHcIb8dqxde2VyDIoJiRAMY3yBsFoQoLNU1s+CLRgzM X-Received: by 2002:a17:907:28d4:b0:72b:49c0:d04a with SMTP id en20-20020a17090728d400b0072b49c0d04amr17511083ejc.141.1658914433140; Wed, 27 Jul 2022 02:33:53 -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 nd22-20020a170907629600b0072a6d845d96si16091545ejc.8.2022.07.27.02.33.52; Wed, 27 Jul 2022 02:33:53 -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=Pyn2e9+2; 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 DE46368B95E; Wed, 27 Jul 2022 12:31:09 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 00A9368B884 for ; Wed, 27 Jul 2022 12:31:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L+sysWzGvVglHK0ck3Eq6O5Vx9lYtpXyQnXRhNxxugEOQZbULyuMOx4heP0VLXgjMSku1+4ozy0i780PDJCBYkOGqMwXQa1cA2km8NXZDK0sriJI9+VJ17Axr742lyhUd2UOeVDs5cGfw4qQLOt2gvUSekq+hh7jkC6HqV73res35/c40UiG6bEM1ieRF4NqtS60wHwnkqC2bZBmI54xOG/Kxgn9Oxna5lx962ob0ewY6hgIHqKQcoYBEICIpT09LIvgeVc9/eI3cq5McKJcdPgQs3bhUxHgasyQcRwDBJkrSGoa7TBpYT7TXbOcFI60/631wzoyvndK7Lz3FUaFYA== 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=G9s5N5Y9EFcHbcxd51Q6O4DA1/0KLvPNjk4ee753GII=; b=TbsWfJxoTTNyyHO78TJUlEsPP7BFnV2j32MIj8qZjc7goGtrPMfijPJRGNoPIOJ2dZQn5ZrUiqr5zwt5xx7692GG4544E6EzsKbnfj0/2EkVnwcc8QUSgEHGGHMfxHPW/bX15lBajmO4ayB3XAodBlkVibYK/KuqacdjkCic1QNMyj96Ua+xo8joCUMbGll7I4gvTnYx4+H07E9zsv91/anYzMX5jWIQZ3rmGC8M1kItTJCL7Zuh9q13Amj2ncozh3ieJVx7fNndsbBnJWkwaIf9P/IgKBUXA4tjDhFneV6C+H1qCgVzpOWR7W4LNug7Un4YCPUc6ispMoEIvVE4Og== 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=G9s5N5Y9EFcHbcxd51Q6O4DA1/0KLvPNjk4ee753GII=; b=Pyn2e9+2xD64biBkwmFDQuPvPVkgw7HtciTqN5PL+M/jxi2eQjCvZOOD4G3O+aEWZZ0G/cHktn49SijHtynuth8QfFsl2kTTg1Tto7Nu4u0oDbn+17MsQJmt1t/SFBjvP2zHMb8bDuL4gf4lwO20BvuOr1evHyxrvt2Jlr60b12STOCzJS20c0Itvm1zHodt4yhCeetJgiA311zPnwVT+8Cw0mQMtsIup5mUP/CilVWWFhlSGlPrxfkWblkITbK77NXLdLgPAWNvJtqlZkPY8ouEKwZcT9I5T54jcPd2dT+1zs29mpGgxkKNvn1lZXnTxStjON1s6MUjz+dNzbseSQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:39 +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:39 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:03 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [XR0haLJ7rAOneDPksyUF4JteWAU7OqRS] 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-27-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7e99f441-c6d1-426c-0b19-08da6f538893 X-MS-Exchange-SLBlob-MailProps: ZTmCor6bjd/WIqCvC2BLtUqCEcZLVYXmNwCAbscRMB+0zIMCokdsnOS92gcnCOFwwyDCgGdWJxY2DoW96SyDdlHP9JzC+4dOVXkBxzqEPTbAMtjUTuwA+Y7TBUScFBw56rX0jjF9rjQ43npqp3i3TuprW8kqRVkVWLsLyHXm3tKEt5xjAY2ikoMK+G4r3cUwNBJrIE3V/NY7fMjAIxMS2jlsgsjG5S3+V1ARUqOD8UIzNstiNjRluPbhSHIWSJcVBl93RAot2nFWrULcl6CVsR/xmay+fc+8HNx/FMDd0qMNwnm5boeUuDPFP2p1HkeQu+mg2+q2blod+Ku9NzNXLx/AgA/Ba3plyJopI919vjgmCNCHsY0rs/2wCgDo3jaOt/mJ+Ri85Zi4ILlX4JmAdAiSRH849QUCqJU+b+DuSXTnr8THIJQWc0yFUDLU/0XmuXmgt5Xt+4oUGh2rOULIqC8bkq3K8lQCyveSsl/0/lHuwdbfO1Dl2OEX4aGFrkbxrMEuK/bXr093Qa3Iz6kcHzOepqxbCotVpRb0B2twufUl7kp2bMplAeW0w8stVqj1Q/4uVOA9shaJmuVQ2i6DbDjFu5UQM40x3AImO6AcYHxOVRlZY7gUsh1q5RIx5KSjMtmejpv2hXBYAuJxC/rlXBb7wmbed8J2GORCJGPXn7z2LiVkYWkrgykwd0O5RXE8hM3w5brtk4wpwY25W55WkW5xIcwEkwpMb7hlaB9th5SGe8tb2X9nEkLlWBM9F7FhR1ATt0YXJ8XcqVsHcG0r4vZTzEBwlkXvCShOG5uhO/S5dHe/0EmWkZFifN7OGNqn X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8nj9k3UWSE9fQwb0DnpK0FjxTYVaJKNgWdJaLsj6ltWjLdTDU56El4lwm9Hv4rjTUmGWehzZm8z2wZ7wCLW37iTN8YGRsvwe4ZZd3vRcV4sYE4MNZaPTjm4NIiHdriSRZL4Q6BqZqRnI5thnVaIPAQBhj8T7/pUl8hiZLkvg/sNfBat/VABvhyi0+AlPg2dZ/vXakp+W9GKr6Ur7TRznogMQuz5YywLFj8SmGxJwAuSia84uhqzH6ziNbBBpoEmAee5JtFWgbApfm1iOjF6Lf9f0fPvEqY3L4er4hZGTYB2wADxwqMaBCnIf58iOTIKtkSzJCtLOJUR74Pf4/QYgOR6h93LvCZy/niRbnt7OjHRXM95hU29cjj81xsanJDJ2ujEmlDnjF5SpQ5DkCWqTVk1mJQ4lYf//Vh3IauA+mZakJ25OP2bLai7gbsH80uIMyZUzq6CekZo3eRNScOZghFlWKpFjKZv0sX7djhNXvhMpreI1fT8M5bMq2UFOF4M2ycC1nlTYFVJBwv72/0d0oZjpYaHjbJV1xFHzxnHgmx9PVe9Cv1eutpFyBXcgMTP8MdfprIQDevQz2MDLYGfhnYH2nYHwr+UsX7r6p4nhaiZxcxBnzPhSCtg/LLeQ+LA/xGP2vVOVE6o7eVxTQV5EgQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XIXgRvGiDh5qU1RXFrMne6r79dni0TXpV1HQxjXzw3uwHcoZqMvbFGc5siy+EzjETgjZSYnh02khGKMwBAX2WHCezpf810m8LbyVyu9J09FhMk2YLPAAu/vDkejO6/rCve1E8wtdeqERkRcD3nbplxMkkbdXNBm2D1lo/vcZP/cN9h2dqOMKZ0QUp7M+V8Nt60vqjfObqpZOd5z62/kgJFL+3AqhSYg1maDWlLkhZeCU1FNI/HC8cG10pFZE/Ejn9CZsnO9/yWppxIeLiXJCvA06mzw3LF8rtHatRvpD7taM+CZ6aEpavHHbAJ0CoFrAny2zEp+PW77TzoX62+VDkbLSRx0ky6sIH0ODp7yAZgImQCJdn2/76GGlgyEUuzLTVGlJYa7KO9VDTB4Vp028pdHJYbIZSGG0DOxZwI8us2HekJMz3je2ReAIb8gr4zoXSCetzaoO8wRQZK/rua4vUp5HqZDD0ywSJaD9i1k/QjtMDvmA4MSdDwjIlFDG6oGM+LtIk0Zkme6KrmM+RdpCRGiAflXKtUVyTnx2xkd65XeqI7lweECaXKo3tr/TE9YZ9e8EHSmSdw02rLdx7ler9Tf+0lLl8xELkpL6qf3/zgnb4luTtAVxzzMpSFvN0OEErxDN3P4rHFw/FJj/gmFFaBJcCMEglatxsq/wyYxNf/eRsKjIJAWzzTnQgPshNyKJvVfLJm2uus+IbC14Urf2BgV2K3RB3+7270MLFdlT7vZaiKzPL61SvUNTDJB/Yckgu7wvimi6alzlB7OvHyOIjaA2zU0gGtn0DbNsdJ1CqeSy00o6fy7uTo614hGZsm0gh1gX0BRci1lNnnRz0gAW1gMjVDMquYv0F9wgZN3z2HluraN/tbFu0/ycLZNsoz7aHFKKBF2Mf7WVnsMssjtDXUMrG6B41asGO7mBui3kDGL4PNXSVavk7kLr921mI6Cg4T5nJVXRYiZZSgl40PrKfRSIVT1rogzGX2+iLs1cIS5HBAaIdrLuzpy5H1zkCCJ77e+5r2pLatYgtwXqqM7XKIrMMLujnGJYN1MetAxG7NbCflcrTLInRrc1K13anUGDVtJg0fCNnQfPkthtOXcLHWVfj4okR5Z9f1TrxXTmbY2+Hp6J4slqFkjzQIkLkXvljj3gF4cpTkL42Lv7gKXbaAbfLa68IoNP5UTtCkFxTm3mdu8wkJuo7zTmkA4qyuQc7CUoADN+qF278k0jdT9CHkhFDpmmUFEhPDnudIhwSRQOETt7Ihxl9BhFteW2BeQSQ9tUQuOVrXT8YJY8oD3UoFFoNouu1epSKj8zWIrw3ng= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e99f441-c6d1-426c-0b19-08da6f538893 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:39.2996 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 28/39] avcodec/snow: Remove unused halfpel_plane 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: lOUsr/txefgX Committed in 5be3a818719d613e2f225cf1532fda01ba106b04 in an unfinished state; never used or finished and always disabled. Signed-off-by: Andreas Rheinhardt --- libavcodec/snow.c | 67 +---------------------------------------------- libavcodec/snow.h | 1 - 2 files changed, 1 insertion(+), 67 deletions(-) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index 293a0eb7d9..6442fb7f0d 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -359,7 +359,7 @@ void ff_snow_pred_block(SnowContext *s, uint8_t *dst, uint8_t *tmp, ptrdiff_t st } } }else{ - uint8_t *src= s->last_picture[block->ref]->data[plane_index]; + const uint8_t *src= s->last_picture[block->ref]->data[plane_index]; const int scale= plane_index ? (2*s->mv_scale)>>s->chroma_h_shift : 2*s->mv_scale; int mx= block->mx*scale; int my= block->my*scale; @@ -587,72 +587,12 @@ int ff_snow_common_init_after_header(AVCodecContext *avctx) { return 0; } -#define USE_HALFPEL_PLANE 0 - -static int halfpel_interpol(SnowContext *s, uint8_t *halfpel[4][4], AVFrame *frame){ - int p,x,y; - - for(p=0; p < s->nb_planes; p++){ - int is_chroma= !!p; - int w= is_chroma ? AV_CEIL_RSHIFT(s->avctx->width, s->chroma_h_shift) : s->avctx->width; - int h= is_chroma ? AV_CEIL_RSHIFT(s->avctx->height, s->chroma_v_shift) : s->avctx->height; - int ls= frame->linesize[p]; - uint8_t *src= frame->data[p]; - - halfpel[1][p] = av_malloc_array(ls, (h + 2 * EDGE_WIDTH)); - halfpel[2][p] = av_malloc_array(ls, (h + 2 * EDGE_WIDTH)); - halfpel[3][p] = av_malloc_array(ls, (h + 2 * EDGE_WIDTH)); - if (!halfpel[1][p] || !halfpel[2][p] || !halfpel[3][p]) { - av_freep(&halfpel[1][p]); - av_freep(&halfpel[2][p]); - av_freep(&halfpel[3][p]); - return AVERROR(ENOMEM); - } - halfpel[1][p] += EDGE_WIDTH * (1 + ls); - halfpel[2][p] += EDGE_WIDTH * (1 + ls); - halfpel[3][p] += EDGE_WIDTH * (1 + ls); - - halfpel[0][p]= src; - for(y=0; y>5; - } - } - for(y=0; y>5; - } - } - src= halfpel[1][p]; - for(y=0; y>5; - } - } - -//FIXME border! - } - return 0; -} - void ff_snow_release_buffer(AVCodecContext *avctx) { SnowContext *s = avctx->priv_data; - int i; if(s->last_picture[s->max_ref_frames-1]->data[0]){ av_frame_unref(s->last_picture[s->max_ref_frames-1]); - for(i=0; i<9; i++) - if(s->halfpel_plane[s->max_ref_frames-1][1+i/3][i%3]) { - av_free(s->halfpel_plane[s->max_ref_frames-1][1+i/3][i%3] - EDGE_WIDTH*(1+s->current_picture->linesize[i%3])); - s->halfpel_plane[s->max_ref_frames-1][1+i/3][i%3] = NULL; - } } } @@ -665,11 +605,6 @@ int ff_snow_frame_start(SnowContext *s){ tmp= s->last_picture[s->max_ref_frames-1]; for(i=s->max_ref_frames-1; i>0; i--) s->last_picture[i] = s->last_picture[i-1]; - memmove(s->halfpel_plane+1, s->halfpel_plane, (s->max_ref_frames-1)*sizeof(void*)*4*4); - if(USE_HALFPEL_PLANE && s->current_picture->data[0]) { - if((ret = halfpel_interpol(s, s->halfpel_plane[0], s->current_picture)) < 0) - return ret; - } s->last_picture[0] = s->current_picture; s->current_picture = tmp; diff --git a/libavcodec/snow.h b/libavcodec/snow.h index f5beca66e9..709fef6be5 100644 --- a/libavcodec/snow.h +++ b/libavcodec/snow.h @@ -127,7 +127,6 @@ typedef struct SnowContext{ AVFrame *input_picture; ///< new_picture with the internal linesizes AVFrame *current_picture; AVFrame *last_picture[MAX_REF_FRAMES]; - uint8_t *halfpel_plane[MAX_REF_FRAMES][4][4]; AVFrame *mconly_picture; // uint8_t q_context[16]; uint8_t header_state[32]; From patchwork Tue Jul 26 22:08:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36983 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233365pzb; Wed, 27 Jul 2022 02:33:34 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uTpS09AXePZyUbvl37wFdf+fDSgUZnqzwM13tCpsZ2lZaqTMeUX74bZ4NS5Y982LiBfcxq X-Received: by 2002:a17:906:9b14:b0:72b:7c6f:2e87 with SMTP id eo20-20020a1709069b1400b0072b7c6f2e87mr16857022ejc.643.1658914414698; Wed, 27 Jul 2022 02:33:34 -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 v20-20020aa7d654000000b0042df92502a1si15735407edr.329.2022.07.27.02.33.34; Wed, 27 Jul 2022 02:33:34 -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=qPq990aH; 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 B95D968B8F6; Wed, 27 Jul 2022 12:31:07 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8A49668B877 for ; Wed, 27 Jul 2022 12:31:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TWJRwfFERFo9OWyJ2+CvgUkvysYWj0+MEin3hJcwDkb9Q/sM46CJrCqCsX91L0cUFjPy/+XV1lCyyAO24cDfzpT8Xa+/Z8910zySA+Kz2lHU0fWxd/sR/t5DUun1z/iX1qQv96o1HozXV2Mpcy3iYiNdyD5k/hY4t4QXQDWCf2bUBDaeu+7O2Z/f62XIwVZWby6a2NX3jPxDXnBx5F9Ussm6DywaBMDmS4F0kaC0ukUrfoiES4J8stpZ4cOSrluzJqvl8bk54lmqocS2dyaIVbzwND1vnk5/2XPq/Z+7Fg3iG6bWcqaxLLMd/NU+Sn3LvAwYUJhF8e14tZFolAWuNw== 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=6AmJ4mUvmlrx4DruTjwCON139CNQBYdVjCNeqPE/EXk=; b=AO/bBppOrOv/9ahcSmgb0m7ctxeqUr00Z9TxZWguJLTM+GcUsPph0AxreO+NltNtqmVNgR3Qjul+f9gG4uH5MPtmpRQARPoMaOupNocpn/fZpZEpaWnQEPn4QeAqzaKxs5XqG0C+OfbkfncfxtWhmfs6CMfIoJbvvn6akotk/SarxRJ9T5lZqoH3NnQuxGB3xcoKR8PX5lnSiAOakdqD3eGk+mwXe9PnDv3goeVBlA91D2ZS+rwAMokBPs8cZ4K5c0Ka/3Jgid2s+WGSyBVZKY0QaN9gT4uPOxJlR/eS8Tsoji6zS0A8iDEjjS+SY9czAZ1Jmafw6ASGwfn9FlLrRg== 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=6AmJ4mUvmlrx4DruTjwCON139CNQBYdVjCNeqPE/EXk=; b=qPq990aHueB9ypdErqZs5rxVVwttEDRc/nj2Ewtq5TtgMm2nB6wMP384gx6EfiIPLAwsmA6lcC9cAxhTlxuKrbEoyTg/cllcowUT+IPSmtdsCbZghaLRt+PFwXUFQr/252UEPlOPTxGmt9ebrM1aPSYx5xm8+w266SauM0eEsdPRHgCte1GXW5u3GTWfRYk6zCvTns1DgyZ5zQcT8qgU+mhwp0HjPKDiPha8TfDL7POKgb3aYHx+BrNpaEFpHwWfj1JMthrSSVNdQXx3jhGaPqq9itzyauVVh2rVbk95WOf1BW3nkhJCAR9+jS49N3ZTRDrACJ6EQe7+VZngd4U3jw== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:41 +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:41 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:04 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [OkG7bxZqcGcOxpz1YO2spANFeJhChsG6] 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-28-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 95f2ea42-16b6-4971-6c00-08da6f5389de X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYp/OoOi9r+Zt8y24d3+RCLfSl+YCLpQwi75AqgxMnBj5mnVUPwBJhZfOpWJOIYX16vPjq7bHvgVlQtIxVX5rEGnBu420pYbuO5XhHMo59YHJV7cUcslAC8128ZA+9e2I1zWb5o7KpNeq0YfBoBVwFG6hcHogz45ZrdLxzAzMIJL15A62PeY5zAMKyCFAMyYSjcA9goklWWO9mkN4Key2BRwcLf6PMczWZc1FzxG6ytwr1fV/5ObR4BSCOaU0XsEQF51Bpw+nypiSPFAyEDdg0TRpBMMGdH7FAcHFObPGLA5pyLabn9A/isL7UHedLbnBH3c1eXAjIPHXtYCGRbSspkpG/7ku7Bfxx70J59i2RdSSx7asf7BEx6Q+xX5ZvHy1VN2xOE6ZTeG+vijlafkZqNH1NqHDdH1boZ/UiXotU5Nxj57dNIBmrUUKUCjwDHscZzTgVVH2ZjeCYH2nWf2dwxJnRk+qzneUIzcJBLZDZY8Ffm+dFQINvRBxCFpOLRSJg9+nmCj2+teFG/WQEqx2Xa8sBG9LY4+FSiS99zgVtVQm1JsTXUhAO3ggv9/JdhYcI9URu8g6ge8wAMC7ct8MbUSsx6Bq+ENqXQFZyMmuSXkxlpBlUyOc67PJGWE5jVH9VOT0cVYEInNfR4yIuWvq25Gv/5AVUv7Rq4XC1pePDet3VIgzDuzLwNsleoxdXzQSgmDTaSB62kYM= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /xlZz3vbnxJ/5J0hhGMq31QoCopqO4pwJ871EwhsqqYaH2SBV0fVxS3yNbGmt3VVKndVpCpxMtWy62KHh91xd+grcjvkvnaAwFRFCKmssKNWNKqp8ldz8QGw68LHKHk115ylgpaOJ09DqJnpc9Xz4A/pO6YRFukRR7eZVzdKz2D8Awx8kOkAh82u0h9NIwu4zbSW6yk/kKIRfeBrCxM3c4r5yv5160fU0fP2a/yTxrK9i7+XdYGCJ+d7ZXcvSUfQVkNMbsKW0yhCivETkFCbU75N+ZW+RvHR/yjDD5QJt8iSaoVq+/im90BYDMU13IRNw4p8gbhVZ1kWD5VH0Ntj9RobhIutz71xNDfGAVavZ33wqJteraSC1BbGPjRwQV4rkaiAT9ZxWgZ3+zRCkEJTa33gFE4Dg3YbK9/1XMKncDSiAyGXQgL36ZVw5/w4IonE56CvZP/3NlicRDkeA1VE3rugjcTiBKkqH3N+DATHmuEbFW14c7Zxd586uVC7YffNlu+WaI8B34IMj4aK3HorAubT+EQM7eOtuaJ/C8ES7+9ZijUR1b7EP+k5022uANJuG6yRL2Mqx31ipgL8uEl1N8sIWamzHDgztfMUtMdoZOiTsFPd6g7KMvBmkmIpR5R3iWEM/O5S7BJcs++zRR+C3w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: L5iT10nF3E6+FeZMieJWVmyHUUy9DlP9/g7vnDR6uNgAGprfjLDWJhUI3e92BwdpuajVdDsqEERMPmwqyXVYXSxBLoSBtXyu2LOo7p/HCo8bLRjV++oAM3S6zE07v20PEeS2+LE4fJOvIJ+fmkHpoXifeknF3cx7EeJuI6QZ7qImzKeCAXS4xqU573Feo4HCYxD7zbJcehtLXS/euLaspe0vJcvYucSs4MxPQcGz5pGznNd90F8sLeBDLz7+8n1UwmFchnB2DiOZfUg3SgTRHMvg2JyQxnK4qAA+cz2Meo5cKpKQfFoGDCbNYPuJtzc5YrbgC7dzx1L37ldwC/j4l0kHGdOYL8NeCF1vRtKe7M4vwfwadT2SUIM2Yubo+fuz6U5ZSWipya2anz4S2wBUbK6iP7i2iKSyhaDvqzChwCkaPKNz2VtctHbi/8Ru46eTIMSNkMVN3XwCg2bHHgqutmExf4rLBSQXtCHpQdN3UHs+/qRz08nV2rCH5QLfsEDWCLh8AB4aNdLPJiQLe5YqLWdjBs6JSh+fB1RHcUdCkBBM7eEmxLciD48GIzf2ohjvhu+elSIHb2ZkeY2WBn2fB3fe5bqNfrUaEW5h792EsA8OEZnH190TxrjzCcfMmExvd+xyoyRkrZ5KBROxpItGs4rsDtMABy6OSmXqfq80cgcBw6e784AkuUEs1fW4XWSOX0dIVTcAymqy8aW2Qc+yf/nxssI8X5Pp1ZobBK2WlcJpkj7tBmcTayBxFBZM81mByZ6NEsLAUKkcyww7FnJNt28qbqaaSnVr0UoXwvurLL5kMbHsIskI9ZUdcromKfUjrM8s3rWgCb/9Iq9S2rvCn82Kxd3F6afetnHxDeZYq3dLkViW6rdmQsT5QPU82e654F+gxD9XzQI7LNCBwb2uAyRawWJ5TbobrQykBFZpyB+k3VWM44uuIbAOWAfc4p1WJ8Z//aTo3TPwc5HvDZS/xwr5hKJWhov5wUGJl9ahKs4kdRZb4vYMnRfoo26SMTfxRV6C+U/ekcka7Yh+Vx5oZQNQ2Xy+JvIKwC068re0ZOp22aNL6KXm/ylFfjrczblBSyIAMPePj7J5/HLvOjT80DgsccZOwbZYII/mX+aFFneRPO+2loVYkINQ1DOlLcgKtq3nPB9grZnwpmIRxepEi3desYCKKgz22HJNpTYDF2yUtZdkdbRvODYdlp6H6YFmJMmm4PgoqA25T+Z6VrxvhiXZGqqgUwtniftNjm2snyi2gzBd+5rY/Gedvm+ViZ+osy/TTEUEwLu74R1prziyb3VUfzsTEaOM0/UBRBz/ZTI= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95f2ea42-16b6-4971-6c00-08da6f5389de 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:41.5338 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 29/39] avcodec/pngenc: Don't cast const away unnecessarily 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: cx1t2yR0ux7f Possible since 529a9893d769f381b72785c500662be2020da5fe. Signed-off-by: Andreas Rheinhardt --- libavcodec/pngenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c index 25cf769931..c4742e293f 100644 --- a/libavcodec/pngenc.c +++ b/libavcodec/pngenc.c @@ -1056,7 +1056,7 @@ static int encode_apng(AVCodecContext *avctx, AVPacket *pkt, } av_frame_unref(s->last_frame); - ret = av_frame_ref(s->last_frame, (AVFrame*)pict); + ret = av_frame_ref(s->last_frame, pict); if (ret < 0) return ret; From patchwork Tue Jul 26 22:08:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36985 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233526pzb; Wed, 27 Jul 2022 02:34:01 -0700 (PDT) X-Google-Smtp-Source: AGRyM1t3IvfG/aThltL75AnvVqPZnZoqHKfWJ9shHfebaJ8mJdC2UjRUYqx6jgaJzusIHYjKECVz X-Received: by 2002:a17:907:7394:b0:72b:3e52:6262 with SMTP id er20-20020a170907739400b0072b3e526262mr17522323ejc.756.1658914441499; Wed, 27 Jul 2022 02:34:01 -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 s1-20020a17090699c100b0072f703af475si21919411ejn.924.2022.07.27.02.34.01; Wed, 27 Jul 2022 02:34:01 -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=QjhGc7L8; 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 F38F368B970; Wed, 27 Jul 2022 12:31:10 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1D4E768B89E for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lNKccyD4DS7XGK35hJIY61h+nzi1O5RqUv2+z5o1RYrWg8HR3BLtQojGpo5C/tZ2NnIRq3LbHSfXCmkCgWBuYXTgs4fNJxkhDejJYCFG4FCy5u8HqSfDsU3Eh7umdLVTBK9oMI6mzypcRjx3I1pl2DrChg3mgwQQ9zA5ZROhhqK5EimspnrkajtjLV1MgY6DZ4v+6P3xnal7Jm1D7KC/GH9OLR+P6pZwZLRkZxbmM13sqOpHxl9JC2ibP78Vlp9hkkhinSLiNEYGZNUaqQY8m+9JV/Eaksv42oUcR+A9eHcBThQ2DM/KhoxzYgmvVZ78IPMuAfPQ8IItwoY8p7yLtg== 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=oSGjWEaIcpxZrLiLJF919M8vyHJzK0Te2plXfozuBVs=; b=Uef+bF9K3tBACSZdcS9SoLfhUgfVOQ2KrJdkUx5ypPIwMl6tupBK8+jOWlEYOOsavIElqtkBOrqJcxsDklm+oxP/is1Fk/hodB9im4Y9M8CuAipY0zku7Q6lIRHW5xNUymlSni6q7TKbDhuSwu0PP7AYzhv4jYq81YiN5quARovZGM4S5zygrkiHh1dix1ykDUQ0W0At0BpKwZ6teim107/hBxz/40iVsgA9CkD+K85OIeNrZt0bPIQBhK2RsObLBofu46eWNjUCyb5J9gChBrxPWViitkwNMY4PmyJaYHRTLOo68Z47iwYxBhNRTIBYyjIRRYxexoSvbSoxnMfZyg== 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=oSGjWEaIcpxZrLiLJF919M8vyHJzK0Te2plXfozuBVs=; b=QjhGc7L85uZAlEWABzQ9NySPoDdCfPtygqOgdRFuHMOBt9BTBadIq56f1rzwnv8Y5V3Q1RdDZWlB+tFOJQyaBk/W8NXkQpfAfFPz256ie45JQhYK8e6wHIF9w10sDT46X5cDE1HciNIcVfkWH7GwXlDxSbd+kdOElp3a8Cejjl2OyzX8yvQYM1CGx4ZVbTptAfdmhwznd952/HAeijq9IS57HkaM15itON0aTGTqK4lZD1jCA5dCyvteSZBOlegQCg0FuSYpfISTc/8uMplvKI39UtSFE79rO/wp4mMS9Lr8Xhtd6ac6E9YDKWcin5xUtn477tcC7/CfcRKhGzbzaA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:43 +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:43 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:05 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [0cSB7xwaC8IR165/laz2mzYbsqxa2xPh] 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-29-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5cc39e58-41a7-4c6f-479f-08da6f538ae2 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUY9EiEg0CqmAPpMCuiW2Qy0HUXXJlw1eh4cZ/0v2nxiVvvbKA+EykjnXGFYAOQLpMK98T2by1ZdDrPek2sB2HNi8dzJulyRN/aEPtOL4GVVeXU9c93xFxf7XN2OzcIMZx7TWBMzDiRo8/dNusfQDS1LROJGLPRpeCeioXwDBWwMJ6u/P2BuTo81xZU2Zyl88F/19YmF5f7czl+mu/hNkDefJGZ1oeofNfQrgg4k2qAKPSGQphughclNAjxNpFqHSwjAdSbklPeVYMmyNhYOd38ETdCj1upP6uNIx5HTT6nTi4FmFwk2f3TdsvsohcUGNkmPUJjctjo82xx5Pc4gBkoDUaWmGTR/B4PclktA7udVBaNZRmz4RazzwW02ejYjA38yntxr4jUXItn/61qAKTC/ltIOTUwv/9l55JdbY4335tqK4iUVhXOth04PqfkRfTZJi+jOTqtGDnoKGorLvPsZRJlL3EHKEsJTwiOwVTKdp7zHR/+CBVJdSJvHJciSYpkc9Kwy0qbvEl/WxVSPENxQRdxcqN5g0YETIjqkYNyHXSJmvCca3pNPLqEm/mGa3qZc6gc3LeHTx46wdrkUyepM13bAysjs5lbEMKHaNCgfCb272HO1QFgkqdFpL/V8RsSh+4pM5HlL0qmLPmNwXddY/0xIKEIIuQherwPYBDWeToLuywvFJ8XYHr2hI6cHSA+DABCnOSJIPk= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NVkXTmc/5DXxeyDoxo7WOTO2iQMA5TwTiSLW9/0wFM48TkxNrLZdX4hL7m+SvFhV9d+3PZAEudzQyS0TFoFPR12Sbz9CcfWLGNLwYfAvcThG21+Jhg4DG9G0bSFtNZtQbCRn5Pox7ClIXSuwlbKqO88gHSSO/P55dlf8rgkuqAuB4FFIuHovuIw4WnpI/2uexkNwMt7CGsS0yMdW8MkJhZcaOaik8TRJaWQxApSgQEoHX5gcxZ4j1eJtoNNye4W3TLpT2QEFU5rYsZP6ZlX8UlwfB6yEX/vPpYxuBMwN9O8YnsXJu3CxToZAa9Hoa3lBILmd8+//UAiuuuyIiV3gPbnsvK9CfsR3JXNrQEQSr+FXWsjEYyLQ0ZYLRZczjV9h5otlCUz/bbmZYPTAZLqpYFp0wl4ydE52DF4PmksWRjNWpYBPk5eliBFKJKE1OZagImgRzuLcLrwfjB0jZztGJ7Cw/nxvH3lZ9G5f8zaMVl716vbQip21WuyXSpzeKAzt6tqIX2YQwhBywY75vohzXyZWsHZjwnRnTKMuhwWoyZLlnbmFcaEGj0F/v2JDgRhaRSQkSlpe5A5iLKPpfdq25frh7qNRjcLvflIpv9OZRCTMQlgZ6pCDf5Z7jD5W/c9eJ/cJbbbP6yVQupv2qDkiQg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2LssfpJcuxG0fONcUPPotGJ7cywpRrpvZgyqz4NfRqJpAt2/4+YvnsFZ7sIRqEzocKpGy8YllA07zQJEkMX7rB1qQ6/7nk6UN9NKTDnOHxMkKh/UszKK+1s76/JxWvoR6V3i1Hxu3a6tgCNULbdJkZRPHe/Wv4ZrnTBW9IjS2aw4YsskVsZJZU91oJhlHSK6ofOSpHTDfm8WawDSlR7kMJ5KVPS3ejKGm1qlvwpdV9cLYhENgd8X/oaevegokr0Hg1pR1bxhQxVQ7dDCxEWdYhYZkLiQaCHvlsZRpv8nP18Ux5Cv7QfLkFswjy8vo6zeVLvrbmWP7KVoLFpjscrV8ApW94msvhWaifD6XQ/u3u+diXkInAiEC2sWTyxP3pp65jrQAyxoDLC7Gvn8AMRo7DTG98C1UVhI7zZ5Cr9GLnPAt4gPz6CgNsBKrjBzozafjiAG7y17XnPW1NA3n/mEBV83P1CkgL9F/I/iQcNUF1xv5eqT/50Q4ktLi4V6yba03e7hR4OpoMTDlBgWZiZrCXJj2/Txi5f0Lhw3tnkfaaMelZdgsVHQG995pIQTWdm3OfuRU7Tf8hX8fARLy/K7E09gAHkD4X+G53akrH312ESerzSeA/02C+gwnHrNGWxBt8UJiXbjq60PiAKulmkCGutPIoxAqP537stQwmFN3JTBPIOkR58SXNYZ45VvhBOglXhaD5sbvcoDUoo4YAh6gJDG4yiyyhhvKtaM+J7Nwy3QGNPA5/FxVMhrlkrOEMHJycIoOa13UFi8NT/q+Yld81zBZr2ms03dWYi+DE8B+f2Jmpnz/gwFo8F19hBp1I4oqQEpFZVsJLiYlUlhWNInzlpb1JScOucS9CgbxbBKNJWFKDV/QMxNI/az5Lnt/ePSN9x20FAiSv0WB5hffgkdcLAX+RdjhhEXkrmD3FjDJR5OrFWdDYgbmBv3QbpCdMs53/JBi9hQi7zkhzZFb73HLBk9H+Ku/r9mccNrqq6U00z98ZDvggLCgktj+jcRlN0iCQMxfi52XQF7E1nPQ/oM4rpxwtRUYG+JtXgyUR0eEio0LRl+ObvhVNSDpZmuY0JDee0NuzGXm7xfVHM11sxioR9Ii7tr01CS05a4X+OwjK/ftWvP+cwksBmxfeSOUA6fBsidiKsKAzq/NdLGQMiLZuaSxL3LX+7vMA3ynhShhVLjd4m6BgEuaTA8OCa0BP7cSYoVjpzp0g4a/nPujz65al3uPCsZi1SIGErgAw35kwMjYhLSetr3KuoV+s1+tPFTgoBRxwhT0RcEeC5RLv+EJb0NTJkszgGUjX8cQ44KsuE= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5cc39e58-41a7-4c6f-479f-08da6f538ae2 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:43.2212 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 30/39] avcodec/lossless_videoencdsp: Constify src sub_left_predict 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: aH7lCZfDznZc Signed-off-by: Andreas Rheinhardt --- libavcodec/lossless_videoencdsp.c | 2 +- libavcodec/lossless_videoencdsp.h | 2 +- libavcodec/x86/lossless_videoencdsp.asm | 2 +- libavcodec/x86/lossless_videoencdsp_init.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/lossless_videoencdsp.c b/libavcodec/lossless_videoencdsp.c index e0b78bb3da..b4130ebc7b 100644 --- a/libavcodec/lossless_videoencdsp.c +++ b/libavcodec/lossless_videoencdsp.c @@ -74,7 +74,7 @@ static void sub_median_pred_c(uint8_t *dst, const uint8_t *src1, *left_top = lt; } -static void sub_left_predict_c(uint8_t *dst, uint8_t *src, +static void sub_left_predict_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, ptrdiff_t width, int height) { int i, j; diff --git a/libavcodec/lossless_videoencdsp.h b/libavcodec/lossless_videoencdsp.h index 7794f03e3f..f2c2878485 100644 --- a/libavcodec/lossless_videoencdsp.h +++ b/libavcodec/lossless_videoencdsp.h @@ -35,7 +35,7 @@ typedef struct LLVidEncDSPContext { const uint8_t *src2, intptr_t w, int *left, int *left_top); - void (*sub_left_predict)(uint8_t *dst, uint8_t *src, + void (*sub_left_predict)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, ptrdiff_t width, int height); } LLVidEncDSPContext; diff --git a/libavcodec/x86/lossless_videoencdsp.asm b/libavcodec/x86/lossless_videoencdsp.asm index 2e1d01bc2c..c579891d6a 100644 --- a/libavcodec/x86/lossless_videoencdsp.asm +++ b/libavcodec/x86/lossless_videoencdsp.asm @@ -145,7 +145,7 @@ DIFF_BYTES_PROLOGUE ;-------------------------------------------------------------------------------------------------- -;void sub_left_predict(uint8_t *dst, uint8_t *src, ptrdiff_t stride, ptrdiff_t width, int height) +;void sub_left_predict(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, ptrdiff_t width, int height) ;-------------------------------------------------------------------------------------------------- INIT_XMM avx diff --git a/libavcodec/x86/lossless_videoencdsp_init.c b/libavcodec/x86/lossless_videoencdsp_init.c index b3efcfdcd7..22a4014ef1 100644 --- a/libavcodec/x86/lossless_videoencdsp_init.c +++ b/libavcodec/x86/lossless_videoencdsp_init.c @@ -34,7 +34,7 @@ void ff_diff_bytes_sse2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, void ff_diff_bytes_avx2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, intptr_t w); -void ff_sub_left_predict_avx(uint8_t *dst, uint8_t *src, +void ff_sub_left_predict_avx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, ptrdiff_t width, int height); #if HAVE_INLINE_ASM From patchwork Tue Jul 26 22:08:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36968 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233412pzb; Wed, 27 Jul 2022 02:33:44 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s99s8IKX6/jiH3zeXK17BX/V2F/zJa7RxCx2/SNLuxFQBaBeDeY9+vA5zOFInYg7rJreHk X-Received: by 2002:a17:907:3d86:b0:72b:4b25:1031 with SMTP id he6-20020a1709073d8600b0072b4b251031mr16782147ejc.536.1658914424095; Wed, 27 Jul 2022 02:33:44 -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 w30-20020a50d79e000000b0043bdbd07d0csi1958920edi.341.2022.07.27.02.33.43; Wed, 27 Jul 2022 02:33:44 -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=nHXl0Y9t; 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 B5E9F68B964; Wed, 27 Jul 2022 12:31:08 +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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ABF5368B884 for ; Wed, 27 Jul 2022 12:31:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XghvSxAoUcdcTBQQtrY7sZEr92bbik+vNa1jvbNsR0fHVbprwKdMjNg7YBc8eVnCbwBWkBdLjAxdvliU9KutD5aPv7hofpmFrbWSLV1xrbFfGLOTidko+WVr0TSWKbzyK5mx7C9YPRvJwo7c166uYyT2/09tCzL8RQDhoEoI/0iDJBYHK2Vmiv5TQeX4TGgb2VJEMvEFAIpl0A5SyNQhrIVzfGMiJTgXL055esCTnH/ejemCNDOeTy5PeOPs1XmLHhjEDrlB3lOp5jYvOqZqD7OXaxfgBhaDNERZrE0vg5hSkae8lxsdegir+qMIiDtalFuDBZsZOIEnwDJqiMzKmw== 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=tbMMxlQQMIp+SI7rj1nY9VrQ4RDHeQS81M2xsks9EJY=; b=ns7A9mKnOCjIuJiHpqiUbkS1k4wJxw2LV0lF3PPbHQkcrmYRKSiTJfXQg0nZmufL4W9hts8PalbJ8LcS9rYp3G0Dic+U6J1N/Yt6X1r9MxcU0cbscwuc7RvUj1fMT6bF68aO9pXpV2nE0GYTZeB3h3lLuVhn0ybxR0TQwDVyTXSo4aV+MnUbErpjJm9QEyRNtnTBSR5K6tiyVoZMj3Len7dNalacDyG3NIE+j8Da/39tLI90y3eKbn4LHAQecRcOs5hPvlq43Bss1URxAus2bT0k1YL0d80MzXIahWm5qUa6GTG0DBrPS0WJkUvIW/NxO2DfhWN4szfA8t3c1f5P5A== 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=tbMMxlQQMIp+SI7rj1nY9VrQ4RDHeQS81M2xsks9EJY=; b=nHXl0Y9tPtwU5d2kKiZ4QbaX2vqPrsHVuTO6ZJzooCOxV44TOxfN2Wj4GpeW3YV1ucsagthysezUSRfLDC9K0GkDlJyw9IOMPQkLxCnDdJyGILw1zCLER17Fj13KMufSd3aOJkKj2CbYkrGQEB94O1+0ZKE/ChNcs5C28oPc7Tj6HKHcgKZVFviiKjznRpBD7UNT9gaz2xxBzYDVILIHYB8mxyer17kuFWKwYAsi2Qb4/FsGKyKP/Pf6bNJM3ouffsbF2xoqk4frwrALkEyrbZ3vEdqVK2IZdRGWEYcebAiGJTp0cagl8EWGTz40p8FyyR/l3MjcvQpVFSV1ReI5UQ== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:45 +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:45 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:06 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [a6e7Fyy2we3dnk252C4ThHnozki47xHy] 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-30-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 88d74876-264d-4c05-aa82-08da6f538c0e X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/ULT2wyjUGO4RaZdS3jmh49tPuy9qESyISW8+rcUPN0JjKt1c/mXB0mrivtPC7SuzKzHmNjJVm4oX9bY3O3xQAjy8ODivRapdqF4BNj4foX42oTpZoTzSAdazc3XCQpyuT7GSxHafNn4G54JuSIRM3b2CHvdMT0roggbGVGL99oKr17/KxibiUK2KmaBToxWJrsAn5x6vSbto/1A37RZJRZtm0mJCnKBudlcX8A8wJiomg54tqc4Fp3Sp335kWQQMdt1VB1XAFU6UH2vKVRa4lDd/XHQoCABPVqUF+Ic4o9q4P0Lp9a0CSR4kYzWFZlVYnJ8EZoICTDgDprgip1WLkVMCvN5n8pk2xQbvkTCsIebOO3C3OPMYJ6HpYQAFq8sPntR/EsrtMiA+Fm7AVmoMRbL3A0K9tFIwAw1GzHpGTQnaR0TsglKK63jMAQ4Ni0rjxyPVH04bajPIQe6jOv9wmBXHWgNv4TcIs+SLDYZjdRBymQk4O2LPV4o62O6FOFToqTEO4U5rP0ez7PyGZkMyotFtyywoPGeXfG6I05PwjN5+MJZytcwxjho3Pb28qP8VMP5UlisZW4m2J/GrhFbdY1k1DT/OtWeNyvG7rruWi86QhRWp6dguTz7Xc8Ajuf0aTl4QPph10YGmR7d+1lQS+i3oPMEGK7qlF4o7EAzAgIb27RTKD9VFxEUC/id+l1R0WbmEgMOu625ZA== X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Knsft1SA3hUeTDeaqCgNdbh5uDxqiBv36QU21kUlNgx8OaT1v14gOJv4gOvGI1MWUAjwUzKX0j5S1Qbv81cYJ53LGwH5k+h8REh1ikIVt+hcpd2gWUYERYqYaxabNhWfUopCjJjPQiK3suMlCtj0lDLzsHccj1P+68GT9qpzGTyAiXosPBHX57goUJC/0MQq0tY68XD7hrntMBkk7EisYt+lNQ3mjIkkla3JqdWW+b5M/HEUs/r4CYjv9YR78KNNlcqBYqY/qeEM3KFGwdfsICutOotQtp9mQraVIO09ygxtz5egvVpqNSKsoU976TYEvF1zkbNqlu9kzJW2b5j4Dytrf6rs7EVV7GR6NQySxunY0vV2nkxt4MzLlomZl4y+5Wl4MoJlTaWT8HK3ftWbjI4KP87K/yZK+1rnk/p1yWoohQI9IwfszZ+l0Pc50+Dn0jYTD8ngwnhqHAvKzzX8aQA5ufonSton4gHwEV2VqMyjm/QnXBNLN5p9ykrAp/vxh48dGh8OfbuygrvM5xBnxmBuc9RyMzMXqZONMh9MS1rDOhgItUAkMj5BiE0fcQFbLGVoVeqviI8LiRqKE7Ry3AzdAUM1QP5AECdkXL2IdEU+y8+hPwfWP2zBNFf5zw5X7vtLOkJloGzf7h7veZxwYA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3/oyAG7giZcS51QZfnfuxErxi7jJEvxX9alOcGmvbWhsS4MD18tFRknlNn+SjUzhhufzrq75qXQ2hbTQhR8pYrwetqzzi0Yw9b4SmYRfNI/D2RT3wDNv8mACYpe/OcHd8j1gfuNpvwnZNDWxhpG2p393bhlbUSanYl4MnXRaOiMe+9yYj784tzYdnXzoIALrWmG/2RIa57vhQuaGQ3MIoBXcwh1wxy/Zos/k934JdSeHo/ob3ThXLoO3hy2tyu0R35i24xNfrOOqh1RXZf2fCGM5CYrOWQPmSNo3OyH+58ufcV8h20OLetobt5xwjB/WtUwDAu3R73YedTWubDWJnnSuTlLveGDTwdYCaFSvj4XYg/+c3ivSffAx5CuTL6CrTgOXpLwW/p7HD3vXCBRmDHfTNhG0YKR2kz0/UjRFcU9CM8X8tuIPvf58aJj5tG11MiiiEhuBPLEJrSBOw7ftYnGB2aovCDmUKxSXjTkJ5YlSSZvpzC/szO0bJo9pZVhsy/nrxrVgngwsEP9GQDeypmsFOQIonpTvWmCN31MIv+KyutN5v1IlGAU5gjcpL10KnuF+HB9L8PZNcUTRkoRTav7OMKhLZry6Us8q7h12Rv//ZGJsWHdnokhXYvdP4wYptXJGsHkLq7RXcstBthU2q/IzW+Rsg/LhvAGI9ip9JiKute2jVWi1/V9iBDKYj+k0+2lKICw5QVYiy9c1Pw7Z7oweQsXz42Dapd1+4PYtWkmOcEEtShO5XhItKrfb8N8NIoJ6bgdf1huGYBbrFkYO0gNY2xlxDsb/qL915P/LiDsfEOZeDu78edFB22xWhh1TooEkaA4Vu2gRvtCcsM1sEx6m9J4rLI7ZTgvJxzncYKnoKJMlBICQfk8YBEa3ILDc6Q20KHDycbzXfFSLgquMULbm9+zU6AZ8TOkSOcRMOUli1tIQavblUrhyBzYR8u0MT880/bmbDV3RtsZSjFzTdFWaurr+0fsn+ba8PkN67EQWECSc04xpIjhPjqJYiaq9EdjpdRBm1AyyT8ZEXc1vByq9XRL3JrQPGPDPw+fAYLII6Qq9YYxG5H0Rp/UcbOj4cunPvcCtwHmKjuPFaxotosIuw5PYII6yx/EEsLnyj1EOuI+a7r91jhS5s9WJihZYBFE9MmkMwFtJgpEsJMLAh6ZpYyTr+HbqLRWsYfpJzsZis32sZjScVkWvIRM/vQAPvOj12e/PlxC0VbvsSZbfpruy8wgBrDllWteiiecsKY2eWNWE0196X1uPhFbSfxcCnqPHf0y9Fib7V8xF5JDL1d7+GTVc9ENDABR5Kut30NI= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88d74876-264d-4c05-aa82-08da6f538c0e 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:45.2523 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 31/39] avcodec/me_cmp: Constify me_cmp_func buffer parameters 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: dEP/KkDZejXR Signed-off-by: Andreas Rheinhardt --- libavcodec/aarch64/me_cmp_init_aarch64.c | 6 +- libavcodec/alpha/me_cmp_alpha.c | 12 ++-- libavcodec/alpha/me_cmp_mvi_asm.S | 2 +- libavcodec/arm/me_cmp_init_arm.c | 10 +-- libavcodec/me_cmp.c | 80 ++++++++++++------------ libavcodec/me_cmp.h | 6 +- libavcodec/mips/me_cmp_mips.h | 32 +++++----- libavcodec/mips/me_cmp_msa.c | 80 ++++++++++++------------ libavcodec/motion_est.c | 2 +- libavcodec/ppc/me_cmp.c | 30 ++++----- libavcodec/snow_dwt.c | 14 ++--- libavcodec/snow_dwt.h | 4 +- libavcodec/x86/me_cmp.asm | 24 +++---- libavcodec/x86/me_cmp_init.c | 72 ++++++++++----------- 14 files changed, 187 insertions(+), 187 deletions(-) diff --git a/libavcodec/aarch64/me_cmp_init_aarch64.c b/libavcodec/aarch64/me_cmp_init_aarch64.c index 136b008eb7..79c739914f 100644 --- a/libavcodec/aarch64/me_cmp_init_aarch64.c +++ b/libavcodec/aarch64/me_cmp_init_aarch64.c @@ -23,11 +23,11 @@ #include "libavutil/aarch64/cpu.h" #include "libavcodec/mpegvideo.h" -int ff_pix_abs16_neon(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_neon(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); -int ff_pix_abs16_xy2_neon(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_xy2_neon(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); -int ff_pix_abs16_x2_neon(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_x2_neon(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); av_cold void ff_me_cmp_init_aarch64(MECmpContext *c, AVCodecContext *avctx) diff --git a/libavcodec/alpha/me_cmp_alpha.c b/libavcodec/alpha/me_cmp_alpha.c index 8f360190f4..4e9e0f88dc 100644 --- a/libavcodec/alpha/me_cmp_alpha.c +++ b/libavcodec/alpha/me_cmp_alpha.c @@ -23,7 +23,7 @@ #include "libavcodec/me_cmp.h" #include "asm.h" -int pix_abs16x16_mvi_asm(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); +int pix_abs16x16_mvi_asm(void *v, const uint8_t *pix1, const uint8_t *pix2, int line_size, int h); static inline uint64_t avg2(uint64_t a, uint64_t b) { @@ -44,7 +44,7 @@ static inline uint64_t avg4(uint64_t l1, uint64_t l2, uint64_t l3, uint64_t l4) return r1 + r2; } -static int pix_abs8x8_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h) +static int pix_abs8x8_mvi(void *v, const uint8_t *pix1, const uint8_t *pix2, int line_size, int h) { int result = 0; @@ -77,7 +77,7 @@ static int pix_abs8x8_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, } #if 0 /* now done in assembly */ -int pix_abs16x16_mvi(uint8_t *pix1, uint8_t *pix2, int line_size) +int pix_abs16x16_mvi(const uint8_t *pix1, const uint8_t *pix2, int line_size) { int result = 0; int h = 16; @@ -119,7 +119,7 @@ int pix_abs16x16_mvi(uint8_t *pix1, uint8_t *pix2, int line_size) } #endif -static int pix_abs16x16_x2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h) +static int pix_abs16x16_x2_mvi(void *v, const uint8_t *pix1, const uint8_t *pix2, int line_size, int h) { int result = 0; uint64_t disalign = (size_t) pix2 & 0x7; @@ -192,7 +192,7 @@ static int pix_abs16x16_x2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_s return result; } -static int pix_abs16x16_y2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h) +static int pix_abs16x16_y2_mvi(void *v, const uint8_t *pix1, const uint8_t *pix2, int line_size, int h) { int result = 0; @@ -245,7 +245,7 @@ static int pix_abs16x16_y2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_s return result; } -static int pix_abs16x16_xy2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h) +static int pix_abs16x16_xy2_mvi(void *v, const uint8_t *pix1, const uint8_t *pix2, int line_size, int h) { int result = 0; diff --git a/libavcodec/alpha/me_cmp_mvi_asm.S b/libavcodec/alpha/me_cmp_mvi_asm.S index 2399085bcb..183feeb40c 100644 --- a/libavcodec/alpha/me_cmp_mvi_asm.S +++ b/libavcodec/alpha/me_cmp_mvi_asm.S @@ -38,7 +38,7 @@ .text /***************************************************************************** - * int pix_abs16x16_mvi_asm(uint8_t *pix1, uint8_t *pix2, int line_size) + * int pix_abs16x16_mvi_asm(const uint8_t *pix1, const uint8_t *pix2, int line_size) * * This code is written with a pca56 in mind. For ev6, one should * really take the increased latency of 3 cycles for MVI instructions diff --git a/libavcodec/arm/me_cmp_init_arm.c b/libavcodec/arm/me_cmp_init_arm.c index 03870a2bfa..8c556f1755 100644 --- a/libavcodec/arm/me_cmp_init_arm.c +++ b/libavcodec/arm/me_cmp_init_arm.c @@ -25,17 +25,17 @@ #include "libavcodec/me_cmp.h" #include "libavcodec/mpegvideo.h" -int ff_pix_abs16_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_armv6(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); -int ff_pix_abs16_x2_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_x2_armv6(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); -int ff_pix_abs16_y2_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs16_y2_armv6(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); -int ff_pix_abs8_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, +int ff_pix_abs8_armv6(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); -int ff_sse16_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, +int ff_sse16_armv6(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); av_cold void ff_me_cmp_init_arm(MECmpContext *c, AVCodecContext *avctx) diff --git a/libavcodec/me_cmp.c b/libavcodec/me_cmp.c index d0cd14ad33..fa82ae54ae 100644 --- a/libavcodec/me_cmp.c +++ b/libavcodec/me_cmp.c @@ -67,7 +67,7 @@ const uint32_t ff_square_tab[512] = { 57600, 58081, 58564, 59049, 59536, 60025, 60516, 61009, 61504, 62001, 62500, 63001, 63504, 64009, 64516, 65025, }; -static int sse4_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sse4_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; @@ -84,7 +84,7 @@ static int sse4_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int sse8_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sse8_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; @@ -105,7 +105,7 @@ static int sse8_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int sse16_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sse16_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; @@ -135,7 +135,7 @@ static int sse16_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int sum_abs_dctelem_c(int16_t *block) +static int sum_abs_dctelem_c(const int16_t *block) { int sum = 0, i; @@ -147,7 +147,7 @@ static int sum_abs_dctelem_c(int16_t *block) #define avg2(a, b) (((a) + (b) + 1) >> 1) #define avg4(a, b, c, d) (((a) + (b) + (c) + (d) + 2) >> 2) -static inline int pix_abs16_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static inline int pix_abs16_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; @@ -175,7 +175,7 @@ static inline int pix_abs16_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static inline int pix_median_abs16_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static inline int pix_median_abs16_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i, j; @@ -214,7 +214,7 @@ static inline int pix_median_abs16_c(MpegEncContext *v, uint8_t *pix1, uint8_t * return s; } -static int pix_abs16_x2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int pix_abs16_x2_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; @@ -242,11 +242,11 @@ static int pix_abs16_x2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int pix_abs16_y2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int pix_abs16_y2_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; - uint8_t *pix3 = pix2 + stride; + const uint8_t *pix3 = pix2 + stride; for (i = 0; i < h; i++) { s += abs(pix1[0] - avg2(pix2[0], pix3[0])); @@ -272,11 +272,11 @@ static int pix_abs16_y2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int pix_abs16_xy2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int pix_abs16_xy2_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; - uint8_t *pix3 = pix2 + stride; + const uint8_t *pix3 = pix2 + stride; for (i = 0; i < h; i++) { s += abs(pix1[0] - avg4(pix2[0], pix2[1], pix3[0], pix3[1])); @@ -302,7 +302,7 @@ static int pix_abs16_xy2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static inline int pix_abs8_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static inline int pix_abs8_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; @@ -322,7 +322,7 @@ static inline int pix_abs8_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static inline int pix_median_abs8_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static inline int pix_median_abs8_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i, j; @@ -353,7 +353,7 @@ static inline int pix_median_abs8_c(MpegEncContext *v, uint8_t *pix1, uint8_t *p return s; } -static int pix_abs8_x2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int pix_abs8_x2_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; @@ -373,11 +373,11 @@ static int pix_abs8_x2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int pix_abs8_y2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int pix_abs8_y2_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; - uint8_t *pix3 = pix2 + stride; + const uint8_t *pix3 = pix2 + stride; for (i = 0; i < h; i++) { s += abs(pix1[0] - avg2(pix2[0], pix3[0])); @@ -395,11 +395,11 @@ static int pix_abs8_y2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int pix_abs8_xy2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int pix_abs8_xy2_c(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int s = 0, i; - uint8_t *pix3 = pix2 + stride; + const uint8_t *pix3 = pix2 + stride; for (i = 0; i < h; i++) { s += abs(pix1[0] - avg4(pix2[0], pix2[1], pix3[0], pix3[1])); @@ -417,7 +417,7 @@ static int pix_abs8_xy2_c(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int nsse16_c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, +static int nsse16_c(MpegEncContext *c, const uint8_t *s1, const uint8_t *s2, ptrdiff_t stride, int h) { int score1 = 0, score2 = 0, x, y; @@ -442,7 +442,7 @@ static int nsse16_c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, return score1 + FFABS(score2) * 8; } -static int nsse8_c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, +static int nsse8_c(MpegEncContext *c, const uint8_t *s1, const uint8_t *s2, ptrdiff_t stride, int h) { int score1 = 0, score2 = 0, x, y; @@ -467,7 +467,7 @@ static int nsse8_c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, return score1 + FFABS(score2) * 8; } -static int zero_cmp(MpegEncContext *s, uint8_t *a, uint8_t *b, +static int zero_cmp(MpegEncContext *s, const uint8_t *a, const uint8_t *b, ptrdiff_t stride, int h) { return 0; @@ -553,8 +553,8 @@ void ff_set_cmp(MECmpContext *c, me_cmp_func *cmp, int type) #define BUTTERFLYA(x, y) (FFABS((x) + (y)) + FFABS((x) - (y))) -static int hadamard8_diff8x8_c(MpegEncContext *s, uint8_t *dst, - uint8_t *src, ptrdiff_t stride, int h) +static int hadamard8_diff8x8_c(MpegEncContext *s, const uint8_t *dst, + const uint8_t *src, ptrdiff_t stride, int h) { int i, temp[64], sum = 0; @@ -605,8 +605,8 @@ static int hadamard8_diff8x8_c(MpegEncContext *s, uint8_t *dst, return sum; } -static int hadamard8_intra8x8_c(MpegEncContext *s, uint8_t *src, - uint8_t *dummy, ptrdiff_t stride, int h) +static int hadamard8_intra8x8_c(MpegEncContext *s, const uint8_t *src, + const uint8_t *dummy, ptrdiff_t stride, int h) { int i, temp[64], sum = 0; @@ -657,8 +657,8 @@ static int hadamard8_intra8x8_c(MpegEncContext *s, uint8_t *src, return sum; } -static int dct_sad8x8_c(MpegEncContext *s, uint8_t *src1, - uint8_t *src2, ptrdiff_t stride, int h) +static int dct_sad8x8_c(MpegEncContext *s, const uint8_t *src1, + const uint8_t *src2, ptrdiff_t stride, int h) { LOCAL_ALIGNED_16(int16_t, temp, [64]); @@ -698,8 +698,8 @@ static int dct_sad8x8_c(MpegEncContext *s, uint8_t *src1, DST(7, (a4 >> 2) - a7); \ } -static int dct264_sad8x8_c(MpegEncContext *s, uint8_t *src1, - uint8_t *src2, ptrdiff_t stride, int h) +static int dct264_sad8x8_c(MpegEncContext *s, const uint8_t *src1, + const uint8_t *src2, ptrdiff_t stride, int h) { int16_t dct[8][8]; int i, sum = 0; @@ -723,8 +723,8 @@ static int dct264_sad8x8_c(MpegEncContext *s, uint8_t *src1, } #endif -static int dct_max8x8_c(MpegEncContext *s, uint8_t *src1, - uint8_t *src2, ptrdiff_t stride, int h) +static int dct_max8x8_c(MpegEncContext *s, const uint8_t *src1, + const uint8_t *src2, ptrdiff_t stride, int h) { LOCAL_ALIGNED_16(int16_t, temp, [64]); int sum = 0, i; @@ -740,8 +740,8 @@ static int dct_max8x8_c(MpegEncContext *s, uint8_t *src1, return sum; } -static int quant_psnr8x8_c(MpegEncContext *s, uint8_t *src1, - uint8_t *src2, ptrdiff_t stride, int h) +static int quant_psnr8x8_c(MpegEncContext *s, const uint8_t *src1, + const uint8_t *src2, ptrdiff_t stride, int h) { LOCAL_ALIGNED_16(int16_t, temp, [64 * 2]); int16_t *const bak = temp + 64; @@ -765,7 +765,7 @@ static int quant_psnr8x8_c(MpegEncContext *s, uint8_t *src1, return sum; } -static int rd8x8_c(MpegEncContext *s, uint8_t *src1, uint8_t *src2, +static int rd8x8_c(MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, ptrdiff_t stride, int h) { const uint8_t *scantable = s->intra_scantable.permutated; @@ -842,7 +842,7 @@ static int rd8x8_c(MpegEncContext *s, uint8_t *src1, uint8_t *src2, return distortion + ((bits * s->qscale * s->qscale * 109 + 64) >> 7); } -static int bit8x8_c(MpegEncContext *s, uint8_t *src1, uint8_t *src2, +static int bit8x8_c(MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, ptrdiff_t stride, int h) { const uint8_t *scantable = s->intra_scantable.permutated; @@ -905,7 +905,7 @@ static int bit8x8_c(MpegEncContext *s, uint8_t *src1, uint8_t *src2, #define VSAD_INTRA(size) \ static int vsad_intra ## size ## _c(MpegEncContext *c, \ - uint8_t *s, uint8_t *dummy, \ + const uint8_t *s, const uint8_t *dummy, \ ptrdiff_t stride, int h) \ { \ int score = 0, x, y; \ @@ -927,7 +927,7 @@ VSAD_INTRA(16) #define VSAD(size) \ static int vsad ## size ## _c(MpegEncContext *c, \ - uint8_t *s1, uint8_t *s2, \ + const uint8_t *s1, const uint8_t *s2, \ ptrdiff_t stride, int h) \ { \ int score = 0, x, y; \ @@ -947,7 +947,7 @@ VSAD(16) #define SQ(a) ((a) * (a)) #define VSSE_INTRA(size) \ static int vsse_intra ## size ## _c(MpegEncContext *c, \ - uint8_t *s, uint8_t *dummy, \ + const uint8_t *s, const uint8_t *dummy, \ ptrdiff_t stride, int h) \ { \ int score = 0, x, y; \ @@ -968,7 +968,7 @@ VSSE_INTRA(8) VSSE_INTRA(16) #define VSSE(size) \ -static int vsse ## size ## _c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, \ +static int vsse ## size ## _c(MpegEncContext *c, const uint8_t *s1, const uint8_t *s2, \ ptrdiff_t stride, int h) \ { \ int score = 0, x, y; \ @@ -986,7 +986,7 @@ VSSE(8) VSSE(16) #define WRAPPER8_16_SQ(name8, name16) \ -static int name16(MpegEncContext *s, uint8_t *dst, uint8_t *src, \ +static int name16(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, \ ptrdiff_t stride, int h) \ { \ int score = 0; \ diff --git a/libavcodec/me_cmp.h b/libavcodec/me_cmp.h index 7b057a923b..c6de2d0061 100644 --- a/libavcodec/me_cmp.h +++ b/libavcodec/me_cmp.h @@ -46,12 +46,12 @@ struct MpegEncContext; * Although currently h < 4 is not used as functions with * width < 8 are neither used nor implemented. */ typedef int (*me_cmp_func)(struct MpegEncContext *c, - uint8_t *blk1 /* align width (8 or 16) */, - uint8_t *blk2 /* align 1 */, ptrdiff_t stride, + const uint8_t *blk1 /* align width (8 or 16) */, + const uint8_t *blk2 /* align 1 */, ptrdiff_t stride, int h); typedef struct MECmpContext { - int (*sum_abs_dctelem)(int16_t *block /* align 16 */); + int (*sum_abs_dctelem)(const int16_t *block /* align 16 */); me_cmp_func sad[6]; /* identical to pix_absAxA except additional void * */ me_cmp_func sse[6]; diff --git a/libavcodec/mips/me_cmp_mips.h b/libavcodec/mips/me_cmp_mips.h index e0d0f51af8..728640102a 100644 --- a/libavcodec/mips/me_cmp_mips.h +++ b/libavcodec/mips/me_cmp_mips.h @@ -24,37 +24,37 @@ #include "../mpegvideo.h" #include "libavcodec/bit_depth_template.c" -int ff_hadamard8_diff8x8_msa(MpegEncContext *s, uint8_t *dst, uint8_t *src, +int ff_hadamard8_diff8x8_msa(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h); -int ff_hadamard8_intra8x8_msa(MpegEncContext *s, uint8_t *dst, uint8_t *src, +int ff_hadamard8_intra8x8_msa(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h); -int ff_hadamard8_diff16_msa(MpegEncContext *s, uint8_t *dst, uint8_t *src, +int ff_hadamard8_diff16_msa(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h); -int ff_hadamard8_intra16_msa(MpegEncContext *s, uint8_t *dst, uint8_t *src, +int ff_hadamard8_intra16_msa(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h); -int ff_pix_abs16_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_pix_abs16_x2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_x2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_pix_abs16_y2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_y2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_pix_abs16_xy2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_xy2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_pix_abs8_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs8_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_pix_abs8_x2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs8_x2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_pix_abs8_y2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs8_y2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_pix_abs8_xy2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs8_xy2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sse16_msa(MpegEncContext *v, uint8_t *pu8Src, uint8_t *pu8Ref, +int ff_sse16_msa(MpegEncContext *v, const uint8_t *pu8Src, const uint8_t *pu8Ref, ptrdiff_t stride, int i32Height); -int ff_sse8_msa(MpegEncContext *v, uint8_t *pu8Src, uint8_t *pu8Ref, +int ff_sse8_msa(MpegEncContext *v, const uint8_t *pu8Src, const uint8_t *pu8Ref, ptrdiff_t stride, int i32Height); -int ff_sse4_msa(MpegEncContext *v, uint8_t *pu8Src, uint8_t *pu8Ref, +int ff_sse4_msa(MpegEncContext *v, const uint8_t *pu8Src, const uint8_t *pu8Ref, ptrdiff_t stride, int i32Height); -void ff_add_pixels8_msa(uint8_t *av_restrict pixels, int16_t *block, +void ff_add_pixels8_msa(const uint8_t *av_restrict pixels, int16_t *block, ptrdiff_t stride); #endif // #ifndef AVCODEC_MIPS_ME_CMP_MIPS_H diff --git a/libavcodec/mips/me_cmp_msa.c b/libavcodec/mips/me_cmp_msa.c index 7cb7af0047..00a3cfd53f 100644 --- a/libavcodec/mips/me_cmp_msa.c +++ b/libavcodec/mips/me_cmp_msa.c @@ -21,8 +21,8 @@ #include "libavutil/mips/generic_macros_msa.h" #include "me_cmp_mips.h" -static uint32_t sad_8width_msa(uint8_t *src, int32_t src_stride, - uint8_t *ref, int32_t ref_stride, +static uint32_t sad_8width_msa(const uint8_t *src, int32_t src_stride, + const uint8_t *ref, int32_t ref_stride, int32_t height) { int32_t ht_cnt; @@ -43,8 +43,8 @@ static uint32_t sad_8width_msa(uint8_t *src, int32_t src_stride, return (HADD_UH_U32(sad)); } -static uint32_t sad_16width_msa(uint8_t *src, int32_t src_stride, - uint8_t *ref, int32_t ref_stride, +static uint32_t sad_16width_msa(const uint8_t *src, int32_t src_stride, + const uint8_t *ref, int32_t ref_stride, int32_t height) { int32_t ht_cnt; @@ -68,9 +68,9 @@ static uint32_t sad_16width_msa(uint8_t *src, int32_t src_stride, return (HADD_UH_U32(sad)); } -static uint32_t sad_horiz_bilinear_filter_8width_msa(uint8_t *src, +static uint32_t sad_horiz_bilinear_filter_8width_msa(const uint8_t *src, int32_t src_stride, - uint8_t *ref, + const uint8_t *ref, int32_t ref_stride, int32_t height) { @@ -110,9 +110,9 @@ static uint32_t sad_horiz_bilinear_filter_8width_msa(uint8_t *src, return (HADD_UH_U32(sad)); } -static uint32_t sad_horiz_bilinear_filter_16width_msa(uint8_t *src, +static uint32_t sad_horiz_bilinear_filter_16width_msa(const uint8_t *src, int32_t src_stride, - uint8_t *ref, + const uint8_t *ref, int32_t ref_stride, int32_t height) { @@ -148,9 +148,9 @@ static uint32_t sad_horiz_bilinear_filter_16width_msa(uint8_t *src, return (HADD_UH_U32(sad)); } -static uint32_t sad_vert_bilinear_filter_8width_msa(uint8_t *src, +static uint32_t sad_vert_bilinear_filter_8width_msa(const uint8_t *src, int32_t src_stride, - uint8_t *ref, + const uint8_t *ref, int32_t ref_stride, int32_t height) { @@ -186,9 +186,9 @@ static uint32_t sad_vert_bilinear_filter_8width_msa(uint8_t *src, return (HADD_UH_U32(sad)); } -static uint32_t sad_vert_bilinear_filter_16width_msa(uint8_t *src, +static uint32_t sad_vert_bilinear_filter_16width_msa(const uint8_t *src, int32_t src_stride, - uint8_t *ref, + const uint8_t *ref, int32_t ref_stride, int32_t height) { @@ -224,9 +224,9 @@ static uint32_t sad_vert_bilinear_filter_16width_msa(uint8_t *src, return (HADD_UH_U32(sad)); } -static uint32_t sad_hv_bilinear_filter_8width_msa(uint8_t *src, +static uint32_t sad_hv_bilinear_filter_8width_msa(const uint8_t *src, int32_t src_stride, - uint8_t *ref, + const uint8_t *ref, int32_t ref_stride, int32_t height) { @@ -280,9 +280,9 @@ static uint32_t sad_hv_bilinear_filter_8width_msa(uint8_t *src, return (HADD_UH_U32(sad)); } -static uint32_t sad_hv_bilinear_filter_16width_msa(uint8_t *src, +static uint32_t sad_hv_bilinear_filter_16width_msa(const uint8_t *src, int32_t src_stride, - uint8_t *ref, + const uint8_t *ref, int32_t ref_stride, int32_t height) { @@ -403,8 +403,8 @@ static uint32_t sad_hv_bilinear_filter_16width_msa(uint8_t *src, DPADD_SH2_SW(res_l0_m, res_l1_m, res_l0_m, res_l1_m, var, var); \ } -static uint32_t sse_4width_msa(uint8_t *src_ptr, int32_t src_stride, - uint8_t *ref_ptr, int32_t ref_stride, +static uint32_t sse_4width_msa(const uint8_t *src_ptr, int32_t src_stride, + const uint8_t *ref_ptr, int32_t ref_stride, int32_t height) { int32_t ht_cnt; @@ -431,8 +431,8 @@ static uint32_t sse_4width_msa(uint8_t *src_ptr, int32_t src_stride, return sse; } -static uint32_t sse_8width_msa(uint8_t *src_ptr, int32_t src_stride, - uint8_t *ref_ptr, int32_t ref_stride, +static uint32_t sse_8width_msa(const uint8_t *src_ptr, int32_t src_stride, + const uint8_t *ref_ptr, int32_t ref_stride, int32_t height) { int32_t ht_cnt; @@ -458,8 +458,8 @@ static uint32_t sse_8width_msa(uint8_t *src_ptr, int32_t src_stride, return sse; } -static uint32_t sse_16width_msa(uint8_t *src_ptr, int32_t src_stride, - uint8_t *ref_ptr, int32_t ref_stride, +static uint32_t sse_16width_msa(const uint8_t *src_ptr, int32_t src_stride, + const uint8_t *ref_ptr, int32_t ref_stride, int32_t height) { int32_t ht_cnt; @@ -498,8 +498,8 @@ static uint32_t sse_16width_msa(uint8_t *src_ptr, int32_t src_stride, return sse; } -static int32_t hadamard_diff_8x8_msa(uint8_t *src, int32_t src_stride, - uint8_t *ref, int32_t ref_stride) +static int32_t hadamard_diff_8x8_msa(const uint8_t *src, int32_t src_stride, + const uint8_t *ref, int32_t ref_stride) { v16u8 src0, src1, src2, src3, src4, src5, src6, src7; v16u8 ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7; @@ -543,8 +543,8 @@ static int32_t hadamard_diff_8x8_msa(uint8_t *src, int32_t src_stride, return (HADD_UH_U32(sum)); } -static int32_t hadamard_intra_8x8_msa(uint8_t *src, int32_t src_stride, - uint8_t *ref, int32_t ref_stride) +static int32_t hadamard_intra_8x8_msa(const uint8_t *src, int32_t src_stride, + const uint8_t *ref, int32_t ref_stride) { int32_t sum_res = 0; v16u8 src0, src1, src2, src3, src4, src5, src6, src7; @@ -587,79 +587,79 @@ static int32_t hadamard_intra_8x8_msa(uint8_t *src, int32_t src_stride, return sum_res; } -int ff_pix_abs16_msa(MpegEncContext *v, uint8_t *src, uint8_t *ref, +int ff_pix_abs16_msa(MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height) { return sad_16width_msa(src, stride, ref, stride, height); } -int ff_pix_abs8_msa(MpegEncContext *v, uint8_t *src, uint8_t *ref, +int ff_pix_abs8_msa(MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height) { return sad_8width_msa(src, stride, ref, stride, height); } -int ff_pix_abs16_x2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_x2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { return sad_horiz_bilinear_filter_16width_msa(pix1, stride, pix2, stride, h); } -int ff_pix_abs16_y2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_y2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { return sad_vert_bilinear_filter_16width_msa(pix1, stride, pix2, stride, h); } -int ff_pix_abs16_xy2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs16_xy2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { return sad_hv_bilinear_filter_16width_msa(pix1, stride, pix2, stride, h); } -int ff_pix_abs8_x2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs8_x2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { return sad_horiz_bilinear_filter_8width_msa(pix1, stride, pix2, stride, h); } -int ff_pix_abs8_y2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs8_y2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { return sad_vert_bilinear_filter_8width_msa(pix1, stride, pix2, stride, h); } -int ff_pix_abs8_xy2_msa(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_pix_abs8_xy2_msa(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { return sad_hv_bilinear_filter_8width_msa(pix1, stride, pix2, stride, h); } -int ff_sse16_msa(MpegEncContext *v, uint8_t *src, uint8_t *ref, +int ff_sse16_msa(MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height) { return sse_16width_msa(src, stride, ref, stride, height); } -int ff_sse8_msa(MpegEncContext *v, uint8_t *src, uint8_t *ref, +int ff_sse8_msa(MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height) { return sse_8width_msa(src, stride, ref, stride, height); } -int ff_sse4_msa(MpegEncContext *v, uint8_t *src, uint8_t *ref, +int ff_sse4_msa(MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height) { return sse_4width_msa(src, stride, ref, stride, height); } -int ff_hadamard8_diff8x8_msa(MpegEncContext *s, uint8_t *dst, uint8_t *src, +int ff_hadamard8_diff8x8_msa(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h) { return hadamard_diff_8x8_msa(src, stride, dst, stride); } -int ff_hadamard8_intra8x8_msa(MpegEncContext *s, uint8_t *dst, uint8_t *src, +int ff_hadamard8_intra8x8_msa(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h) { return hadamard_intra_8x8_msa(src, stride, dst, stride); @@ -667,7 +667,7 @@ int ff_hadamard8_intra8x8_msa(MpegEncContext *s, uint8_t *dst, uint8_t *src, /* Hadamard Transform functions */ #define WRAPPER8_16_SQ(name8, name16) \ -int name16(MpegEncContext *s, uint8_t *dst, uint8_t *src, \ +int name16(MpegEncContext *s, const uint8_t *dst, const uint8_t *src, \ ptrdiff_t stride, int h) \ { \ int score = 0; \ diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index 62c5b28364..0903536697 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -293,7 +293,7 @@ static int cmp_qpel(MpegEncContext *s, const int x, const int y, const int subx, #include "motion_est_template.c" -static int zero_cmp(MpegEncContext *s, uint8_t *a, uint8_t *b, +static int zero_cmp(MpegEncContext *s, const uint8_t *a, const uint8_t *b, ptrdiff_t stride, int h) { return 0; diff --git a/libavcodec/ppc/me_cmp.c b/libavcodec/ppc/me_cmp.c index 17f9a4f016..90f21525d7 100644 --- a/libavcodec/ppc/me_cmp.c +++ b/libavcodec/ppc/me_cmp.c @@ -51,7 +51,7 @@ iv = vec_vsx_ld(1, pix);\ } #endif -static int sad16_x2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sad16_x2_altivec(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int i; @@ -91,7 +91,7 @@ static int sad16_x2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int sad16_y2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sad16_y2_altivec(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int i; @@ -102,7 +102,7 @@ static int sad16_y2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, vector unsigned int sad = (vector unsigned int) vec_splat_u32(0); vector signed int sumdiffs; - uint8_t *pix3 = pix2 + stride; + const uint8_t *pix3 = pix2 + stride; /* Due to the fact that pix3 = pix2 + stride, the pix3 of one * iteration becomes pix2 in the next iteration. We can use this @@ -141,12 +141,12 @@ static int sad16_y2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int sad16_xy2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sad16_xy2_altivec(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int i; int __attribute__((aligned(16))) s = 0; - uint8_t *pix3 = pix2 + stride; + const uint8_t *pix3 = pix2 + stride; const vector unsigned char zero = (const vector unsigned char) vec_splat_u8(0); const vector unsigned short two = @@ -230,7 +230,7 @@ static int sad16_xy2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int sad16_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sad16_altivec(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int i; @@ -265,7 +265,7 @@ static int sad16_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int sad8_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sad8_altivec(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int i; @@ -309,7 +309,7 @@ static int sad8_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, /* Sum of Squared Errors for an 8x8 block, AltiVec-enhanced. * It's the sad8_altivec code above w/ squaring added. */ -static int sse8_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sse8_altivec(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int i; @@ -354,7 +354,7 @@ static int sse8_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, /* Sum of Squared Errors for a 16x16 block, AltiVec-enhanced. * It's the sad16_altivec code above w/ squaring added. */ -static int sse16_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +static int sse16_altivec(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int i; @@ -392,8 +392,8 @@ static int sse16_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, return s; } -static int hadamard8_diff8x8_altivec(MpegEncContext *s, uint8_t *dst, - uint8_t *src, ptrdiff_t stride, int h) +static int hadamard8_diff8x8_altivec(MpegEncContext *s, const uint8_t *dst, + const uint8_t *src, ptrdiff_t stride, int h) { int __attribute__((aligned(16))) sum; register const vector unsigned char vzero = @@ -518,8 +518,8 @@ static int hadamard8_diff8x8_altivec(MpegEncContext *s, uint8_t *dst, * On the 970, the hand-made RA is still a win (around 690 vs. around 780), * but xlc goes to around 660 on the regular C code... */ -static int hadamard8_diff16x8_altivec(MpegEncContext *s, uint8_t *dst, - uint8_t *src, ptrdiff_t stride, int h) +static int hadamard8_diff16x8_altivec(MpegEncContext *s, const uint8_t *dst, + const uint8_t *src, ptrdiff_t stride, int h) { int __attribute__((aligned(16))) sum; register vector signed short @@ -709,8 +709,8 @@ static int hadamard8_diff16x8_altivec(MpegEncContext *s, uint8_t *dst, return sum; } -static int hadamard8_diff16_altivec(MpegEncContext *s, uint8_t *dst, - uint8_t *src, ptrdiff_t stride, int h) +static int hadamard8_diff16_altivec(MpegEncContext *s, const uint8_t *dst, + const uint8_t *src, ptrdiff_t stride, int h) { int score = hadamard8_diff16x8_altivec(s, dst, src, stride, 8); diff --git a/libavcodec/snow_dwt.c b/libavcodec/snow_dwt.c index e196fefd24..18b315ef66 100644 --- a/libavcodec/snow_dwt.c +++ b/libavcodec/snow_dwt.c @@ -740,7 +740,7 @@ void ff_spatial_idwt(IDWTELEM *buffer, IDWTELEM *temp, int width, int height, decomposition_count, y); } -static inline int w_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, +static inline int w_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int w, int h, int type) { int s, i, j; @@ -809,32 +809,32 @@ static inline int w_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, pt return s >> 9; } -static int w53_8_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h) +static int w53_8_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h) { return w_c(v, pix1, pix2, line_size, 8, h, 1); } -static int w97_8_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h) +static int w97_8_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h) { return w_c(v, pix1, pix2, line_size, 8, h, 0); } -static int w53_16_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h) +static int w53_16_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h) { return w_c(v, pix1, pix2, line_size, 16, h, 1); } -static int w97_16_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h) +static int w97_16_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h) { return w_c(v, pix1, pix2, line_size, 16, h, 0); } -int ff_w53_32_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h) +int ff_w53_32_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h) { return w_c(v, pix1, pix2, line_size, 32, h, 1); } -int ff_w97_32_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h) +int ff_w97_32_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h) { return w_c(v, pix1, pix2, line_size, 32, h, 0); } diff --git a/libavcodec/snow_dwt.h b/libavcodec/snow_dwt.h index 390bc57130..15b8a3007b 100644 --- a/libavcodec/snow_dwt.h +++ b/libavcodec/snow_dwt.h @@ -104,8 +104,8 @@ void ff_snow_inner_add_yblock(const uint8_t *obmc, const int obmc_stride, int src_y, int src_stride, slice_buffer *sb, int add, uint8_t *dst8); -int ff_w53_32_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h); -int ff_w97_32_c(struct MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t line_size, int h); +int ff_w53_32_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h); +int ff_w97_32_c(struct MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h); void ff_spatial_dwt(int *buffer, int *temp, int width, int height, int stride, int type, int decomposition_count); diff --git a/libavcodec/x86/me_cmp.asm b/libavcodec/x86/me_cmp.asm index 10809bbfb1..eb036ee4bc 100644 --- a/libavcodec/x86/me_cmp.asm +++ b/libavcodec/x86/me_cmp.asm @@ -38,7 +38,7 @@ SECTION .text psubw %1, %2 %endmacro -; %1=uint8_t *pix1, %2=uint8_t *pix2, %3=static offset, %4=stride, %5=stride*3 +; %1=const uint8_t *pix1, %2=const uint8_t *pix2, %3=static offset, %4=stride, %5=stride*3 ; %6=temporary storage location ; this macro requires $mmsize stack space (aligned) on %6 (except on SSE+x86-64) %macro DIFF_PIXELS_8 6 @@ -214,8 +214,8 @@ hadamard8x8_diff %+ SUFFIX: hadamard8_16_wrapper %1, 3 %elif cpuflag(mmx) ALIGN 16 -; int ff_hadamard8_diff_ ## cpu(MpegEncContext *s, uint8_t *src1, -; uint8_t *src2, ptrdiff_t stride, int h) +; int ff_hadamard8_diff_ ## cpu(MpegEncContext *s, const uint8_t *src1, +; const uint8_t *src2, ptrdiff_t stride, int h) ; r0 = void *s = unused, int h = unused (always 8) ; note how r1, r2 and r3 are not clobbered in this function, so 16x16 ; can simply call this 2x2x (and that's why we access rsp+gprsize @@ -278,7 +278,7 @@ INIT_XMM ssse3 %define ABS_SUM_8x8 ABS_SUM_8x8_64 HADAMARD8_DIFF 9 -; int ff_sse*_*(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +; int ff_sse*_*(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ; ptrdiff_t line_size, int h) %macro SUM_SQUARED_ERRORS 1 @@ -357,7 +357,7 @@ INIT_XMM sse2 SUM_SQUARED_ERRORS 16 ;----------------------------------------------- -;int ff_sum_abs_dctelem(int16_t *block) +;int ff_sum_abs_dctelem(const int16_t *block) ;----------------------------------------------- ; %1 = number of xmm registers used ; %2 = number of inline loops @@ -390,7 +390,7 @@ INIT_XMM ssse3 SUM_ABS_DCTELEM 6, 2 ;------------------------------------------------------------------------------ -; int ff_hf_noise*_mmx(uint8_t *pix1, ptrdiff_t lsize, int h) +; int ff_hf_noise*_mmx(const uint8_t *pix1, ptrdiff_t lsize, int h) ;------------------------------------------------------------------------------ ; %1 = 8/16. %2-5=m# %macro HF_NOISE_PART1 5 @@ -466,7 +466,7 @@ HF_NOISE 8 HF_NOISE 16 ;--------------------------------------------------------------------------------------- -;int ff_sad_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h); +;int ff_sad_(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); ;--------------------------------------------------------------------------------------- ;%1 = 8/16 %macro SAD 1 @@ -521,7 +521,7 @@ INIT_XMM sse2 SAD 16 ;------------------------------------------------------------------------------------------ -;int ff_sad_x2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h); +;int ff_sad_x2_(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); ;------------------------------------------------------------------------------------------ ;%1 = 8/16 %macro SAD_X2 1 @@ -598,7 +598,7 @@ INIT_XMM sse2 SAD_X2 16 ;------------------------------------------------------------------------------------------ -;int ff_sad_y2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h); +;int ff_sad_y2_(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); ;------------------------------------------------------------------------------------------ ;%1 = 8/16 %macro SAD_Y2 1 @@ -668,7 +668,7 @@ INIT_XMM sse2 SAD_Y2 16 ;------------------------------------------------------------------------------------------- -;int ff_sad_approx_xy2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h); +;int ff_sad_approx_xy2_(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); ;------------------------------------------------------------------------------------------- ;%1 = 8/16 %macro SAD_APPROX_XY2 1 @@ -769,7 +769,7 @@ INIT_XMM sse2 SAD_APPROX_XY2 16 ;-------------------------------------------------------------------- -;int ff_vsad_intra(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +;int ff_vsad_intra(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ; ptrdiff_t line_size, int h); ;-------------------------------------------------------------------- ; %1 = 8/16 @@ -830,7 +830,7 @@ INIT_XMM sse2 VSAD_INTRA 16 ;--------------------------------------------------------------------- -;int ff_vsad_approx(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +;int ff_vsad_approx(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ; ptrdiff_t line_size, int h); ;--------------------------------------------------------------------- ; %1 = 8/16 diff --git a/libavcodec/x86/me_cmp_init.c b/libavcodec/x86/me_cmp_init.c index 61e9396b8f..4817117360 100644 --- a/libavcodec/x86/me_cmp_init.c +++ b/libavcodec/x86/me_cmp_init.c @@ -30,65 +30,65 @@ #include "libavcodec/me_cmp.h" #include "libavcodec/mpegvideo.h" -int ff_sum_abs_dctelem_sse2(int16_t *block); -int ff_sum_abs_dctelem_ssse3(int16_t *block); -int ff_sse8_mmx(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sum_abs_dctelem_sse2(const int16_t *block); +int ff_sum_abs_dctelem_ssse3(const int16_t *block); +int ff_sse8_mmx(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sse16_mmx(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sse16_mmx(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sse16_sse2(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sse16_sse2(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_hf_noise8_mmx(uint8_t *pix1, ptrdiff_t stride, int h); -int ff_hf_noise16_mmx(uint8_t *pix1, ptrdiff_t stride, int h); -int ff_sad8_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_hf_noise8_mmx(const uint8_t *pix1, ptrdiff_t stride, int h); +int ff_hf_noise16_mmx(const uint8_t *pix1, ptrdiff_t stride, int h); +int ff_sad8_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_sse2(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_sse2(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad8_x2_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad8_x2_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_x2_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_x2_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_x2_sse2(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_x2_sse2(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad8_y2_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad8_y2_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_y2_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_y2_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_y2_sse2(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_y2_sse2(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad8_approx_xy2_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad8_approx_xy2_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_approx_xy2_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_approx_xy2_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_sad16_approx_xy2_sse2(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_sad16_approx_xy2_sse2(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_vsad_intra8_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_vsad_intra8_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_vsad_intra16_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_vsad_intra16_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_vsad_intra16_sse2(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_vsad_intra16_sse2(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_vsad8_approx_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_vsad8_approx_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_vsad16_approx_mmxext(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_vsad16_approx_mmxext(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); -int ff_vsad16_approx_sse2(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, +int ff_vsad16_approx_sse2(MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h); #define hadamard_func(cpu) \ - int ff_hadamard8_diff_ ## cpu(MpegEncContext *s, uint8_t *src1, \ - uint8_t *src2, ptrdiff_t stride, int h); \ - int ff_hadamard8_diff16_ ## cpu(MpegEncContext *s, uint8_t *src1, \ - uint8_t *src2, ptrdiff_t stride, int h); + int ff_hadamard8_diff_ ## cpu(MpegEncContext *s, const uint8_t *src1, \ + const uint8_t *src2, ptrdiff_t stride, int h); \ + int ff_hadamard8_diff16_ ## cpu(MpegEncContext *s, const uint8_t *src1, \ + const uint8_t *src2, ptrdiff_t stride, int h); hadamard_func(mmxext) hadamard_func(sse2) hadamard_func(ssse3) #if HAVE_X86ASM -static int nsse16_mmx(MpegEncContext *c, uint8_t *pix1, uint8_t *pix2, +static int nsse16_mmx(MpegEncContext *c, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int score1, score2; @@ -106,7 +106,7 @@ static int nsse16_mmx(MpegEncContext *c, uint8_t *pix1, uint8_t *pix2, return score1 + FFABS(score2) * 8; } -static int nsse8_mmx(MpegEncContext *c, uint8_t *pix1, uint8_t *pix2, +static int nsse8_mmx(MpegEncContext *c, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) { int score1 = ff_sse8_mmx(c, pix1, pix2, stride, h); @@ -129,7 +129,7 @@ DECLARE_ASM_CONST(8, uint64_t, round_tab)[3] = { 0x0002000200020002ULL, }; -static inline void sad8_4_mmx(uint8_t *blk1, uint8_t *blk2, +static inline void sad8_4_mmx(const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h) { x86_reg len = -stride * h; @@ -199,8 +199,8 @@ static inline int sum_mmx(void) } #define PIX_SADXY(suf) \ -static int sad8_xy2_ ## suf(MpegEncContext *v, uint8_t *blk2, \ - uint8_t *blk1, ptrdiff_t stride, int h) \ +static int sad8_xy2_ ## suf(MpegEncContext *v, const uint8_t *blk2, \ + const uint8_t *blk1, ptrdiff_t stride, int h) \ { \ av_assert2(h == 8); \ __asm__ volatile ( \ @@ -213,8 +213,8 @@ static int sad8_xy2_ ## suf(MpegEncContext *v, uint8_t *blk2, \ return sum_ ## suf(); \ } \ \ -static int sad16_xy2_ ## suf(MpegEncContext *v, uint8_t *blk2, \ - uint8_t *blk1, ptrdiff_t stride, int h) \ +static int sad16_xy2_ ## suf(MpegEncContext *v, const uint8_t *blk2, \ + const uint8_t *blk1, ptrdiff_t stride, int h) \ { \ __asm__ volatile ( \ "pxor %%mm7, %%mm7 \n\t" \ From patchwork Tue Jul 26 22:08:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36989 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233769pzb; Wed, 27 Jul 2022 02:34:40 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sO+Ri9av52ZErcEcby7LW/XlQeCGcEZiHOcHCTGFKA7YNI+w+z/+scUNYX09vyNVH8jJ6y X-Received: by 2002:a05:6402:1389:b0:43a:ceea:93fd with SMTP id b9-20020a056402138900b0043aceea93fdmr22575692edv.64.1658914480207; Wed, 27 Jul 2022 02:34:40 -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 a11-20020a50858b000000b0043ba23f56a6si13745492edh.200.2022.07.27.02.34.39; Wed, 27 Jul 2022 02:34:40 -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=CAFWJbpj; 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 5BEB868B89E; Wed, 27 Jul 2022 12:31:15 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 69EE568B909 for ; Wed, 27 Jul 2022 12:31:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i4jZ2xjWxPa5B2BbpNHB5VRByx5QjbfswENdkS5GZKB92clqavLCt3LLaaOIap/8V/wn2w7VEywOfxhe2XcexA/vryBda2ccmyk1bv8k0wfDVDxSsi1vUjLbIQDLYVscHlNlEV0evZQuYJayAB9cfOACy0t52qp4LejZOa1fbR6A5fLpYtjQ9y/KMM86Vd5W7bptuBQwazAQ5gW5j1zPV/8Ioxx2yzS2LDHnagVch9G8LcRk3NxIjGweHptZUJAZ9dFoZ7lm6n25PqGGvCePSKz4jFH4h2uts0Q6gtTUQ+HtZq/4QhFYifz06+SxA/RjtEkl/aRHBhgdfHPmr5I09A== 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=U0dOg9DLn8/WtNNAAptAJBFaisb2B4211o1IqIWM8ys=; b=UOykK5GM85GodJpPir3EHZiJbOiYivrdgC0rPtIy0n/56ya8diD1p1iR2At1mfasYH7qH1xUqpBd8ltoA/WZ1OVA/IQ0Lm9L90stkNsnl9vlwKAPx2U79V3BrItPfuPSGeJbKxbfl8awpWPtVBakkNlWTYo+9J9uIOgmKgekKPqcNesdLhn4Dg1w/1HguV6APLBkLc0qs5gLD6btHsvAXJhgADTeUvIjQawVe3sXYcZXqCRQ2F/7Ym3AV8yhr63I8QF8Chb+ZfS8Qk9yKSkgFXuUORL/RlUSFYq1T5ILyDjAziYxe9okqtoeufZ+emGycTVS3dBiLW5gydFuBURokA== 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=U0dOg9DLn8/WtNNAAptAJBFaisb2B4211o1IqIWM8ys=; b=CAFWJbpjJjaJJbmFLEKoT2mE22ME9EgHSCacP5jcKhQAPK9lkHBikv9ENZ/Qlz0EjhjzNkkAkfYko7eVnybelLK/RvcoOvrlwMblW5wJtj+f/RxxfcmOr/jIUwTxUIsAt1nXSKF1Hp2EwuWguRXXlNSxQUUHYrZ+fgcraHhgcm4DiZS5ymrd8p2koP1DnClX0TpAgJOK91qCRU/SoM+FvYZhZy8NTHGJNMRmcQV5uGFZCBWeKLHdkWlcZRhhzZ1XymntyA6lQqTni/cgGlZi41Xi/iXcAwA8wB36oCxHsvCWA4M/huuI6eUkxxs2spO/8p6rafDLx+HUSsqDw3ssJA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:46 +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:46 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:07 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [rlBQmztILxX2p3ETZKN2YCs7//oNABq+] 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-31-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b8503c54-8bbd-4140-8823-08da6f538cf3 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYLkGEitTLQ+ol99Ik/mVzlStSLuTiuJ0B1J/CZW3+kxBz/MY87qAUmV70UV8ou7Va3UOw3DOqlIbR2cKq+9mnwD8+2iPtHLBAOYm/yJRrW7xEnBawqNLSku2nxnbcggtDcw9P+P17AajxOPDfCa6PzvIIV8+Dex8hSxWACiWLbRfXXF/hs6NfIpCEx3jui2Zh7A974VXooW3PyPpiOhhKpkq4Y3L7Z1k2x8rtSOQR+lH/rRDHSQhqjjU/sDg2Z1hRFlCYgN2Ezvte3shqzjT3SHSBMHX6P25zwRXQYY6z3QGrc8LPXFF6TTFJb0wXQgeJadd3aTGm4jEcWuFokaEzsPIMhkvwD3PFEZ134v8RDTbBQuP2HTyh9UQyscPjPwnqtxwYhu5v26ImVh3aqU0uQmnZhuQqQQ1beM4rEZ2lmFGLsrcVTb8uE3Gy42M7bx1v1wG/pAvBd7gI+sR6B8XCAAsGAQCwVxYaLrWIyD6lRldhnwykLU1WT6uxoPaqMIox8HcNc+hoP4aqtMSSAnTxNMCMpVLCQp4V3j9PFetCwlkDBZKimnR/Mhf2PHxLder1SwpTwMWSAjo1ImxV6RSIt7qSfOuQFs7lhMaZUYmwoG8SAlwZ5znFAqgp1u2DbnrqoJjo+gwNGUgaZcBGEfDU/8mBflqfLekRoqH1dX8fPEirdlGgI6/S2mIGXz/RKshNlpwKJ+qazk8= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ys3HEiA1MezEcdiBbNh97PSkol0JM9caXc+6A1Brz87+yslkavB62bjGquwNlMgz19yssFUiXvNwMWQs4U9BSgM4qSPMZUPhhYvOR2faWbseadYdCY8M3QMSFCenoBKhB1x8Y2u/JRZqoPHCbvlLEaH4LR12aNv68di69q78OJaSK0dBlpJzzqWyuctr9CFoeipFGIZP2iMNQH+ICTrKzqeWW5ltMd1p7iS0sWWTLzfvMH//hEYhl4xSCoelDgBZeZuPi1YyCsNtmEcL3MwwwcFiCiAhyYVQShX4e9GeyUq4R/xcKb6lBKsYwjkYW4VmXzN4cIcKZsbVs4zuimpiOVG5IkviEEFwqsy779RACZeOUkjD0gIbBPzPjlXco6jCpYIuYF6Kng52+/hwb4+PIXzO2fD5PBRiHmZ5vBDQotxAfpxTyQufiTJBicCbBYKb5yLJwW6hfoe882KlkDGVuVmXJcq5UGHBYvdUXWJN6CQPsg3uIYQPyESmzR0ZrX9w0U3PWYNqWErEF5OY0r4M1hqiPCEAXxUTmku5U57KhdLziQgOzJPcEMyrbmiZGihh/R92INocyjEgLdX/ozovL37/ixXvlqt0oXPKqRU62fm3YKjV9M33fWVLBeE5Vvry X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7/tpPxhGXcYvwQNnaBOfFytmdjkl1AVWMQkMyWydYZQFz46/xUi+BVIJGjn4i5QSnPiYLrgA0PvccoWHwSnmiGdbhBMlb9yiHET6lgV63eWF5TH8bBR57dSthHRz7kWRZWdXGgaz4kZnXtc73I80a6PBl03PRloQ90C5Kfi1x+1LFRtOFOTqUmJJRgzOwNVn7AkWXoogMdfzrOlXPsI2nUrMOguvrV6DPa7VEy7a6u85zmnLj4Tq0ymheZAvE34uRHxYYZHZ9zcT8HMF9eR3QS93dAnuTsDJ8QeAta9nqIoaRLPthZJJURtVdY+bFo0b3w9Jn4DTFn/D1+Ql/Li6IvEenhhj05JxcUas7rrVS33vwRqn++49UuYVYf6n0BUWVqUy9wicQ2wZIST94YCzvGgN0TOov6Ol56fS7nqecxSkabjeCRCWOSZZ18EIloQP1VnBZqqhHojL9QMSBglDwciqbAT/3CzsLk7SgNmmbLYi7MWBAmAfzy76OkRoJRNGakFMzOBsGgKlWtaH6chFYPyFzjALfmB38aYxFK3UkHfvYYSJ8zPvrNcnqOFK/KftOaE8DVIsvK2CqLXxe1ooQypeAamaIhR0vEqIlX9g6XVmn6BmJHVO4fLHfGRSUfuYvZNli9aCQtOq+gSAyaoflFdbS7V3aKSReieboLvAyKQY8g9WxrALfhI5TSwjdDkKVF8egijxVFpngc9c/F6yNuuFpDXei6Rkb3bo4BOWeDmTCB7jp/pFD3eCLt6z7YXp/OTrGGmNMJIP+hKJdyMHVttQNghCsgblHi1H8qSv/AMpFRZNbisXcX6nP7poDqKrLowKunAz6m4ipzV2DUONF6nPkubkkiO9fmtGGvvIom1EEkpV1JBEc/5YiA5u4XJShsHUYjQainBiWkGnLefEsiwowaX1zGJArqgdUddC4MdEEAG022/mHi+NdTkyVHJUR3c2rwjq/Z1MqAtHJmKE3rPb4nA2ur97pIftsBLujuZNBM0sc8nzIA7iNHJ9dO4M+/Zfa9o1hbrgk42Lx7jhVQgjiKWaOjz70523qf0qROKq1FBk7qdsa4jrr4buGgbHzdW4VZpn3QYViST57bX1SPRaHiZy0bccuq0z7+YsbC/PWghPXPMoApEkfV3YDrydWE3F5MwULti1S2Fp5K5pO0NjPDHzZQMB+bVYh+I1FTSiXshCq1B75/OBsj13YW4L4lG9Yz/HBuUw0KhX38FFlaxNT0+bpUFWQJRVuWPuO5QZ3jHguquwKKrHRZV837TcHKnDtWLzr5yJD/+XxTVdk81gjlyGCH5DInJ2k4z1+6k= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8503c54-8bbd-4140-8823-08da6f538cf3 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:46.8303 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 32/39] avcodec/h264chroma: Constify src in h264_chroma_mc_func 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: TLAtGwgh9OD/ Signed-off-by: Andreas Rheinhardt --- libavcodec/aarch64/h264chroma_init_aarch64.c | 12 +- libavcodec/aarch64/h264cmc_neon.S | 4 +- libavcodec/aarch64/rv40dsp_init_aarch64.c | 8 +- libavcodec/aarch64/vc1dsp_init_aarch64.c | 8 +- libavcodec/arm/h264chroma_init_arm.c | 12 +- libavcodec/arm/h264cmc_neon.S | 4 +- libavcodec/arm/rv40dsp_init_arm.c | 8 +- libavcodec/arm/vc1dsp_init_neon.c | 8 +- libavcodec/h264chroma.h | 2 +- libavcodec/h264chroma_template.c | 16 +-- libavcodec/loongarch/h264chroma_lasx.c | 82 +++++------ libavcodec/loongarch/h264chroma_lasx.h | 6 +- libavcodec/loongarch/vc1dsp_lasx.c | 2 +- libavcodec/loongarch/vc1dsp_loongarch.h | 2 +- libavcodec/mips/h264chroma_mips.h | 20 +-- libavcodec/mips/h264chroma_mmi.c | 8 +- libavcodec/mips/h264chroma_msa.c | 142 +++++++++---------- libavcodec/mips/vc1dsp_mips.h | 8 +- libavcodec/mips/vc1dsp_mmi.c | 8 +- libavcodec/ppc/h264chroma_template.c | 4 +- libavcodec/rv40dsp.c | 4 +- libavcodec/vc1dsp.c | 8 +- libavcodec/x86/h264_chromamc.asm | 2 +- libavcodec/x86/h264_chromamc_10bit.asm | 4 +- libavcodec/x86/h264chroma_init.c | 22 +-- libavcodec/x86/rv40dsp_init.c | 8 +- libavcodec/x86/vc1dsp_init.c | 8 +- 27 files changed, 210 insertions(+), 210 deletions(-) diff --git a/libavcodec/aarch64/h264chroma_init_aarch64.c b/libavcodec/aarch64/h264chroma_init_aarch64.c index fa6e0eaf15..00fc7b20f1 100644 --- a/libavcodec/aarch64/h264chroma_init_aarch64.c +++ b/libavcodec/aarch64/h264chroma_init_aarch64.c @@ -28,18 +28,18 @@ #include "config.h" -void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); av_cold void ff_h264chroma_init_aarch64(H264ChromaContext *c, int bit_depth) diff --git a/libavcodec/aarch64/h264cmc_neon.S b/libavcodec/aarch64/h264cmc_neon.S index f8e9407854..88ccd727d0 100644 --- a/libavcodec/aarch64/h264cmc_neon.S +++ b/libavcodec/aarch64/h264cmc_neon.S @@ -23,7 +23,7 @@ #include "libavutil/aarch64/asm.S" -/* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ +/* chroma_mc8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc8 type, codec=h264 function ff_\type\()_\codec\()_chroma_mc8_neon, export=1 .ifc \type,avg @@ -193,7 +193,7 @@ function ff_\type\()_\codec\()_chroma_mc8_neon, export=1 endfunc .endm -/* chroma_mc4(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ +/* chroma_mc4(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc4 type, codec=h264 function ff_\type\()_\codec\()_chroma_mc4_neon, export=1 .ifc \type,avg diff --git a/libavcodec/aarch64/rv40dsp_init_aarch64.c b/libavcodec/aarch64/rv40dsp_init_aarch64.c index 142705db98..2b91d6835a 100644 --- a/libavcodec/aarch64/rv40dsp_init_aarch64.c +++ b/libavcodec/aarch64/rv40dsp_init_aarch64.c @@ -25,14 +25,14 @@ #include "config.h" -void ff_put_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_rv40_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_rv40_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_rv40_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_rv40_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); av_cold void ff_rv40dsp_init_aarch64(RV34DSPContext *c) diff --git a/libavcodec/aarch64/vc1dsp_init_aarch64.c b/libavcodec/aarch64/vc1dsp_init_aarch64.c index a7976fd596..3bc0bd17ee 100644 --- a/libavcodec/aarch64/vc1dsp_init_aarch64.c +++ b/libavcodec/aarch64/vc1dsp_init_aarch64.c @@ -43,13 +43,13 @@ void ff_vc1_h_loop_filter8_neon(uint8_t *src, ptrdiff_t stride, int pq); void ff_vc1_v_loop_filter16_neon(uint8_t *src, ptrdiff_t stride, int pq); void ff_vc1_h_loop_filter16_neon(uint8_t *src, ptrdiff_t stride, int pq); -void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); int ff_vc1_unescape_buffer_helper_neon(const uint8_t *src, int size, uint8_t *dst); diff --git a/libavcodec/arm/h264chroma_init_arm.c b/libavcodec/arm/h264chroma_init_arm.c index aae804b621..5c7d523186 100644 --- a/libavcodec/arm/h264chroma_init_arm.c +++ b/libavcodec/arm/h264chroma_init_arm.c @@ -26,18 +26,18 @@ #include "libavutil/arm/cpu.h" #include "libavcodec/h264chroma.h" -void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); av_cold void ff_h264chroma_init_arm(H264ChromaContext *c, int bit_depth) diff --git a/libavcodec/arm/h264cmc_neon.S b/libavcodec/arm/h264cmc_neon.S index 3687b02ede..7272b571d3 100644 --- a/libavcodec/arm/h264cmc_neon.S +++ b/libavcodec/arm/h264cmc_neon.S @@ -22,7 +22,7 @@ #include "libavutil/arm/asm.S" -/* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ +/* chroma_mc8(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc8 type, codec=h264 function ff_\type\()_\codec\()_chroma_mc8_neon, export=1 push {r4-r7, lr} @@ -197,7 +197,7 @@ T cmp r7, #0 endfunc .endm -/* chroma_mc4(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ +/* chroma_mc4(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc4 type, codec=h264 function ff_\type\()_\codec\()_chroma_mc4_neon, export=1 push {r4-r7, lr} diff --git a/libavcodec/arm/rv40dsp_init_arm.c b/libavcodec/arm/rv40dsp_init_arm.c index c24854d1cd..92d2867e04 100644 --- a/libavcodec/arm/rv40dsp_init_arm.c +++ b/libavcodec/arm/rv40dsp_init_arm.c @@ -49,11 +49,11 @@ DECL_QPEL_Y(1); DECL_QPEL_Y(2); DECL_QPEL_Y(3); -void ff_put_rv40_chroma_mc8_neon(uint8_t *, uint8_t *, int, int, int, int); -void ff_put_rv40_chroma_mc4_neon(uint8_t *, uint8_t *, int, int, int, int); +void ff_put_rv40_chroma_mc8_neon(uint8_t *, const uint8_t *, int, int, int, int); +void ff_put_rv40_chroma_mc4_neon(uint8_t *, const uint8_t *, int, int, int, int); -void ff_avg_rv40_chroma_mc8_neon(uint8_t *, uint8_t *, int, int, int, int); -void ff_avg_rv40_chroma_mc4_neon(uint8_t *, uint8_t *, int, int, int, int); +void ff_avg_rv40_chroma_mc8_neon(uint8_t *, const uint8_t *, int, int, int, int); +void ff_avg_rv40_chroma_mc4_neon(uint8_t *, const uint8_t *, int, int, int, int); void ff_rv40_weight_func_16_neon(uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t); void ff_rv40_weight_func_8_neon(uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t); diff --git a/libavcodec/arm/vc1dsp_init_neon.c b/libavcodec/arm/vc1dsp_init_neon.c index 48cb816b70..46fd80a837 100644 --- a/libavcodec/arm/vc1dsp_init_neon.c +++ b/libavcodec/arm/vc1dsp_init_neon.c @@ -76,13 +76,13 @@ DECL_PUT(3, 1) DECL_PUT(3, 2) DECL_PUT(3, 3) -void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); int ff_vc1_unescape_buffer_helper_neon(const uint8_t *src, int size, uint8_t *dst); diff --git a/libavcodec/h264chroma.h b/libavcodec/h264chroma.h index 3259b4935f..b8f9c8f4fc 100644 --- a/libavcodec/h264chroma.h +++ b/libavcodec/h264chroma.h @@ -22,7 +22,7 @@ #include #include -typedef void (*h264_chroma_mc_func)(uint8_t *dst /*align 8*/, uint8_t *src /*align 1*/, ptrdiff_t srcStride, int h, int x, int y); +typedef void (*h264_chroma_mc_func)(uint8_t *dst /*align 8*/, const uint8_t *src /*align 1*/, ptrdiff_t srcStride, int h, int x, int y); typedef struct H264ChromaContext { h264_chroma_mc_func put_h264_chroma_pixels_tab[4]; diff --git a/libavcodec/h264chroma_template.c b/libavcodec/h264chroma_template.c index a3ca07b518..b9d24f5a0c 100644 --- a/libavcodec/h264chroma_template.c +++ b/libavcodec/h264chroma_template.c @@ -26,9 +26,9 @@ #include "bit_depth_template.c" #define H264_CHROMA_MC(OPNAME, OP)\ -static void FUNCC(OPNAME ## h264_chroma_mc1)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y){\ +static void FUNCC(OPNAME ## h264_chroma_mc1)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y){\ pixel *dst = (pixel*)_dst;\ - pixel *src = (pixel*)_src;\ + const pixel *src = (const pixel*)_src;\ const int A=(8-x)*(8-y);\ const int B=( x)*(8-y);\ const int C=(8-x)*( y);\ @@ -60,10 +60,10 @@ static void FUNCC(OPNAME ## h264_chroma_mc1)(uint8_t *_dst /*align 8*/, uint8_t }\ }\ }\ -static void FUNCC(OPNAME ## h264_chroma_mc2)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\ +static void FUNCC(OPNAME ## h264_chroma_mc2)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\ {\ pixel *dst = (pixel*)_dst;\ - pixel *src = (pixel*)_src;\ + const pixel *src = (const pixel*)_src;\ const int A=(8-x)*(8-y);\ const int B=( x)*(8-y);\ const int C=(8-x)*( y);\ @@ -99,10 +99,10 @@ static void FUNCC(OPNAME ## h264_chroma_mc2)(uint8_t *_dst /*align 8*/, uint8_t }\ }\ \ -static void FUNCC(OPNAME ## h264_chroma_mc4)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\ +static void FUNCC(OPNAME ## h264_chroma_mc4)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\ {\ pixel *dst = (pixel*)_dst;\ - pixel *src = (pixel*)_src;\ + const pixel *src = (const pixel*)_src;\ const int A=(8-x)*(8-y);\ const int B=( x)*(8-y);\ const int C=(8-x)*( y);\ @@ -144,10 +144,10 @@ static void FUNCC(OPNAME ## h264_chroma_mc4)(uint8_t *_dst /*align 8*/, uint8_t }\ }\ \ -static void FUNCC(OPNAME ## h264_chroma_mc8)(uint8_t *_dst /*align 8*/, uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\ +static void FUNCC(OPNAME ## h264_chroma_mc8)(uint8_t *_dst /*align 8*/, const uint8_t *_src /*align 1*/, ptrdiff_t stride, int h, int x, int y)\ {\ pixel *dst = (pixel*)_dst;\ - pixel *src = (pixel*)_src;\ + const pixel *src = (const pixel*)_src;\ const int A=(8-x)*(8-y);\ const int B=( x)*(8-y);\ const int C=(8-x)*( y);\ diff --git a/libavcodec/loongarch/h264chroma_lasx.c b/libavcodec/loongarch/h264chroma_lasx.c index 824a78dfc8..1c0e002bdf 100644 --- a/libavcodec/loongarch/h264chroma_lasx.c +++ b/libavcodec/loongarch/h264chroma_lasx.c @@ -33,7 +33,7 @@ static const uint8_t chroma_mask_arr[64] = { 0, 1, 1, 2, 2, 3, 3, 4, 16, 17, 17, 18, 18, 19, 19, 20 }; -static av_always_inline void avc_chroma_hv_8x4_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avc_chroma_hv_8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) @@ -71,7 +71,7 @@ static av_always_inline void avc_chroma_hv_8x4_lasx(uint8_t *src, uint8_t *dst, __lasx_xvstelm_d(out, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_hv_8x8_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avc_chroma_hv_8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) @@ -127,7 +127,7 @@ static av_always_inline void avc_chroma_hv_8x8_lasx(uint8_t *src, uint8_t *dst, __lasx_xvstelm_d(out1, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_hz_8x4_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avc_chroma_hz_8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2x = stride << 1; @@ -154,7 +154,7 @@ static av_always_inline void avc_chroma_hz_8x4_lasx(uint8_t *src, uint8_t *dst, } -static av_always_inline void avc_chroma_hz_8x8_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avc_chroma_hz_8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2x = stride << 1; @@ -193,7 +193,7 @@ static av_always_inline void avc_chroma_hz_8x8_lasx(uint8_t *src, uint8_t *dst, __lasx_xvstelm_d(out1, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_hz_nonmult_lasx(uint8_t *src, +static av_always_inline void avc_chroma_hz_nonmult_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -239,7 +239,7 @@ static av_always_inline void avc_chroma_hz_nonmult_lasx(uint8_t *src, } } -static av_always_inline void avc_chroma_vt_8x4_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avc_chroma_vt_8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2x = stride << 1; @@ -266,7 +266,7 @@ static av_always_inline void avc_chroma_vt_8x4_lasx(uint8_t *src, uint8_t *dst, __lasx_xvstelm_d(out, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_vt_8x8_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avc_chroma_vt_8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2x = stride << 1; @@ -307,7 +307,7 @@ static av_always_inline void avc_chroma_vt_8x8_lasx(uint8_t *src, uint8_t *dst, __lasx_xvstelm_d(out1, dst + stride_3x, 0, 3); } -static av_always_inline void copy_width8x8_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void copy_width8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride) { uint64_t tmp[8]; @@ -347,7 +347,7 @@ static av_always_inline void copy_width8x8_lasx(uint8_t *src, uint8_t *dst, ); } -static av_always_inline void copy_width8x4_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void copy_width8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride) { uint64_t tmp[4]; @@ -372,7 +372,7 @@ static av_always_inline void copy_width8x4_lasx(uint8_t *src, uint8_t *dst, ); } -static void avc_chroma_hv_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hv_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1, int32_t height) @@ -386,7 +386,7 @@ static void avc_chroma_hv_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -static void avc_chroma_hv_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hv_4x2_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -414,7 +414,7 @@ static void avc_chroma_hv_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res_vt, dst + stride, 0, 1); } -static void avc_chroma_hv_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hv_4x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -446,7 +446,7 @@ static void avc_chroma_hv_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res_hz0, dst + stride_3, 0, 5); } -static void avc_chroma_hv_4x8_lasx(uint8_t *src, uint8_t * dst, ptrdiff_t stride, +static void avc_chroma_hv_4x8_lasx(const uint8_t *src, uint8_t * dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -492,7 +492,7 @@ static void avc_chroma_hv_4x8_lasx(uint8_t *src, uint8_t * dst, ptrdiff_t stride __lasx_xvstelm_w(res_hz0, dst + stride_3, 0, 7); } -static void avc_chroma_hv_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hv_4w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1, int32_t height) @@ -509,7 +509,7 @@ static void avc_chroma_hv_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -static void avc_chroma_hz_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hz_4x2_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { __m256i src0, src1; @@ -528,7 +528,7 @@ static void avc_chroma_hz_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res, dst + stride, 0, 1); } -static void avc_chroma_hz_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hz_4x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2 = stride << 1; @@ -553,7 +553,7 @@ static void avc_chroma_hz_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res, dst + stride_3, 0, 5); } -static void avc_chroma_hz_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hz_4x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2 = stride << 1; @@ -588,7 +588,7 @@ static void avc_chroma_hz_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res0, dst + stride_3, 0, 7); } -static void avc_chroma_hz_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hz_4w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -601,7 +601,7 @@ static void avc_chroma_hz_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -static void avc_chroma_hz_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_hz_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -614,7 +614,7 @@ static void avc_chroma_hz_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -static void avc_chroma_vt_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_vt_4x2_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { __m256i src0, src1, src2; @@ -635,7 +635,7 @@ static void avc_chroma_vt_4x2_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res, dst + stride, 0, 1); } -static void avc_chroma_vt_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_vt_4x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2 = stride << 1; @@ -664,7 +664,7 @@ static void avc_chroma_vt_4x4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res, dst + stride_3, 0, 5); } -static void avc_chroma_vt_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_vt_4x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { ptrdiff_t stride_2 = stride << 1; @@ -705,7 +705,7 @@ static void avc_chroma_vt_4x8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, __lasx_xvstelm_w(res0, dst + stride_3, 0, 7); } -static void avc_chroma_vt_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_vt_4w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -718,7 +718,7 @@ static void avc_chroma_vt_4w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -static void avc_chroma_vt_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avc_chroma_vt_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -729,7 +729,7 @@ static void avc_chroma_vt_8w_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -static void copy_width4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void copy_width4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int32_t height) { uint32_t tp0, tp1, tp2, tp3, tp4, tp5, tp6, tp7; @@ -799,7 +799,7 @@ static void copy_width4_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -static void copy_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void copy_width8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int32_t height) { if (8 == height) { @@ -809,7 +809,7 @@ static void copy_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); @@ -825,7 +825,7 @@ void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, } } -void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); @@ -841,7 +841,7 @@ void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, } } -static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(uint8_t *src, +static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) @@ -885,7 +885,7 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x4_lasx(uint8_t *src, __lasx_xvstelm_d(out, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(uint8_t *src, +static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) @@ -957,7 +957,7 @@ static av_always_inline void avc_chroma_hv_and_aver_dst_8x8_lasx(uint8_t *src, __lasx_xvstelm_d(out1, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_hz_and_aver_dst_8x4_lasx(uint8_t *src, +static av_always_inline void avc_chroma_hz_and_aver_dst_8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -990,7 +990,7 @@ static av_always_inline void avc_chroma_hz_and_aver_dst_8x4_lasx(uint8_t *src, __lasx_xvstelm_d(out, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(uint8_t *src, +static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1043,7 +1043,7 @@ static av_always_inline void avc_chroma_hz_and_aver_dst_8x8_lasx(uint8_t *src, __lasx_xvstelm_d(out1, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_vt_and_aver_dst_8x4_lasx(uint8_t *src, +static av_always_inline void avc_chroma_vt_and_aver_dst_8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1077,7 +1077,7 @@ static av_always_inline void avc_chroma_vt_and_aver_dst_8x4_lasx(uint8_t *src, __lasx_xvstelm_d(out, dst + stride_3x, 0, 3); } -static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(uint8_t *src, +static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1132,7 +1132,7 @@ static av_always_inline void avc_chroma_vt_and_aver_dst_8x8_lasx(uint8_t *src, __lasx_xvstelm_d(out1, dst + stride_3x, 0, 3); } -static av_always_inline void avg_width8x8_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avg_width8x8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride) { __m256i src0, src1, src2, src3; @@ -1184,7 +1184,7 @@ static av_always_inline void avg_width8x8_lasx(uint8_t *src, uint8_t *dst, __lasx_xvstelm_d(dst0, dst + stride_3x, 0, 3); } -static av_always_inline void avg_width8x4_lasx(uint8_t *src, uint8_t *dst, +static av_always_inline void avg_width8x4_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride) { __m256i src0, src1, src2, src3; @@ -1213,7 +1213,7 @@ static av_always_inline void avg_width8x4_lasx(uint8_t *src, uint8_t *dst, __lasx_xvstelm_d(dst0, dst + stride_3x, 0, 3); } -static void avc_chroma_hv_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1230,7 +1230,7 @@ static void avc_chroma_hv_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_hz_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -1241,7 +1241,7 @@ static void avc_chroma_hz_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_vt_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_8w_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -1252,7 +1252,7 @@ static void avc_chroma_vt_and_aver_dst_8w_lasx(uint8_t *src, uint8_t *dst, } } -static void avg_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, +static void avg_width8_lasx(const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int32_t height) { if (8 == height) { @@ -1262,7 +1262,7 @@ static void avg_width8_lasx(uint8_t *src, uint8_t *dst, ptrdiff_t stride, } } -void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); diff --git a/libavcodec/loongarch/h264chroma_lasx.h b/libavcodec/loongarch/h264chroma_lasx.h index 4aac8db8cb..633752035e 100644 --- a/libavcodec/loongarch/h264chroma_lasx.h +++ b/libavcodec/loongarch/h264chroma_lasx.h @@ -26,11 +26,11 @@ #include #include "libavcodec/h264.h" -void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc4_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc8_lasx(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); #endif /* AVCODEC_LOONGARCH_H264CHROMA_LASX_H */ diff --git a/libavcodec/loongarch/vc1dsp_lasx.c b/libavcodec/loongarch/vc1dsp_lasx.c index 40b8668f2b..848fe4afb3 100644 --- a/libavcodec/loongarch/vc1dsp_lasx.c +++ b/libavcodec/loongarch/vc1dsp_lasx.c @@ -698,7 +698,7 @@ PUT_VC1_MSPEL_MC_LASX(3, 2); PUT_VC1_MSPEL_MC_LASX(3, 3); void ff_put_no_rnd_vc1_chroma_mc8_lasx(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { const int intA = (8 - x) * (8 - y); diff --git a/libavcodec/loongarch/vc1dsp_loongarch.h b/libavcodec/loongarch/vc1dsp_loongarch.h index 398631aecc..e5ccbcb768 100644 --- a/libavcodec/loongarch/vc1dsp_loongarch.h +++ b/libavcodec/loongarch/vc1dsp_loongarch.h @@ -73,7 +73,7 @@ FF_PUT_VC1_MSPEL_MC_H_LASX(2); FF_PUT_VC1_MSPEL_MC_H_LASX(3); void ff_put_no_rnd_vc1_chroma_mc8_lasx(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y); #endif /* AVCODEC_LOONGARCH_VC1DSP_LOONGARCH_H */ diff --git a/libavcodec/mips/h264chroma_mips.h b/libavcodec/mips/h264chroma_mips.h index 996384d005..c694e34b3f 100644 --- a/libavcodec/mips/h264chroma_mips.h +++ b/libavcodec/mips/h264chroma_mips.h @@ -22,26 +22,26 @@ #define AVCODEC_MIPS_H264CHROMA_MIPS_H #include "libavcodec/h264dec.h" -void ff_put_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y); -void ff_put_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y); -void ff_put_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y); -void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y); -void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y); -void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y); -void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); #endif /* AVCODEC_MIPS_H264CHROMA_MIPS_H */ diff --git a/libavcodec/mips/h264chroma_mmi.c b/libavcodec/mips/h264chroma_mmi.c index ec35c5a72e..fe05ccd671 100644 --- a/libavcodec/mips/h264chroma_mmi.c +++ b/libavcodec/mips/h264chroma_mmi.c @@ -26,7 +26,7 @@ #include "constants.h" #include "libavutil/mips/mmiutils.h" -void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) { double ftmp[12]; @@ -289,7 +289,7 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, } } -void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) { double ftmp[10]; @@ -497,7 +497,7 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, } } -void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) { double ftmp[8]; @@ -618,7 +618,7 @@ void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, } } -void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, +void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) { double ftmp[8]; diff --git a/libavcodec/mips/h264chroma_msa.c b/libavcodec/mips/h264chroma_msa.c index 4a68d9e134..141f52c2be 100644 --- a/libavcodec/mips/h264chroma_msa.c +++ b/libavcodec/mips/h264chroma_msa.c @@ -29,7 +29,7 @@ static const uint8_t chroma_mask_arr[16 * 5] = { 0, 1, 1, 2, 16, 17, 17, 18, 16, 17, 17, 18, 18, 19, 19, 20 }; -static void avc_chroma_hz_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { uint16_t out0, out1; @@ -60,7 +60,7 @@ static void avc_chroma_hz_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, SH(out1, dst); } -static void avc_chroma_hz_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3; @@ -88,7 +88,7 @@ static void avc_chroma_hz_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_H4(res, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hz_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -99,7 +99,7 @@ static void avc_chroma_hz_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_hz_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16i8 src0, src1; @@ -124,7 +124,7 @@ static void avc_chroma_hz_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W2(res, 0, 1, dst, stride); } -static void avc_chroma_hz_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, out; @@ -147,7 +147,7 @@ static void avc_chroma_hz_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W4(out, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hz_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, src4, src5, src6, src7, out0, out1; @@ -171,7 +171,7 @@ static void avc_chroma_hz_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hz_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -184,7 +184,7 @@ static void avc_chroma_hz_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_hz_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, out0, out1; @@ -207,7 +207,7 @@ static void avc_chroma_hz_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_D4(out0, out1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hz_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, src4, src5, src6, src7; @@ -240,7 +240,7 @@ static void avc_chroma_hz_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hz_nonmult_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_nonmult_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -289,7 +289,7 @@ static void avc_chroma_hz_nonmult_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_hz_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hz_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -302,7 +302,7 @@ static void avc_chroma_hz_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_vt_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { uint16_t out0, out1; @@ -334,7 +334,7 @@ static void avc_chroma_vt_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, SH(out1, dst); } -static void avc_chroma_vt_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, src4; @@ -362,7 +362,7 @@ static void avc_chroma_vt_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_H4(res, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_vt_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -373,7 +373,7 @@ static void avc_chroma_vt_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_vt_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2; @@ -397,7 +397,7 @@ static void avc_chroma_vt_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W2(res, 0, 1, dst, stride); } -static void avc_chroma_vt_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, src4; @@ -421,7 +421,7 @@ static void avc_chroma_vt_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W4(out, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_vt_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, src4, src5, src6, src7, src8; @@ -449,7 +449,7 @@ static void avc_chroma_vt_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_vt_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -462,7 +462,7 @@ static void avc_chroma_vt_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_vt_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, src4, out0, out1; @@ -483,7 +483,7 @@ static void avc_chroma_vt_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_D4(out0, out1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_vt_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { v16u8 src0, src1, src2, src3, src4, src5, src6, src7, src8; @@ -515,7 +515,7 @@ static void avc_chroma_vt_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_vt_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_vt_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -526,7 +526,7 @@ static void avc_chroma_vt_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_hv_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -561,7 +561,7 @@ static void avc_chroma_hv_2x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, SH(out1, dst); } -static void avc_chroma_hv_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -595,7 +595,7 @@ static void avc_chroma_hv_2x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_H4(res, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hv_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1, int32_t height) @@ -609,7 +609,7 @@ static void avc_chroma_hv_2w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_hv_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -637,7 +637,7 @@ static void avc_chroma_hv_4x2_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W2(res, 0, 1, dst, stride); } -static void avc_chroma_hv_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -670,7 +670,7 @@ static void avc_chroma_hv_4x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W2(res1, 0, 1, dst + 2 * stride, stride); } -static void avc_chroma_hv_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -710,7 +710,7 @@ static void avc_chroma_hv_4x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_W8(res0, res1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hv_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1, int32_t height) @@ -727,7 +727,7 @@ static void avc_chroma_hv_4w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_hv_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -770,7 +770,7 @@ static void avc_chroma_hv_8x4_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_D4(out0, out1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hv_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1) { @@ -826,7 +826,7 @@ static void avc_chroma_hv_8x8_msa(uint8_t *src, uint8_t *dst, int32_t stride, ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hv_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avc_chroma_hv_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, uint32_t coef_ver0, uint32_t coef_ver1, int32_t height) @@ -840,7 +840,7 @@ static void avc_chroma_hv_8w_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avc_chroma_hz_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -882,7 +882,7 @@ static void avc_chroma_hz_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst, SH(out1, dst); } -static void avc_chroma_hz_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -922,7 +922,7 @@ static void avc_chroma_hz_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst, ST_H4(dst0, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hz_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -933,7 +933,7 @@ static void avc_chroma_hz_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_hz_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -966,7 +966,7 @@ static void avc_chroma_hz_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst, ST_W2(dst_data, 0, 1, dst, stride); } -static void avc_chroma_hz_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -995,7 +995,7 @@ static void avc_chroma_hz_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst, ST_W4(out, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hz_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1027,7 +1027,7 @@ static void avc_chroma_hz_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst, ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hz_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -1040,7 +1040,7 @@ static void avc_chroma_hz_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_hz_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1070,7 +1070,7 @@ static void avc_chroma_hz_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst, ST_D4(dst0, dst1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hz_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1114,7 +1114,7 @@ static void avc_chroma_hz_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst, ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hz_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hz_and_aver_dst_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -1125,7 +1125,7 @@ static void avc_chroma_hz_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_vt_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1162,7 +1162,7 @@ static void avc_chroma_vt_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst, SH(out1, dst); } -static void avc_chroma_vt_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1204,7 +1204,7 @@ static void avc_chroma_vt_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst, ST_H4(res, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_vt_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -1215,7 +1215,7 @@ static void avc_chroma_vt_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_vt_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1247,7 +1247,7 @@ static void avc_chroma_vt_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst, ST_W2(res, 0, 1, dst, stride); } -static void avc_chroma_vt_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1277,7 +1277,7 @@ static void avc_chroma_vt_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst, ST_W4(out, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_vt_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1313,7 +1313,7 @@ static void avc_chroma_vt_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst, ST_W8(out0, out1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_vt_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -1326,7 +1326,7 @@ static void avc_chroma_vt_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_vt_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1355,7 +1355,7 @@ static void avc_chroma_vt_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst, ST_D4(out0, out1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_vt_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1) { @@ -1398,7 +1398,7 @@ static void avc_chroma_vt_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst, ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_vt_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_vt_and_aver_dst_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coeff0, uint32_t coeff1, int32_t height) { @@ -1409,7 +1409,7 @@ static void avc_chroma_vt_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_hv_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_2x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1451,7 +1451,7 @@ static void avc_chroma_hv_and_aver_dst_2x2_msa(uint8_t *src, uint8_t *dst, SH(out1, dst); } -static void avc_chroma_hv_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_2x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1496,7 +1496,7 @@ static void avc_chroma_hv_and_aver_dst_2x4_msa(uint8_t *src, uint8_t *dst, ST_H4(dst0, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hv_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_2w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1513,7 +1513,7 @@ static void avc_chroma_hv_and_aver_dst_2w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_hv_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_4x2_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1549,7 +1549,7 @@ static void avc_chroma_hv_and_aver_dst_4x2_msa(uint8_t *src, uint8_t *dst, ST_W2(dst0, 0, 1, dst, stride); } -static void avc_chroma_hv_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_4x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1588,7 +1588,7 @@ static void avc_chroma_hv_and_aver_dst_4x4_msa(uint8_t *src, uint8_t *dst, ST_W4(out, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hv_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_4x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1637,7 +1637,7 @@ static void avc_chroma_hv_and_aver_dst_4x8_msa(uint8_t *src, uint8_t *dst, ST_W8(res0, res1, 0, 1, 2, 3, 0, 1, 2, 3, dst, stride); } -static void avc_chroma_hv_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_4w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1657,7 +1657,7 @@ static void avc_chroma_hv_and_aver_dst_4w_msa(uint8_t *src, uint8_t *dst, } } -static void avc_chroma_hv_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_8x4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1705,7 +1705,7 @@ static void avc_chroma_hv_and_aver_dst_8x4_msa(uint8_t *src, uint8_t *dst, ST_D4(out0, out1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hv_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_8x8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1774,7 +1774,7 @@ static void avc_chroma_hv_and_aver_dst_8x8_msa(uint8_t *src, uint8_t *dst, ST_D8(out0, out1, out2, out3, 0, 1, 0, 1, 0, 1, 0, 1, dst, stride); } -static void avc_chroma_hv_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst, +static void avc_chroma_hv_and_aver_dst_8w_msa(const uint8_t *src, uint8_t *dst, int32_t stride, uint32_t coef_hor0, uint32_t coef_hor1, @@ -1791,7 +1791,7 @@ static void avc_chroma_hv_and_aver_dst_8w_msa(uint8_t *src, uint8_t *dst, } } -static void copy_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void copy_width4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, int32_t height) { uint32_t tp0, tp1, tp2, tp3, tp4, tp5, tp6, tp7; @@ -1814,7 +1814,7 @@ static void copy_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void copy_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void copy_width8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, int32_t height) { uint64_t src0, src1, src2, src3, src4, src5, src6, src7; @@ -1832,7 +1832,7 @@ static void copy_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avg_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avg_width4_msa(const uint8_t *src, uint8_t *dst, int32_t stride, int32_t height) { uint32_t tp0, tp1, tp2, tp3; @@ -1867,7 +1867,7 @@ static void avg_width4_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -static void avg_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride, +static void avg_width8_msa(const uint8_t *src, uint8_t *dst, int32_t stride, int32_t height) { uint64_t tp0, tp1, tp2, tp3, tp4, tp5, tp6, tp7; @@ -1903,7 +1903,7 @@ static void avg_width8_msa(uint8_t *src, uint8_t *dst, int32_t stride, } } -void ff_put_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); @@ -1919,7 +1919,7 @@ void ff_put_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, } } -void ff_put_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); @@ -1935,7 +1935,7 @@ void ff_put_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, } } -void ff_put_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { int32_t cnt; @@ -1958,7 +1958,7 @@ void ff_put_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src, } } -void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); @@ -1976,7 +1976,7 @@ void ff_avg_h264_chroma_mc8_msa(uint8_t *dst, uint8_t *src, } } -void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); @@ -1993,7 +1993,7 @@ void ff_avg_h264_chroma_mc4_msa(uint8_t *dst, uint8_t *src, } } -void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc2_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int height, int x, int y) { int32_t cnt; diff --git a/libavcodec/mips/vc1dsp_mips.h b/libavcodec/mips/vc1dsp_mips.h index 356153cab6..8fcff26b14 100644 --- a/libavcodec/mips/vc1dsp_mips.h +++ b/libavcodec/mips/vc1dsp_mips.h @@ -179,16 +179,16 @@ void ff_vc1_v_loop_filter16_mmi(uint8_t *src, ptrdiff_t stride, int pq); void ff_vc1_h_loop_filter16_mmi(uint8_t *src, ptrdiff_t stride, int pq); void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y); void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y); void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y); void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y); void ff_vc1_inv_trans_8x8_msa(int16_t block[64]); diff --git a/libavcodec/mips/vc1dsp_mmi.c b/libavcodec/mips/vc1dsp_mmi.c index 278aa566bc..290b47d697 100644 --- a/libavcodec/mips/vc1dsp_mmi.c +++ b/libavcodec/mips/vc1dsp_mmi.c @@ -2235,7 +2235,7 @@ DECLARE_FUNCTION(3, 3) void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { union mmi_intfloat64 A, B, C, D; @@ -2291,7 +2291,7 @@ void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, } void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { union mmi_intfloat64 A, B, C, D; @@ -2345,7 +2345,7 @@ void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */, } void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { union mmi_intfloat64 A, B, C, D; @@ -2404,7 +2404,7 @@ void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, } void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { union mmi_intfloat64 A, B, C, D; diff --git a/libavcodec/ppc/h264chroma_template.c b/libavcodec/ppc/h264chroma_template.c index eda98c67ec..c64856bb14 100644 --- a/libavcodec/ppc/h264chroma_template.c +++ b/libavcodec/ppc/h264chroma_template.c @@ -109,7 +109,7 @@ #endif /* HAVE_BIGENDIAN */ #ifdef PREFIX_h264_chroma_mc8_altivec -static void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src, +static void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, const uint8_t * src, ptrdiff_t stride, int h, int x, int y) { @@ -184,7 +184,7 @@ static void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src, /* this code assume that stride % 16 == 0 */ #ifdef PREFIX_no_rnd_vc1_chroma_mc8_altivec -static void PREFIX_no_rnd_vc1_chroma_mc8_altivec(uint8_t *dst, uint8_t *src, +static void PREFIX_no_rnd_vc1_chroma_mc8_altivec(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) { diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c index a09179ae85..f0208b16ea 100644 --- a/libavcodec/rv40dsp.c +++ b/libavcodec/rv40dsp.c @@ -292,7 +292,7 @@ static const int rv40_bias[4][4] = { #define RV40_CHROMA_MC(OPNAME, OP)\ static void OPNAME ## rv40_chroma_mc4_c(uint8_t *dst /*align 8*/,\ - uint8_t *src /*align 1*/,\ + const uint8_t *src /*align 1*/,\ ptrdiff_t stride, int h, int x, int y)\ {\ const int A = (8-x) * (8-y);\ @@ -328,7 +328,7 @@ static void OPNAME ## rv40_chroma_mc4_c(uint8_t *dst /*align 8*/,\ }\ \ static void OPNAME ## rv40_chroma_mc8_c(uint8_t *dst/*align 8*/,\ - uint8_t *src/*align 1*/,\ + const uint8_t *src/*align 1*/,\ ptrdiff_t stride, int h, int x, int y)\ {\ const int A = (8-x) * (8-y);\ diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c index 62c553bc01..62c8eb21fa 100644 --- a/libavcodec/vc1dsp.c +++ b/libavcodec/vc1dsp.c @@ -787,7 +787,7 @@ PUT_VC1_MSPEL(3, 3) ((A * src[a] + B * src[a + 1] + \ C * src[stride + a] + D * src[stride + a + 1] + 32 - 4) >> 6) static void put_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { const int A = (8 - x) * (8 - y); @@ -812,7 +812,7 @@ static void put_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */, } } -static void put_no_rnd_vc1_chroma_mc4_c(uint8_t *dst, uint8_t *src, +static void put_no_rnd_vc1_chroma_mc4_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y) { const int A = (8 - x) * (8 - y); @@ -835,7 +835,7 @@ static void put_no_rnd_vc1_chroma_mc4_c(uint8_t *dst, uint8_t *src, #define avg2(a, b) (((a) + (b) + 1) >> 1) static void avg_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { const int A = (8 - x) * (8 - y); @@ -861,7 +861,7 @@ static void avg_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */, } static void avg_no_rnd_vc1_chroma_mc4_c(uint8_t *dst /* align 8 */, - uint8_t *src /* align 1 */, + const uint8_t *src /* align 1 */, ptrdiff_t stride, int h, int x, int y) { const int A = (8 - x) * (8 - y); diff --git a/libavcodec/x86/h264_chromamc.asm b/libavcodec/x86/h264_chromamc.asm index e562efd69d..a5c53034a2 100644 --- a/libavcodec/x86/h264_chromamc.asm +++ b/libavcodec/x86/h264_chromamc.asm @@ -104,7 +104,7 @@ SECTION .text %define extra_regs 0 %endif ; rv40 ; void ff_put/avg_h264_chroma_mc8_*(uint8_t *dst /* align 8 */, -; uint8_t *src /* align 1 */, +; const uint8_t *src /* align 1 */, ; ptrdiff_t stride, int h, int mx, int my) cglobal %1_%2_chroma_mc8%3, 6, 7 + extra_regs, 0 mov r6d, r5d diff --git a/libavcodec/x86/h264_chromamc_10bit.asm b/libavcodec/x86/h264_chromamc_10bit.asm index 34bc41969b..fdc4f407c7 100644 --- a/libavcodec/x86/h264_chromamc_10bit.asm +++ b/libavcodec/x86/h264_chromamc_10bit.asm @@ -57,7 +57,7 @@ SECTION .text %endmacro ;----------------------------------------------------------------------------- -; void ff_put/avg_h264_chroma_mc8(pixel *dst, pixel *src, ptrdiff_t stride, +; void ff_put/avg_h264_chroma_mc8(pixel *dst, const pixel *src, ptrdiff_t stride, ; int h, int mx, int my) ;----------------------------------------------------------------------------- %macro CHROMA_MC8 1 @@ -198,7 +198,7 @@ cglobal %1_h264_chroma_mc4_10, 6,6,7 %endmacro ;----------------------------------------------------------------------------- -; void ff_put/avg_h264_chroma_mc2(pixel *dst, pixel *src, ptrdiff_t stride, +; void ff_put/avg_h264_chroma_mc2(pixel *dst, const pixel *src, ptrdiff_t stride, ; int h, int mx, int my) ;----------------------------------------------------------------------------- %macro CHROMA_MC2 1 diff --git a/libavcodec/x86/h264chroma_init.c b/libavcodec/x86/h264chroma_init.c index 7c0f492178..b54afd4c08 100644 --- a/libavcodec/x86/h264chroma_init.c +++ b/libavcodec/x86/h264chroma_init.c @@ -24,34 +24,34 @@ #include "libavutil/x86/cpu.h" #include "libavcodec/h264chroma.h" -void ff_put_h264_chroma_mc8_rnd_mmx (uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc8_rnd_mmx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc8_rnd_mmxext(uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc8_rnd_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc4_mmx (uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc4_mmx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc4_mmxext (uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc4_mmxext (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc2_mmxext (uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc2_mmxext (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc2_mmxext (uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc2_mmxext (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc4_ssse3 (uint8_t *dst, uint8_t *src, +void ff_put_h264_chroma_mc4_ssse3 (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc8_rnd_ssse3(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc4_ssse3 (uint8_t *dst, uint8_t *src, +void ff_avg_h264_chroma_mc4_ssse3 (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); #define CHROMA_MC(OP, NUM, DEPTH, OPT) \ void ff_ ## OP ## _h264_chroma_mc ## NUM ## _ ## DEPTH ## _ ## OPT \ - (uint8_t *dst, uint8_t *src, \ + (uint8_t *dst, const uint8_t *src, \ ptrdiff_t stride, int h, int x, int y); CHROMA_MC(put, 2, 10, mmxext) diff --git a/libavcodec/x86/rv40dsp_init.c b/libavcodec/x86/rv40dsp_init.c index a04c5a5449..ab9e644c60 100644 --- a/libavcodec/x86/rv40dsp_init.c +++ b/libavcodec/x86/rv40dsp_init.c @@ -40,14 +40,14 @@ static void op##_rv40_qpel##size##_mc33_##insn(uint8_t *dst, const uint8_t *src, } #if HAVE_X86ASM -void ff_put_rv40_chroma_mc8_mmx (uint8_t *dst, uint8_t *src, +void ff_put_rv40_chroma_mc8_mmx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_rv40_chroma_mc8_mmxext(uint8_t *dst, uint8_t *src, +void ff_avg_rv40_chroma_mc8_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_rv40_chroma_mc4_mmx (uint8_t *dst, uint8_t *src, +void ff_put_rv40_chroma_mc4_mmx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_rv40_chroma_mc4_mmxext(uint8_t *dst, uint8_t *src, +void ff_avg_rv40_chroma_mc4_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); #define DECLARE_WEIGHT(opt) \ diff --git a/libavcodec/x86/vc1dsp_init.c b/libavcodec/x86/vc1dsp_init.c index b1f68b098c..90b2f3624e 100644 --- a/libavcodec/x86/vc1dsp_init.c +++ b/libavcodec/x86/vc1dsp_init.c @@ -80,13 +80,13 @@ DECLARE_FUNCTION(avg_, 16, _sse2) #endif /* HAVE_X86ASM */ -void ff_put_vc1_chroma_mc8_nornd_mmx (uint8_t *dst, uint8_t *src, +void ff_put_vc1_chroma_mc8_nornd_mmx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_vc1_chroma_mc8_nornd_mmxext(uint8_t *dst, uint8_t *src, +void ff_avg_vc1_chroma_mc8_nornd_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src, +void ff_put_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src, +void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y); void ff_vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, ptrdiff_t linesize, int16_t *block); From patchwork Tue Jul 26 22:08:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37000 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234427pzb; Wed, 27 Jul 2022 02:36:19 -0700 (PDT) X-Google-Smtp-Source: AGRyM1stwG/ztKeHP2lyuJGxD5WF51SibebFVq5LalUrLUYHZUjGPctYiH+XHfiFgK4hqY9piChZ X-Received: by 2002:a17:907:1b1c:b0:72f:9aac:ee41 with SMTP id mp28-20020a1709071b1c00b0072f9aacee41mr16978851ejc.56.1658914579224; Wed, 27 Jul 2022 02:36:19 -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 m8-20020a056402430800b0043c34ba1918si6262051edc.24.2022.07.27.02.36.18; Wed, 27 Jul 2022 02:36:19 -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=gSOi6Mjq; 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 8874E68B9F1; Wed, 27 Jul 2022 12:31:29 +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-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6D11E68B898 for ; Wed, 27 Jul 2022 12:31:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NX2VmZnsd9AtMbZka/iXlzdXl3eFdPImOSAbo8akY0MEso08f929d1n2umnKFsb36Osqy5X3PNxUvLkxFWuPV6MBGykyKHpAGOXM1LIKil9xSO9DLBwm/RIA6Z/rivfN/W/9n3Fu6P+m6HhVihUtB9G89p7/6/W1JRwbADg/aWc6YTRV2nfWsTfI/FGZcbr3/ZtI21lOKZBQI3cvocUdP/st9RIJBZn+uvDlAav0zUDHVtMVh//Mx0kMxJXwsCeJsReOb5tucgIJ3fn3t+O/UORIfUow6Dl2N8yPGsy+/kvLY3iNM1byh0RHrezBge1eGKfhtEj1o+IiE2Q0FbK7Bg== 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=a2KL3aEPposz3iD25Hwez8L1opaX7B+7VYyVJ16IwFw=; b=cd5HmexsRyzQLj9tR8D+QQkdwEulwcbb/j7EBtkVVGMEdpVwuWzrHUGDKOQzwV0ZWahI86/pKrEK4zw8KBBL9YQmzXTAWZSjGI3Bd9btOlLsAeXuiWCRPQ3dUNUFJJ+BcA1g/bzVP8Lq6HRyR1U7GT8ppuzlnKKDuTZ0+Ezys3cbmS5qAJ7KJqi2+n+pLDZNtjLei6c23l0t/p3KhWVSIKHUhA0ELF0nDBN3rQzRC9uPvNZ+bcEeOXn8Cyz9DWANbbQ3HV36cCBU2WjtXUO1ZUVTPwWnLrnLr0iEsHmOQy8bsvSkFfYMmXVTg2o9dHrabw2KjtCmvmSkjE/+Pt80DA== 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=a2KL3aEPposz3iD25Hwez8L1opaX7B+7VYyVJ16IwFw=; b=gSOi6MjqZ3h+2ktTWZoS+mYQDhzwWmIqUKkPBSJ5qZNS1ct0SQqSW0/yKYbt9u4qex3Y+06QeKzx4Vm+jKsutxFpX5SrKf+Ep9oGen5nN6HcOsKiy/HUiZeqADHysXJ15pA6NqZnUw79qRkQecOgLWzs/OuUIOr66W6zT4iUfQoGBpoRjOZxri7UM762np/O4espag/G/IJsqHYiHgo9T2yEPsAZrEA9BI+Rd841/6socuS/GMpyFXo0Fh/6ReBew8CgoXyj+REgaW0msOh9NxMafUZiCVue1Lw4JXBGFiiVQDHxAlnTHNiVUJR1O3fwKwPFf9RXL81kV4Bn/sp7vg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:48 +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:48 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:08 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [f3C9AxmDRkBRfXQfrfKNyDyCuJIeE0uA] 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-32-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 450dc676-b849-4254-63b9-08da6f538df7 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYZCowG7PjIQxg2Nh/FtJcYvqr20cMWWaFYkQSVWp9ygAthmlCb3Lyy6ND8G8c0nViG5J7ZhOMQxsG4EYzKDAOxDDXBd+NO0JoDkGmZcPXY8d6eTkk+++L7//d1Cm0e8tvjBVGChyrx0sJhcKrxK27y6a6dUfQLSWZOEc3tVQcYbrSSjaTbwzIdCq5JRN/nasHngtVX0ja7m93s7Znvd9BUnOaKtJ6rtqyHXUzfs3Iqgr8R8hztse7/CzHsXqzty8I19dWjMcD7LghtMBwSOweFOabApB0ss8x24h8YNUILKyBD51cR5Q0CjpIQu9DxaUPBkeYjQ0dISQvwA3OpbPq54QJO/XS6j+VcogouAwpNeKK7S4s873ZIl0wKSvMZBsU+Ua+nVXKB9cEMJnPdBaW26dK8On4ZL6BwEuSOq2Xz5X+2apKPSuQCrktgdFLiI1zr00gKjoJy3TEC+c2iHkhZM/T9+Ktc7qv9iM8NejOfgSchZwvdEoUy7YENd4YXxFPQpkg9kKS8QPivBl49Lihjdy5MzwDab9WwzRvAVwkN9p9fanCtNZFscFnwF1cVGhiIzLoxd8yMiVbq2rN1hXTLIxwV1rFJF8C3G47g4qWSnLKZ+eUXvzIGMeXVdwo/5w4gVSSzPDl0+6aI6gx/m0kJ++ACis1Gw7jyqFQR+9/17hiyyBOBe9nWx3V5L1z99Ivcl6BvYcqre0= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EAivfFyL9gmzoKKsTdfF8ohhDkDO5Im39KY4dq/fHZk52zP9MsOGvmXSWh3x9wZzNZHlP88x6zMXrL2kL3aVZ763TdNLvwASrdKew/yY7jWSTeoRjfAAgh3wwuP/coVZjQXu+P0W5FpdMDk7cvUio4PJm2QQ7PgCWIyBS4Os5ZkuZnFR+XUkY1/XfMnW6wDwXcVn5m/8oDluXpWvHufEOXB97YOx655fdsdzzmkduV49daGcBN4hZh5mjiMfZtghzDhQIxiIC3UvOawn/tuevm9Dl1a2Ow1M1twASGagq2XMs2RLSqwz/T243iAd1sugO86gDs4H0dvVNHrxp4ajlkDK484bpZJmkN2a+uSmOjOMT3Saay7WtBEU8c/JrSzkFfYPuPVhyKB0vqltEsf4YZ3dM6+Ohb0+vTWDAHBQm92b/qdLdpjUSSh9SBEixMEFWMy1MHlMACA8V5kuBz40ucPJ87/4gzwhPd9vU0ec41ZMyABvpqAQK347km3axAzRGhXTJOYiUz44+HGxoBmY0ayGxRtcYVXJYp/vjDGapsohR5N6498I3k+MrRaza9SApysRz58P7Y2MnNDv7ORvQJdxLShVkk58YsO2tvgrIRdGRzwhoojGA/nkwvysIvqndpkU7FTV+jGvCYoq4+zFsw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YkrVDa1N/6eZELsZ1b+74rw6BHoPH1kW48Da69kSGRp3xqDoDfLHNUZz5BwSVxjUzzbB8GwfVcbEOGimq537T4tSvLe+p0SacFHWZzleEvOVtyQJHjgpkZUR/BhCT7VJ/Kj5R6JJ+dg//FOipuBAqkrWKG+WkY/bgCAhyE+CUYpfkORWHGJtkCJHq0UaypUzqtszPCZ/HGIxFw+dKFMrYIhHLrugtUWz3LbdlHzN8C1RMVYRFlOl4ZU8HyqKZvtKdslU/bNBWfk8YrV9+icAJZbA5hL8OCp6vtuo5uwln0hnCsM9yA/OC22Ld2CpMLtiowePTt0GK5Y4LRDw4BHRSWe/iTFmD51ejfVSC1REZFqF0Y4cEWUnke6GVAotW+LJG1gHn5kJoeUubxU7St8PGLUz/nc1ZkqbLOS03vU150Gx+x4ejGSCmBuPDWYfVi+DZPMxxbPyfVRu30UiRkgRhaJ5S6+1imP1C5odyilZVWwlOwxymFnGxTb1zus+Yf8m/F9AyInsLPUCewv3O5HM8kSzTlIIrh8YcSwNmSmdQnVh8rGPIBm7AGjbWRevS58sF1iVPIptUnSLc2iMnRDR7pQ43wCgO/7vs5opZKRGJ6L7TFOYHy+sKgd7Tkiz1hw6YZa+yqRqcI50t/98X4HPf4iDHUXhgAPNVNV91l4GMxnhr08g54L67OVXfOvDEvjEJfaXvUoxf2LVNe3GT8P67UYCR9cMIMS2+w6HB9rORmJJCOk4DlXUATHB+f1IgNNwZZ/AaZFuUnkmgDlfeJqo/6oieG/8/WmvzBPSjh78FPWhKtPPcNkCIBK460bjrIaSS7LZKwF6mBnvmthh0h5vV+Emh6WzKauHwJbBuXScI6nH7TKdpWB5kaQin7xa7OZ2oBES5T/kii5iD2+ogFEyF6gcqiGuMYaMDedmqSmR47o7kwnNUxJcC2MAvKAq9LkbZ/Yrk6z+9cc/dHWH9Rq9cmBBtJVU5FbFMpRlN5eAOh++q7eK9MthNHNTUvYeU0QFYO4VgnqtogwsOIFYq4jTEbjt/0xM5NNmMY0WKNGhdkEff7/vYd8zkYeZA4ZOmg0zMvPcqnQ0PpgpAageeiktzjic9+7oCztTWR2hWoFuj60wvGTsQv2KeNv29pqc5uII4wA6CV/OvzbU/n87FbXh/mcliQB3VsrS62dhm60ShnZ8LfjoNeUnyzbMSbB7O2u36gYfMndYye/wVbzabKEm+h0n15DVlSiQjiTy/JnbkHvKyRyvzh0IeBSNzfDSSHyECiZm4+EuVsnzfU1ERAARYJ6xh+7RqkBy9u/L4+KcID8= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 450dc676-b849-4254-63b9-08da6f538df7 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:48.3302 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 33/39] avcodec/cfhdencdsp: Constify input pointers 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: w+zFxzFW6tTj Signed-off-by: Andreas Rheinhardt --- libavcodec/cfhdencdsp.c | 6 +++--- libavcodec/cfhdencdsp.h | 4 ++-- libavcodec/x86/cfhdencdsp_init.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libavcodec/cfhdencdsp.c b/libavcodec/cfhdencdsp.c index 3a35522d69..a122bcaf19 100644 --- a/libavcodec/cfhdencdsp.c +++ b/libavcodec/cfhdencdsp.c @@ -23,7 +23,7 @@ #include "cfhdencdsp.h" -static av_always_inline void filter(int16_t *input, ptrdiff_t in_stride, +static av_always_inline void filter(const int16_t *input, ptrdiff_t in_stride, int16_t *low, ptrdiff_t low_stride, int16_t *high, ptrdiff_t high_stride, int len) @@ -46,7 +46,7 @@ static av_always_inline void filter(int16_t *input, ptrdiff_t in_stride, 1 * input[((len-2)-3)*in_stride] + 1 * input[((len-2)-4)*in_stride] + 4) >> 3); } -static void horiz_filter(int16_t *input, int16_t *low, int16_t *high, +static void horiz_filter(const int16_t *input, int16_t *low, int16_t *high, ptrdiff_t in_stride, ptrdiff_t low_stride, ptrdiff_t high_stride, int width, int height) @@ -59,7 +59,7 @@ static void horiz_filter(int16_t *input, int16_t *low, int16_t *high, } } -static void vert_filter(int16_t *input, int16_t *low, int16_t *high, +static void vert_filter(const int16_t *input, int16_t *low, int16_t *high, ptrdiff_t in_stride, ptrdiff_t low_stride, ptrdiff_t high_stride, int width, int height) diff --git a/libavcodec/cfhdencdsp.h b/libavcodec/cfhdencdsp.h index b3aac8d0a7..d234b93797 100644 --- a/libavcodec/cfhdencdsp.h +++ b/libavcodec/cfhdencdsp.h @@ -23,12 +23,12 @@ #include typedef struct CFHDEncDSPContext { - void (*horiz_filter)(int16_t *input, int16_t *low, int16_t *high, + void (*horiz_filter)(const int16_t *input, int16_t *low, int16_t *high, ptrdiff_t in_stride, ptrdiff_t low_stride, ptrdiff_t high_stride, int width, int height); - void (*vert_filter)(int16_t *input, int16_t *low, int16_t *high, + void (*vert_filter)(const int16_t *input, int16_t *low, int16_t *high, ptrdiff_t in_stride, ptrdiff_t low_stride, ptrdiff_t high_stride, int width, int height); diff --git a/libavcodec/x86/cfhdencdsp_init.c b/libavcodec/x86/cfhdencdsp_init.c index 1e3586e08c..5cea39a80a 100644 --- a/libavcodec/x86/cfhdencdsp_init.c +++ b/libavcodec/x86/cfhdencdsp_init.c @@ -27,11 +27,11 @@ #include "libavutil/x86/cpu.h" #include "libavcodec/cfhdencdsp.h" -void ff_cfhdenc_horiz_filter_sse2(int16_t *input, int16_t *low, int16_t *high, +void ff_cfhdenc_horiz_filter_sse2(const int16_t *input, int16_t *low, int16_t *high, ptrdiff_t in_stride, ptrdiff_t low_stride, ptrdiff_t high_stride, int width, int height); -void ff_cfhdenc_vert_filter_sse2(int16_t *input, int16_t *low, int16_t *high, +void ff_cfhdenc_vert_filter_sse2(const int16_t *input, int16_t *low, int16_t *high, ptrdiff_t in_stride, ptrdiff_t low_stride, ptrdiff_t high_stride, int width, int height); From patchwork Tue Jul 26 22:08:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36999 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234358pzb; Wed, 27 Jul 2022 02:36:10 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uvXvVo1Do8L1JvQd1o3k02rtcF3wTaBoxcjOINOorXf2uGKUCj/rJU6DBrNE5Hp0Z8xgCi X-Received: by 2002:a05:6402:27ca:b0:43c:2a52:a90f with SMTP id c10-20020a05640227ca00b0043c2a52a90fmr10903877ede.328.1658914569856; Wed, 27 Jul 2022 02:36:09 -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 b20-20020a056402351400b0043ccb3f244dsi43792edd.426.2022.07.27.02.36.09; Wed, 27 Jul 2022 02:36:09 -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=qg8zxLQ9; 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 44D9868B9EB; Wed, 27 Jul 2022 12:31: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-vi1eur05olkn2102.outbound.protection.outlook.com [40.92.90.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4A76068B92B for ; Wed, 27 Jul 2022 12:31:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lp000CPLIQPzi/QqbxYrnqTD/9nWi/CwaOkOL++oqTtIxSzbW3Xlirl+yc5SqUzFglTZzpahRvioJbB4xWipJOaWA6BgW+obj+oS7RWqN3p2xQp0E7a/J7tpvQ2sZixRaU0FRVDFgn0ma6jVh1+A4obXMfK0wf4xoVlnRWk8GlQ1rcxORUkQsucHuZ2SeaJ+w9U+ZhjFAGslt+0Yc4h8r2MfWGhbaBottcW+P1H08/Xx7ese7+L7bQIgl8cTIeRJLV+V+ud+PPzy7z+6WRVJKXnY/8IBaPjaxZE49IPJnzKpWoq3p5FarpuyNfV3UNgi/6UNbCy+iw3IF+89xXaL/g== 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=kUqzT0NK3/dKFYA6fy4tXBmxS9mvGMFPs18DJpuuZnk=; b=mDeJtsrcm8ogvAkQYhhHXRquS+XH048+DTM/Oetdtr6CxOxkDG4gu0cwxCyNwbkmQhiEh/briVvINK/uszAXg7XwKfvoUqKs6BEyKsh0yW341BgcEFldtgGAnnhGv09K3zzy9sR56oBJ5lrSZZl7x3lhaupg2/m6qKQqdrxCXM15yUV7NGOpuUMbTVTxC+Pdau7VAOF5Vjhffu6pQXo4c9cqb8pKpNU72CXH2mUuAW+K5y0Uf6TQFSaG8QmHfJG7gngBL5rBIRIytxwFoeI9b3Yv1wGdBaM077m27wzTCaynSNN+VIeb5EqVHIHrSusjQEBU1YLf4JvtWagTqVUT3g== 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=kUqzT0NK3/dKFYA6fy4tXBmxS9mvGMFPs18DJpuuZnk=; b=qg8zxLQ9Iv3UE1ZTsM2JO//eE5C6K8L0CvVrFLAzulsfFDkdA/az82b/AXW5p3LzTSjHrZlcOt+CQ9CfPI+Lvmsb4xa1qcq4lT9M1T0+gXjYkLJ+cRzUfDbdvPzd4mE/h9nASYDHdkA82VTN/bud1MdlNhvwuUta6MlLrS6n5+WYcshwCTDi4v8bBFKvAXj0iAYOlLRoRPqypRxB1pgy7AY3i3GtQiBTunuFnfpujxct958mCRPmvow/V+FfiCKx7y1jE6BLK7I63GEiYDfmz5e3MdGNX/aLw3XYdEo7YKcOcVIZ3NVwwxnkj+g6Mg5j+252dtDnIuBdkxwvEnfnIw== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB9PR01MB9174.eurprd01.prod.exchangelabs.com (2603:10a6:10:366::8) 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:49 +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:49 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:09 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [lhXScL3qf1c3QdU5p2Jdy2h1bsuMd+pW] 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-33-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 96164af3-c662-4396-2ee4-08da6f538ec9 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgB6HaEavewrvX1O7j9YoV4pTF9Rx7ikBiduwlQuD/a7rlUqC5oxo+//CNhFNet+tHIqXNpfBi5l9gO951cz/gfz2ilwFdPRTil3cVl5dLsev2ouTiVT8U8FfR1PLtFefnjmIt3KYZx+/wNwexLtCmtgwdPvfk6D1ytRVf6bppe+cb+5tL+O8lHnhHdFhC74/cs4JCFKSJIM1/a281sm43WPgVNrrYDKLqwG0PLMrNv4NoZ9xYgxoiNq+EjsxdWc1ZexJW977OztC6cNgB5Z86K1m69aH8hehNgMpwzgkHy8yf6Mxv94VLd+jnj9VMNnxkkpYixXBuzJxpq+bZ8MOjhQvZa4i3zRTPh2acCn/3MiyECJUaQ7jMqfXMrQ1ZXVDQ6bk0LuLR64xL9U130ZHgYsAPdRShVFAAMXWFwnSvjawE2Q1fN5Ouo0SMEbr+gnEGl8Dx71ALkF8TAavi4JX0+6WJjnGbi2a1Tol+EW9cNz7mPIk02V8qgwWUX4GqysAID36i2ni19sMNHQ27WQ2o0HlRX+ssgrt5YpTpefY4XBuCfN9rmyBzexWP25vuYX/C2TWmF9lUT2gF+Ev9nxkR3S5NPlJVns6bDy0r7hTMF+hsY2HJk3QXJL0H+LwRiN3Eawz4OMoPJzo6iQlD9RljtG1TraVfbhobtlTC6iSvqpNG47SBF2jt5z3xAsbf1PW4gx6NRyJpwcUM+Zl4A0NkQeN1iFW7yktMsG5S54mhaoWA= X-MS-TrafficTypeDiagnostic: DB9PR01MB9174:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0x/3AzYr7SXOBK15CmDRDOk+ZF9d6Sfh8ELbwKMzCmTo3/nxdqv+um9OzC3q3E+wi5UYFirubN9zsrXMRtLiiwlijCztx7CJ/29NMpN0djtZC8QRtTjcKqx1SvH2bFYHqNmN1Co3ENnVkwIQbhTLuqypwWUanNcD/Wf6JAiZqdbRFNIIC5wuHfJdMvZn89isnk3tYLjeAB4ZXKL6KU/TpAsb7inD1bpMxqD1uJxjHpo+UeDUi+Dvg4XZLAov6Jw+SFyQHcr4A9WY9scCM662EjhDa7EXbpseKmQfDZtvTKTbUkyb4vrz5c5F3mMMLVUe3gciEDWD++KeE2ko2qC35SaPrmT7CiQf5T0p0Iv808aReyxNR6uWpkmI60H1pcdfzfGiLNYYk9+BkNFh4llJP1Lj9NiiEezBvi7NEMqikw8wBWcDfSp5p0n+UFBy9GgJPxaVXG0pyiguq7u7ozkdtU11yj/cHqPDhnD+1Jo4gc3YOAtakN7S2LqNQ1yvGYYRAh3bhzNg5mXWBHVVHjlIFnwTk73UP6KER3MFIJMywwwaJRplbX2dWcqdYKH/TPlLWmDoxGjq9w7IwqxCc6h9LNvrIVlNagJv6bYB00mcCydqYd2bBI4Z44Ai7590CiIf8/A6yW7osqooQsvXEEJCaw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5zo5Kk3BU9Q/Y0fjbSUFzwFYDjjcITubJfPk/EUF/OQ3HD1LPFypAYa4/j2YbazEBHsP1rc6j8Nbv2ilMYVTfmn0C3XkuUWudfFtgrM/N2eQ+Qftapk1ArvGxznONeFtSXLJ0/xEfOuCk2U1ZhxtwCAI6xr5pAVq2csiVG0M/uKIL+mIFPmGoVlbDaoWe4KbctZqtCVCcEhCrg1weMcm3Y7pRiyKGfUVCsbOSFSRCCqaAM1QyKgzMQQ8K0DD6vqTJBeMydm9vhTgQ3qn5OOGhcCpoEEl4ocNl93Cw4URua/EHnh3OJuU0kfcuZBETxFx+om6DU0pqD/tNQZaOf7mL2qwxqLoY2VplJtsBLnljRD2IE9hxwCRhBmE1fjrlOb+ViANuE0Za3K+Kob/+gXxtenEJgRBGsgW1dGVCCZ5zaMS0dwTry3iJ5dZTBF91w1QsrtcLegey2GqNE/PELAmjOfBzJsFZh07db41jkUVgi2VARduxaPE/bOrsrDULM00cVU1HE3AoeB+DBpw6HYvCv2JZ61v4YXsURFg3gS0uOKdJq+FgIslP1YPBnhNTEKOuQIBMbC37BJNQfa3wAaoZG3CBJqAHroxCAGTTZ82Ce4iqkI6BGz8udavNbeh22d5cK3eEKrGBhsJWZkAxqlD4NYbBfqSZgFEKvy6ua3q6H7/NGgyyQaxT2+DQcChtXd9KMX2CUe/t5Mx/YPr1n8eUkV88yO7C/+MWapZsBV45Yv8WjZZKUMllqzRiIvDvdzcr5EzbWMGaZLjNlekWYwl3/VlcdqNdg6EdLqfM8vuA1wvmc8FOG6kILe2AVd+wLu/d+kBLI70do/WHc533EaRIWbQlWPQwDVT2eNnf7wmgz0h+w6MM/ocze1akW7JkDBePQzIPRY+TaV2vIvi9aam82zmYNNNERMeAxWQeIgO7HG4yVsWuKSu4MlL4Q+GY9kyKVngZBtgJ5IuzGfTzZ8AzvG18J2kSWHCoYy7qbQqsgY720oRjJbTEOIax3lkDhU2PPuEIWu5/E+meEB08JZwB0cbTO8UdmcNkmBL6XiMlLrdhE9cuJaVwMGZjrULDQBxiCHbn7vZ8PCXnI08yoT3FKVHfxbnyn64xkM1BtkRnQIAKreLQnFIOx3AXQrhcqS6yhXD9eikSENQfJPevPtcY4rWvNCM2cmCNzLlrAovQbX4CVVY+RKRngjpLNhqK/z7h06y3FJUltWed6TEVRoMpW5jRfwcq42B5jrNckswHe0hh9X5u2aUSBrDjKh/KZYoxc/kTCsP+Ls0Z0b+zR2WGBpHFuUx7GrISxHbXc5MEtA= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96164af3-c662-4396-2ee4-08da6f538ec9 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:49.7208 (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: DB9PR01MB9174 Subject: [FFmpeg-devel] [PATCH 34/39] avcodec/mpegvideoencdsp: Allow pointers to const where possible 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: SF0EyEdUu9vo Signed-off-by: Andreas Rheinhardt --- libavcodec/arm/mpegvideoencdsp_init_arm.c | 4 ++-- libavcodec/mips/h263dsp_mips.h | 2 +- libavcodec/mips/mpegvideoencdsp_msa.c | 4 ++-- libavcodec/mpegvideoencdsp.c | 10 +++++----- libavcodec/mpegvideoencdsp.h | 10 +++++----- libavcodec/ppc/mpegvideoencdsp.c | 8 ++++---- libavcodec/x86/mpegvideoenc_qns_template.c | 4 ++-- libavcodec/x86/mpegvideoencdsp.asm | 4 ++-- libavcodec/x86/mpegvideoencdsp_init.c | 6 +++--- 9 files changed, 26 insertions(+), 26 deletions(-) diff --git a/libavcodec/arm/mpegvideoencdsp_init_arm.c b/libavcodec/arm/mpegvideoencdsp_init_arm.c index 31d1474416..a95b5bebe9 100644 --- a/libavcodec/arm/mpegvideoencdsp_init_arm.c +++ b/libavcodec/arm/mpegvideoencdsp_init_arm.c @@ -24,8 +24,8 @@ #include "libavcodec/avcodec.h" #include "libavcodec/mpegvideoencdsp.h" -int ff_pix_norm1_armv6(uint8_t *pix, int line_size); -int ff_pix_sum_armv6(uint8_t *pix, int line_size); +int ff_pix_norm1_armv6(const uint8_t *pix, int line_size); +int ff_pix_sum_armv6(const uint8_t *pix, int line_size); av_cold void ff_mpegvideoencdsp_init_arm(MpegvideoEncDSPContext *c, AVCodecContext *avctx) diff --git a/libavcodec/mips/h263dsp_mips.h b/libavcodec/mips/h263dsp_mips.h index 99a43cd44a..f225ee563e 100644 --- a/libavcodec/mips/h263dsp_mips.h +++ b/libavcodec/mips/h263dsp_mips.h @@ -31,6 +31,6 @@ void ff_dct_unquantize_h263_inter_msa(MpegEncContext *s, int16_t *block, int32_t index, int32_t q_scale); void ff_dct_unquantize_h263_intra_msa(MpegEncContext *s, int16_t *block, int32_t index, int32_t q_scale); -int ff_pix_sum_msa(uint8_t *pix, int line_size); +int ff_pix_sum_msa(const uint8_t *pix, int line_size); #endif // #ifndef AVCODEC_MIPS_H263DSP_MIPS_H diff --git a/libavcodec/mips/mpegvideoencdsp_msa.c b/libavcodec/mips/mpegvideoencdsp_msa.c index 46473dafe5..9043730cd7 100644 --- a/libavcodec/mips/mpegvideoencdsp_msa.c +++ b/libavcodec/mips/mpegvideoencdsp_msa.c @@ -21,7 +21,7 @@ #include "h263dsp_mips.h" #include "libavutil/mips/generic_macros_msa.h" -static int32_t sum_u8src_16width_msa(uint8_t *src, int32_t stride) +static int32_t sum_u8src_16width_msa(const uint8_t *src, int32_t stride) { uint32_t sum = 0; v16u8 in0, in1, in2, in3, in4, in5, in6, in7; @@ -56,7 +56,7 @@ static int32_t sum_u8src_16width_msa(uint8_t *src, int32_t stride) return sum; } -int ff_pix_sum_msa(uint8_t *pix, int line_size) +int ff_pix_sum_msa(const uint8_t *pix, int line_size) { return sum_u8src_16width_msa(pix, line_size); } diff --git a/libavcodec/mpegvideoencdsp.c b/libavcodec/mpegvideoencdsp.c index adf19e69f4..997d048663 100644 --- a/libavcodec/mpegvideoencdsp.c +++ b/libavcodec/mpegvideoencdsp.c @@ -28,8 +28,8 @@ #include "me_cmp.h" #include "mpegvideoencdsp.h" -static int try_8x8basis_c(int16_t rem[64], int16_t weight[64], - int16_t basis[64], int scale) +static int try_8x8basis_c(const int16_t rem[64], const int16_t weight[64], + const int16_t basis[64], int scale) { int i; unsigned int sum = 0; @@ -47,7 +47,7 @@ static int try_8x8basis_c(int16_t rem[64], int16_t weight[64], return sum >> 2; } -static void add_8x8basis_c(int16_t rem[64], int16_t basis[64], int scale) +static void add_8x8basis_c(int16_t rem[64], const int16_t basis[64], int scale) { int i; @@ -57,7 +57,7 @@ static void add_8x8basis_c(int16_t rem[64], int16_t basis[64], int scale) (BASIS_SHIFT - RECON_SHIFT); } -static int pix_sum_c(uint8_t *pix, int line_size) +static int pix_sum_c(const uint8_t *pix, int line_size) { int s = 0, i, j; @@ -78,7 +78,7 @@ static int pix_sum_c(uint8_t *pix, int line_size) return s; } -static int pix_norm1_c(uint8_t *pix, int line_size) +static int pix_norm1_c(const uint8_t *pix, int line_size) { int s = 0, i, j; const uint32_t *sq = ff_square_tab + 256; diff --git a/libavcodec/mpegvideoencdsp.h b/libavcodec/mpegvideoencdsp.h index 33f0282fcc..95084679d9 100644 --- a/libavcodec/mpegvideoencdsp.h +++ b/libavcodec/mpegvideoencdsp.h @@ -30,12 +30,12 @@ #define EDGE_BOTTOM 2 typedef struct MpegvideoEncDSPContext { - int (*try_8x8basis)(int16_t rem[64], int16_t weight[64], - int16_t basis[64], int scale); - void (*add_8x8basis)(int16_t rem[64], int16_t basis[64], int scale); + int (*try_8x8basis)(const int16_t rem[64], const int16_t weight[64], + const int16_t basis[64], int scale); + void (*add_8x8basis)(int16_t rem[64], const int16_t basis[64], int scale); - int (*pix_sum)(uint8_t *pix, int line_size); - int (*pix_norm1)(uint8_t *pix, int line_size); + int (*pix_sum)(const uint8_t *pix, int line_size); + int (*pix_norm1)(const uint8_t *pix, int line_size); void (*shrink[4])(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height); diff --git a/libavcodec/ppc/mpegvideoencdsp.c b/libavcodec/ppc/mpegvideoencdsp.c index b96487bf81..07d3e76ee0 100644 --- a/libavcodec/ppc/mpegvideoencdsp.c +++ b/libavcodec/ppc/mpegvideoencdsp.c @@ -30,7 +30,7 @@ #if HAVE_ALTIVEC #if HAVE_VSX -static int pix_norm1_altivec(uint8_t *pix, int line_size) +static int pix_norm1_altivec(const uint8_t *pix, int line_size) { int i, s = 0; const vector unsigned int zero = @@ -57,7 +57,7 @@ static int pix_norm1_altivec(uint8_t *pix, int line_size) return s; } #else -static int pix_norm1_altivec(uint8_t *pix, int line_size) +static int pix_norm1_altivec(const uint8_t *pix, int line_size) { int i, s = 0; const vector unsigned int zero = @@ -87,7 +87,7 @@ static int pix_norm1_altivec(uint8_t *pix, int line_size) #endif /* HAVE_VSX */ #if HAVE_VSX -static int pix_sum_altivec(uint8_t *pix, int line_size) +static int pix_sum_altivec(const uint8_t *pix, int line_size) { int i, s; const vector unsigned int zero = @@ -115,7 +115,7 @@ static int pix_sum_altivec(uint8_t *pix, int line_size) return s; } #else -static int pix_sum_altivec(uint8_t *pix, int line_size) +static int pix_sum_altivec(const uint8_t *pix, int line_size) { int i, s; const vector unsigned int zero = diff --git a/libavcodec/x86/mpegvideoenc_qns_template.c b/libavcodec/x86/mpegvideoenc_qns_template.c index 882d486205..0d6454f45f 100644 --- a/libavcodec/x86/mpegvideoenc_qns_template.c +++ b/libavcodec/x86/mpegvideoenc_qns_template.c @@ -32,7 +32,7 @@ #define MAX_ABS (512 >> (SCALE_OFFSET>0 ? SCALE_OFFSET : 0)) -static int DEF(try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale) +static int DEF(try_8x8basis)(const int16_t rem[64], const int16_t weight[64], const int16_t basis[64], int scale) { x86_reg i=0; @@ -74,7 +74,7 @@ static int DEF(try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[ return i; } -static void DEF(add_8x8basis)(int16_t rem[64], int16_t basis[64], int scale) +static void DEF(add_8x8basis)(int16_t rem[64], const int16_t basis[64], int scale) { x86_reg i=0; diff --git a/libavcodec/x86/mpegvideoencdsp.asm b/libavcodec/x86/mpegvideoencdsp.asm index e3d88f01c4..3cbe7b4d4b 100644 --- a/libavcodec/x86/mpegvideoencdsp.asm +++ b/libavcodec/x86/mpegvideoencdsp.asm @@ -24,7 +24,7 @@ %include "libavutil/x86/x86util.asm" SECTION .text -; int ff_pix_sum16(uint8_t *pix, int line_size) +; int ff_pix_sum16(const uint8_t *pix, int line_size) ; %1 = number of loops ; %2 = number of GPRs used %macro PIX_SUM16 3 @@ -72,7 +72,7 @@ INIT_XMM xop PIX_SUM16 4, 4, 4 %endif -; int ff_pix_norm1(uint8_t *pix, int line_size) +; int ff_pix_norm1(const uint8_t *pix, int line_size) ; %1 = number of xmm registers used ; %2 = number of loops %macro PIX_NORM1 2 diff --git a/libavcodec/x86/mpegvideoencdsp_init.c b/libavcodec/x86/mpegvideoencdsp_init.c index b9c80b5382..ec174b15aa 100644 --- a/libavcodec/x86/mpegvideoencdsp_init.c +++ b/libavcodec/x86/mpegvideoencdsp_init.c @@ -23,9 +23,9 @@ #include "libavcodec/avcodec.h" #include "libavcodec/mpegvideoencdsp.h" -int ff_pix_sum16_sse2(uint8_t *pix, int line_size); -int ff_pix_sum16_xop(uint8_t *pix, int line_size); -int ff_pix_norm1_sse2(uint8_t *pix, int line_size); +int ff_pix_sum16_sse2(const uint8_t *pix, int line_size); +int ff_pix_sum16_xop(const uint8_t *pix, int line_size); +int ff_pix_norm1_sse2(const uint8_t *pix, int line_size); #if HAVE_INLINE_ASM From patchwork Tue Jul 26 22:08:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36980 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp233033pzb; Wed, 27 Jul 2022 02:32:50 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u62LlYs1DQDxHTh+MeFuk8gS7i0N3vJM/YsTaBmnfzgOdeDpnqcTI/TMVkTLmI1QFUfCCH X-Received: by 2002:a17:907:948e:b0:72d:3fd2:5da0 with SMTP id dm14-20020a170907948e00b0072d3fd25da0mr17093769ejc.225.1658914370760; Wed, 27 Jul 2022 02:32:50 -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 u4-20020a1709064ac400b007046fc0f0ccsi10478596ejt.320.2022.07.27.02.32.50; Wed, 27 Jul 2022 02:32:50 -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=QkPdq1cp; 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 110F868B8EC; Wed, 27 Jul 2022 12:30:53 +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-oln040092073060.outbound.protection.outlook.com [40.92.73.60]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CD1C768B88B for ; Wed, 27 Jul 2022 12:30:41 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TJrkh5FjUcOuGBGPEdWVD1Pq3bTkAr5AHGQeoXQVAd/Ouj6i6Mr28YRdBsMuU1GQx7T1EnmFQsZHSODZwJQ642iIbVaVi3QirXieMRHK1Fz/rZd8ni3Ln3BgQ7hdKyCAvXtBb9zF0BiGNABkjGhNEVzZM9vh0s7b8hhiCmSOqIsIsnfptzniUXkWTeRlRCY9vDqP5TpfrrUQfdDFRO3LZuD+u6PYEs7JePi/tHuBCwKKVfIZmkEIkEp826xZK8fyNxm3OA7VqH5JsrefEoYclBsvNLas+HwRXEpxfhqihV5uTKWbhWpOPIq1v2Zfr/J0qjycrxNXk8XNLHRFgsixcw== 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=F/dIwytSG+y+tzgiDKIrRzm5V/apv+iM3ktxgBJwcQI=; b=mlXQFrEvLhLyOZo3hhW4E8dv7cpVAZB+LVnRnymV/hT301LD2ybrC4JZuQDmJlFfyx9nTUpdLyZcA0m0jLcnmDN9vDBGviGaEkO3CIsqg3Ry251M7tSyOzCOlHftQ4FCa/f9CAOLgltHRi+EXunddGI1RgcuvfAotStHM0geV1buJnScklQ9mR5PqlnBQO9QUDGPnrlgLkz/EN8fLu9odCqR3fzfrRwjknWicYZdtU4wQ+PWpS2dL0y1WIKe2mNMGxPpy+fYMJ0NMbB0vOYq4L1Mpo6uiooXN0REULFoQqRaheYzKy7qHFwLBMuAQdlndxu66XL8nJ7pR0Dj26Cj9w== 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=F/dIwytSG+y+tzgiDKIrRzm5V/apv+iM3ktxgBJwcQI=; b=QkPdq1cpeLSaEyskjIPrU36F+iIsQAArq+lymShf9boFBeHsJSfNxofn4zWfW/INbpP8qIGy3e9CtQ56IIbTdCDp5KcaO8AA/z+mPMDOJHM4GgdW3iA71vA5DbisQo3+QBJBx4cJTItdNWX1PEqEWeM4pg0nlhrdpEOfsw6tgj/2WCZbAHoQnlOCeIq1L9xiVqlZdkvTtV9ADKNxaayBnsZSC3stPf/IH9ZCewop8Fqe/OAZOqP2Fab6dFdD+tX91kDB8tI/7KI7uf++XTQX7ft8v71VkUOwT5w2hpGEkswuwWh35pPfYtACcAi9j6ajPkvogkFeS5zPKjg5OUnmbg== 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:53 +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:53 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:10 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [lL2djwCtXFXSyhMiyFFB4QDpBBBch0RG] 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-34-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 21e7bc4e-067b-4254-4a7b-08da6f5390b4 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYZCowG7PjIQxg2Nh/FtJcYpxeojSqM16F/FngKSqGLGJNEH6BtLDotTbujYXR1vK0mmMRTVrHHto3upMDkrfB735CBqLkj92wOSyCfIbpaXa6XK+XWTZ7QToH8hBx+qwPwbGyJOKTfycXdvYi3SXxu4p3SGCXg5y90ddYHx4WLk1NzrNOdhpYNUJ4axFopHsM9rLSsOTOtaS+kmTPVIBtQzmwVyIJF/Uxv4VZskhoy34w9IzqLx0JctFCFSW8aonfD2KEdem5TKIkLQ1oPZTdrvRpjmOV4fWoNFWhlkd2dZhYbZBhtklM9qwGy8qOvv0rnj1HCqBbhrVndFVjdqwjYMGCOFq5g2gwnt/OGHU5cr6HZLNAMjoEImrEQf4voot+DwoLr1iRYbtQ2PhPrbvCPuMdExXLZ39K88z43O/p26XEor0XtqHNVv3COqfPbiTGwMYdAd+u8o1JxaLqpNaThs65n4s9v2DdY+omxvAhvRrgoBDu8gh6BWflDi7iPxOq4jK4Db0H+5NNBZF/33mMAb4B8bYKFnk9M+35Qz+mCyVvlzQhK55D2QBh/yXNWRV4cx4cq6K08l+tSj7ig7nOocUPv9xT2rWajI9vKc7qqdeeJjsqlsujBq1GuEaF2Pqk08Ze68yWijRABIvzoMCNhpDZvC+xuPvyEADXFKu1XHNqXrq/9bNk0/Lmt2hOFVoDV3omwjEzWvc= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xCZS9OFYQVlHp2BoiW49EuhBhyd7A9Itgdt5/KjijdEC9M5Dfjy1aBbAHYal8Fr2QgSbx02xU8X0hiEo/fO71Q9DYwv5kxicenGzlGu3bIzDpKQmvGp3NnKiYgh2KbZA0KpPI/X7YTwaSp7YoSkzX5GwBvZFNi4PikPsgjGRU4YAstY9PZR1Y58Bh03ZJFVdomgDm5tOI/I7bLuHk0DIyDui/I41MKTN5i4vuDIN9BV10RnZMP8xvcKhNmK+xYcW7V848prwY0xZQZ8am76MRGK6X0KvRqU76sYBCPVeC7A++wKh0jXAHg5k00jGmxGTwo4MMK3DWv9kfNLuRfzL1PLfUL8tldPPGLxL41tr3c4RA4fclk90uAwEEt3kGCEsr+vzeAbg3WWpwzRKEJZ551yDGK7GdLC20ypI7dkh7GjRoFx4utCBSj/JbJ77bXLMCxmlCYgE8atJ7BerUZtg5mTaAb3AAWLs2EJ4a/InBVM5w4zTw7DuzEpYUnBbWOrZYBXoky2Je2ZxbRCnI+xHZUqts2HWiODyOOBK/ydJuzpMhoMdrVxPS6u8yWjiIqvpASvoxKmUTK/G7DVIJL1K+4mI6k1zVhwT+swzz1vP2DXasNMyruM/9p9LNG7+go2T3e6s0PmSkS4U02mD1t7afg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h/q0BG/1WgcNiytcrN2J4BE9MRrSPxiZVmQ4zZpG+7N1nG2qUxhMD7rUOjPXPAev3Tf/87UqdNYrtHVMVMQAXIkG29oY+v67yzT5mh74mW46iUJSNsNo8RIU9cPP2V1+3OjH69/UCBhHPKIKHTWOSAOTm1Q6LCgbdEtrWAsjs2MSTvTVe12z0qxf1oKZYkvl1im68mKUY8BqOxZkX+FwyT28jQl5j6x6Fs4mHgIhiZLwPlt8y+pyYBST4ceKYYJAj8h68boDFcr0pVgmDcHm7Xel1sMAIN+G3m8Ra+GlPXmX3tbItZVOdCxd+dPhQg7XgOYRnXBe6IKeQrzDsjkU9cSrMvRWki1UZFT/Orb0IcXt0QyAVeKI1lzSZKDWVUQR96zdsNbCirlwKQUyKYdcmEKgjJe/TBD8shSn8tWN2yAF8UwsiAEiXo0cvgiRwXIuJ5KPYQEQsA26q7+Qf85Q4X1CgGpdte7/BKo79neTGKbleSmlVZ+uZEVsgY44z0KaPjvRkibopDq9mQaB8pZVvPLF1sgiEM7T0hmor9pufcfguzhuLNQmao7RNyllodQj+s1RJ2as50eree6G90Nr/cOVAb6kz5RxK5qJAC4kS7Lq1OH+axLNnWKf4kigRj5KddxaG7QYjly+r+TAz7MtyLx3GoFaRpL6e8Ko82GLrcVHirjDMN1soeZebj3Fe9xL9eLj28/GucWZL/hO3QnRa6bDtnbDT2iVtQT7eXXRR4cWMQqZeo+R6Ji+xj0PV+cYZbgq9C/zWtR5tex9ITGnFb8YYbviXiI7g4pLSIFBtvdGxq9FuW219/wv6iqJwHTulXwhMJHuI81pLR0nsRop8X0qWgSipIsu6JTqpGmgwXFH/wiLs4LnCj87ud1uec73GVIWibILLmirSlnM4lDAlRLpgoYBKaxhA8iQx+2RklNBkbkpyaVZZC5Jlp+DJa+9s+Cq+MkHJw+hO5IN2iU0j/pBLsxfaUKzg/XI204bI31FLglPDR5BowZxgA/0hmnW0xcandPGFe7ihk1MuV5RNkCzApTUl5lunlsAiGP8mC2toH+4beyl3qd0YZe9sw44rLsYJDY+wwTpWdoDNifrxZYrSOkDeIrbYJfinjUMAk9B5Bksf5OqNZUvGdVlkcBVBUNXh/eCqE/x8G4ews0uItUj1TqGjHELh8V3A+cO9FroaImwFrcdrTM3KYGbJYMwFE2eticA8LNFm4xY+oftpUYEzW8TAF9N5h4AlpjysHcDQmpoohJLX7s3tM4AQ+XEzcmmfQnWQPxcUYR8QZC4A+OSlhOgdHcy+vYpVbfMP7Q= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21e7bc4e-067b-4254-4a7b-08da6f5390b4 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:52.9549 (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 35/39] avcodec/mpegvideodsp: Constify src pointers 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: irYF5eSt/pXr Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideodsp.c | 4 ++-- libavcodec/mpegvideodsp.h | 6 +++--- libavcodec/ppc/mpegvideodsp.c | 2 +- libavcodec/x86/mpegvideodsp.c | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libavcodec/mpegvideodsp.c b/libavcodec/mpegvideodsp.c index a8cf7fbe35..05893d0e01 100644 --- a/libavcodec/mpegvideodsp.c +++ b/libavcodec/mpegvideodsp.c @@ -21,7 +21,7 @@ #include "libavutil/common.h" #include "mpegvideodsp.h" -static void gmc1_c(uint8_t *dst, uint8_t *src, int stride, int h, +static void gmc1_c(uint8_t *dst, const uint8_t *src, int stride, int h, int x16, int y16, int rounder) { const int A = (16 - x16) * (16 - y16); @@ -44,7 +44,7 @@ static void gmc1_c(uint8_t *dst, uint8_t *src, int stride, int h, } } -void ff_gmc_c(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, +void ff_gmc_c(uint8_t *dst, const uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height) { diff --git a/libavcodec/mpegvideodsp.h b/libavcodec/mpegvideodsp.h index 293e2548d3..69e6053c68 100644 --- a/libavcodec/mpegvideodsp.h +++ b/libavcodec/mpegvideodsp.h @@ -21,7 +21,7 @@ #include -void ff_gmc_c(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, +void ff_gmc_c(uint8_t *dst, const uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); @@ -29,12 +29,12 @@ typedef struct MpegVideoDSPContext { /** * translational global motion compensation. */ - void (*gmc1)(uint8_t *dst /* align 8 */, uint8_t *src /* align 1 */, + void (*gmc1)(uint8_t *dst /* align 8 */, const uint8_t *src /* align 1 */, int srcStride, int h, int x16, int y16, int rounder); /** * global motion compensation. */ - void (*gmc)(uint8_t *dst /* align 8 */, uint8_t *src /* align 1 */, + void (*gmc)(uint8_t *dst /* align 8 */, const uint8_t *src /* align 1 */, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); diff --git a/libavcodec/ppc/mpegvideodsp.c b/libavcodec/ppc/mpegvideodsp.c index 42d65dbe3d..3e99e089ea 100644 --- a/libavcodec/ppc/mpegvideodsp.c +++ b/libavcodec/ppc/mpegvideodsp.c @@ -31,7 +31,7 @@ #if HAVE_ALTIVEC /* AltiVec-enhanced gmc1. ATM this code assumes stride is a multiple of 8 * to preserve proper dst alignment. */ -static void gmc1_altivec(uint8_t *dst /* align 8 */, uint8_t *src /* align1 */, +static void gmc1_altivec(uint8_t *dst /* align 8 */, const uint8_t *src /* align1 */, int stride, int h, int x16, int y16, int rounder) { int i; diff --git a/libavcodec/x86/mpegvideodsp.c b/libavcodec/x86/mpegvideodsp.c index 6009b64e07..ea1d941fba 100644 --- a/libavcodec/x86/mpegvideodsp.c +++ b/libavcodec/x86/mpegvideodsp.c @@ -25,7 +25,7 @@ #if HAVE_INLINE_ASM -static void gmc_mmx(uint8_t *dst, uint8_t *src, +static void gmc_mmx(uint8_t *dst, const uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height) From patchwork Tue Jul 26 22:08:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37001 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234553pzb; Wed, 27 Jul 2022 02:36:38 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tGnjK4bbMp89w7FLGgo+wpL//UhKiSHgMIt/amttShjQCmbt+nTNZts1UtkxwpVqkaeqPX X-Received: by 2002:a17:907:16a6:b0:72b:5ce6:1f7d with SMTP id hc38-20020a17090716a600b0072b5ce61f7dmr17763013ejc.28.1658914598259; Wed, 27 Jul 2022 02:36:38 -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 q6-20020a056402248600b0043ca71e6234si1887465eda.327.2022.07.27.02.36.37; Wed, 27 Jul 2022 02:36:38 -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=eswH+KB3; 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 EAC8C68B8F2; Wed, 27 Jul 2022 12:32:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2098.outbound.protection.outlook.com [40.92.91.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AFE1E68B8A6 for ; Wed, 27 Jul 2022 12:32:53 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EbeI5+cSZodF6+3E6KJuf0evjJ5va5y9/an4WIPCz9yl5Lv6d/iH9Ao95nYFyhRDQ21tnB79osywZZw77qn2fT4E9Xj/L9sJIcrK7kOMjUbkoqcjFSFTwF+Ft5NveSK7GsHQxj8r7XgMzSbKnNjpvVAGt594kApWxHr8D4naPFH4JUdwnM7qQU5HVf2uyZPVdjNn7hG8SmZzezFklwcpHuBp2bMSsAgY+krqR5p6tjdJXSgEGcG9m9WcnkotCjlq0olBk5Lco6Zs8GT/n+8a+zMXqW/+aDJlicaq3SeFji5QZbWjTtTSkPTmSbUe6A+PCA7qo8BPK0IiSvIE3SR7Dg== 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=Qfw/mGeqnRy5yzFQrTuVhfQF1bzZ2hieXC+pwM7XjVU=; b=Ugl1XY5Ya2JRLzdaSigugLqVGDVM/aQEdwTEY+itq3cN4CYb1GItXQmqRQBkFnsZdDG1fX1kzqS+g+RCSXKjBxrlIyZDU0XzP7Wm1Mdw4SkoTvqE/Aw0vHr5lk1/Ido4uWVz9bC1ktsHXuHWrsBhWi7r+yiflEp1hiOR+Ht9FOwuBopdipedy6pGV+rBrERIusUbcH36rN7IS0FjmDocKqWH57tuLEeW09RLWQrfYiDZSjiEvH8fvHNgJeNe9VjEV82j7fnlhPEtYEg1qgUuKu+pIfSosKZbqaBaB347m2NV2zFbxcCNj0zswgcLfsVQx/sxjWB+5dzAWY5mL0eD2A== 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=Qfw/mGeqnRy5yzFQrTuVhfQF1bzZ2hieXC+pwM7XjVU=; b=eswH+KB35X1GNrJchOYlBTdr04BJvprHoTiUjVFZq1WEY7ngKvsa8mAiyg026ijFc4WI3D5etUF9WteITZDUgmHDkdOb+/JH8YzUUgBdD/MuIldR94cmyB6YtbVsJuCTPCzHzJHnSd+7mxAeiGfjyLD+zl7ewkPqxJuE9/BMnsaHEpE4SnmnR9PJsb5rHp5/Ti3ajX65SiZpHITgv9mmXWyax/DG8gCL3b6e4cTWHrbxvqM0kZPYjR+HFaHhw4O0dZhNH3lVflaWaYvX6M2XK/39sHAiuuA14oUBU9WZsdO1cJuZQzO3/yuRNoHxnv5F9V9iAiI0xYywYgez94b/jA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by HE1PR0102MB2716.eurprd01.prod.exchangelabs.com (2603:10a6:7:1f::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.19; Tue, 26 Jul 2022 22:09:54 +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:54 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:11 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [zVuhwlvbfLsjXTf9CmHHmp99fRD0y3gQ] 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-35-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2bbb933-c419-43da-17a0-08da6f539167 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuHAZUD9973euQIW/KMDlR3ggKsiV1e9S7nFk3iaAIgz7ZKgBJ6xabRZZ/kAsH6AFgwsvQgd9zKbqCXdWqDx7J4Vfb6bt7oDnkWPh/0O6wXvAZV3pjtfPG8NzJ/zxSu8RZS35hDCvbnt1gqHh1VudWUdPuM0jJE3tKFqSQ7LinvFpZrK21fXOj/VDWcZSbJlkhW7IvPitcA2kV9mKh0vMi62ubFZlBJZnumL0eQ+J9KPUlpYODkDBJX/B9t6OTPioriv2aPgMsfIX/9mrEqiy6Fuvi+0zQ1iisaXvW1+KS/d5eCzymZG422mQmXoxO1vFNf9ji/EZhn1GTLKV5Tutasj1DMgdWH5+ZvCssPg1EMsJjJOK7e1MVQ2RVM9hzTmWZ1xkcabDjwQzqZcizzC3MerZzP+B+pBdI5qPowbtx5yCXz6L2lh4gZjAybPNDFK5H7il2lgpe3Hp8ThE9mfPU/JQAco8dbJt34ysPHKUQaPv0yrcoRZWmrtDTRtZYV/EmYTn/vrFEdXVuXP4U4zQSx/uiN0tGEpS7Yp5g/UtMBTxI4HLkSxOkuDTZjApeaTd6Bcq7INqM1F85ZWH1/OcanttUWGQj526wSkD6+Rg5a2O30ESef/GgXXgPCl1C5ZGoIka4nG0d/APlZq2WvY/I32GP4QG8trCdBbEfYl7OgKmWMuWoViCAQF2hFls+MS4eCG4dDb0ctLi9UEqoUrBWrtD4j3X/P7sNDHzt6gGm/e4xmfNTOXxwQkqwSfHDgLMr5QxoSeLigb4SZ7GEIXV2p X-MS-TrafficTypeDiagnostic: HE1PR0102MB2716:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ryDa4QlvjAKi15xBStS4qS1fAuBehMzkXjdafT8Abeq4Rch1jsfeTVYbIUCbx36NLpRgY1/T/gEaASuCXz5oFZcvNs2H5o4rowyLMe72VnbvjzFlQj50FifHX2V/5I6Tn5sUUFDEq3MIy+Scgz4+bPqRv1Xs/nrIlUrDgts6x+eCapFMGedXDc+wztslbwM2xMAYvVtCsQSH8RTZgmn5q9KZbrUZV0kc8In/28lEYHWfSu28JUQT4eVen5c4bkcaOLEN0/j0qYPFCZHTpT0wP5A1BScjAS3JS1SjE+Gi9D1tE5JoELdMdp4/d8g8PiF7N/ReZ2ip6KG5Yhup0poXy7dMhUFh7JYSKpGyzdaW1aGl4EXrUwSEo3lbm067wp55tvN6vLWitBDi4ICGjuAPEbaHJw5ymoKLXDpzb66dwraXlPLRhFIMGH9AqTrfurmsM5tlGxwFMHTvEkKF/ZI4WR5s9abeRvuVnsFL4d+fw17a8Kz0j3hpe8zfP6UfVl5D00dTaj6Sf2O1ptmr6gXljhT6xuH5l3KHCyDNSPGgcG1XjF49iZdq6VrEM2yHrC2pQZDNeL7vJXaNI7kZvHjyxl7KZdSgaGVp4a/xwPnC4xVwwKHK9N2940riAyxAnOGxmELE8b2r4vo/s31B3ZH7kg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LXBJGMaRVBTLlTfCNj+S08LrnHodnknuUJteAiOOoUGUHzsz8fWC0XL+jl0ZpMsZ9bTXWR2C7OnsJ2bLlE/O7mXwnkgqdfdbnT9W+JS2lwOOE629brVuLoAYNixag2banmlQFr8FK4FYd0VC2EEnOC+j14mFic3tWaqELUooyf0BvWxKdL9A2lZ+6nvkNguQzKTMbPcv3zH0WXz9fm9UBlapyND4urh56cqSX2QWzaMRv03d9Q+ceA7YdEDLwgz4CpYbmYRJKRn17THVzqIg1cs8Rlah0tRcdGBJs/zf8KsHLiXtljYkrWH+UzqtGbhvr2kjswaB4LiQi/5lvRQoE2z+Tm9lqtv54XWlsDlrfcO6F79QOCjV8qVZpfc9RYd5GuIgCNhSBfdPRq9OwhVyDWg5HPJwKR8Xipeci50X7f3l6vQtlRwfaoExUXlgITKkPGwjUkZaWGv3FKnQb5nkwlHXvodRQ6maBlgSKhxOA8wZjj47mZs4NmXyWn3DI7oI6JoyJ3XhFjiJYxNnz+Lz7JAcwvwVQaiLNFBeDSAkRa+2yptnzvF4BWUDNE1gCUWM8pKNStuMBM5Oo1Y8QfWemPP9QGLqTMkdQZ1H8Sl7hmZBMMx0P7T8r6DWyJytvZ6vwc6Lv7KhTOQjHBMUcVmpaUpGd/B5YHXuslM8SiCKjryIklfkKxX8pB7abrumTqCY4YcXxyXnvWnHqLnIAG9rSKoiY4l9RmVrjd+3jJW1yvWWL2+Aj+/MpphH6t5c6NT2v3Tyf8tNtxX5+JwLZInAUem+rKP7l9JlDAoXGhOS7PwjnUMRanR1BYVX/mcRGfPR11P9UMpOom6WL9ljITPnrgJUJ4U7Ki/YF5hGMR2s5eOkLduzvyB/WHVkreH8uoNtqAwVd2I6f4AkZJrDslDiTalOJH5AtbO9oseLKYx5AeWmCT/6Z5asD5wGv8CvODaYr37QLCebLKzQGG8IM7IYv/BYqayHNfbVcWgJ6K2SqkI8zsRsvVbbuujaDMeFZlY4zGPBMt+eXdIgCl09ReRs2Z5XYO+uWR2pturwpTxOFi0hVZK67nAayR/lPyATLjnxpPwAr9EU1mmGZaKbZ6t6CjBmysIZID63QrQjkJb5vTKq0VGh4OYwPuID2L8GIyeGlIJCgAp7LGBMN50ZqX1vPVa2XmCCOOndXs+HyxttXCXXXg8WGkFFFVTSPFqI/Ud7Mzr1xr31bB6EK2/QO/I5/pDDVN78a3+Iw2Es07+9a9Hh+AyU1Neps35BUj6gUdlqTXLdLyT/0Iae8hAxtN1L6KtQXJkL3m0PvvAo6CiT/LM= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2bbb933-c419-43da-17a0-08da6f539167 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:54.1423 (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: HE1PR0102MB2716 Subject: [FFmpeg-devel] [PATCH 36/39] avcodec/motion_est: Constify pointers to frame data 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: 0RT3A2qeyOlk Signed-off-by: Andreas Rheinhardt --- libavcodec/motion_est.c | 31 +++++++++++++++++-------------- libavcodec/motion_est.h | 4 ++-- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index 0903536697..29ab41dc8c 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -79,7 +79,10 @@ static int minima_cmp(const void *a, const void *b){ #define FLAG_CHROMA 2 #define FLAG_DIRECT 4 -static inline void init_ref(MotionEstContext *c, uint8_t *src[3], uint8_t *ref[3], uint8_t *ref2[3], int x, int y, int ref_index){ +static inline void init_ref(MotionEstContext *c, uint8_t *const src[3], + uint8_t *const ref[3], uint8_t *const ref2[3], + int x, int y, int ref_index) +{ const int offset[3]= { y*c-> stride + x, ((y*c->uvstride + x)>>1), @@ -110,8 +113,8 @@ static av_always_inline int cmp_direct_inline(MpegEncContext *s, const int x, co const int stride= c->stride; const int hx = subx + x * (1 << (1 + qpel)); const int hy = suby + y * (1 << (1 + qpel)); - uint8_t * const * const ref= c->ref[ref_index]; - uint8_t * const * const src= c->src[src_index]; + const uint8_t * const * const ref = c->ref[ref_index]; + const uint8_t * const * const src = c->src[src_index]; int d; //FIXME check chroma 4mv, (no crashes ...) av_assert2(x >= c->xmin && hx <= c->xmax<<(qpel+1) && y >= c->ymin && hy <= c->ymax<<(qpel+1)); @@ -184,8 +187,8 @@ static av_always_inline int cmp_inline(MpegEncContext *s, const int x, const int const int dxy= subx + (suby<<(1+qpel)); //FIXME log2_subpel? const int hx= subx + x*(1<<(1+qpel)); const int hy= suby + y*(1<<(1+qpel)); - uint8_t * const * const ref= c->ref[ref_index]; - uint8_t * const * const src= c->src[src_index]; + const uint8_t * const * const ref = c->ref[ref_index]; + const uint8_t * const * const src = c->src[src_index]; int d; //FIXME check chroma 4mv, (no crashes ...) int uvdxy; /* no, it might not be used uninitialized */ @@ -396,7 +399,7 @@ static int sad_hpel_motion_search(MpegEncContext * s, MotionEstContext * const c= &s->me; const int penalty_factor= c->sub_penalty_factor; int mx, my, dminh; - uint8_t *pix, *ptr; + const uint8_t *pix, *ptr; int stride= c->stride; LOAD_COMMON @@ -641,7 +644,7 @@ static inline int h263_mv4_search(MpegEncContext *s, int mx, int my, int shift) const int offset= ((block&1) + (block>>1)*stride)*8; uint8_t *dest_y = c->scratchpad + offset; if(s->quarter_sample){ - uint8_t *ref= c->ref[block][0] + (mx4>>2) + (my4>>2)*stride; + const uint8_t *ref = c->ref[block][0] + (mx4>>2) + (my4>>2)*stride; dxy = ((my4 & 3) << 2) | (mx4 & 3); if(s->no_rounding) @@ -649,7 +652,7 @@ static inline int h263_mv4_search(MpegEncContext *s, int mx, int my, int shift) else s->qdsp.put_qpel_pixels_tab[1][dxy](dest_y, ref, stride); }else{ - uint8_t *ref= c->ref[block][0] + (mx4>>1) + (my4>>1)*stride; + const uint8_t *ref = c->ref[block][0] + (mx4>>1) + (my4>>1)*stride; dxy = ((my4 & 1) << 1) | (mx4 & 1); if(s->no_rounding) @@ -805,7 +808,7 @@ static int interlaced_search(MpegEncContext *s, int ref_index, int dxy; //FIXME chroma ME - uint8_t *ref= c->ref[field_select+ref_index][0] + (mx_i>>1) + (my_i>>1)*stride; + const uint8_t *ref = c->ref[field_select+ref_index][0] + (mx_i>>1) + (my_i>>1)*stride; dxy = ((my_i & 1) << 1) | (mx_i & 1); if(s->no_rounding){ @@ -885,7 +888,7 @@ void ff_estimate_p_frame_motion(MpegEncContext * s, int mb_x, int mb_y) { MotionEstContext * const c= &s->me; - uint8_t *pix, *ppix; + const uint8_t *pix, *ppix; int sum, mx = 0, my = 0, dmin = 0; int varc; ///< the variance of the block (sum of squared (p[y][x]-average)) int vard; ///< sum of squared differences with the estimated motion vector @@ -1187,13 +1190,13 @@ static inline int check_bidir_mv(MpegEncContext * s, const uint8_t * const mv_penalty_b = c->mv_penalty[s->b_code] + MAX_DMV; // f_code of the prev frame int stride= c->stride; uint8_t *dest_y = c->scratchpad; - uint8_t *ptr; + const uint8_t *ptr; int dxy; int src_x, src_y; int fbmin; - uint8_t **src_data= c->src[0]; - uint8_t **ref_data= c->ref[0]; - uint8_t **ref2_data= c->ref[2]; + const uint8_t *const *src_data = c->src[0]; + const uint8_t *const *ref_data = c->ref[0]; + const uint8_t *const *ref2_data = c->ref[2]; if(s->quarter_sample){ dxy = ((motion_fy & 3) << 2) | (motion_fx & 3); diff --git a/libavcodec/motion_est.h b/libavcodec/motion_est.h index d0950bf7e6..292bdc70e9 100644 --- a/libavcodec/motion_est.h +++ b/libavcodec/motion_est.h @@ -77,8 +77,8 @@ typedef struct MotionEstContext { int ymax; int pred_x; int pred_y; - uint8_t *src[4][4]; - uint8_t *ref[4][4]; + const uint8_t *src[4][4]; + const uint8_t *ref[4][4]; int stride; int uvstride; /* temp variables for picture complexity calculation */ From patchwork Tue Jul 26 22:08:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37002 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234607pzb; Wed, 27 Jul 2022 02:36:47 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sbYK0bROpIyjpse0wD0R9hXK3P0HXqbXY5yvwIJnGRTQU1DnI6pX8wB9k2UX2Ig1mEdeXH X-Received: by 2002:a05:6402:3514:b0:43b:d87c:7a99 with SMTP id b20-20020a056402351400b0043bd87c7a99mr21319413edd.43.1658914607001; Wed, 27 Jul 2022 02:36: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 ht20-20020a170907609400b0072b7dab918csi19824479ejc.255.2022.07.27.02.36.46; Wed, 27 Jul 2022 02:36:46 -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=NYRziRH7; 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 D9D0068B894; Wed, 27 Jul 2022 12:33:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2098.outbound.protection.outlook.com [40.92.91.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D2BBA68B894 for ; Wed, 27 Jul 2022 12:32:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jbAVsijPFlFUcUDWYAIgxWg5xdIt46Ovx+WF++vnGRQWByMlywFDoEYT243LNrRklF+XUBWc8NETKU/jX4u19a5lkCOv/QcdXVbV1saLr7U2KnPXNxyfXHcGKjX7De1G7gW6lKvkZvgYaTcJWR9oXEncF5cDYz1mQVyhvhlZ0Fb704hmTatCQM5tLbuUUjg1dEpAvJYL5YdeLteUoHY3eJ/WQWSbvXh6kRNjO0iCIhQIbU4bD4NrrhrbKYWO0k+iCKD1WX8J6UU7ODPoj9kI5sno7TXyyr5+KaVLLGknzonpS7a6/dM97qYmJzR/fD+1eB/klEAJ6UiX/rCvlmfH5g== 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=sTUSMcy+c5lSobbH5WOO6F6cJcUZ5d7fDZGnaN+Mexo=; b=FUro+Uv/PJ8/sLGtK4+JY5+xokLaIP2yjUmc1Fa+3wuzf/fDpDnBPAtth97dZQvnLqKPahMVBTdIma9cKvPpUDm+V7qxCQw5mHOtPMr8aX6Yom3kqGzq8jhhxqWgLOvoKDn2HIm1Ui5EtzNZYTgZkJ1oCfsChjIUriZPqrvKCNY7isyecg18TfzflxSARL4TIKbJiScDhy9udn3cs1oOu4L0QLS/MmSAF5HpKkqe8E2OlblhRttmIJyuof6KlUBpgo7LEyHSw4gG1P0K2gi749ApuKBMio2FsO9baPyFgeVx38PzbqScwOM/yhvLFyZ8vz9OiPbgvgXhzGJJ9Ji/zA== 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=sTUSMcy+c5lSobbH5WOO6F6cJcUZ5d7fDZGnaN+Mexo=; b=NYRziRH73ICdKFuztkt5huLzFwfh9Si6BNH1Z3Eiaa8AvfC/RONRd3cSJCOrnWBwk00NiXrap9DjRFKag2q4GawFe8inrSAmTEzRi4KQQnz38NLVRl8RmD6nceFT2im7/LIJqp+10fYLhYLB3AkqeN4wE13NfTmjGnJ9umrBksTk+uplb0MkoEsTaBmHaq/iVAHXiSCg71nyzHIIrNeB/2auoFadNZns8hTfhT9uYjV2FRTVoNwcJgvyLtJjlJsHx0HjhotfGXNchr6EbK4aN+V5i/yNpG6qs33SliOfYu2cpfcYsdL4D7TrjDlgskRVpUDgi91n9x+TQbbz4pMiAg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by HE1PR0102MB2716.eurprd01.prod.exchangelabs.com (2603:10a6:7:1f::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.19; Tue, 26 Jul 2022 22:09:55 +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:55 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:12 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [kwLwYVTKWNBfOzcVlQGLsdnCBL9NM0Jp] 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-36-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 349afd10-e393-4bf0-5b81-08da6f539210 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/ULT2wyjUGO4RaZdS3jmh49tF3/vTDxXTR+D1Hmcg5agRWHJ0EEvPK5EUpIDdoXOV4UMLkOHROtxH2HVn0Yjgx7FtExDDm02HVh2RzmU1ybZCH2tEFmmTueUymVkEvmaX3S6jM+7k42kYCx247mQeCgGWikBvXsgezsMGPY9FBF2j29U6t075PLpuMHUtSMoLxsNnDiw7i6h+Uo41We0F6rXvsvArdwTosssvflRmjZm5hVoUaB8Rk3bbPd8VhxW7VCIIKCcSXSAKJLp9dc/9vcFvZrIYvC/Oo30DljvMS/2bpYyWqMUyNnCwWNv6NXdQPMrpiZXjD9QPI1lw3dc42y8ZyV6ulgl+Imzr2oCcMtK6nwvSOnsQfV14jOlCjzwvrss04JW+ys6d7FM5g18HI48jQfDR7HZlMNDD2KOMO6PcXITRhjYCZJ4QP0aGJ4QPbgomHazLbXYGIxhdrvkRgZOe52proq2498rPFf9PLMvevOJUDznLK4WCBDSsEPX09ds3WYky8cUNNDVrUo6Zjhb3kpwVOwcjLVzrxcVVJ1oQNq5fWWCcA/AeYRtDczzDj75umWlyQ+Ze2bbu5d0tCiJYsfl3yRCZdxh67GgOjMeZXksJHmeqbMZkrna3cHVP2JEZ2hZ+X2tNtgGF6w2d8EECJbND313tnQHz9jcQvMVyjOR/ymXyMi00VaANU1dFIhaFUg/ndvdHw== X-MS-TrafficTypeDiagnostic: HE1PR0102MB2716:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VqReVX6jBDrvkzGVxO+GZpl8FSjD6fLIMjFJhGlqeRH3dFdo3oOEnKpmoKJcgXyvtQbaO0PctiU+snh1ZpqJpKSxdCiXwU1euKQGebpJ181MIjc8BaWCB4HMrrRBDoOCB9CQ+k1In3/ygRvY9dEgf6mP2vMWrb2H9iasiV+iAWrNhkPLKgIlk+h4ubLAnk6FewjPKWs6p3XgwlkWQ0ilbUQ+ncpouqnOpwr+/gQHFzJUVw4ZiMEWr3VPQPR17N/rwGjZLK+HsS0XKmUQFrwqsJ5CcmnNXjgfTMgBo7dEj4Z3eokS26PAleKMMfG/R4oaL6rnKh3WQVvnk0yKQLMZlVcupH8sCMdlWeJ46MCuJnZfmvr2MvatkWyhykZVrjT127ENkXP/8LC2td6nRfUuMwmrDfrwF56CL3UipbAl8rsZnVbl3BgPsnSe9b90vgn6OpoOVU6u9Jv1NZ3+hDg7fY7bHAW5EP0AfpBaETgJ6PEtAqrBbU/DJpQtTCWXwu5tSmI1MuMnt2VHpNfMNJv5X6IvjU17YkHy35coEmL90tX5yuCjyOA5FnRL/tV+zBBcq+rUW0fX1Zxvcr2JSnO3TT73jOCueZs8Ian2bjlc5hcLxqP6V/6UQ69sw3oxds1IIWyN6VNi5CMf02GbKVdFSA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bORq/DivJS0yF4EGVivwuyuMKSaLAKovOWSxspen0+b/K276qT1uRDiNyqT8xrUTeQxawdNjPjppqRE1C5hTYVkXpbeVpDTrwrIThXwr/HH9+yDV9on7ACmMB1FRDo4h5ktkYAD4tTBao5GRFmKGtnmq6IGrY+1S0Nf1FOobpKP26UWgsFm7JWLAHUf3p7zlOyzzW+M1bfWgp5UEMqI9B4FtTBtkGMt08e2dPCDDvsAvJ/YWoDTWh1IG4GDuv+Us0vVZabGgufhWyzE3hS1bbOs9lq2Lzggrf6u3c6hDUjtYLwBhYdKYc904qzrgGFktW3KFcWSW46wiNQ3lcrPrDi9QxdAnExNdT+IJdUMsJzrvpR0Nrsnj/AeZmqMiD4WBq/LmGE4b4Es3XFNcUv5hRIhiStVhYtoZLXXTyCj23wkmzErVd+8+28FWoBjs8vcf/xHRd3+fC5fpzAEaUziulAVIuyP1wGt4rtfWrn+J87rhYUqUnP+xtTz5hZ88MBLK9VhwFUKpvryrAaKNSliFrjbiwRCzu7AKcU+RcJrGZvQ70HUBSRUhutV+iqA2EKEp4hj5TrCdD/IkWEkskenKBHhv3i9PTjDJLqaYeyNHdLkJHATY1w+nDtsYMJxfb+AvdL4ve/+RTDsn0QKHVwZG0AlbB2jLmJ3Ccmf3f0q986Ev5f7HFNlHJ6Vxgk07BpCbCEjK1RppFadZUAy06dY9Ke2jQt7I7jLlzIUGRz4s3p2LcNySckZ1q0uncaHYaEfFf0uxTLNRXi4vi9Ejl9/ahi+AuKaK1ms3lk7EyUawCnBmFdBJNJwVzmrnnJQ9JnvctZ2Ww4rUIa3Pf+sPDup5/CNNy2+swNpWbM6H22Edq0nBTOCDbxYYHJH/PXNDadlYHc30JweXLkuw199D/U6H84UGxNiNgaB+t+AmvATdXcrqQjrlX8M8TtFRNMSQvVum+OJut8D/WXIhSL0pV1qI65c6MJpbzTu40BrnCwsDEJVcc0031qZ/dP1YlmXyB2GSILbHMXlAEjNuF0rnZLOszcm4X1ZqMYI9k0PO0RuW1kJHz1c3b2qrnNo/HRlnMzCuxz7IF2+r2/W6gGuynjmcK+FK4AwLgc7OpUJC4NoJC6r3j9bvsoTmSJPV6PG+kldhe7qhxxQqU9EYPS/mcIx2LTW/PhdvrtL771DwnerDm2fY0QjrGZIi7jlt3JU0QqNabgItivDfcde6a72zijBgWKKGIre/z+vU9Fq0kxQyvVoGonMb26kPsSsMGnU0uf7yUGe2Tp4YltZ48cqWFTtGtnqJX3lp/uvbGz9LHKmiVns= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 349afd10-e393-4bf0-5b81-08da6f539210 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:55.2673 (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: HE1PR0102MB2716 Subject: [FFmpeg-devel] [PATCH 37/39] avcodec/mpegvideo_motion: Constify ff_mpv_motion 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: fwjpjIK3zT7U Also constify the corresponding code in mpegvideo.c that handles lowres. (Unfortunately, not everything that is const could be constified: ref_picture could be made const uint8_t* const* if C allowed the safe automatic conversion from uint8_t**; and pix_op, qpix_op could be made to point to const function pointers, but C's handling of const in pointers to arrays is broken.) Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 24 ++++++++++---------- libavcodec/mpegvideo.h | 2 +- libavcodec/mpegvideo_motion.c | 41 ++++++++++++++++++----------------- libavcodec/wmv2.c | 4 ++-- libavcodec/wmv2.h | 2 +- 5 files changed, 37 insertions(+), 36 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 319934a114..1405176c06 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -916,12 +916,12 @@ void ff_mpv_common_end(MpegEncContext *s) static inline int hpel_motion_lowres(MpegEncContext *s, - uint8_t *dest, uint8_t *src, + uint8_t *dest, const uint8_t *src, int field_based, int field_select, int src_x, int src_y, int width, int height, ptrdiff_t stride, int h_edge_pos, int v_edge_pos, - int w, int h, h264_chroma_mc_func *pix_op, + int w, int h, const h264_chroma_mc_func *pix_op, int motion_x, int motion_y) { const int lowres = s->avctx->lowres; @@ -969,12 +969,12 @@ static av_always_inline void mpeg_motion_lowres(MpegEncContext *s, int field_based, int bottom_field, int field_select, - uint8_t **ref_picture, - h264_chroma_mc_func *pix_op, + uint8_t *const *ref_picture, + const h264_chroma_mc_func *pix_op, int motion_x, int motion_y, int h, int mb_y) { - uint8_t *ptr_y, *ptr_cb, *ptr_cr; + const uint8_t *ptr_y, *ptr_cb, *ptr_cr; int mx, my, src_x, src_y, uvsrc_x, uvsrc_y, sx, sy, uvsx, uvsy; ptrdiff_t uvlinesize, linesize; const int lowres = s->avctx->lowres; @@ -1103,8 +1103,8 @@ static av_always_inline void mpeg_motion_lowres(MpegEncContext *s, static inline void chroma_4mv_motion_lowres(MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture, - h264_chroma_mc_func * pix_op, + uint8_t *const *ref_picture, + const h264_chroma_mc_func * pix_op, int mx, int my) { const int lowres = s->avctx->lowres; @@ -1115,7 +1115,7 @@ static inline void chroma_4mv_motion_lowres(MpegEncContext *s, const int v_edge_pos = s->v_edge_pos >> lowres + 1; int emu = 0, src_x, src_y, sx, sy; ptrdiff_t offset; - uint8_t *ptr; + const uint8_t *ptr; if (s->quarter_sample) { mx /= 2; @@ -1172,8 +1172,8 @@ static inline void chroma_4mv_motion_lowres(MpegEncContext *s, static inline void MPV_motion_lowres(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - int dir, uint8_t **ref_picture, - h264_chroma_mc_func *pix_op) + int dir, uint8_t *const *ref_picture, + const h264_chroma_mc_func *pix_op) { int mx, my; int mb_x, mb_y, i; @@ -1242,7 +1242,7 @@ static inline void MPV_motion_lowres(MpegEncContext *s, break; case MV_TYPE_16X8: for (i = 0; i < 2; i++) { - uint8_t **ref2picture; + uint8_t *const *ref2picture; if (s->picture_structure == s->field_select[dir][i] + 1 || s->pict_type == AV_PICTURE_TYPE_B || s->first_field) { @@ -1492,7 +1492,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } if(lowres_flag){ - h264_chroma_mc_func *op_pix = s->h264chroma.put_h264_chroma_pixels_tab; + const h264_chroma_mc_func *op_pix = s->h264chroma.put_h264_chroma_pixels_tab; if (s->mv_dir & MV_DIR_FORWARD) { MPV_motion_lowres(s, dest_y, dest_cb, dest_cr, 0, s->last_picture.f->data, op_pix); diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 82889a0edd..287fd38bd3 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -586,7 +586,7 @@ void ff_init_block_index(MpegEncContext *s); void ff_mpv_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int dir, - uint8_t **ref_picture, + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], qpel_mc_func (*qpix_op)[16]); diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c index 9a450b7c8e..fe3bfc4454 100644 --- a/libavcodec/mpegvideo_motion.c +++ b/libavcodec/mpegvideo_motion.c @@ -36,9 +36,9 @@ static void gmc1_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture) + uint8_t *const *ref_picture) { - uint8_t *ptr; + const uint8_t *ptr; int src_x, src_y, motion_x, motion_y; ptrdiff_t offset, linesize, uvlinesize; int emu = 0; @@ -133,9 +133,9 @@ static void gmc1_motion(MpegEncContext *s, static void gmc_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture) + uint8_t *const *ref_picture) { - uint8_t *ptr; + const uint8_t *ptr; int linesize, uvlinesize; const int a = s->sprite_warping_accuracy; int ox, oy; @@ -232,7 +232,7 @@ void mpeg_motion_internal(MpegEncContext *s, int field_based, int bottom_field, int field_select, - uint8_t **ref_picture, + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], int motion_x, int motion_y, @@ -241,7 +241,7 @@ void mpeg_motion_internal(MpegEncContext *s, int is_16x8, int mb_y) { - uint8_t *ptr_y, *ptr_cb, *ptr_cr; + const uint8_t *ptr_y, *ptr_cb, *ptr_cr; int dxy, uvdxy, mx, my, src_x, src_y, uvsrc_x, uvsrc_y, v_edge_pos, block_y_half; ptrdiff_t uvlinesize, linesize; @@ -369,7 +369,7 @@ void mpeg_motion_internal(MpegEncContext *s, /* apply one mpeg motion vector to the three components */ static void mpeg_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - int field_select, uint8_t **ref_picture, + int field_select, uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], int motion_x, int motion_y, int h, int is_16x8, int mb_y) { @@ -388,7 +388,7 @@ static void mpeg_motion(MpegEncContext *s, static void mpeg_motion_field(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int bottom_field, int field_select, - uint8_t **ref_picture, + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], int motion_x, int motion_y, int h, int mb_y) { @@ -489,12 +489,12 @@ static inline void qpel_motion(MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, int field_based, int bottom_field, - int field_select, uint8_t **ref_picture, + int field_select, uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], qpel_mc_func (*qpix_op)[16], int motion_x, int motion_y, int h) { - uint8_t *ptr_y, *ptr_cb, *ptr_cr; + const uint8_t *ptr_y, *ptr_cb, *ptr_cr; int dxy, uvdxy, mx, my, src_x, src_y, uvsrc_x, uvsrc_y, v_edge_pos; ptrdiff_t linesize, uvlinesize; @@ -593,11 +593,11 @@ static inline void qpel_motion(MpegEncContext *s, */ static void chroma_4mv_motion(MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture, + uint8_t *const *ref_picture, op_pixels_func *pix_op, int mx, int my) { - uint8_t *ptr; + const uint8_t *ptr; int src_x, src_y, dxy, emu = 0; ptrdiff_t offset; @@ -643,7 +643,7 @@ static void chroma_4mv_motion(MpegEncContext *s, pix_op[dxy](dest_cr, ptr, s->uvlinesize, 8); } -static inline void prefetch_motion(MpegEncContext *s, uint8_t **pix, int dir) +static inline void prefetch_motion(MpegEncContext *s, uint8_t *const *pix, int dir) { /* fetch pixels for estimated mv 4 macroblocks ahead * optimized for 64byte cache lines */ @@ -661,11 +661,11 @@ static inline void apply_obmc(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture, + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4]) { LOCAL_ALIGNED_8(int16_t, mv_cache, [4], [4][2]); - Picture *cur_frame = &s->current_picture; + const Picture *cur_frame = &s->current_picture; int mb_x = s->mb_x; int mb_y = s->mb_y; const int xy = mb_x + mb_y * s->mb_stride; @@ -749,7 +749,7 @@ static inline void apply_8x8(MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, int dir, - uint8_t **ref_picture, + uint8_t *const *ref_picture, qpel_mc_func (*qpix_op)[16], op_pixels_func (*pix_op)[4]) { @@ -757,7 +757,8 @@ static inline void apply_8x8(MpegEncContext *s, int i; int mb_x = s->mb_x; int mb_y = s->mb_y; - uint8_t *ptr, *dest; + uint8_t *dest; + const uint8_t *ptr; mx = 0; my = 0; @@ -833,7 +834,7 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, int dir, - uint8_t **ref_picture, + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], qpel_mc_func (*qpix_op)[16], int is_mpeg12) @@ -912,7 +913,7 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, case MV_TYPE_16X8: if (CONFIG_SMALL || is_mpeg12) { for (i = 0; i < 2; i++) { - uint8_t **ref2picture; + uint8_t *const *ref2picture; if ((s->picture_structure == s->field_select[dir][i] + 1 || s->pict_type == AV_PICTURE_TYPE_B || s->first_field) && @@ -974,7 +975,7 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, void ff_mpv_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int dir, - uint8_t **ref_picture, + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], qpel_mc_func (*qpix_op)[16]) { diff --git a/libavcodec/wmv2.c b/libavcodec/wmv2.c index 8d1d117dea..5fea009e12 100644 --- a/libavcodec/wmv2.c +++ b/libavcodec/wmv2.c @@ -49,11 +49,11 @@ av_cold void ff_wmv2_common_init(MpegEncContext *s) void ff_mspel_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture, op_pixels_func (*pix_op)[4], + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], int motion_x, int motion_y, int h) { WMV2Context *const w = s->private_ctx; - uint8_t *ptr; + const uint8_t *ptr; int dxy, mx, my, src_x, src_y, v_edge_pos; ptrdiff_t offset, linesize, uvlinesize; int emu = 0; diff --git a/libavcodec/wmv2.h b/libavcodec/wmv2.h index cdd58cf011..e49b81cdfb 100644 --- a/libavcodec/wmv2.h +++ b/libavcodec/wmv2.h @@ -39,7 +39,7 @@ void ff_wmv2_common_init(MpegEncContext *s); void ff_mspel_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, - uint8_t **ref_picture, op_pixels_func (*pix_op)[4], + uint8_t *const *ref_picture, op_pixels_func (*pix_op)[4], int motion_x, int motion_y, int h); From patchwork Tue Jul 26 22:08:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37003 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp234659pzb; Wed, 27 Jul 2022 02:36:57 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tE4TN3DdNURt4m4FW9+1UOvsNOXe1qeN/GjdY8R5tn4ZaoBsyEdoK3dDlpd0mhMphEnjXx X-Received: by 2002:a05:6402:d05:b0:435:b2a6:94eb with SMTP id eb5-20020a0564020d0500b00435b2a694ebmr21824466edb.87.1658914616884; Wed, 27 Jul 2022 02:36:56 -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 q5-20020a170906b28500b007263a6115adsi9857326ejz.893.2022.07.27.02.36.56; Wed, 27 Jul 2022 02:36:56 -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=VPUeSLU3; 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 DB91668B71A; Wed, 27 Jul 2022 12:33:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2098.outbound.protection.outlook.com [40.92.91.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED15F68B894 for ; Wed, 27 Jul 2022 12:33:00 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D7k/ZludYWWO4tJUf0+T0Io5pjCMP83M2ZPaf8h0j5wjLd958o6NkxPnQEZVhxQ3XaaM048ebAh3Rn7eI6t2sJ/g7+oH5J5kKEjXOF9y2aF2uaEN4SZfWDdExssoW0sOtlCGsr9VN0xUe6pb6uvr+NXD2Ct5NbYACAq1HwG+9/o+Rt753fb8y3lLutT8bOwSfiTD7ohN/lKPQUa3deh6QU3L/ehT5F9VShC3iUhBh9OYssPRDi7YHFn30/DZN7kVKC1AOfT3RvaS2GjFUkECE4Ka1Nd+p2R+jTQTQA9aiCNwNHUA2fvmxqXs1XVpR8yEe+9SEkYnVRJyNkLCQqv3Cw== 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=By2ZyjMtHbTl0YkgRAF62NlZdRdZnD7erQ4pQwYYAhQ=; b=gm0qwoQrA/qy5kT6yTZKwGMZXKXm8JvfsChbZMbGelVxXbbB10pXJb1T/Db4YqNSzzB4AT9JCrVEI70uaTrVVW3CWUvLVFicsoKLrYy0fpoMD7lbinKsRuP4ddgdGmI/oAzW8jIIAVr22Sz+vSax7n1LEuJf0txzNGl3CApeCucOdTiOsNN6/VXriImJCx/VkQYICRBV7u2Lz+7KgkrOUO9eF2L9gSBZ7CnIY9gIGq+fChkSCrLAmCQnLhpvo/bONsK6p0EgBNdhiunkHNXe1poFbYbsDADGcS2vcgOKlX5IBHHsAjrLMEjItBB3YP56gR+Ri/Ql+QkuBKZN1Kw37w== 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=By2ZyjMtHbTl0YkgRAF62NlZdRdZnD7erQ4pQwYYAhQ=; b=VPUeSLU3rI1NNP4uBJ/aWD5nhCUXKJZlbqtn/Fh5g5j6yzJNcyClXeSIPwA2gf50voead8THSAjEiW4pr4Cmcl1IvpPi0Vm1gCZ8inJoSV88lsKORB/0Su9zaFPvRd2704m+XGjIat988RzKVqrSKhqWWOBjdVZyIA2qbZ6OPM01L89p+w/mQA2buoIHcQUgjGvw/RylQg4bswnL94kVd3vHCOQQIXQ7woSOn7ec/CMFA3X+3T2JhvmsEYLJ/yWACA59xW89N4x88kuDDlRnLaEaTydGtvw7OV+wFcKUCR8nbUC0sPfK9NAPivbi0ebDEnnDztvuwSMPSeI0G8Mpdg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by HE1PR0102MB2716.eurprd01.prod.exchangelabs.com (2603:10a6:7:1f::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.19; Tue, 26 Jul 2022 22:09:57 +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:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:08:13 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [p8w9SvTHjxmjgrk8t5Y1aSQdqUjNHHSM] 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-37-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1a88d19-debf-4f53-1cc3-08da6f53937d X-MS-Exchange-SLBlob-MailProps: apgo5D0uMOEwyGGkKDsLmRMJnSr7T/RuSmue0b16pYkGQFW2A12uqE57gx/rvNg5VTNZ7ibt6kUsqFylBKSDDi3ElWC5JwSoXdBsUl3l0pMD1T6HIqHv9xn2H2X4fwQ+QqGE+U5EbKuxm7JZm2o75fXGNY9YJQ5LY0lz3QS+uqKZ81e3koEoPYqlfqYUI3oacIuZuBfvyZmtv6xcO4ULBExiXVhGy39O4ketKLkruEzJjwT39dc1WBlOxQmR6k9HG0CQVWeqsFktHF097PLkYXZ5htCxGwu47TYyev4Pqf4QFy2NOWcoP9MacBj3IyDidwBdU2QzrGYMcXFf2WpHJDi8Jm4G2OzTOIyTcGLZLh28KT8KAjS0TjpVF+SzlLFXiBRm8tLmp3hGV0giF5K7dJAkBE/FAFvXmIF3kDtKn+mfgYraO0K/Yse9SDk7eALou20YHN8dQTyogJQK+X+g3/7E4peLbmtY81sf+COYVkN0RCOWzqw+Rl7L5UwrJtYXhZOxP/4dBVELLveOEXi4d3T+avJO3lLcaT1CMWXJOLg57DNzfVGKw2i5Yw3qpYGCFylDgQmn6PMI4KMGTDulsYi2rlsPbVZtkadn5IzAfXCELUCsNhp6GAXBG9GbJouM2d9dHefKOB7PmMQ+mBNSCpheNjWqKtiLbXAjSReAgbsbRWY2y0mNsvRFc+FZemzcyCkQ5qGzj8WkfeiQ74jsNpTtqeunBR9GPMhJ3/eWEnMd5xPP3M9rZF6FefJ9l6ldgc7H6spPpMCwKM/vNuLpdQ2SxKdK/0LprVGx352bDzFErr2RaGZJKmmIsdSOYXO6F42ecjccvhNP7NdFqzLIQdqhwnBwVexSili9goeLbyUa6+qi8ExO2O9m+n1icVaJ5+QUcT4FECwO0MJt8svwoBw2aS3KIzrLGcKS5d7ZEIIHxEFBGs+nvNz2ZPuza7KJS5JDD75MU8Sdi4ILYXw1gMC2MoiKiPrR0fW+W39KYQjA6eEEc1/zYg== X-MS-TrafficTypeDiagnostic: HE1PR0102MB2716:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RY1es4SjOWcfhRWzjm633M0qSOPU2TVI/0IyCp0v8okSP+iyCX+oBpW34ne0Q2xgk1eq0WbgkzKdhWmT0dni7Q8b6EKAbNzLJ0+2/L9rTvnUjuoY6YIzTxKgjke63wyrFFtpw5i0HqEDaz7Ebj16RKQahcpEuX9hmkHchgI9I+p25FDlPBetVmLDGaYFR2RQqrJx/gtw2XYP2h20/9Xa6NT1LYx8R0mXaVelP0kz3Sfic4fcR1CLJg89p8jcfWgTtCN0ggXCGihOTPyKgNK6Q1NzHuYHcayMis+3MKdu1JSYVnyq+89rqXk9t4BD2SKvLBwIG0vgKXq9w1DZAi7gHM4/CGuLY254Oy24Rd7SLdxtobb4txgyfQCTOh0h4zXoslU2WFQbrSV8w1vy/a3ZyaqE1+kykjbHVBbVIdhwlzXbkmE8GbRva4sRldlBq4MCGQaQpRtc5JEhNPmuH+U5zDz9sZgzwrJegYwPxexlTSqRAMsTYcz8dQlVUO3YmiAOimQ4r0ZUgbt2itjU3qFcHDzTkdlD/dn31+i89+6W2YeWdiNcOLLBmaGdskN/dcaq2JXA6UXsYy99lhciQDvbuwEMRukjVHLGkkiNsSUg5BkNI4KDWOmLmmLGHYqZt1qkHpKEywzUAFjw5j54oWvEbw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IAM4hOD7B+UFB15UUdVnDunENXGT9CrekgvysoX7sRWfLlhAw1bWKiqHdKfPUGzCeVoqlGXZX9HmlKqw37r/l0Vo5Ik0HBioXO4MNl2N2aI8ztWerZx40BzBxeZtr0FUXSFsyuTm8Rj3gDqw5CSLRWeMZNcp1VCUvP606mRSRpN23BLiqsETNPvc2a1qkuR/BIBjRrjyv4k5irC7x1US777clMoFuvDURG4xQ/SFNrLKGE6+nzltPfwSw0ZbchkO8QqpcuSlUUsKjxJznV6hcvRky/KQhqkGxKqbNoXJ0w81qGQJohX+TyA4KUuGt+77G1r4x7i856J71Hv5xyxeKrwoFEcBsmPkNmDowvTCK3Oc0woeWyo+bmq32HjnybSJQMdF2Ln/nsYyoPHGE8WbAZhLR8tkWLZMi5mieO46nn3K/ogwb8rncb2vbl53AqQQtU1pcRnuVhaU4EOxa8M6l1d5QbSSu7AKh40t+s1+uoyYx3k0D4yyXdIDevDSU5Ge1QD+Q7lbgC4In1qLR/otC8l1LlK2mjz3kqQOpc/5gGH0lr51IhjsJk9Zms1fzZxr67cVN0+vk4jpnUk3AS+zelUQuOwcHWlzxrJ6t3wADiDWytgxdGJYRxqJLMXek7XgcMrOa6l7Isze6dNMbdLzgBxh2GXg/co9xPR3ZBcwc23VQOkSvx3i4N/oZw4XJhJVARlXU5E05sBkmejr4yBtBNGaOzGPrlgSfpMdNPSEfz3jN9w+e6RgehbM8NvGMOkrKq7A07a6jMloSzHFHILk1Y6eirdQ9dxhmgSbiO+RUnyDkmeLxUx2oebahH5hQNxHFPzfB0asU5erwxkSA++SbhWxCIZC0p0gJJOxfpFCPogzOt/Rm7T8lj37Dd1Ssnq/N1PwSLRac1aKHawl+KlshRikw1eBr/8JJQMqqAqox9BkvSSTq215xA6ctINeML7c3+w+jsdn7RLTuv1hpzaE+oCX/PUVVx7TLUoP9g4LQ2afakR7FBtCkimlUrDS6Iqot97VotJVzYtkNE9VDLb+zSoT32lLO83RfGLMZgNGt49c8uW8htKkCzYqFI3dJI5jO93QotGMJ94c8xDJAIWI1+ICUBvvelF1AmeriHRrnmLjIsDi5Sr3r087KjP4Za5bsU7WbeqrDNJs5qOfHjAEx6QqrcGgA5cFrReU6uq2M64rbJJudJFyaVIRsQLrYCnf9o8biBr+xPDIB6/rbFqAp5dRrGXQKWuomvhxtK85HJNsS/4JWHjpPlquDZkQBOfuumuEiQ+XpwyaJylSeBiDLhoXI3/WjdgrcPvl8vfeFmE= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1a88d19-debf-4f53-1cc3-08da6f53937d 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:57.7671 (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: HE1PR0102MB2716 Subject: [FFmpeg-devel] [PATCH 38/39] avcodec: Constify frame->data pointers for encoders where possible 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: gPrCtkRsEPCD Signed-off-by: Andreas Rheinhardt --- libavcodec/a64multienc.c | 2 +- libavcodec/adpcmenc.c | 4 ++-- libavcodec/asvenc.c | 6 +++--- libavcodec/avuienc.c | 2 +- libavcodec/bmpenc.c | 3 ++- libavcodec/cfhdenc.c | 15 ++++++++------- libavcodec/cinepakenc.c | 2 +- libavcodec/cljrenc.c | 6 +++--- libavcodec/cngenc.c | 2 +- libavcodec/dfpwmenc.c | 2 +- libavcodec/dnxhdenc.c | 6 +++--- libavcodec/dnxhdenc.h | 2 +- libavcodec/dvenc.c | 11 +++++------ libavcodec/exrenc.c | 6 +++--- libavcodec/ffv1enc.c | 2 +- libavcodec/fitsenc.c | 4 ++-- libavcodec/flashsvenc.c | 5 ++--- libavcodec/huffyuvenc.c | 18 +++++++++--------- libavcodec/j2kenc.c | 12 ++++++------ libavcodec/libopusenc.c | 12 ++++++------ libavcodec/ljpegenc.c | 6 +++--- libavcodec/magicyuvenc.c | 3 ++- libavcodec/mlpenc.c | 4 ++-- libavcodec/mpeg4videoenc.c | 4 ++-- libavcodec/mpegvideo_enc.c | 24 ++++++++++++------------ libavcodec/msvideo1enc.c | 4 ++-- libavcodec/pamenc.c | 3 ++- libavcodec/pngenc.c | 16 ++++++++-------- libavcodec/pnmenc.c | 18 ++++++++---------- libavcodec/proresenc_anatoliy.c | 22 +++++++++++----------- libavcodec/qoienc.c | 3 ++- libavcodec/r210enc.c | 8 ++++---- libavcodec/rpzaenc.c | 29 +++++++++++++++-------------- libavcodec/sgienc.c | 6 +++--- libavcodec/snow.h | 2 +- libavcodec/snowenc.c | 14 +++++++------- libavcodec/svq1enc.c | 4 ++-- libavcodec/targaenc.c | 2 +- libavcodec/tiffenc.c | 4 ++-- libavcodec/utvideoenc.c | 4 ++-- libavcodec/v308enc.c | 2 +- libavcodec/v408enc.c | 2 +- libavcodec/v410enc.c | 2 +- libavcodec/vbnenc.c | 2 +- libavcodec/vc2enc.c | 2 +- libavcodec/wmaenc.c | 2 +- libavcodec/xbmenc.c | 3 ++- libavcodec/xwdenc.c | 3 ++- libavcodec/y41penc.c | 2 +- libavcodec/yuv4enc.c | 2 +- libavcodec/zmbvenc.c | 11 ++++++----- 51 files changed, 170 insertions(+), 165 deletions(-) diff --git a/libavcodec/a64multienc.c b/libavcodec/a64multienc.c index ba774bf59f..043ffabd7c 100644 --- a/libavcodec/a64multienc.c +++ b/libavcodec/a64multienc.c @@ -76,7 +76,7 @@ static void to_meta_with_crop(AVCodecContext *avctx, int luma = 0; int height = FFMIN(avctx->height, C64YRES); int width = FFMIN(avctx->width , C64XRES); - uint8_t *src = p->data[0]; + const uint8_t *src = p->data[0]; for (blocky = 0; blocky < C64YRES; blocky += 8) { for (blockx = 0; blockx < C64XRES; blockx += 8) { diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c index 169a95046d..e27febfd74 100644 --- a/libavcodec/adpcmenc.c +++ b/libavcodec/adpcmenc.c @@ -601,13 +601,13 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, { int st, pkt_size, ret; const int16_t *samples; - int16_t **samples_p; + const int16_t *const *samples_p; uint8_t *dst; ADPCMEncodeContext *c = avctx->priv_data; int channels = avctx->ch_layout.nb_channels; samples = (const int16_t *)frame->data[0]; - samples_p = (int16_t **)frame->extended_data; + samples_p = (const int16_t *const *)frame->extended_data; st = channels == 2; if (avctx->codec_id == AV_CODEC_ID_ADPCM_IMA_SSI || diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c index c6fd6a519e..8b94868c93 100644 --- a/libavcodec/asvenc.c +++ b/libavcodec/asvenc.c @@ -190,9 +190,9 @@ static inline void dct_get(ASV1Context *a, const AVFrame *frame, int linesize = frame->linesize[0]; int i; - uint8_t *ptr_y = frame->data[0] + (mb_y * 16 * linesize) + mb_x * 16; - uint8_t *ptr_cb = frame->data[1] + (mb_y * 8 * frame->linesize[1]) + mb_x * 8; - uint8_t *ptr_cr = frame->data[2] + (mb_y * 8 * frame->linesize[2]) + mb_x * 8; + const uint8_t *ptr_y = frame->data[0] + (mb_y * 16 * linesize) + mb_x * 16; + const uint8_t *ptr_cb = frame->data[1] + (mb_y * 8 * frame->linesize[1]) + mb_x * 8; + const uint8_t *ptr_cr = frame->data[2] + (mb_y * 8 * frame->linesize[2]) + mb_x * 8; a->pdsp.get_pixels(block[0], ptr_y, linesize); a->pdsp.get_pixels(block[1], ptr_y + 8, linesize); diff --git a/libavcodec/avuienc.c b/libavcodec/avuienc.c index a54612ff28..0357e682a9 100644 --- a/libavcodec/avuienc.c +++ b/libavcodec/avuienc.c @@ -72,7 +72,7 @@ static int avui_encode_frame(AVCodecContext *avctx, AVPacket *pkt, } for (i = 0; i <= interlaced; i++) { - uint8_t *src; + const uint8_t *src; if (interlaced && avctx->height == 486) { src = pic->data[0] + (1 - i) * pic->linesize[0]; } else { diff --git a/libavcodec/bmpenc.c b/libavcodec/bmpenc.c index 78f64edb1c..964f7cc2ad 100644 --- a/libavcodec/bmpenc.c +++ b/libavcodec/bmpenc.c @@ -72,7 +72,8 @@ static int bmp_encode_frame(AVCodecContext *avctx, AVPacket *pkt, uint32_t palette256[256]; int pad_bytes_per_row, pal_entries = 0, compression = BMP_RGB; int bit_count = avctx->bits_per_coded_sample; - uint8_t *ptr, *buf; + const uint8_t *ptr; + uint8_t *buf; switch (avctx->pix_fmt) { case AV_PIX_FMT_RGB444: diff --git a/libavcodec/cfhdenc.c b/libavcodec/cfhdenc.c index 3aad4d060f..c2f42c14dd 100644 --- a/libavcodec/cfhdenc.c +++ b/libavcodec/cfhdenc.c @@ -437,7 +437,8 @@ static int cfhd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, int a_width = s->plane[plane].band[2][0].a_width; int height = s->plane[plane].band[2][0].height; int act_plane = plane == 1 ? 2 : plane == 2 ? 1 : plane; - int16_t *input = (int16_t *)frame->data[act_plane]; + const int16_t *input = (int16_t *)frame->data[act_plane]; + int16_t *buf; int16_t *low = s->plane[plane].l_h[6]; int16_t *high = s->plane[plane].l_h[7]; ptrdiff_t in_stride = frame->linesize[act_plane] / 2; @@ -481,13 +482,13 @@ static int cfhd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, high = s->plane[plane].l_h[4]; high_stride = s->plane[plane].band[1][0].a_width; + buf = s->plane[plane].l_h[7]; for (int i = 0; i < height * 2; i++) { for (int j = 0; j < width * 2; j++) - input[j] /= 4; - input += a_width * 2; + buf[j] /= 4; + buf += a_width * 2; } - input = s->plane[plane].l_h[7]; dsp->horiz_filter(input, low, high, a_width * 2, low_stride, high_stride, width * 2, height * 2); @@ -518,14 +519,14 @@ static int cfhd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, high_stride = s->plane[plane].band[0][0].a_width; if (avctx->pix_fmt != AV_PIX_FMT_YUV422P10) { + int16_t *buf = s->plane[plane].l_h[4]; for (int i = 0; i < height * 2; i++) { for (int j = 0; j < width * 2; j++) - input[j] /= 4; - input += a_width * 2; + buf[j] /= 4; + buf += a_width * 2; } } - input = s->plane[plane].l_h[4]; dsp->horiz_filter(input, low, high, a_width * 2, low_stride, high_stride, width * 2, height * 2); diff --git a/libavcodec/cinepakenc.c b/libavcodec/cinepakenc.c index 1b7c901685..479e99389c 100644 --- a/libavcodec/cinepakenc.c +++ b/libavcodec/cinepakenc.c @@ -1019,7 +1019,7 @@ static int rd_frame(CinepakEncContext *s, const AVFrame *frame, // build a copy of the given frame in the correct colorspace for (y = 0; y < s->h; y += 2) for (x = 0; x < s->w; x += 2) { - uint8_t *ir[2]; + const uint8_t *ir[2]; int32_t r, g, b, rr, gg, bb; ir[0] = frame->data[0] + x * 3 + y * frame->linesize[0]; ir[1] = ir[0] + frame->linesize[0]; diff --git a/libavcodec/cljrenc.c b/libavcodec/cljrenc.c index 2d171a9376..f84191b427 100644 --- a/libavcodec/cljrenc.c +++ b/libavcodec/cljrenc.c @@ -63,9 +63,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, init_put_bits(&pb, pkt->data, pkt->size); for (y = 0; y < avctx->height; y++) { - uint8_t *luma = &p->data[0][y * p->linesize[0]]; - uint8_t *cb = &p->data[1][y * p->linesize[1]]; - uint8_t *cr = &p->data[2][y * p->linesize[2]]; + const uint8_t *luma = &p->data[0][y * p->linesize[0]]; + const uint8_t *cb = &p->data[1][y * p->linesize[1]]; + const uint8_t *cr = &p->data[2][y * p->linesize[2]]; uint8_t luma_tmp[4]; for (x = 0; x < avctx->width; x += 4) { switch (a->dither_type) { diff --git a/libavcodec/cngenc.c b/libavcodec/cngenc.c index 98987238dd..7bb4bee857 100644 --- a/libavcodec/cngenc.c +++ b/libavcodec/cngenc.c @@ -67,7 +67,7 @@ static int cng_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, int ret, i; double energy = 0; int qdbov; - int16_t *samples = (int16_t*) frame->data[0]; + const int16_t *samples = (const int16_t*) frame->data[0]; if ((ret = ff_get_encode_buffer(avctx, avpkt, 1 + p->order, 0))) { av_log(avctx, AV_LOG_ERROR, "Error getting output packet\n"); diff --git a/libavcodec/dfpwmenc.c b/libavcodec/dfpwmenc.c index 0465dc23ac..41ad645315 100644 --- a/libavcodec/dfpwmenc.c +++ b/libavcodec/dfpwmenc.c @@ -39,7 +39,7 @@ typedef struct { // Licensed in the public domain // note, len denotes how many compressed bytes there are (uncompressed bytes / 8). -static void au_compress(DFPWMState *state, int len, uint8_t *outbuf, uint8_t *inbuf) +static void au_compress(DFPWMState *state, int len, uint8_t *outbuf, const uint8_t *inbuf) { unsigned d = 0; for (int i = 0; i < len; i++) { diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c index 7e02ff23d6..5029e510ef 100644 --- a/libavcodec/dnxhdenc.c +++ b/libavcodec/dnxhdenc.c @@ -944,7 +944,7 @@ static int dnxhd_mb_var_thread(AVCodecContext *avctx, void *arg, ctx = ctx->thread[threadnr]; if (ctx->bit_depth == 8) { - uint8_t *pix = ctx->thread[0]->src[0] + ((mb_y << 4) * ctx->m.linesize); + const uint8_t *pix = ctx->thread[0]->src[0] + ((mb_y << 4) * ctx->m.linesize); for (mb_x = 0; mb_x < ctx->m.mb_width; ++mb_x, pix += 16) { unsigned mb = mb_y * ctx->m.mb_width + mb_x; int sum; @@ -973,8 +973,8 @@ static int dnxhd_mb_var_thread(AVCodecContext *avctx, void *arg, } else { // 10-bit const int linesize = ctx->m.linesize >> 1; for (mb_x = 0; mb_x < ctx->m.mb_width; ++mb_x) { - uint16_t *pix = (uint16_t *)ctx->thread[0]->src[0] + - ((mb_y << 4) * linesize) + (mb_x << 4); + const uint16_t *pix = (const uint16_t *)ctx->thread[0]->src[0] + + ((mb_y << 4) * linesize) + (mb_x << 4); unsigned mb = mb_y * ctx->m.mb_width + mb_x; int sum = 0; int sqsum = 0; diff --git a/libavcodec/dnxhdenc.h b/libavcodec/dnxhdenc.h index 7726a3915f..e581312ce4 100644 --- a/libavcodec/dnxhdenc.h +++ b/libavcodec/dnxhdenc.h @@ -86,7 +86,7 @@ typedef struct DNXHDEncContext { uint16_t (*qmatrix_c16)[2][64]; unsigned frame_bits; - uint8_t *src[3]; + const uint8_t *src[3]; uint32_t *orig_vlc_codes; uint8_t *orig_vlc_bits; diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c index f51bd82488..5ba4de3213 100644 --- a/libavcodec/dvenc.c +++ b/libavcodec/dvenc.c @@ -217,7 +217,7 @@ static av_always_inline PutBitContext *dv_encode_ac(EncBlockInfo *bi, return pb; } -static av_always_inline int dv_guess_dct_mode(DVVideoContext *s, uint8_t *data, +static av_always_inline int dv_guess_dct_mode(DVVideoContext *s, const uint8_t *data, ptrdiff_t linesize) { if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { @@ -506,7 +506,7 @@ static inline void dv_set_class_number_hd(DVVideoContext *s, bi->cno = 0; } -static av_always_inline int dv_init_enc_block(EncBlockInfo* bi, uint8_t *data, int linesize, +static av_always_inline int dv_init_enc_block(EncBlockInfo* bi, const uint8_t *data, int linesize, DVVideoContext *s, int chroma) { LOCAL_ALIGNED_16(int16_t, blk, [64]); @@ -849,7 +849,7 @@ static int dv_encode_video_segment(AVCodecContext *avctx, void *arg) int mb_index, i, j; int mb_x, mb_y, c_offset; ptrdiff_t linesize, y_stride; - uint8_t *y_ptr; + const uint8_t *y_ptr; uint8_t *dif, *p; LOCAL_ALIGNED_8(uint8_t, scratch, [128]); EncBlockInfo enc_blks[5 * DV_MAX_BPM]; @@ -908,14 +908,13 @@ static int dv_encode_video_segment(AVCodecContext *avctx, void *arg) c_offset = ((mb_y >> (s->sys->pix_fmt == AV_PIX_FMT_YUV420P)) * s->frame->linesize[1] + (mb_x >> ((s->sys->pix_fmt == AV_PIX_FMT_YUV411P) ? 2 : 1))) * 8; for (j = 2; j; j--) { - uint8_t *c_ptr = s->frame->data[j] + c_offset; + const uint8_t *c_ptr = s->frame->data[j] + c_offset; linesize = s->frame->linesize[j]; y_stride = (mb_y == 134) ? 8 : (s->frame->linesize[j] * (1 << (3*!enc_blk->dct_mode))); if (s->sys->pix_fmt == AV_PIX_FMT_YUV411P && mb_x >= (704 / 8)) { - uint8_t *d; uint8_t *b = scratch; for (i = 0; i < 8; i++) { - d = c_ptr + linesize * 8; + const uint8_t *d = c_ptr + linesize * 8; b[0] = c_ptr[0]; b[1] = c_ptr[1]; b[2] = c_ptr[2]; diff --git a/libavcodec/exrenc.c b/libavcodec/exrenc.c index 708404b38f..8cf7827bb6 100644 --- a/libavcodec/exrenc.c +++ b/libavcodec/exrenc.c @@ -253,7 +253,7 @@ static int encode_scanline_rle(EXRContext *s, const AVFrame *frame) for (int p = 0; p < s->planes; p++) { int ch = s->ch_order[p]; uint16_t *dst = (uint16_t *)(scanline->uncompressed_data + frame->width * 2 * p); - uint32_t *src = (uint32_t *)(frame->data[ch] + y * frame->linesize[ch]); + const uint32_t *src = (const uint32_t *)(frame->data[ch] + y * frame->linesize[ch]); for (int x = 0; x < frame->width; x++) dst[x] = float2half(src[x], s->basetable, s->shifttable); @@ -321,7 +321,7 @@ static int encode_scanline_zip(EXRContext *s, const AVFrame *frame) for (int p = 0; p < s->planes; p++) { int ch = s->ch_order[p]; uint16_t *dst = (uint16_t *)(scanline->uncompressed_data + scanline_size * l + p * frame->width * 2); - uint32_t *src = (uint32_t *)(frame->data[ch] + (y * s->scanline_height + l) * frame->linesize[ch]); + const uint32_t *src = (const uint32_t *)(frame->data[ch] + (y * s->scanline_height + l) * frame->linesize[ch]); for (int x = 0; x < frame->width; x++) dst[x] = float2half(src[x], s->basetable, s->shifttable); @@ -479,7 +479,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, bytestream2_put_le32(pb, s->planes * avctx->width * 2); for (int p = 0; p < s->planes; p++) { int ch = s->ch_order[p]; - uint32_t *src = (uint32_t *)(frame->data[ch] + y * frame->linesize[ch]); + const uint32_t *src = (const uint32_t *)(frame->data[ch] + y * frame->linesize[ch]); for (int x = 0; x < frame->width; x++) bytestream2_put_le16(pb, float2half(src[x], s->basetable, s->shifttable)); diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 96da4d0203..ec06636db5 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -270,7 +270,7 @@ static inline void put_vlc_symbol(PutBitContext *pb, VlcState *const state, #define RENAME(name) name ## 32 #include "ffv1enc_template.c" -static int encode_plane(FFV1Context *s, uint8_t *src, int w, int h, +static int encode_plane(FFV1Context *s, const uint8_t *src, int w, int h, int stride, int plane_index, int pixel_stride) { int x, y, i, ret; diff --git a/libavcodec/fitsenc.c b/libavcodec/fitsenc.c index 6e0597c8ca..30395b0a43 100644 --- a/libavcodec/fitsenc.c +++ b/libavcodec/fitsenc.c @@ -38,7 +38,7 @@ static int fits_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *p, int *got_packet) { - uint8_t *bytestream, *ptr; + uint8_t *bytestream; const uint16_t flip = (1 << 15); uint64_t data_size = 0, padded_data_size = 0; int ret, bitpix, naxis3 = 1, i, j, k, bytes_left; @@ -87,7 +87,7 @@ static int fits_encode_frame(AVCodecContext *avctx, AVPacket *pkt, for (k = 0; k < naxis3; k++) { for (i = 0; i < avctx->height; i++) { - ptr = p->data[map[k]] + (avctx->height - i - 1) * p->linesize[map[k]]; + const uint8_t *ptr = p->data[map[k]] + (avctx->height - i - 1) * p->linesize[map[k]]; if (bitpix == 16) { for (j = 0; j < avctx->width; j++) { // subtracting bzero is equivalent to first bit flip diff --git a/libavcodec/flashsvenc.c b/libavcodec/flashsvenc.c index 12db53bb8f..11a6e2b134 100644 --- a/libavcodec/flashsvenc.c +++ b/libavcodec/flashsvenc.c @@ -66,16 +66,15 @@ typedef struct FlashSVContext { uint8_t tmpblock[3 * 256 * 256]; } FlashSVContext; -static int copy_region_enc(uint8_t *sptr, uint8_t *dptr, int dx, int dy, +static int copy_region_enc(const uint8_t *sptr, uint8_t *dptr, int dx, int dy, int h, int w, int stride, uint8_t *pfptr) { int i, j; - uint8_t *nsptr; uint8_t *npfptr; int diff = 0; for (i = dx + h; i > dx; i--) { - nsptr = sptr + i * stride + dy * 3; + const uint8_t *nsptr = sptr + i * stride + dy * 3; npfptr = pfptr + i * stride + dy * 3; for (j = 0; j < w * 3; j++) { diff |= npfptr[j] ^ nsptr[j]; diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c index a9aa00a5df..c585d007b4 100644 --- a/libavcodec/huffyuvenc.c +++ b/libavcodec/huffyuvenc.c @@ -119,7 +119,7 @@ static inline void sub_left_prediction_bgr32(HYuvContext *s, uint8_t *dst, } static inline void sub_left_prediction_rgb24(HYuvContext *s, uint8_t *dst, - uint8_t *src, int w, + const uint8_t *src, int w, int *red, int *green, int *blue) { int i; @@ -789,7 +789,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, y++; cy++; for (; y < height; y++,cy++) { - uint8_t *ydst, *udst, *vdst; + const uint8_t *ydst, *udst, *vdst; if (s->bitstream_bpp == 12) { while (2 * cy > y) { @@ -812,7 +812,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, } } else { for (cy = y = 1; y < height; y++, cy++) { - uint8_t *ydst, *udst, *vdst; + const uint8_t *ydst, *udst, *vdst; /* encode a luma only line & y++ */ if (s->bitstream_bpp == 12) { @@ -852,7 +852,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, } } } else if(avctx->pix_fmt == AV_PIX_FMT_RGB32) { - uint8_t *data = p->data[0] + (height - 1) * p->linesize[0]; + const uint8_t *data = p->data[0] + (height - 1) * p->linesize[0]; const int stride = -p->linesize[0]; const int fake_stride = -fake_ystride; int y; @@ -868,7 +868,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, encode_bgra_bitstream(s, width - 1, 4); for (y = 1; y < s->height; y++) { - uint8_t *dst = data + y*stride; + const uint8_t *dst = data + y*stride; if (s->predictor == PLANE && s->interlaced < y) { s->llvidencdsp.diff_bytes(s->temp[1], dst, dst - fake_stride, width * 4); sub_left_prediction_bgr32(s, s->temp[0], s->temp[1], width, @@ -880,7 +880,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, encode_bgra_bitstream(s, width, 4); } } else if (avctx->pix_fmt == AV_PIX_FMT_RGB24) { - uint8_t *data = p->data[0] + (height - 1) * p->linesize[0]; + const uint8_t *data = p->data[0] + (height - 1) * p->linesize[0]; const int stride = -p->linesize[0]; const int fake_stride = -fake_ystride; int y; @@ -896,7 +896,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, encode_bgra_bitstream(s, width-1, 3); for (y = 1; y < s->height; y++) { - uint8_t *dst = data + y * stride; + const uint8_t *dst = data + y * stride; if (s->predictor == PLANE && s->interlaced < y) { s->llvidencdsp.diff_bytes(s->temp[1], dst, dst - fake_stride, width * 3); @@ -939,7 +939,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, lefttop = p->data[plane][0]; for (; y < h; y++) { - uint8_t *dst = p->data[plane] + p->linesize[plane] * y; + const uint8_t *dst = p->data[plane] + p->linesize[plane] * y; sub_median_prediction(s, s->temp[0], dst - fake_stride, dst, w , &left, &lefttop); @@ -947,7 +947,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, } } else { for (y = 1; y < h; y++) { - uint8_t *dst = p->data[plane] + p->linesize[plane] * y; + const uint8_t *dst = p->data[plane] + p->linesize[plane] * y; if (s->predictor == PLANE && s->interlaced < y) { diff_bytes(s, s->temp[1], dst, dst - fake_stride, w); diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c index 20eb336b8d..5ef7f24b6d 100644 --- a/libavcodec/j2kenc.c +++ b/libavcodec/j2kenc.c @@ -507,7 +507,7 @@ static int init_tiles(Jpeg2000EncoderContext *s) static void copy_frame_ ##D(Jpeg2000EncoderContext *s) \ { \ int tileno, compno, i, y, x; \ - PIXEL *line; \ + const PIXEL *line; \ for (tileno = 0; tileno < s->numXtiles * s->numYtiles; tileno++){ \ Jpeg2000Tile *tile = s->tile + tileno; \ if (s->planar){ \ @@ -515,23 +515,23 @@ static int init_tiles(Jpeg2000EncoderContext *s) Jpeg2000Component *comp = tile->comp + compno; \ int *dst = comp->i_data; \ int cbps = s->cbps[compno]; \ - line = (PIXEL*)s->picture->data[compno] \ + line = (const PIXEL*)s->picture->data[compno] \ + comp->coord[1][0] * (s->picture->linesize[compno] / sizeof(PIXEL)) \ + comp->coord[0][0]; \ for (y = comp->coord[1][0]; y < comp->coord[1][1]; y++){ \ - PIXEL *ptr = line; \ + const PIXEL *ptr = line; \ for (x = comp->coord[0][0]; x < comp->coord[0][1]; x++) \ *dst++ = *ptr++ - (1 << (cbps - 1)); \ line += s->picture->linesize[compno] / sizeof(PIXEL); \ } \ } \ } else{ \ - line = (PIXEL*)s->picture->data[0] + tile->comp[0].coord[1][0] * (s->picture->linesize[0] / sizeof(PIXEL)) \ + line = (const PIXEL*)(s->picture->data[0] + tile->comp[0].coord[1][0] * s->picture->linesize[0]) \ + tile->comp[0].coord[0][0] * s->ncomponents; \ \ i = 0; \ for (y = tile->comp[0].coord[1][0]; y < tile->comp[0].coord[1][1]; y++){ \ - PIXEL *ptr = line; \ + const PIXEL *ptr = line; \ for (x = tile->comp[0].coord[0][0]; x < tile->comp[0].coord[0][1]; x++, i++){ \ for (compno = 0; compno < s->ncomponents; compno++){ \ int cbps = s->cbps[compno]; \ @@ -1597,7 +1597,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, update_size(chunkstart, s->buf); if (avctx->pix_fmt == AV_PIX_FMT_PAL8) { int i; - uint8_t *palette = pict->data[1]; + const uint8_t *palette = pict->data[1]; chunkstart = s->buf; bytestream_put_be32(&s->buf, 0); bytestream_put_buffer(&s->buf, "pclr", 4); diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c index 48dd32fc38..b8ab184109 100644 --- a/libavcodec/libopusenc.c +++ b/libavcodec/libopusenc.c @@ -459,7 +459,7 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt, const int bytes_per_sample = av_get_bytes_per_sample(avctx->sample_fmt); const int channels = avctx->ch_layout.nb_channels; const int sample_size = channels * bytes_per_sample; - uint8_t *audio; + const uint8_t *audio; int ret; int discard_padding; @@ -470,18 +470,18 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt, if (opus->encoder_channel_map != NULL) { audio = opus->samples; libopus_copy_samples_with_channel_map( - audio, frame->data[0], opus->encoder_channel_map, + opus->samples, frame->data[0], opus->encoder_channel_map, channels, frame->nb_samples, bytes_per_sample); } else if (frame->nb_samples < opus->opts.packet_size) { audio = opus->samples; - memcpy(audio, frame->data[0], frame->nb_samples * sample_size); + memcpy(opus->samples, frame->data[0], frame->nb_samples * sample_size); } else audio = frame->data[0]; } else { if (!opus->afq.remaining_samples || (!opus->afq.frame_alloc && !opus->afq.frame_count)) return 0; audio = opus->samples; - memset(audio, 0, opus->opts.packet_size * sample_size); + memset(opus->samples, 0, opus->opts.packet_size * sample_size); } /* Maximum packet size taken from opusenc in opus-tools. 120ms packets @@ -491,11 +491,11 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt, return ret; if (avctx->sample_fmt == AV_SAMPLE_FMT_FLT) - ret = opus_multistream_encode_float(opus->enc, (float *)audio, + ret = opus_multistream_encode_float(opus->enc, (const float *)audio, opus->opts.packet_size, avpkt->data, avpkt->size); else - ret = opus_multistream_encode(opus->enc, (opus_int16 *)audio, + ret = opus_multistream_encode(opus->enc, (const opus_int16 *)audio, opus->opts.packet_size, avpkt->data, avpkt->size); diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c index a167d1780e..26f42a2db6 100644 --- a/libavcodec/ljpegenc.c +++ b/libavcodec/ljpegenc.c @@ -78,7 +78,7 @@ static int ljpeg_encode_bgr(AVCodecContext *avctx, PutBitContext *pb, for (y = 0; y < height; y++) { const int modified_predictor = y ? s->pred : 1; - uint8_t *ptr = frame->data[0] + (linesize * y); + const uint8_t *ptr = frame->data[0] + (linesize * y); if (put_bytes_left(pb, 0) < width * 4 * 4) { av_log(avctx, AV_LOG_ERROR, "encoded frame too large\n"); @@ -132,7 +132,7 @@ static inline void ljpeg_encode_yuv_mb(LJpegEncContext *s, PutBitContext *pb, if (mb_x == 0 || mb_y == 0) { for (i = 0; i < 3; i++) { - uint8_t *ptr; + const uint8_t *ptr; int x, y, h, v, linesize; h = s->hsample[i]; v = s->vsample[i]; @@ -166,7 +166,7 @@ static inline void ljpeg_encode_yuv_mb(LJpegEncContext *s, PutBitContext *pb, } } else { for (i = 0; i < 3; i++) { - uint8_t *ptr; + const uint8_t *ptr; int x, y, h, v, linesize; h = s->hsample[i]; v = s->vsample[i]; diff --git a/libavcodec/magicyuvenc.c b/libavcodec/magicyuvenc.c index 1be51f3e88..7d77ef7bba 100644 --- a/libavcodec/magicyuvenc.c +++ b/libavcodec/magicyuvenc.c @@ -458,11 +458,12 @@ static int magy_encode_frame(AVCodecContext *avctx, AVPacket *pkt, } if (s->correlate) { - uint8_t *r, *g, *b, *decorrelated[2] = { s->decorrelate_buf[0], + uint8_t *decorrelated[2] = { s->decorrelate_buf[0], s->decorrelate_buf[1] }; const int decorrelate_linesize = FFALIGN(width, 16); const uint8_t *const data[4] = { decorrelated[0], frame->data[0], decorrelated[1], frame->data[3] }; + const uint8_t *r, *g, *b; const int linesize[4] = { decorrelate_linesize, frame->linesize[0], decorrelate_linesize, frame->linesize[3] }; diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c index b75151abef..c25f48fabe 100644 --- a/libavcodec/mlpenc.c +++ b/libavcodec/mlpenc.c @@ -1202,7 +1202,7 @@ static void input_data_internal(MLPEncodeContext *ctx, const uint8_t *samples, } /** Wrapper function for inputting data in two different bit-depths. */ -static void input_data(MLPEncodeContext *ctx, void *samples, int nb_samples) +static void input_data(MLPEncodeContext *ctx, const void *samples, int nb_samples) { input_data_internal(ctx, samples, nb_samples, ctx->avctx->sample_fmt == AV_SAMPLE_FMT_S32); } @@ -2069,7 +2069,7 @@ static int mlp_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, int bytes_written = 0; int channels = avctx->ch_layout.nb_channels; int restart_frame, ret; - uint8_t *data; + const uint8_t *data; if (!frame && !ctx->last_frames) ctx->last_frames = (ctx->afq.remaining_samples + avctx->frame_size - 1) / avctx->frame_size; diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index b0825fd3e3..339a3c2152 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -639,7 +639,7 @@ void ff_mpeg4_encode_mb(MpegEncContext *s, int16_t block[6][64], if (s->max_b_frames > 0) { int i; int x, y, offset; - uint8_t *p_pic; + const uint8_t *p_pic; x = s->mb_x * 16; y = s->mb_y * 16; @@ -649,7 +649,7 @@ void ff_mpeg4_encode_mb(MpegEncContext *s, int16_t block[6][64], s->mb_skipped = 1; for (i = 0; i < s->max_b_frames; i++) { - uint8_t *b_pic; + const uint8_t *b_pic; int diff; Picture *pic = s->reordered_input_picture[i + 1]; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index c9d9e2a764..4719a734c9 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -953,7 +953,7 @@ av_cold int ff_mpv_encode_end(AVCodecContext *avctx) return 0; } -static int get_sae(uint8_t *src, int ref, int stride) +static int get_sae(const uint8_t *src, int ref, int stride) { int x,y; int acc = 0; @@ -967,8 +967,8 @@ static int get_sae(uint8_t *src, int ref, int stride) return acc; } -static int get_intra_count(MpegEncContext *s, uint8_t *src, - uint8_t *ref, int stride) +static int get_intra_count(MpegEncContext *s, const uint8_t *src, + const uint8_t *ref, int stride) { int x, y, w, h; int acc = 0; @@ -1087,7 +1087,7 @@ static int load_input_picture(MpegEncContext *s, const AVFrame *pic_arg) int v_shift = i ? v_chroma_shift : 0; int w = s->width >> h_shift; int h = s->height >> v_shift; - uint8_t *src = pic_arg->data[i]; + const uint8_t *src = pic_arg->data[i]; uint8_t *dst = pic->f->data[i]; int vpad = 16; @@ -1149,7 +1149,7 @@ static int load_input_picture(MpegEncContext *s, const AVFrame *pic_arg) return 0; } -static int skip_check(MpegEncContext *s, Picture *p, Picture *ref) +static int skip_check(MpegEncContext *s, const Picture *p, const Picture *ref) { int x, y, plane; int score = 0; @@ -1161,8 +1161,8 @@ static int skip_check(MpegEncContext *s, Picture *p, Picture *ref) for (y = 0; y < s->mb_height * bw; y++) { for (x = 0; x < s->mb_width * bw; x++) { int off = p->shared ? 0 : 16; - uint8_t *dptr = p->f->data[plane] + 8 * (x + y * stride) + off; - uint8_t *rptr = ref->f->data[plane] + 8 * (x + y * stride); + const uint8_t *dptr = p->f->data[plane] + 8 * (x + y * stride) + off; + const uint8_t *rptr = ref->f->data[plane] + 8 * (x + y * stride); int v = s->mecc.frame_skip_cmp[1](s, dptr, rptr, stride, 8); switch (FFABS(s->frame_skip_exp)) { @@ -1190,7 +1190,7 @@ static int skip_check(MpegEncContext *s, Picture *p, Picture *ref) return 0; } -static int encode_frame(AVCodecContext *c, AVFrame *frame, AVPacket *pkt) +static int encode_frame(AVCodecContext *c, const AVFrame *frame, AVPacket *pkt) { int ret; int size = 0; @@ -1990,7 +1990,7 @@ static inline void clip_coeffs(MpegEncContext *s, int16_t *block, overflow, minlevel, maxlevel); } -static void get_visual_weight(int16_t *weight, uint8_t *ptr, int stride) +static void get_visual_weight(int16_t *weight, const uint8_t *ptr, int stride) { int x, y; // FIXME optimize @@ -2035,7 +2035,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, int skip_dct[12]; int dct_offset = s->linesize * 8; // default for progressive frames int uv_dct_offset = s->uvlinesize * 8; - uint8_t *ptr_y, *ptr_cb, *ptr_cr; + const uint8_t *ptr_y, *ptr_cb, *ptr_cr; ptrdiff_t wrap_y, wrap_c; for (i = 0; i < mb_block_count; i++) @@ -2534,7 +2534,7 @@ static inline void encode_mb_hq(MpegEncContext *s, MpegEncContext *backup, MpegE } } -static int sse(MpegEncContext *s, uint8_t *src1, uint8_t *src2, int w, int h, int stride){ +static int sse(MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, int w, int h, int stride){ const uint32_t *sq = ff_square_tab + 256; int acc=0; int x,y; @@ -2641,7 +2641,7 @@ static int mb_var_thread(AVCodecContext *c, void *arg){ for(mb_x=0; mb_x < s->mb_width; mb_x++) { int xx = mb_x * 16; int yy = mb_y * 16; - uint8_t *pix = s->new_picture->data[0] + (yy * s->linesize) + xx; + const uint8_t *pix = s->new_picture->data[0] + (yy * s->linesize) + xx; int varc; int sum = s->mpvencdsp.pix_sum(pix, s->linesize); diff --git a/libavcodec/msvideo1enc.c b/libavcodec/msvideo1enc.c index f14badde21..4e1e94e9ab 100644 --- a/libavcodec/msvideo1enc.c +++ b/libavcodec/msvideo1enc.c @@ -69,7 +69,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, { Msvideo1EncContext * const c = avctx->priv_data; const AVFrame *p = pict; - uint16_t *src; + const uint16_t *src; uint8_t *prevptr; uint8_t *dst, *buf; int keyframe = 0; @@ -85,7 +85,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, if(!c->prev) c->prev = av_malloc(avctx->width * 3 * (avctx->height + 3)); prevptr = c->prev + avctx->width * 3 * (FFALIGN(avctx->height, 4) - 1); - src = (uint16_t*)(p->data[0] + p->linesize[0]*(FFALIGN(avctx->height, 4) - 1)); + src = (const uint16_t*)(p->data[0] + p->linesize[0]*(FFALIGN(avctx->height, 4) - 1)); if(c->keyint >= avctx->keyint_min) keyframe = 1; diff --git a/libavcodec/pamenc.c b/libavcodec/pamenc.c index df23afe67f..6e934ba7a1 100644 --- a/libavcodec/pamenc.c +++ b/libavcodec/pamenc.c @@ -28,7 +28,8 @@ static int pam_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *p, int *got_packet) { int i, h, w, n, linesize, depth, maxval, ret, header_size; - uint8_t *bytestream, *ptr; + uint8_t *bytestream; + const uint8_t *ptr; const char *tuple_type; char header[100]; diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c index c4742e293f..438457da26 100644 --- a/libavcodec/pngenc.c +++ b/libavcodec/pngenc.c @@ -120,7 +120,7 @@ static void png_get_interlaced_row(uint8_t *dst, int row_size, } } -static void sub_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, +static void sub_png_paeth_prediction(uint8_t *dst, const uint8_t *src, const uint8_t *top, int w, int bpp) { int i; @@ -165,7 +165,7 @@ static void sub_left_prediction(PNGEncContext *c, uint8_t *dst, const uint8_t *s } static void png_filter_row(PNGEncContext *c, uint8_t *dst, int filter_type, - uint8_t *src, uint8_t *top, int size, int bpp) + const uint8_t *src, const uint8_t *top, int size, int bpp) { int i; @@ -194,7 +194,7 @@ static void png_filter_row(PNGEncContext *c, uint8_t *dst, int filter_type, } static uint8_t *png_choose_filter(PNGEncContext *s, uint8_t *dst, - uint8_t *src, uint8_t *top, int size, int bpp) + const uint8_t *src, const uint8_t *top, int size, int bpp) { int pred = s->filter_type; av_assert0(bpp || !pred); @@ -486,7 +486,7 @@ static int encode_frame(AVCodecContext *avctx, const AVFrame *pict) const AVFrame *const p = pict; int y, len, ret; int row_size, pass_row_size; - uint8_t *ptr, *top, *crow_buf, *crow; + uint8_t *top, *crow_buf, *crow; uint8_t *crow_base = NULL; uint8_t *progressive_buf = NULL; uint8_t *top_buf = NULL; @@ -523,7 +523,7 @@ static int encode_frame(AVCodecContext *avctx, const AVFrame *pict) top = NULL; for (y = 0; y < pict->height; y++) if ((ff_png_pass_ymask[pass] << (y & 7)) & 0x80) { - ptr = p->data[0] + y * p->linesize[0]; + const uint8_t *ptr = p->data[0] + y * p->linesize[0]; FFSWAP(uint8_t *, progressive_buf, top_buf); png_get_interlaced_row(progressive_buf, pass_row_size, s->bits_per_pixel, pass, @@ -536,9 +536,9 @@ static int encode_frame(AVCodecContext *avctx, const AVFrame *pict) } } } else { - top = NULL; + const uint8_t *top = NULL; for (y = 0; y < pict->height; y++) { - ptr = p->data[0] + y * p->linesize[0]; + const uint8_t *ptr = p->data[0] + y * p->linesize[0]; crow = png_choose_filter(s, crow_buf, ptr, top, row_size, s->bits_per_pixel >> 3); png_write_row(avctx, crow, row_size + 1); @@ -723,7 +723,7 @@ static int apng_do_inverse_blend(AVFrame *output, const AVFrame *input, } for (y = topmost_y; y < bottommost_y; ++y) { - uint8_t *foreground = input->data[0] + input_linesize * y + bpp * leftmost_x; + const uint8_t *foreground = input->data[0] + input_linesize * y + bpp * leftmost_x; uint8_t *background = output->data[0] + output_linesize * y + bpp * leftmost_x; output_data = output->data[0] + output_linesize * (y - topmost_y); for (x = leftmost_x; x < rightmost_x; ++x, foreground += bpp, background += bpp, output_data += bpp) { diff --git a/libavcodec/pnmenc.c b/libavcodec/pnmenc.c index 9de63b400f..b16c93c88f 100644 --- a/libavcodec/pnmenc.c +++ b/libavcodec/pnmenc.c @@ -40,7 +40,6 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, PHMEncContext *s = avctx->priv_data; uint8_t *bytestream, *bytestream_start, *bytestream_end; int i, h, h1, c, n, linesize, ret; - uint8_t *ptr, *ptr1, *ptr2; int size = av_image_get_buffer_size(avctx->pix_fmt, avctx->width, avctx->height, 1); @@ -135,9 +134,9 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, if ((avctx->pix_fmt == AV_PIX_FMT_GBRPF32LE || avctx->pix_fmt == AV_PIX_FMT_GBRPF32BE) && c == 'F') { - float *r = (float *)p->data[2]; - float *g = (float *)p->data[0]; - float *b = (float *)p->data[1]; + const float *r = (const float *)p->data[2]; + const float *g = (const float *)p->data[0]; + const float *b = (const float *)p->data[1]; for (int i = 0; i < avctx->height; i++) { for (int j = 0; j < avctx->width; j++) { @@ -164,9 +163,9 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, g += p->linesize[0] / 4; } } else if (avctx->pix_fmt == AV_PIX_FMT_GBRPF32 && c == 'H') { - float *r = (float *)p->data[2]; - float *g = (float *)p->data[0]; - float *b = (float *)p->data[1]; + const float *r = (const float *)p->data[2]; + const float *g = (const float *)p->data[0]; + const float *b = (const float *)p->data[1]; for (int i = 0; i < avctx->height; i++) { for (int j = 0; j < avctx->width; j++) { @@ -192,7 +191,7 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, g += p->linesize[0] / 4; } } else { - ptr = p->data[0]; + const uint8_t *ptr = p->data[0]; linesize = p->linesize[0]; for (i = 0; i < h; i++) { memcpy(bytestream, ptr, n); @@ -202,10 +201,9 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, } if (avctx->pix_fmt == AV_PIX_FMT_YUV420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P16BE) { + const uint8_t *ptr1 = p->data[1], *ptr2 = p->data[2]; h >>= 1; n >>= 1; - ptr1 = p->data[1]; - ptr2 = p->data[2]; for (i = 0; i < h; i++) { memcpy(bytestream, ptr1, n); bytestream += n; diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c index 95c0f1c244..cfc735bcec 100644 --- a/libavcodec/proresenc_anatoliy.c +++ b/libavcodec/proresenc_anatoliy.c @@ -305,7 +305,7 @@ static void encode_ac_coeffs(PutBitContext *pb, } } -static void get(uint8_t *pixels, int stride, int16_t* block) +static void get(const uint8_t *pixels, int stride, int16_t* block) { int i; @@ -317,13 +317,13 @@ static void get(uint8_t *pixels, int stride, int16_t* block) } } -static void fdct_get(FDCTDSPContext *fdsp, uint8_t *pixels, int stride, int16_t* block) +static void fdct_get(FDCTDSPContext *fdsp, const uint8_t *pixels, int stride, int16_t* block) { get(pixels, stride, block); fdsp->fdct(block); } -static void calc_plane_dct(FDCTDSPContext *fdsp, uint8_t *src, int16_t * blocks, int src_stride, int mb_count, int chroma, int is_422) +static void calc_plane_dct(FDCTDSPContext *fdsp, const uint8_t *src, int16_t * blocks, int src_stride, int mb_count, int chroma, int is_422) { int16_t *block; int i; @@ -473,7 +473,7 @@ static av_always_inline int encode_alpha_slice_data(AVCodecContext *avctx, int8_ } } -static inline void subimage_with_fill_template(uint16_t *src, unsigned x, unsigned y, +static inline void subimage_with_fill_template(const uint16_t *src, unsigned x, unsigned y, unsigned stride, unsigned width, unsigned height, uint16_t *dst, unsigned dst_width, unsigned dst_height, int is_alpha_plane, int is_interlaced, int is_top_field) @@ -521,7 +521,7 @@ static inline void subimage_with_fill_template(uint16_t *src, unsigned x, unsign } } -static void subimage_with_fill(uint16_t *src, unsigned x, unsigned y, +static void subimage_with_fill(const uint16_t *src, unsigned x, unsigned y, unsigned stride, unsigned width, unsigned height, uint16_t *dst, unsigned dst_width, unsigned dst_height, int is_interlaced, int is_top_field) { @@ -529,7 +529,7 @@ static void subimage_with_fill(uint16_t *src, unsigned x, unsigned y, } /* reorganize alpha data and convert 10b -> 16b */ -static void subimage_alpha_with_fill(uint16_t *src, unsigned x, unsigned y, +static void subimage_alpha_with_fill(const uint16_t *src, unsigned x, unsigned y, unsigned stride, unsigned width, unsigned height, uint16_t *dst, unsigned dst_width, unsigned dst_height, int is_interlaced, int is_top_field) { @@ -544,7 +544,7 @@ static int encode_slice(AVCodecContext *avctx, const AVFrame *pic, int mb_x, ProresContext* ctx = avctx->priv_data; int hdr_size = 6 + (ctx->need_alpha * 2); /* v data size is write when there is alpha */ int ret = 0, slice_size; - uint8_t *dest_y, *dest_u, *dest_v; + const uint8_t *dest_y, *dest_u, *dest_v; unsigned y_data_size = 0, u_data_size = 0, v_data_size = 0, a_data_size = 0; FDCTDSPContext *fdsp = &ctx->fdsp; int tgt_bits = (mb_count * bitrate_table[avctx->profile]) >> 2; @@ -577,13 +577,13 @@ static int encode_slice(AVCodecContext *avctx, const AVFrame *pic, int mb_x, } if (unsafe) { - subimage_with_fill((uint16_t *) pic->data[0], mb_x << 4, mb_y << 4, + subimage_with_fill((const uint16_t *) pic->data[0], mb_x << 4, mb_y << 4, luma_stride, avctx->width, avctx->height, (uint16_t *) ctx->fill_y, mb_count << 4, 16, is_interlaced, is_top_field); - subimage_with_fill((uint16_t *) pic->data[1], mb_x << (4 - ctx->is_422), mb_y << 4, + subimage_with_fill((const uint16_t *) pic->data[1], mb_x << (4 - ctx->is_422), mb_y << 4, chroma_stride, avctx->width >> ctx->is_422, avctx->height, (uint16_t *) ctx->fill_u, mb_count << (4 - ctx->is_422), 16, is_interlaced, is_top_field); - subimage_with_fill((uint16_t *) pic->data[2], mb_x << (4 - ctx->is_422), mb_y << 4, + subimage_with_fill((const uint16_t *) pic->data[2], mb_x << (4 - ctx->is_422), mb_y << 4, chroma_stride, avctx->width >> ctx->is_422, avctx->height, (uint16_t *) ctx->fill_v, mb_count << (4 - ctx->is_422), 16, is_interlaced, is_top_field); @@ -640,7 +640,7 @@ static int encode_slice(AVCodecContext *avctx, const AVFrame *pic, int mb_x, if (ctx->need_alpha) { AV_WB16(buf + 6, v_data_size); /* write v data size only if there is alpha */ - subimage_alpha_with_fill((uint16_t *) pic->data[3], mb_x << 4, mb_y << 4, + subimage_alpha_with_fill((const uint16_t *) pic->data[3], mb_x << 4, mb_y << 4, alpha_stride, avctx->width, avctx->height, (uint16_t *) ctx->fill_a, mb_count << 4, 16, is_interlaced, is_top_field); ret = encode_alpha_slice_data(avctx, ctx->fill_a, mb_count, diff --git a/libavcodec/qoienc.c b/libavcodec/qoienc.c index 3f043872c5..110297dbda 100644 --- a/libavcodec/qoienc.c +++ b/libavcodec/qoienc.c @@ -33,7 +33,8 @@ static int qoi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, uint8_t px[4] = { 0, 0, 0, 255 }; uint8_t index[64][4] = { 0 }; int64_t packet_size; - uint8_t *buf, *src; + uint8_t *buf; + const uint8_t *src; int ret, run = 0; packet_size = avctx->width * avctx->height * (channels + 1LL) + 14LL + 8LL; diff --git a/libavcodec/r210enc.c b/libavcodec/r210enc.c index dca6fa7197..139e5b75eb 100644 --- a/libavcodec/r210enc.c +++ b/libavcodec/r210enc.c @@ -47,7 +47,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, int aligned_width = FFALIGN(avctx->width, avctx->codec_id == AV_CODEC_ID_R10K ? 1 : 64); int pad = (aligned_width - avctx->width) * 4; - uint8_t *srcr_line, *srcg_line, *srcb_line; + const uint8_t *srcr_line, *srcg_line, *srcb_line; uint8_t *dst; ret = ff_get_encode_buffer(avctx, pkt, 4 * aligned_width * avctx->height, 0); @@ -60,9 +60,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, dst = pkt->data; for (i = 0; i < avctx->height; i++) { - uint16_t *srcr = (uint16_t *)srcr_line; - uint16_t *srcg = (uint16_t *)srcg_line; - uint16_t *srcb = (uint16_t *)srcb_line; + const uint16_t *srcr = (const uint16_t *)srcr_line; + const uint16_t *srcg = (const uint16_t *)srcg_line; + const uint16_t *srcb = (const uint16_t *)srcb_line; for (j = 0; j < avctx->width; j++) { uint32_t pixel; unsigned r = *srcr++; diff --git a/libavcodec/rpzaenc.c b/libavcodec/rpzaenc.c index f01103fe11..a470f5d101 100644 --- a/libavcodec/rpzaenc.c +++ b/libavcodec/rpzaenc.c @@ -84,7 +84,7 @@ typedef struct BlockInfo { int total_blocks; } BlockInfo; -static void get_colors(uint8_t *min, uint8_t *max, uint8_t color4[4][3]) +static void get_colors(const uint8_t *min, const uint8_t *max, uint8_t color4[4][3]) { uint8_t step; @@ -135,7 +135,7 @@ static int get_block_info(BlockInfo *bi, int block) return block ? (bi->col * 4) + (bi->row * bi->rowstride * 4) : 0; } -static uint16_t rgb24_to_rgb555(uint8_t *rgb24) +static uint16_t rgb24_to_rgb555(const uint8_t *rgb24) { uint16_t rgb555 = 0; uint32_t r, g, b; @@ -154,7 +154,7 @@ static uint16_t rgb24_to_rgb555(uint8_t *rgb24) /* * Returns the total difference between two 24 bit color values */ -static int diff_colors(uint8_t *colorA, uint8_t *colorB) +static int diff_colors(const uint8_t *colorA, const uint8_t *colorB) { int tot; @@ -168,7 +168,7 @@ static int diff_colors(uint8_t *colorA, uint8_t *colorB) /* * Returns the maximum channel difference */ -static int max_component_diff(uint16_t *colorA, uint16_t *colorB) +static int max_component_diff(const uint16_t *colorA, const uint16_t *colorB) { int diff, max = 0; @@ -192,7 +192,7 @@ static int max_component_diff(uint16_t *colorA, uint16_t *colorB) * color values. Put the minimum value in min, maximum in max and the channel * in chan. */ -static void get_max_component_diff(BlockInfo *bi, uint16_t *block_ptr, +static void get_max_component_diff(const BlockInfo *bi, const uint16_t *block_ptr, uint8_t *min, uint8_t *max, channel_offset *chan) { int x, y; @@ -242,7 +242,8 @@ static void get_max_component_diff(BlockInfo *bi, uint16_t *block_ptr, * blocks is greater than the thresh parameter. Returns -1 if difference * exceeds threshold or zero otherwise. */ -static int compare_blocks(uint16_t *block1, uint16_t *block2, BlockInfo *bi, int thresh) +static int compare_blocks(const uint16_t *block1, const uint16_t *block2, + const BlockInfo *bi, int thresh) { int x, y, diff = 0; for (y = 0; y < bi->block_height; y++) { @@ -262,7 +263,7 @@ static int compare_blocks(uint16_t *block1, uint16_t *block2, BlockInfo *bi, int * Determine the fit of one channel to another within a 4x4 block. This * is used to determine the best palette choices for 4-color encoding. */ -static int leastsquares(uint16_t *block_ptr, BlockInfo *bi, +static int leastsquares(const uint16_t *block_ptr, const BlockInfo *bi, channel_offset xchannel, channel_offset ychannel, double *slope, double *y_intercept, double *correlation_coef) { @@ -315,7 +316,7 @@ static int leastsquares(uint16_t *block_ptr, BlockInfo *bi, /* * Determine the amount of error in the leastsquares fit. */ -static int calc_lsq_max_fit_error(uint16_t *block_ptr, BlockInfo *bi, +static int calc_lsq_max_fit_error(const uint16_t *block_ptr, const BlockInfo *bi, int min, int max, int tmp_min, int tmp_max, channel_offset xchannel, channel_offset ychannel) { @@ -356,7 +357,7 @@ static int calc_lsq_max_fit_error(uint16_t *block_ptr, BlockInfo *bi, /* * Find the closest match to a color within the 4-color palette */ -static int match_color(uint16_t *color, uint8_t colors[4][3]) +static int match_color(const uint16_t *color, uint8_t colors[4][3]) { int ret = 0; int smallest_variance = INT_MAX; @@ -383,8 +384,8 @@ static int match_color(uint16_t *color, uint8_t colors[4][3]) * blocks encoded (until we implement multi-block 4 color runs this will * always be 1) */ -static int encode_four_color_block(uint8_t *min_color, uint8_t *max_color, - PutBitContext *pb, uint16_t *block_ptr, BlockInfo *bi) +static int encode_four_color_block(const uint8_t *min_color, const uint8_t *max_color, + PutBitContext *pb, const uint16_t *block_ptr, const BlockInfo *bi) { int x, y, idx; uint8_t color4[4][3]; @@ -441,7 +442,7 @@ static void update_block_in_prev_frame(const uint16_t *src_pixels, * the statistics of this block. Otherwise, the stats are unchanged * and don't include the current block. */ -static int update_block_stats(RpzaContext *s, BlockInfo *bi, uint16_t *block, +static int update_block_stats(RpzaContext *s, const BlockInfo *bi, const uint16_t *block, uint8_t min_color[3], uint8_t max_color[3], int *total_rgb, int *total_pixels, uint8_t avg_color[3], int first_block) @@ -562,7 +563,7 @@ static void rpza_encode_stream(RpzaContext *s, const AVFrame *pict) int pixel_count; uint8_t min_color[3], max_color[3]; double slope, y_intercept, correlation_coef; - uint16_t *src_pixels = (uint16_t *)pict->data[0]; + const uint16_t *src_pixels = (const uint16_t *)pict->data[0]; uint16_t *prev_pixels = (uint16_t *)s->prev_frame->data[0]; /* Number of 4x4 blocks in frame. */ @@ -728,7 +729,7 @@ post_skip : } if (err > s->sixteen_color_thresh) { // DO SIXTEEN COLOR BLOCK - uint16_t *row_ptr; + const uint16_t *row_ptr; int rgb555; block_offset = get_block_info(&bi, block_counter); diff --git a/libavcodec/sgienc.c b/libavcodec/sgienc.c index 5d2cc7e3b9..7edc7cca83 100644 --- a/libavcodec/sgienc.c +++ b/libavcodec/sgienc.c @@ -96,7 +96,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, SgiContext *s = avctx->priv_data; const AVFrame * const p = frame; PutByteContext pbc; - uint8_t *in_buf, *encode_buf; + uint8_t *encode_buf; int x, y, z, length, tablesize, ret, i; unsigned int width, height, depth, dimension; unsigned int bytes_per_channel, pixmax, put_be; @@ -200,7 +200,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, return AVERROR(ENOMEM); for (z = 0; z < depth; z++) { - in_buf = p->data[0] + p->linesize[0] * (height - 1) + z * bytes_per_channel; + const uint8_t *in_buf = p->data[0] + p->linesize[0] * (height - 1) + z * bytes_per_channel; for (y = 0; y < height; y++) { bytestream2_put_be32(&taboff_pcb, bytestream2_tell_p(&pbc)); @@ -231,7 +231,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, av_free(encode_buf); } else { for (z = 0; z < depth; z++) { - in_buf = p->data[0] + p->linesize[0] * (height - 1) + z * bytes_per_channel; + const uint8_t *in_buf = p->data[0] + p->linesize[0] * (height - 1) + z * bytes_per_channel; for (y = 0; y < height; y++) { for (x = 0; x < width * depth; x += depth) diff --git a/libavcodec/snow.h b/libavcodec/snow.h index 709fef6be5..ed0f9abb42 100644 --- a/libavcodec/snow.h +++ b/libavcodec/snow.h @@ -486,7 +486,7 @@ static inline void set_blocks(SnowContext *s, int level, int x, int y, int l, in } } -static inline void init_ref(MotionEstContext *c, uint8_t *src[3], uint8_t *ref[3], uint8_t *ref2[3], int x, int y, int ref_index){ +static inline void init_ref(MotionEstContext *c, const uint8_t *const src[3], uint8_t *const ref[3], uint8_t *const ref2[3], int x, int y, int ref_index){ SnowContext *s = c->avctx->priv_data; const int offset[3]= { y*c-> stride + x, diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index 27f5d3c941..50e03439a4 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -151,7 +151,7 @@ static av_cold int encode_init(AVCodecContext *avctx) } //near copy & paste from dsputil, FIXME -static int pix_sum(uint8_t * pix, int line_size, int w, int h) +static int pix_sum(const uint8_t * pix, int line_size, int w, int h) { int s, i, j; @@ -167,7 +167,7 @@ static int pix_sum(uint8_t * pix, int line_size, int w, int h) } //near copy & paste from dsputil, FIXME -static int pix_norm1(uint8_t * pix, int line_size, int w) +static int pix_norm1(const uint8_t * pix, int line_size, int w) { int s, i, j; const uint32_t *sq = ff_square_tab + 256; @@ -245,7 +245,7 @@ static int encode_q_branch(SnowContext *s, int level, int x, int y){ int l,cr,cb; const int stride= s->current_picture->linesize[0]; const int uvstride= s->current_picture->linesize[1]; - uint8_t *current_data[3]= { s->input_picture->data[0] + (x + y* stride)*block_w, + const uint8_t *current_data[3] = { s->input_picture->data[0] + (x + y* stride)*block_w, s->input_picture->data[1] + ((x*block_w)>>s->chroma_h_shift) + ((y*uvstride*block_w)>>s->chroma_v_shift), s->input_picture->data[2] + ((x*block_w)>>s->chroma_h_shift) + ((y*uvstride*block_w)>>s->chroma_v_shift)}; int P[10][2]; @@ -508,7 +508,7 @@ static int get_dc(SnowContext *s, int mb_x, int mb_y, int plane_index){ const uint8_t *obmc = plane_index ? ff_obmc_tab[s->block_max_depth+s->chroma_h_shift] : ff_obmc_tab[s->block_max_depth]; const int obmc_stride= plane_index ? (2*block_size)>>s->chroma_h_shift : 2*block_size; const int ref_stride= s->current_picture->linesize[plane_index]; - uint8_t *src= s-> input_picture->data[plane_index]; + const uint8_t *src = s-> input_picture->data[plane_index]; IDWTELEM *dst= (IDWTELEM*)s->m.sc.obmc_scratchpad + plane_index*block_size*block_size*4; //FIXME change to unsigned const int b_stride = s->b_width << s->block_max_depth; const int w= p->width; @@ -603,7 +603,7 @@ static int get_block_rd(SnowContext *s, int mb_x, int mb_y, int plane_index, uin const int obmc_stride= plane_index ? (2*block_size)>>s->chroma_h_shift : 2*block_size; const int ref_stride= s->current_picture->linesize[plane_index]; uint8_t *dst= s->current_picture->data[plane_index]; - uint8_t *src= s-> input_picture->data[plane_index]; + const uint8_t *src = s->input_picture->data[plane_index]; IDWTELEM *pred= (IDWTELEM*)s->m.sc.obmc_scratchpad + plane_index*block_size*block_size*4; uint8_t *cur = s->scratchbuf; uint8_t *tmp = s->emu_edge_buffer; @@ -706,7 +706,7 @@ static int get_4block_rd(SnowContext *s, int mb_x, int mb_y, int plane_index){ const int obmc_stride= plane_index ? (2*block_size)>>s->chroma_h_shift : 2*block_size; const int ref_stride= s->current_picture->linesize[plane_index]; uint8_t *dst= s->current_picture->data[plane_index]; - uint8_t *src= s-> input_picture->data[plane_index]; + const uint8_t *src = s-> input_picture->data[plane_index]; //FIXME zero_dst is const but add_yblock changes dst if add is 0 (this is never the case for dst=zero_dst // const has only been removed from zero_dst to suppress a warning static IDWTELEM zero_dst[4096]; //FIXME @@ -1076,7 +1076,7 @@ static void iterative_me(SnowContext *s){ //skip stuff outside the picture if(mb_x==0 || mb_y==0 || mb_x==b_width-1 || mb_y==b_height-1){ - uint8_t *src= s-> input_picture->data[0]; + const uint8_t *src = s-> input_picture->data[0]; uint8_t *dst= s->current_picture->data[0]; const int stride= s->current_picture->linesize[0]; const int block_w= MB_SIZE >> s->block_max_depth; diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index f188111699..e5216a99cd 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -248,7 +248,7 @@ static void init_block_index(MpegEncContext *s){ } static int svq1_encode_plane(SVQ1EncContext *s, int plane, - unsigned char *src_plane, + const unsigned char *src_plane, unsigned char *ref_plane, unsigned char *decoded_plane, int width, int height, int src_stride, int stride) @@ -371,7 +371,7 @@ static int svq1_encode_plane(SVQ1EncContext *s, int plane, int count[2][6]; int offset = y * 16 * stride + x * 16; uint8_t *decoded = decoded_plane + offset; - uint8_t *ref = ref_plane + offset; + const uint8_t *ref = ref_plane + offset; int score[4] = { 0, 0, 0, 0 }, best; uint8_t *temp = s->scratchbuf; diff --git a/libavcodec/targaenc.c b/libavcodec/targaenc.c index f439ba0dc6..7fb8e28c85 100644 --- a/libavcodec/targaenc.c +++ b/libavcodec/targaenc.c @@ -72,7 +72,7 @@ static int targa_encode_normal(uint8_t *outbuf, const AVFrame *pic, int bpp, int { int i, n = bpp * w; uint8_t *out = outbuf; - uint8_t *ptr = pic->data[0]; + const uint8_t *ptr = pic->data[0]; for(i=0; i < h; i++) { memcpy(out, ptr, n); diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c index 7228f66e2d..dba0e89640 100644 --- a/libavcodec/tiffenc.c +++ b/libavcodec/tiffenc.c @@ -207,8 +207,8 @@ static void pack_yuv(TiffEncoderContext *s, const AVFrame *p, { int i, j, k; int w = (s->width - 1) / s->subsampling[0] + 1; - uint8_t *pu = &p->data[1][lnum / s->subsampling[1] * p->linesize[1]]; - uint8_t *pv = &p->data[2][lnum / s->subsampling[1] * p->linesize[2]]; + const uint8_t *pu = &p->data[1][lnum / s->subsampling[1] * p->linesize[1]]; + const uint8_t *pv = &p->data[2][lnum / s->subsampling[1] * p->linesize[2]]; if (s->width % s->subsampling[0] || s->height % s->subsampling[1]) { for (i = 0; i < w; i++) { for (j = 0; j < s->subsampling[1]; j++) diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c index 2c1189ed07..f38db96e51 100644 --- a/libavcodec/utvideoenc.c +++ b/libavcodec/utvideoenc.c @@ -277,7 +277,7 @@ static void mangle_rgb_planes(uint8_t *dst[4], ptrdiff_t dst_stride, #undef B /* Write data to a plane with median prediction */ -static void median_predict(UtvideoContext *c, uint8_t *src, uint8_t *dst, +static void median_predict(UtvideoContext *c, const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int width, int height) { int i, j; @@ -376,7 +376,7 @@ static int write_huff_codes(uint8_t *src, uint8_t *dst, int dst_size, return put_bytes_output(&pb); } -static int encode_plane(AVCodecContext *avctx, uint8_t *src, +static int encode_plane(AVCodecContext *avctx, const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int plane_no, int width, int height, PutByteContext *pb) { diff --git a/libavcodec/v308enc.c b/libavcodec/v308enc.c index bd73b2e95a..c6a270a883 100644 --- a/libavcodec/v308enc.c +++ b/libavcodec/v308enc.c @@ -43,7 +43,7 @@ static int v308_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic, int *got_packet) { uint8_t *dst; - uint8_t *y, *u, *v; + const uint8_t *y, *u, *v; int i, j, ret; ret = ff_get_encode_buffer(avctx, pkt, avctx->width * avctx->height * 3, 0); diff --git a/libavcodec/v408enc.c b/libavcodec/v408enc.c index c53fa4e2a4..77d2b026b3 100644 --- a/libavcodec/v408enc.c +++ b/libavcodec/v408enc.c @@ -40,7 +40,7 @@ static int v408_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic, int *got_packet) { uint8_t *dst; - uint8_t *y, *u, *v, *a; + const uint8_t *y, *u, *v, *a; int i, j, ret; ret = ff_get_encode_buffer(avctx, pkt, avctx->width * avctx->height * 4, 0); diff --git a/libavcodec/v410enc.c b/libavcodec/v410enc.c index a78402c054..f08ccb2147 100644 --- a/libavcodec/v410enc.c +++ b/libavcodec/v410enc.c @@ -44,7 +44,7 @@ static int v410_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic, int *got_packet) { uint8_t *dst; - uint16_t *y, *u, *v; + const uint16_t *y, *u, *v; uint32_t val; int i, j, ret; diff --git a/libavcodec/vbnenc.c b/libavcodec/vbnenc.c index ea33005114..c93b4e37be 100644 --- a/libavcodec/vbnenc.c +++ b/libavcodec/vbnenc.c @@ -116,7 +116,7 @@ static int vbn_encode(AVCodecContext *avctx, AVPacket *pkt, ctx->enc.tex_data.out = pkt->data + VBN_HEADER_SIZE; avctx->execute2(avctx, ff_texturedsp_compress_thread, &ctx->enc, NULL, ctx->enc.slice_count); } else { - uint8_t *flipped = frame->data[0] + frame->linesize[0] * (frame->height - 1); + const uint8_t *flipped = frame->data[0] + frame->linesize[0] * (frame->height - 1); av_image_copy_plane(pkt->data + VBN_HEADER_SIZE, linesize, flipped, -frame->linesize[0], linesize, frame->height); } diff --git a/libavcodec/vc2enc.c b/libavcodec/vc2enc.c index f776d25b91..e1fd5fa608 100644 --- a/libavcodec/vc2enc.c +++ b/libavcodec/vc2enc.c @@ -117,7 +117,7 @@ typedef struct SliceArgs { typedef struct TransformArgs { void *ctx; Plane *plane; - void *idata; + const void *idata; ptrdiff_t istride; int field; VC2TransformContext t; diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c index 02572d6796..03a5d788c8 100644 --- a/libavcodec/wmaenc.c +++ b/libavcodec/wmaenc.c @@ -110,7 +110,7 @@ static av_cold int encode_init(AVCodecContext *avctx) static int apply_window_and_mdct(AVCodecContext *avctx, const AVFrame *frame) { WMACodecContext *s = avctx->priv_data; - float **audio = (float **) frame->extended_data; + const float *const *audio = (const float *const *) frame->extended_data; int len = frame->nb_samples; int window_index = s->frame_len_bits - s->block_len_bits; FFTContext *mdct = &s->mdct_ctx[window_index]; diff --git a/libavcodec/xbmenc.c b/libavcodec/xbmenc.c index 60fb169457..8369f5370c 100644 --- a/libavcodec/xbmenc.c +++ b/libavcodec/xbmenc.c @@ -32,7 +32,8 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *p, int *got_packet) { int i, j, l, commas, ret, size, linesize, lineout, rowsout; - uint8_t *ptr, *buf; + const uint8_t *ptr; + uint8_t *buf; linesize = lineout = (avctx->width + 7) / 8; commas = avctx->height * linesize; diff --git a/libavcodec/xwdenc.c b/libavcodec/xwdenc.c index a28fca08e0..01c43c1d81 100644 --- a/libavcodec/xwdenc.c +++ b/libavcodec/xwdenc.c @@ -39,7 +39,8 @@ static int xwd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, uint32_t rgb[3] = { 0 }, bitorder = 0; uint32_t header_size; int i, out_size, ret; - uint8_t *ptr, *buf; + const uint8_t *ptr; + uint8_t *buf; uint32_t pal[256]; pixdepth = av_get_bits_per_pixel(desc); diff --git a/libavcodec/y41penc.c b/libavcodec/y41penc.c index 77864909a1..f7ac58c30e 100644 --- a/libavcodec/y41penc.c +++ b/libavcodec/y41penc.c @@ -42,7 +42,7 @@ static int y41p_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic, int *got_packet) { uint8_t *dst; - uint8_t *y, *u, *v; + const uint8_t *y, *u, *v; int i, j, ret; ret = ff_get_encode_buffer(avctx, pkt, avctx->width * avctx->height * 1.5, 0); diff --git a/libavcodec/yuv4enc.c b/libavcodec/yuv4enc.c index 8d72382197..94e9b5dc1b 100644 --- a/libavcodec/yuv4enc.c +++ b/libavcodec/yuv4enc.c @@ -28,7 +28,7 @@ static int yuv4_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic, int *got_packet) { uint8_t *dst; - uint8_t *y, *u, *v; + const uint8_t *y, *u, *v; int i, j, ret; ret = ff_get_encode_buffer(avctx, pkt, 6 * (avctx->width + 1 >> 1) diff --git a/libavcodec/zmbvenc.c b/libavcodec/zmbvenc.c index c63f411eb5..cc8578afea 100644 --- a/libavcodec/zmbvenc.c +++ b/libavcodec/zmbvenc.c @@ -84,8 +84,8 @@ typedef struct ZmbvEncContext { /** Block comparing function * XXX should be optimized and moved to DSPContext */ -static inline int block_cmp(ZmbvEncContext *c, uint8_t *src, int stride, - uint8_t *src2, int stride2, int bw, int bh, +static inline int block_cmp(ZmbvEncContext *c, const uint8_t *src, int stride, + const uint8_t *src2, int stride2, int bw, int bh, int *xored) { int sum = 0; @@ -119,7 +119,7 @@ static inline int block_cmp(ZmbvEncContext *c, uint8_t *src, int stride, /** Motion estimation function * TODO make better ME decisions */ -static int zmbv_me(ZmbvEncContext *c, uint8_t *src, int sstride, uint8_t *prev, +static int zmbv_me(ZmbvEncContext *c, const uint8_t *src, int sstride, const uint8_t *prev, int pstride, int x, int y, int *mx, int *my, int *xored) { int dx, dy, txored, tv, bv, bw, bh; @@ -171,7 +171,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, ZmbvEncContext * const c = avctx->priv_data; z_stream *const zstream = &c->zstream.zstream; const AVFrame * const p = pict; - uint8_t *src, *prev, *buf; + const uint8_t *src; + uint8_t *prev, *buf; uint32_t *palptr; int keyframe, chpal; int fl; @@ -218,7 +219,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, } }else{ int x, y, bh2, bw2, xored; - uint8_t *tsrc, *tprev; + const uint8_t *tsrc, *tprev; uint8_t *mv; int mx = 0, my = 0;