From patchwork Wed Feb 7 15:04:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 46096 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a38a:b0:19e:8a94:b663 with SMTP id w10csp587170pzk; Wed, 7 Feb 2024 07:03:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IEN+0uxdCjmaPxuZ+4i++ek2i049Iy/cLAwXZJyYubpzAFUthCKaJFYG30G3sPPgdqXSVDF X-Received: by 2002:a05:6402:352:b0:55f:18fa:eb59 with SMTP id r18-20020a056402035200b0055f18faeb59mr6309088edw.16.1707318189297; Wed, 07 Feb 2024 07:03:09 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXfrH3qskha83EApPJodoLLXusluiRNBkQjsD4UPfErc1zADsgw6MBe1ZP3wJQZOcJ5w0hhPaWVFWrPK9G2ugicEcDN4jmMYdQgdf+tACMD421+uGCv9AfndCoKIb8Kveim81wgREYSnrvO0DTKEnFi7g5zTqBiQZ8J8gabIXuEHW+oOsczRVJHmSQOvq6OtG9aoZc9GRghsjYjtYXVLgL9WrapCpRU/S52vZGWjJ+tNHFiA4KGS0MesILYQtjNhedidAoTNKJnTV9UKgjTG51FDG6TV417t96xJerJkSH4WPqK7dJwbv25mL94Ud+JGc4keXyhqMiI4TIUMdR2NWKRE0JajYGUqcIeIKGiKF0vbA7veVE/XRlxCi/UH4tA7ljvHqPXY+77OvnSSH/QCRJOdXV2k1LVYQS6fet58OL+DAO9zF9aEqsnAwyUqir4XbWvjJnQYYa3dUDBbzGN4SXol8ZhCbXaC7z0PETvnMT+TZ3GBQavTl/+HaQfimFMMtjQNkJjHyEyg+ZY8NkVs/T1XANRX6S3wiDQ2MYDhsHLGNiR7fg4deuQSTBw9aUFLYXhlbk1+ZwvUF94oeYGXzFE6/yLKyPZ5O9KiixpI0o/sEAOd5r+qEroy+9bAzQVquB+3pA6P6Iy5XkKI0e/HzbW54xqwt1mNq3gJShJX/9cwHVQMu7EBXhGUxaBWubMAvrzo1ZI7pY256dU/Km4JXntUHWrzqTGhYGQT0LlcFMq3iA6C++98DZLuBRLOcAoJ08mOdE5kGcj4ou3TikEwtvpuldxI1ycH4Zwir+yl204lnkg9o4urzzdZx4akPj3V3Zn7TrmrbNg2tVptvMwEO/XRJ8SagrAE3fk0k69+xpmYfPHxU/zRZKEd6CWv9pf8Wk8F3A7fyU2/WOFefFdNOVs3yMAP6MXCoIZlXDrmQ9hS3VFcrQKCRgU9vV5u9WKKV0ZSL zGFOJVBm8zQJKaIHiQLYTZ8TiL/5rPulM3rgZTcsQWTsZifZt0S1M0tt3Ot7GFIuT6T5hZkElqgHArowFL5Dt1rZe7oOSnGqMnPWxdEya7x4lvLsC5jVgFROzKkeizQzRtlKWwTiPyA0cHfQsp1sBV4hx1eR398g0QkLrOSszZpQqTVMe6E1+j27eG6Objtf7reu7qhkXuZTyx4WyMtiw6aF+B8+Y0BbNEM278R3BVLvobj6uynvRO+N4web4c4ndT7PS6+7MTxGBngIzGBzG7OhIBLIuOTt7bzRrKS6sQNT/ytUAgSpytQABeFZI/Ed/1HB9NSDCoOCaEqUQvnBt02Uth6lFWPW76ImI7ZXhOMWXCAi22dAOCPtzlMInaCUzvb3a0yxgY8bpU1kaxmWJur+9TCcsfZMSWWJybWt1d8UAgJEpNg/t31T6N7tt429KJ/nqdap6HT0msdmeUeMp1kckAgCE4NEnwwzRTGVuNmLDh7LJwmO4TrAh8MPxzTvvKYa//WABWX6C3xt5cngohFxb2Qi7kZtHQapkjt+PqHhpgWqO0Gkm9DUv4RUVie8kse/mYV2wY3aNlHDf35U79i3I7GnN2kA== Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m11-20020a056402050b00b0055edc435176si901051edv.105.2024.02.07.07.03.08; Wed, 07 Feb 2024 07:03:09 -0800 (PST) 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=V8+KNF88; 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 42BE568D03F; Wed, 7 Feb 2024 17:03:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01olkn2102.outbound.protection.outlook.com [40.92.65.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6C58C68D03F for ; Wed, 7 Feb 2024 17:02:58 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K0KtZGSjihmzmMIUZfWING6uUBJ4228AeKqHgLo6B1O2j3CqIFtICYqjjbQf3hnUAOzzliCLWnocU5U7zFc6xwKwpXEry3e8ta3OofIosXkPQ+EtQxUpzWVh73Dgl1J4xa1UgyITjD+d6mE2hVWn2LftkgNFFfEjUooKJGrzIo7hRXDNrDzZYw4Yue93f/n9KKnwSKWSyyNN35jJPW0Ug/n0C0tLl2zCe8iRB3GrHDcnLBGpEJ6Ujtknaeabb1ymQWIj92QTLVbOznjJmqoArLTwBGwm0UmGq4HLpBkaegaR/4tfJZvlwtagBjetk+CmH2hrxf9v/J4J4jFwuYsVxw== 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=R19hsRfzDWmonPdH72KdSgm8Vg+IyrbLXCGU+1WwVyA=; b=VWF1VG+oe/2Mymh+H80B3eIp5BIxj3Evf7LUg9UU1lM8bn+BvnhuSNoz/vLeaT5Dfa57th1i8mANvepxx3+jj8hyU/IFzCLYUMo58jisufBGiFCdLmJWFBnFhq2hguVXrpoW6lOmIdqeTrFGiUAS264c2EKH42Vxb3eOWqSx9YeKXJzKZpUjiEyqnTkx9nwkO+3KwT+gJePZBEVZpBNqMMW0oKeNfrFTUk84M/BbcTLjE2BdPtHtt4C+ILkmY55aMy+KXUAHLZewoBtCK72hXLL+dxyUs3M+kU2syXG+245ZAO+mENBzcw7wN24J0eChMwfVLI9L5lgyPPf2Bb/VLA== 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=R19hsRfzDWmonPdH72KdSgm8Vg+IyrbLXCGU+1WwVyA=; b=V8+KNF88WYWwDNspUehzebZpMsGWiSMBT7UHOH1QGQN42MNKobpcq+vIgVoUxikHdVkYW+TwIAK0R8R96BIK6eBNp/e7aMbco7yN1Po9Wx0nJ9RBkD879A7Y6mIwDTW8XUMvSuvQBeY+dDKoNg4UF78tr22EUyipN5hHOiyvIB8/uSE8XBXrRovRmSXf/aIIa/gDrNtwgS3OUx83ceqEigpKrn+BE+5bOKjlNwP7tHrucApiYt7DLmcRzKkHUTDj9lqJlh6ZVVrw/JPpEUrDo91aWC+CfAfRAwH8pHiAeRkGFKqqnsirWjgmBYs3uygUF5iOQyqcJEO5Wd30kyhVLQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0265.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.37; Wed, 7 Feb 2024 15:02:56 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7249.035; Wed, 7 Feb 2024 15:02:56 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 7 Feb 2024 16:04:44 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [jTXuW8S/DDq2QwSbCt2M8dYbF/x+gxW9Yvxg/lijYVU=] X-ClientProxiedBy: ZR0P278CA0052.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::21) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240207150444.189977-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0265:EE_ X-MS-Office365-Filtering-Correlation-Id: 2348ab2a-508c-4474-bc6e-08dc27eddda6 X-MS-Exchange-SLBlob-MailProps: 9IecXKUgicDmpv8sV4oxS5i0ikK8bxfg7Rod6keaWiBJn1jsvtJd0hxm9lct48VK0RsehbiymdcNYQ21L25C7WrZZgUTKYTffzsQQKr5gvIJOasi2gnvZqh+ngMLAxPCaw/whzfG1o/P5YEzLEJI7JO+DbJGQle05wEmKQ+cnL+S0b9ByJfJCgUApp1K1c+mAd5Pf6NG74dQaEq8jwN69CXWwEPOSdYVaw1GbXnuUTSFspKKJ5M6+/JZoEss/7BGx/Motl6hwnf2OfY18AsktvL0r8JAnntau7ZDuJJwz1gZssDDEI8Q5YH2HHgvYIxeVWzTOAUZ1qIV6R/GvKQEUcEdiG4NLc28ucj4cGVaBa0GsArT+m2/vuehwQCwHkNzpjrSUjTH7sUcGuEji2ubo26pEJoe+qwqcb56cUyopo1rzCjq9ZALukNFm6IHAoG2Sjfo4nnddPUcas+7b/xd62uHMly7dyNt88MIoCQqdDJz51H38ShFNkZ2NIxfmo4Kk/ftjgLHjK4yM+2O2nduGLbvYjxIVrOIa1K0B7JKV82yZnlhRWaVWhGzHBCXbwL/GeNrSgWaHSGdGAMH2ySnWz+Uj1Xim4Gos1v9nzrZWeJJs3X7WT5xRMJRebbOpDCXq/EvIuaRtyixyQcs3o0DTxIY75z78ftSNpx1n/vWDbAa4G3/z39KQmoxWNwk7uoyj47yY5cRH6gl2xEGYO/VlP5SlsO/gRjB8WZWvx8Jioe9npl0Nt5eBQ== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Pfjo9goZmx7vZevdhOWwQ7wFtYn/mI0HasRVVeRDj08Q/fnKHGhzn+U5p+eblP9RleCK83tcE8S4dT1Fs9HCIAgpTDizcmC4tGy2wje4jwkWBJfX83XyugORJfnW2dG920pHgReWIGuSd3yQAM9QfruFrnk1JDYIKjXl0bLky9tunE3WUkxCQ+1Xo4zoBgY5bBZHPxxBM4k2a3ZmBFUTc43XN6sfCXMWHc5COS4jBliPazDBhxa5A2otcpxq2W/YwjRR/0DqJ4KTHGYxRDnot3GXx3E6yn75rfr3WnmAc1GHnX3++9lsdlJt7l9bLtM5tUaxvUGjGEgg99Qy7rInmuEo6m5pdqERXQ1KrYuZUZEZ1Qm4SstwGFsuq3IKbK43Ka0mroW6J50rY2yVCMkn8C0Na2UgD6aD98K6UCPJJscQfdCCargl+sBrNCwbvRwjmAFMx056ZA4ILWvS3391ax5OBLBGoKPIY7Q4xCwZsTUwC2DjtvI8c1m+eEGtiQZ4NqDqIbnaxf9p9QopBD7S3nFFxcYzqrkLs98nzx+F8k/0WHlyV7QPXo4+3vc2Mj6epQWNbOKE0uF3Ya7Pk4u8xPT6Y3mUvDh5qZI8RbnpprzfDNMQRst5DRPIyRkLul4Q X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7RZLVqeZ8yyi5R4IqSGpRm6nJLlGtYgv8SA25Zlu7IoP5d6ZBRF9cEf7JQ7PrLblHvnmIeZPJDjvsuFi4h27zrscvIa1SXCRearWK+yV9AD785qDMiId0lwXOYpnoBMLXLzLJM76H7ssXSrWwy/Tc8BQ/7MK99AW7KntO8KMqFxFX82chSyHjpSO2gDcLoZLPxqMRzJnmm3Wy4jIRbBhDjEVyHPgUEarn8rguOqBfRdLWztvb8V3YYIhMe30XUTGHSqhAZPpfh6kArSWmeUEYu7TlbnNoVhoEJFWbihCSBP9+fv+2CloQ76HjtaFwqpFFxEfPoUzUXTNgI075Xn82GJV2af8AwzGfKxl/zhdt/I5vrBiK3BlJR+V0CgthJSx1GCk6avOSVeo2h0nVAH6d+ysBgAtDgQEr38DukLKTeofujl4vY3W2XM87FHRBtFXI7liQUNFTHvoqlv+QNayDWNosI2GhFOw3xDoEw+6t9dWQOq42GW7xIzr4FJdprRccWCYtb8QbOt0Yif2Wi6LgiYkjNg9MFjvsQjmDkfu1VINtzsmw+RRuVxaznMrB+cJYt1pg4RuoJsOf+jVPzBCOBs2kJIBLy/p6zJgFfv9wVW07EFKAUHDiOD5mt4qUWjgf5JY+mQdzlPMO4lKozT/6SDKJUbXlFOaDcL+udocmxYPwRJphAfw4qVv2P6TieHEC0gVEyUZy1RohRFDD2P+x/TcJbHmyxPlJEoJOmc1Tv+T5C2AJkO7t+8GSmeQm2nshQDE6SCPeUm9lJ3kcd2T6ENAYSahO7EB2ImFIKfUnE6/soTYCiB447/CMuh4ZgDN7c5pVegtSYC2O7HpRQrexAwRJ91D0ZF2BCQ6Kauj1XoxVDdWKccTJFyjvYjNBTSkQ6e9E4+2PqToRDtrQXBDCsfQT7FYafGGqlgAbYICSNoX/A3MYpOYdIiwbHqBs0a7E9+BTOhhVmDB7Ztk2gQyDjKw7IYA83m3+aAxIpjUsuWsZm4nJLKQony8jLQr299SWR05vUHoFKiq6xCc2R499bEY7gE/7PTWwotrbkymPcq2cqEvbFUraeFdnc0ewbZqs64d/rw0gOctWwhMjtR3MnVoSqj91JzdQO9LLcUlY1R+4bLOOi3IFoj8SlJVqxLa3qMsERuJ5qzyHI9KcxzcFgWPk3gREU/JF+/X4JF6VceXpTy3isrdOFOVjjkEr+Dg+IjAMk7qSlj+w+wF5T+lxwrD97Kw3xatGO9VECPy+anzH6xJjoAqONSR2PQKuLYQ X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2348ab2a-508c-4474-bc6e-08dc27eddda6 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2024 15:02:56.1122 (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: AS8P250MB0265 Subject: [FFmpeg-devel] [PATCH] avcodec/nvdec: Constify bitstream pointee 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: feuq7bexlhP/ Signed-off-by: Andreas Rheinhardt --- libavcodec/nvdec.c | 2 +- libavcodec/nvdec.h | 2 +- libavcodec/nvdec_av1.c | 4 ++-- libavcodec/nvdec_h264.c | 4 ++-- libavcodec/nvdec_hevc.c | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libavcodec/nvdec.c b/libavcodec/nvdec.c index d13b790632..553c9bdf18 100644 --- a/libavcodec/nvdec.c +++ b/libavcodec/nvdec.c @@ -680,7 +680,7 @@ int ff_nvdec_simple_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, ctx->slice_offsets = tmp; if (!ctx->bitstream) - ctx->bitstream = (uint8_t*)buffer; + ctx->bitstream = buffer; ctx->slice_offsets[ctx->nb_slices] = buffer - ctx->bitstream; ctx->bitstream_len += size; diff --git a/libavcodec/nvdec.h b/libavcodec/nvdec.h index 353e95bf42..555300d27d 100644 --- a/libavcodec/nvdec.h +++ b/libavcodec/nvdec.h @@ -56,7 +56,7 @@ typedef struct NVDECContext { struct NVDECDecoder *decoder; ///< RefStruct reference - uint8_t *bitstream; + const uint8_t *bitstream; int bitstream_len; unsigned int bitstream_allocated; uint8_t *bitstream_internal; diff --git a/libavcodec/nvdec_av1.c b/libavcodec/nvdec_av1.c index 74b0442177..35f22ebf80 100644 --- a/libavcodec/nvdec_av1.c +++ b/libavcodec/nvdec_av1.c @@ -303,7 +303,7 @@ static int nvdec_av1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, /* Shortcut if all tiles are in the same buffer */ if (ctx->nb_slices == s->tg_end - s->tg_start + 1) { - ctx->bitstream = (uint8_t*)buffer; + ctx->bitstream = buffer; ctx->bitstream_len = size; for (int i = 0; i < ctx->nb_slices; ++i) { @@ -321,7 +321,7 @@ static int nvdec_av1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, } ctx->bitstream = ctx->bitstream_internal = tmp; - memcpy(ctx->bitstream + ctx->bitstream_len, buffer, size); + memcpy(ctx->bitstream_internal + ctx->bitstream_len, buffer, size); for (uint32_t tile_num = s->tg_start; tile_num <= s->tg_end; ++tile_num) { ctx->slice_offsets[tile_num*2 ] = ctx->bitstream_len + s->tile_group_info[tile_num].tile_offset; diff --git a/libavcodec/nvdec_h264.c b/libavcodec/nvdec_h264.c index 8c72d5f4f7..ea6c1081eb 100644 --- a/libavcodec/nvdec_h264.c +++ b/libavcodec/nvdec_h264.c @@ -150,8 +150,8 @@ static int nvdec_h264_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, return AVERROR(ENOMEM); ctx->slice_offsets = tmp; - AV_WB24(ctx->bitstream + ctx->bitstream_len, 1); - memcpy(ctx->bitstream + ctx->bitstream_len + 3, buffer, size); + AV_WB24(ctx->bitstream_internal + ctx->bitstream_len, 1); + memcpy(ctx->bitstream_internal + ctx->bitstream_len + 3, buffer, size); ctx->slice_offsets[ctx->nb_slices] = ctx->bitstream_len ; ctx->bitstream_len += size + 3; ctx->nb_slices++; diff --git a/libavcodec/nvdec_hevc.c b/libavcodec/nvdec_hevc.c index 25319a1328..ff118af04b 100644 --- a/libavcodec/nvdec_hevc.c +++ b/libavcodec/nvdec_hevc.c @@ -286,8 +286,8 @@ static int nvdec_hevc_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, return AVERROR(ENOMEM); ctx->slice_offsets = tmp; - AV_WB24(ctx->bitstream + ctx->bitstream_len, 1); - memcpy(ctx->bitstream + ctx->bitstream_len + 3, buffer, size); + AV_WB24(ctx->bitstream_internal + ctx->bitstream_len, 1); + memcpy(ctx->bitstream_internal + ctx->bitstream_len + 3, buffer, size); ctx->slice_offsets[ctx->nb_slices] = ctx->bitstream_len ; ctx->bitstream_len += size + 3; ctx->nb_slices++;