From patchwork Mon Jul 4 10:58: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: 36647 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp2740485pzh; Mon, 4 Jul 2022 03:58:25 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tCJXrI9Btr8LvbcG2WjCpancY4Sw8Dnk3uC1ioq+E1KIcwItNIvHdb9EGe/hINUtif1zb4 X-Received: by 2002:a05:6402:e83:b0:435:a9bd:8134 with SMTP id h3-20020a0564020e8300b00435a9bd8134mr37208031eda.243.1656932305737; Mon, 04 Jul 2022 03:58: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 dd11-20020a1709069b8b00b00711f161476bsi26503093ejc.789.2022.07.04.03.58.25; Mon, 04 Jul 2022 03:58: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=KQdvxsAv; 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 05F6568B094; Mon, 4 Jul 2022 13:58:22 +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-oln040092073085.outbound.protection.outlook.com [40.92.73.85]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AF0B568B942 for ; Mon, 4 Jul 2022 13:58:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CKMWWhFrzM2GJVGTsO19vHNS2XGfoj0Yc8LHC9ug5djx3+871wA8u7WNereE4vNgvy4xqt0k6UW5ndPC2DAQCNKhjO+vyVxUIUslSWWkUl+XJqcxtWFEfHUaXj8iqa13mLYlj7m9YZ9YhBErHLxunZclhPYTNaayGwxFPxUDrhj6RDTbh6sHaVMRIt9hcT2RFm8gbJPqtFJbbD9CNVuSzPrkuoWBnASehEIDTdaY+LJPLfyxSmIYHvW2fGIlfVJw8zc3EaWH7afPQpZRmZRLPuFPf5d4elMlMQ2p7hpxqFeNGSd+ZK+elGUH7yLJD1WB+uAk3czFjs+iLE0LH531YA== 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=K3PGj9Am4Q4shd+UlaHzOjjt+VXBYX5M7ebrvvt2gpg=; b=i9T7UdmjCdyzj60Q7uNvpk2bmF0g1YvehfuecNTcyhWkkzSdh/DXoLm1cW4VW2I7II9j/Ye/gEfhhgELpTJtkoj2JanvZGUFKUNF8mN7LthrxO/kyh8y5FvsFlzdnlzFMtGDSQLmSDA2oOStBx0Jc8YTXp8ca5DSjtUJRpXLGyf0u2KpCIjEXB16GNbyg0gdaVKYo73Vc16t9u/rowQFovfhhalXao+afBKmR7a9gFF+7WuHfzzMCUJKh9RPJMV8R7jt3jYK/unvppRyrGCftx7JX8W+PcljwJxxvUQf08mnWjergKQY9DsZLlRkiLJ2ZJcavDQ3D1fnUohLszrH1g== 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=K3PGj9Am4Q4shd+UlaHzOjjt+VXBYX5M7ebrvvt2gpg=; b=KQdvxsAvHWVhCCFT4RHGr/4q2yFYX0AddYsyfpLrVIIuqOM8QwaEnvt1ljY2V4NcktGkCKOk78drMrzUGB+GdAO7loZucyecVLkQAoerN1V6nMOg8dOWLW76nZ8iQR+HKWTRNAlstlcy+Ptg8xzDy6Y3h21wvbazgPGhbF1r2FvpjlT/55iRj8CBsFht4Lmq6dRngEiAfvqItPfHL4n9Pj9OMTc4uRhsShVbLvTfGw3YqoZU/oAkzdfhA2P72dHo8SJlUK8rp2setzs9EjFjHnyOfmhOl6eVhQDxahuzRVzg1VmP52sFWQums6aQnazwxUSfDenD8CM+akqDHGP58Q== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB7PR01MB4090.eurprd01.prod.exchangelabs.com (2603:10a6:5:2f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.18; Mon, 4 Jul 2022 10:58:13 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5395.020; Mon, 4 Jul 2022 10:58:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Jul 2022 12:58:02 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [Czmgq+NeOcikxdrIUzJXBZCo4SnF12ll] X-ClientProxiedBy: AM6P192CA0078.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::19) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220704105805.811539-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0aeb2e29-4a5f-425d-d588-08da5dac171a X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSUs0MpKjnPJGVAIGxoh9EBStAOp9PTRPhyHXGhB6ylgSgmFVVsxcS5zOWXidurfYdcTd/+hUjeneuOXhKdwr7dqergg3I18Li51/hQii3jWzrpQLAJIoPtXr5rPULRtTKhrM2Zap2VT7gYjmtvUEUDihsKlIxVq2CIt0p58P3912Xp1Lo9mrAuahtHeP57KXl4s/nh2ljIlSD4/lx7xeKYDHtlM6Z0EyZWUOKxZ+ohG41wOffY4oqErLmdumtnELG/pABsTxYvqxbwgwa62jipARhtkXzAUPqiS3mtXWysTIfCNNxA4+UPNsqA/xIkAp2r0rO52xDAgGD922OJ93TEDIXvNvLp3A5C5GwwHMEywQUQi88ybZjhwm5Yr+D8Xm9j3QENPwn1lEeH6oxY/rjMu+Rj/cVPfTkWswLkZBqdEGSEHpJOTgmeIBug+wJiljJ765AI76pYdvL4vxbls0A8hns7smPWUx6aKQX6Y71c3+rbhjdVNhIZ4YHKVGWCHck0Htp0DR2L5fhLNUl5UhwiSyKSNpNAIMf45ZGCCFk2JNHlYVlawBHRAZ7Cmk2gMg6YIRODO2Uzb8PrhwxtHAh/v2+nfWJIWcqZD+zf/8FbB/J0E6YRm5ix2ykWZcOQlhD05Lb3UyKlOyvo31dM25HrA1Yj5EJHSm4ICYDzU91WFTyNijaFLPNM0tIKOe3dDtENmFAI4d0YBpN7GmAz7Ljj9N9oR8VkVl7fPEM2jPiBq9LbQWeoNT/6VAObU9xMqpI= X-MS-TrafficTypeDiagnostic: DB7PR01MB4090:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uYIkHMSMrs8TjtDdcEEGuh8O18d9KetPne1HzG/2n2F4UMhutG5wrqlXqSYAiYhiWVYtJnlWoMDMHLRR7LJ9I4tC1R3HmMCfI5vWnddp2cKYyRmFofXOkTE4W6PXkCO7mjkO4GSPQrf9RURe/U+uc+ot0oZZ1lU4vLrFzUnuQN9XyW4qOsdf5xsD/AhK2XPLvA4tEzbY4lQd2ka0Xaq3NxDFbiuozvYgI/kSPOwF7tnbMPlsl9ncdyJ3n9bSuQ+QPkaRrFQo9WmK3+VNDVm+fMPSQk21mMoSfQeZY+VAVaqp1iO+wM9vvIoPj2Hi+uv3TXCUyl3hXZFBwrwfw2aqqOclk08fe0MFBkNP/ttQ5/jJzdyn4UHqFrDT/FpzB/HERY7fFMJIaWsoYQYgevO7bMZNReHuSyhZGU0FZopDDUpigvoIOpd+8CnJfrfz8ttM7ioPi09LBKGXx9Am3XOH/hzd7HYK8g5r0cdn8WLIwbdQQ7ZbI+5nNaVIMAgu6SyJM+e/OOqEI2a1cw2puPA2A0f8ySTN+rZtr6bSBgEiD+seyGefsSvGy+uw2QfyM6shs6C9P5lOC7BDrFfbu3QptenPdvP6ZrB0FMOG67sHGa89m7LFjeFSxFnJfCwJkx7NwYnKhqO31m5ksbOhgwaToA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wpS2SSfkyeeZGIxuXHvhjSJ2TvzVU1cHDLKK/pBFuxipboIifOZBKzTvPqp6apPu19wX4f5U6bLvNeSF7fwdzZuGxrC5jTllW2uIr5KH5yJFdCU3jWV2U2tXhXC0MBdYyWoVA9htcHGfxJ+3Wiw5BUSsMQ5MWEIHx7qZEfnUwtPuKYt0FChg88G4Qsa/wJHUo42GDSy/yKoM6hti6BAT51FSqxPK7mt6/uLd01GEhAtT9+ipKZjaCIb7H+5mAWCCDMQ6xT/dUyMInfpcC/G92tRQX4bxHm7GjZJVkdGAoPb1Ux5+34VDZakP3Jy9Fcg+iR6MQxGWr1spvjMx0j8y1U/WI+dfNmMWF1mtZog5MEDlSC01IE9hFVDHAZb5QM1elL2OwTtCk7Bj6wZOMoDMdNryH1n836Ev6MN9zGnXfgH12b/5dT1ylBsg+Hw7jru1EF8an7NR/izQpKmXJZ+rCx+/RpuQ5aBvkwSTP17PUJgHS7ZUDbrsH9Bkxr3m3vVPwt8Fp5hORy/yRsyP+eQjajwi3EeQ55Dd7Dp9gQJnwXyOxk2cGZQfsjuRQvsvlza+K184fbjAult7vYf3IY/YKL+5UwaNS3J6qDJNGrCOWMAa2g1xkG+oROOyvphkE5/oAEoqjSKoZSuxETvtQpRyxKEKd7kFPA2dsYiclbbSFQ4l7FBtwzBFw4oViHikIyQr2UBzGPa53O87GRucVRBFbR2TjmbbHqvF4zyH99tojbkra8tWtsBecivjUHPbMbLvSxPqWIFOMQzL+U0eSJ9nekHqONqeNlXG9g0/B6SW7lH8pznRxag9SrxXxqqqvLrG2M5y4PxNH+wEX2YXZTxsg/mOzdbPiMi3YR7gnj33bvGo1v9SJfA1vsneAVqz8autOc+9TnCQk2VVi046nfYIZnTq8Em4Sqjl0PZ7Vk8TfncMxVpr0dYMxEjsvOORDnbcTHvnYdQBqd9EVlNgHX0IA9oI22uUkRPxz2lyjc8TLYDuFXk6mAEO+dw5y1E9FUT0KMWdY8XpdnCOi3QoRBNK26wPJkaEJ7/8mK/+ktomsZq8W/Or6tMBG2yAW5f2n319g4jndRnceYMvByGrzefx+f9D1AwCph3Dr7VBllpg6aUBsUB87r1PDNNEWz2BtnVwLOB0N0aPYvveXbgLQuieBMgFa0zGsu5xivMiMetsx18vZv8agmv4VGvriE6SIGGUJRSOwkxPGt5z0ZeTTV43dWAux8GTO9fO4StQvaXCOkzQmBZrh4d+pOWm7GnGnEF7EE4O274mrXiW4PIv2z7TYL8nD7aAD48IRKAPoJ56br0= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0aeb2e29-4a5f-425d-d588-08da5dac171a X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2022 10:58:13.3712 (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: DB7PR01MB4090 Subject: [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt 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: csv7RMBDC2ZR The packets muxers receive are not guaranteed to be writable, so they must not be modified. Ergo only access the packet's data via a const uint8_t*. Signed-off-by: Andreas Rheinhardt --- libavformat/mpegenc.c | 2 +- libavformat/mpegtsenc.c | 2 +- libavformat/mxfenc.c | 4 ++-- libavformat/supenc.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c index 62692bfcd1..3ab4bd3f9b 100644 --- a/libavformat/mpegenc.c +++ b/libavformat/mpegenc.c @@ -1145,7 +1145,7 @@ static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt) { int stream_index = pkt->stream_index; int size = pkt->size; - uint8_t *buf = pkt->data; + const uint8_t *buf = pkt->data; MpegMuxContext *s = ctx->priv_data; AVStream *st = ctx->streams[stream_index]; StreamInfo *stream = st->priv_data; diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 18e8f7e45f..c964d58c8e 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -1836,7 +1836,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) { AVStream *st = s->streams[pkt->stream_index]; int size = pkt->size; - uint8_t *buf = pkt->data; + const uint8_t *buf = pkt->data; uint8_t *data = NULL; MpegTSWrite *ts = s->priv_data; MpegTSWriteStream *ts_st = st->priv_data; diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index 7041659143..2d08dd6d40 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -2806,8 +2806,8 @@ static void mxf_write_d10_audio_packet(AVFormatContext *s, AVStream *st, AVPacke MXFContext *mxf = s->priv_data; AVIOContext *pb = s->pb; int frame_size = pkt->size / st->codecpar->block_align; - uint8_t *samples = pkt->data; - uint8_t *end = pkt->data + pkt->size; + const uint8_t *samples = pkt->data; + const uint8_t *const end = pkt->data + pkt->size; int i; klv_encode_ber4_length(pb, 4 + frame_size*4*8); diff --git a/libavformat/supenc.c b/libavformat/supenc.c index 1ca19fa161..c45d8a5321 100644 --- a/libavformat/supenc.c +++ b/libavformat/supenc.c @@ -27,7 +27,7 @@ static int sup_write_packet(AVFormatContext *s, AVPacket *pkt) { - uint8_t *data = pkt->data; + const uint8_t *data = pkt->data; size_t size = pkt->size; uint32_t pts = 0, dts = 0; From patchwork Mon Jul 4 11:02: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: 36648 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp2743173pzh; Mon, 4 Jul 2022 04:03:02 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vtWzwn186p6Lmgud6K7hDSgE1X1AnMeMuELl1qkpmDzg1l/ty3JfKs2r6GTsTGCuB4Jz1/ X-Received: by 2002:a05:6402:1e90:b0:437:ba7f:da20 with SMTP id f16-20020a0564021e9000b00437ba7fda20mr37864719edf.313.1656932582501; Mon, 04 Jul 2022 04:03:02 -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 d38-20020a056402402600b00437df0e988csi16774699eda.222.2022.07.04.04.03.02; Mon, 04 Jul 2022 04:03:02 -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=WHQz6yU7; 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 5F7F668B994; Mon, 4 Jul 2022 14:02:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065108.outbound.protection.outlook.com [40.92.65.108]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A2D5668B8E8 for ; Mon, 4 Jul 2022 14:02:52 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nt+junh5jxAWKS0YENxZIDu/H+gWwGf4RB32/fs3gFE+DEXbsROAPRUcqNVYFzc3B9fPsrUiaCUJtZueuzMJbTbc5oCZf0VpV1YngpaXRKnxRjH0YUlm8r7MhzvqphbHlT4V4VpeHX6xQxVfBQHI3/27a/haZD4vFdR+GqZGeuYDNUnLTE4CqkFq43XCqIxFlPTjAulMi4HnR+dlC1NVzdmRK2TEwSlD/+xUtqk7DBc35kJ377qjcFtV34sdJbg7XnQMHFqzJT1Cvi/H3vvwoNT8vaITjPe93Ab544Bbr+cz7m3VhqTR00uY1O2AYJpUtjabDEG1oMPRLR4Og7xn3Q== 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=ai72euYwyCE+XR1cwK7gkuyBcGqLhwticOSwrmjtY5A=; b=M9D1XOcjb7Eh8fhKLp3zJGkFKYZFb8sgYo0m/Ur4m+5x2vT7Jw68GA5gNgdDE6jAfqnioSdjk8mj79pT5h0izbTMVXwGGNPtp2VdEQoqhAST5mm1mOosj7cXloGafyhmg5bn6n1o0JWA3ASBn5wmCB4R5ZIQ7P2gq20F1WcKK0wsAWBr6xysYzrPZqX2RZmVVGr47bv8G5xujeYb6JD3bymsUdUsWsvNPi2Mz+/F88LqypzE7jjaMLvGzWL1ulbQL7+F9JKjZacPxohZOec6HCqeNqOS/7usbfXoTaJBETQQnihoh/yGVJNWepkkurNODXGbRXoAt0gHi0vBi8U6Sg== 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=ai72euYwyCE+XR1cwK7gkuyBcGqLhwticOSwrmjtY5A=; b=WHQz6yU7c/mBxjHgXTpVcwZtZESm1uGhCcKRrJruMRjarsPglQ38EldgwB0j/Su7idJTohqKE6GF/vRQKKxr+vkVT3fQ5Snu23mXAaPhxf4H/+6QOsRM9IVuSNLe0AHs7O6A8K+L4E5nCPJLemnudyT6lj8W5DF4sJEj2BKE0Hg3efF8yNR3grTRFLLdjsTdW2Uv4pXSQPMMXQoTm03zcvadsGqe/J1DVUlv0chtvsyHi42gM45JbXwW3dbHBuNwgOwI8bX2S9NNBM857dWdk9L6uW86xcxUwert4rsyvdWYDfeN7egO+NxPiNGgvSTfhCFMcjQN8v3MDcBglvTHXA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB7PR01MB5048.eurprd01.prod.exchangelabs.com (2603:10a6:10:2a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Mon, 4 Jul 2022 11:02:50 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5395.020; Mon, 4 Jul 2022 11:02:50 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Jul 2022 13:02:41 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [z647ddwNcMrOYL+ajD4gwgS5Q7GfSXt6] X-ClientProxiedBy: AS9PR06CA0281.eurprd06.prod.outlook.com (2603:10a6:20b:45a::30) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220704110243.812264-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 69db7d0d-ed2e-49b8-d1d3-08da5dacbc81 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNUxDAI+Tg+jRet2hczaTcPcVMeNcUUurseiKMyWoxDJ0B9B22Faw8dxfNYmQqjubd27fDLzmcJZ3Uu18bZhwy8LUoXOzUDmrgHuzSjadMdREIiiH39Cs3pAXvFS+CPrKRosPJgcBkVNArvFiCVv4GKBxdVnFejVZlk5G+8WCsyNRkw8hheTYf3Z+nw2WcwYD5kPgsj3Flj4q85P0kMhlbPsPJTvcC15BEQmDgP64SmIxIXFYYcwYGzj1R1xJo5upeE6odt93poqjB9IrjtnIBZW5k+4T6hNotzjepjmCruR9JVlcdCp2J+6PYVzlCifdQLjFNUhNmfbW/GQ1mirBM2N2XEKoNtN7EDzoZHkuHUKDVOrH8WEFB9UJwr2g7LIH9yGrxI7JEbXHqNUk3Mxhn7aY5I1odCQxjciDJH062v6daCIeg1/jtudGb0C/bAT0geTVIeO+j/GhFpUUg3cbsEpWsq8XQCZDO9Ejz9CiArsnRAT6StoCE+VCZOQWxMnpe1twsQ4kMTUduvt+8aD5jC+VDQSz9QOrctaaMzJcqfwGvzGZOwrMCRPzFMncLiGlEmLugkGwY4bRe/Nc3+dDrkuFxWUXFOj6CmrSbOs6jaJmCzW2/vaNoWMwfjonPqlmzo9qHtXn75W9wwZeCuHye0tgUy9kuWjvfWfitMctaDfm9HoRhA3eaf4hap9pnV1eKn55JmppkPSPsjLL9sh3W4kFAicUUwI/ZM= X-MS-TrafficTypeDiagnostic: DB7PR01MB5048:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9xxIx04RhwDCeafb/j53IEeDMpOxo8LPoMATR+RtdkNaakvMdNqentLwYXnFw5+B9BpRL217PTJxf0Lm6HwnR07MB9+cJch5iRY/wq+hPP7EK8ZPeqks2yDwnTX3xHlTEqe/4pzssv6wm5gyYKb9yHo5UNeqP09dn9jrv5hqy3oUW+oKZSLUR51g4kBzg/V4P2vaMLqUypVKJM5OdHY6HqSH5Tf0z0pmXUR5BGy+qdDM3ffvrA6x/G6SFQ6mt29rnzxqARIqo12CgBPDBgvI48iuCiOs7+7QgUZRKYvFrmjhqi7NnsCOuvFaKM6fFgJMH1MWskT276Xu7skSskKqwRhk5OZrTCHkvvMpTfm0wdzQ3uiNUfQIjFrm4lGjvxXYqk4Gvi9FimSgH62WAxwlOTtVFpyHZqosB7PCOiKzvc4L4HnCLsviDEBg5bjmb72Rf7a59k8awyXtLGEQTh2ryUPWaRUzzo8isJZKAFYBt6LAuKePnUWNdAD7B3rRlZX7AbUtzv+MuTTskzaErH1C8Y6j0eGjpMphx5Hu2uy1TKSMxXcLHyg/CaILJTXLPVkK9HuTjRFNHCfoMh2q3wHpCOSI6LtOTnIxqrHHr9wovqNtdI5zkiPhcgYnMugKSzhBBT35uqhvX5EttC3aZUxclA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: myspSbKBfgFe06V5IpAXBcHKwKpZ9P1nYIOHRIsfqGgr5Cui1t1LyA5siL+d8Zjh+Tdbh/SOKUPwrhePFfj7TNZjY6faTpVDbEGvrgNq7Jlgyi/4ueaBDC6cQHH2zDHo7E5KD33JFFBEUihlvQ2McmhUKIIWrYP2i22M3PWK1mbsBh9zOCvXreyeTbaZ629CAaTSgJmCP2DFrUztINGqGbTwkU5AH+0RoErxnpX6tY2sZitddRSI3teAngjgD/W+GKdGfajLauV89sRfia1V4CJwAwN6rebH7ydsLT5DYdPl+hkFfG3EMM+QJSag3jmJQtrVFtl4tYH08FU5OlTKeW5FlUNyHmtO9fy1Q+ay+VuZsQwDiLzrzIn8qHIDYxX3Lmi/vDw8oEkMM6WCPW6YtzhpvopSGbFl/HFEVvk08l7MfHIxM5/mnE5RXkQ19Kp6agIF0MG1YXP3dH/Jbn1Y5iuj8UJlexmsEqc/jKy9vwe1NYpJYEqUUroc7jHYFahQ80baYBLLX7XAYvC+udEbb+wXXwjFk5qBCKb2h7OIxCBTLCEY0ObaAZ0nCkGxu7j/EBH8NW/7fsLYek0Os/FcOheAdo4xnxCNkCDUDIxNQP5U79ZLzQQOG2u1S4UTbyeSnWgWf3VVm+Xc8OLKWvrMqkp/XbXoihIxgdu+A/+PfFIOhMFFuGQVsDD4uvC6G7pTFE4ZohPdBCCwUJ2LpLuY1eStOJ/4cTpMRNSuZzIsXZBZqdt6KzVv8ZlV33lTNmYUQgLwnDRHvfwaNByNYr4k5uBnfpkf2LgZGgjm0ohjEhoUHMnfcy7H41oxUW8D4DtNzUWopN5j2R1zEIfvIgKEQ+8Vq/sZsS2kMDq6eIYV5spJO0wzLEnx81fWvUlm2g3Woc2X7EqIO02bUEN1s0jGgppTpxVFWyNMEM6eX7D/IIeWCuL8+119BvJ8vfQ1KVT0wlM/xqP//c6j25aRw+rsPUytK39aJTIIhAl6hNdTUDQPLrZlOZGvOrgyl3A0qnR7ZoVp20HSdXbyHNKlJ2P6Zn97rrfo/NQ3ht4pMmvp3+H5pQtBd+zElPBh8H0sY3yHdKJha3rwYVvBGIWPHboxhyz+d/SmPIr/PC9Wy+pWPE5nCGZEKd4ZhVkGUTaK+QyoprO1kcQycg+k26DvDUULss9cORsMnWcYYXMM4vUH0hpxHwgvu5zrh5z9LajZCWzKrTnrlNhioBPEIzIUjTWuVAGz+GgpLOecBWrYfl0xqWAr9XfaUNKg9tuOC+dxcgB6lvj45IV64lfC0EWRFEQJ9LBD3xh0nV+0gr4N2PYcRrw= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69db7d0d-ed2e-49b8-d1d3-08da5dacbc81 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2022 11:02:50.7517 (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: DB7PR01MB5048 Subject: [FFmpeg-devel] [PATCH 2/4] avcodec/dcadec: Treat the input packet's data as const 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: 202wCTWQRo6i A decoder's input packet need not be writable, so we must not modify the data. Signed-off-by: Andreas Rheinhardt --- libavcodec/dca_core.c | 4 ++-- libavcodec/dca_core.h | 4 ++-- libavcodec/dca_lbr.c | 2 +- libavcodec/dca_lbr.h | 2 +- libavcodec/dca_xll.c | 10 +++++----- libavcodec/dca_xll.h | 2 +- libavcodec/dcadec.c | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libavcodec/dca_core.c b/libavcodec/dca_core.c index 34b5b63159..2b19807ef4 100644 --- a/libavcodec/dca_core.c +++ b/libavcodec/dca_core.c @@ -1797,7 +1797,7 @@ static int parse_optional_info(DCACoreDecoder *s) return 0; } -int ff_dca_core_parse(DCACoreDecoder *s, uint8_t *data, int size) +int ff_dca_core_parse(DCACoreDecoder *s, const uint8_t *data, int size) { int ret; @@ -1830,7 +1830,7 @@ int ff_dca_core_parse(DCACoreDecoder *s, uint8_t *data, int size) return 0; } -int ff_dca_core_parse_exss(DCACoreDecoder *s, uint8_t *data, DCAExssAsset *asset) +int ff_dca_core_parse_exss(DCACoreDecoder *s, const uint8_t *data, DCAExssAsset *asset) { AVCodecContext *avctx = s->avctx; DCAContext *dca = avctx->priv_data; diff --git a/libavcodec/dca_core.h b/libavcodec/dca_core.h index cb8e38a94b..a01d642e77 100644 --- a/libavcodec/dca_core.h +++ b/libavcodec/dca_core.h @@ -245,8 +245,8 @@ static inline void ff_dca_core_dequantize(int32_t *output, const int32_t *input, } } -int ff_dca_core_parse(DCACoreDecoder *s, uint8_t *data, int size); -int ff_dca_core_parse_exss(DCACoreDecoder *s, uint8_t *data, DCAExssAsset *asset); +int ff_dca_core_parse(DCACoreDecoder *s, const uint8_t *data, int size); +int ff_dca_core_parse_exss(DCACoreDecoder *s, const uint8_t *data, DCAExssAsset *asset); int ff_dca_core_filter_fixed(DCACoreDecoder *s, int x96_synth); int ff_dca_core_filter_frame(DCACoreDecoder *s, AVFrame *frame); av_cold void ff_dca_core_flush(DCACoreDecoder *s); diff --git a/libavcodec/dca_lbr.c b/libavcodec/dca_lbr.c index 06c10b96f5..2b8594cd75 100644 --- a/libavcodec/dca_lbr.c +++ b/libavcodec/dca_lbr.c @@ -1156,7 +1156,7 @@ static int parse_decoder_init(DCALbrDecoder *s, GetByteContext *gb) return 0; } -int ff_dca_lbr_parse(DCALbrDecoder *s, uint8_t *data, DCAExssAsset *asset) +int ff_dca_lbr_parse(DCALbrDecoder *s, const uint8_t *data, DCAExssAsset *asset) { struct { LBRChunk lfe; diff --git a/libavcodec/dca_lbr.h b/libavcodec/dca_lbr.h index db7a676c31..9e1abec0b4 100644 --- a/libavcodec/dca_lbr.h +++ b/libavcodec/dca_lbr.h @@ -124,7 +124,7 @@ typedef struct DCALbrDecoder { DCADSPContext *dcadsp; } DCALbrDecoder; -int ff_dca_lbr_parse(DCALbrDecoder *s, uint8_t *data, DCAExssAsset *asset); +int ff_dca_lbr_parse(DCALbrDecoder *s, const uint8_t *data, DCAExssAsset *asset); int ff_dca_lbr_filter_frame(DCALbrDecoder *s, AVFrame *frame); av_cold void ff_dca_lbr_flush(DCALbrDecoder *s); av_cold void ff_dca_lbr_init_tables(void); diff --git a/libavcodec/dca_xll.c b/libavcodec/dca_xll.c index aaccb7a43d..17626b3614 100644 --- a/libavcodec/dca_xll.c +++ b/libavcodec/dca_xll.c @@ -1040,7 +1040,7 @@ static int parse_band_data(DCAXllDecoder *s) return 0; } -static int parse_frame(DCAXllDecoder *s, uint8_t *data, int size, DCAExssAsset *asset) +static int parse_frame(DCAXllDecoder *s, const uint8_t *data, int size, DCAExssAsset *asset) { int ret; @@ -1067,7 +1067,7 @@ static void clear_pbr(DCAXllDecoder *s) s->pbr_delay = 0; } -static int copy_to_pbr(DCAXllDecoder *s, uint8_t *data, int size, int delay) +static int copy_to_pbr(DCAXllDecoder *s, const uint8_t *data, int size, int delay) { if (size > DCA_XLL_PBR_BUFFER_MAX) return AVERROR(ENOSPC); @@ -1081,7 +1081,7 @@ static int copy_to_pbr(DCAXllDecoder *s, uint8_t *data, int size, int delay) return 0; } -static int parse_frame_no_pbr(DCAXllDecoder *s, uint8_t *data, int size, DCAExssAsset *asset) +static int parse_frame_no_pbr(DCAXllDecoder *s, const uint8_t *data, int size, DCAExssAsset *asset) { int ret = parse_frame(s, data, size, asset); @@ -1119,7 +1119,7 @@ static int parse_frame_no_pbr(DCAXllDecoder *s, uint8_t *data, int size, DCAExss return 0; } -static int parse_frame_pbr(DCAXllDecoder *s, uint8_t *data, int size, DCAExssAsset *asset) +static int parse_frame_pbr(DCAXllDecoder *s, const uint8_t *data, int size, DCAExssAsset *asset) { int ret; @@ -1160,7 +1160,7 @@ fail: return ret; } -int ff_dca_xll_parse(DCAXllDecoder *s, uint8_t *data, DCAExssAsset *asset) +int ff_dca_xll_parse(DCAXllDecoder *s, const uint8_t *data, DCAExssAsset *asset) { int ret; diff --git a/libavcodec/dca_xll.h b/libavcodec/dca_xll.h index d223133019..d7c1a13ec8 100644 --- a/libavcodec/dca_xll.h +++ b/libavcodec/dca_xll.h @@ -139,7 +139,7 @@ typedef struct DCAXllDecoder { int32_t *output_samples[DCA_SPEAKER_COUNT]; } DCAXllDecoder; -int ff_dca_xll_parse(DCAXllDecoder *s, uint8_t *data, DCAExssAsset *asset); +int ff_dca_xll_parse(DCAXllDecoder *s, const uint8_t *data, DCAExssAsset *asset); int ff_dca_xll_filter_frame(DCAXllDecoder *s, AVFrame *frame); av_cold void ff_dca_xll_flush(DCAXllDecoder *s); av_cold void ff_dca_xll_close(DCAXllDecoder *s); diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c index 38ea8733e4..498e0c86f3 100644 --- a/libavcodec/dcadec.c +++ b/libavcodec/dcadec.c @@ -151,7 +151,7 @@ static int dcadec_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) { DCAContext *s = avctx->priv_data; - uint8_t *input = avpkt->data; + const uint8_t *input = avpkt->data; int input_size = avpkt->size; int i, ret, prev_packet = s->packet; uint32_t mrk; From patchwork Mon Jul 4 11:02: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: 36649 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp2743275pzh; Mon, 4 Jul 2022 04:03:13 -0700 (PDT) X-Google-Smtp-Source: AGRyM1v4jnp/SLpuTKI2vd/EcewVlQhXD6CgVtXK3yq6Grxa+anx2Ym9Q7hNZ4mdXuFEWVv+XHdG X-Received: by 2002:a05:6402:e8b:b0:439:7a9d:f39d with SMTP id h11-20020a0564020e8b00b004397a9df39dmr23911428eda.295.1656932593239; Mon, 04 Jul 2022 04:03:13 -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 i17-20020a05640242d100b004359a504775si13537319edc.238.2022.07.04.04.03.12; Mon, 04 Jul 2022 04:03:13 -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=LhS9I+GT; 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 C15E068B9B8; Mon, 4 Jul 2022 14:03:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065039.outbound.protection.outlook.com [40.92.65.39]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DC1368B9A3 for ; Mon, 4 Jul 2022 14:03:01 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CnzbaL4SOLax2kCT9EKuUeN16olYA+SQgKRfzt8PVCIB/VZinVCQIgqJM1TPRf7ej9gsJE6LrrGvjAr/HlMzKMiaf2yozxvfxUv+6Fs5Ih6XJu1Rca17M7MIgtTNUUSomKnRy6EcU0IxgdpMtY6nvfGi+QbtFxpjwjLg+dNfSiRcoa9NDlxSq3fItIQ6idprbVkAoBPONbAuOyM6Kni2LposyW3YcyifoQ9wTqsbgCXmsqlrVf53wIskRDtPU+cHWVr/iECzaaI7WlP9fxChnbWN0DrSjy4UVHuVlB4sMv9xgYrn7OsE0RIsdNPfpfvuVL4CTLu6y3yVapiU1j647Q== 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=0RDYt2fS6Xzlnm3MbnqPo7G6Syj0dkm5Yfx0PM9fuzY=; b=UUmnQwfuBlHR/9nXclyQExAUGa8hzJTcCVx1jfzyDgrHyqPj+KefojUWbi36VbtZYk5h8Q/RISojEzE05Cz7/99nkjh9mnoId03DHtDl/4K1BLjeWpXBnhwIOL/ig+8mbGI4oMSYiI6RCFlVNiALOIC1hjYWbraat/44/TnwI9uXIlIBkPZMqGABSB+q7BuqzrctYVCWX0pWylDXT3kQvj49Aer88OI+tqg1uoFkA+03oKOq73+qrPv0lChWecXbPfxZRaHI4Gl67Xeqss4g6+gNAlioUcKsrnt9ttHUiJBXqRCaLGKRZ1HcWPbSi/B4XtLxF87Ks4C80JD2weddjg== 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=0RDYt2fS6Xzlnm3MbnqPo7G6Syj0dkm5Yfx0PM9fuzY=; b=LhS9I+GTVly6GZ12bNabbKy7wQpKmYne0lH9sN7rMS70NIqORMw9Q0NV+JLLwlBtTagc589slZeRLuniwBgQipRHpvT3JK7pCh+R7RqAswfZfgyzawOBmfcJeZOU9B8v7XLbxP0TY1sLUw2ByUmW7yWSYvvgxV+d1tv7XrokvT1sY105ebE5l3EWp/FkIrmgPPdbpcFJRNfr7ivLLqXayWveTWBc02jKSqa2CmBbBug2zl6LnbV0oBunLmhck7xkUNfLXWYRwAuj+yNVcXffRxsLPJwxPmg84U8uf2Hu06bOLkCsxweJ27kGZkixkv3WjXGfZntdh5P+NGo/lo9Fzw== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB7PR01MB5048.eurprd01.prod.exchangelabs.com (2603:10a6:10:2a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Mon, 4 Jul 2022 11:03:00 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5395.020; Mon, 4 Jul 2022 11:03:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Jul 2022 13:02:42 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [wGaUd2oznYi52iCjoKYtSOCidWZ6LIz8] X-ClientProxiedBy: AS9PR06CA0281.eurprd06.prod.outlook.com (2603:10a6:20b:45a::30) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220704110243.812264-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eed16eba-db74-489c-828e-08da5dacc23f X-MS-Exchange-SLBlob-MailProps: GjjEsbJCp876EYIobChUHbiYjidraKzzL3EVQqQXupxqFFLwslEo/4VIUXF3KE1FUNsJPVc4NkVighO82VRuaQJJybi5Q5Xjawn7mYwte4vIwO7/XWAjtR07GYAf6FQ3B5M85H2jSopWYmsBlDv1GodsItYzLnx41Je9sDmr01QHOC6dqDlOX+n3h+eY3U5rjVWuydWZa1NoF7o8nW2zofmU7NKWz1iUCzwlza5vX5M+fV+t3zd7CxIpI4C4SQKmlh63DPrTM+m9ly6RxN3iVEysqMif/AFW9Pm3P2rd6Zv1U6QMKRI4z0tLbJnHCfgze7ufLDs9cy8AfwN+wjnWt9BU9bzrqnbaQhYwOWjrEoWo2Z4XOVf0JmVnJbpI5+A6oyN/ddJYCo0a3a4B1+6wVOQ0w9NlQ5TVxHuo2gowYlq166k8cxwc16AYuoDFu0cwvE2Hb9fdKN4O/Aud5yyvFH1lJ97tKqScwlI9T1ZKu4D2KRVAjKl5knhWNO9xQYfV8XHL+vSPYL+I5ZAMnTOgkESkP08ocsm0nzmjr1kRZCysIh+FFNc4DjnAFM9urObIyRuDp9K/+P4zsezde4f8yfQpnhN/OlA8+/xqlqif7JUdslGishqzoDD28U5bYG+H8SrhfGGySSBjc8MojZt18dEoZuQnKG8TWzXZHZw86XSJP36P7FAowka4nFfcmDXDJVbVg/LqcVmvCNcwMwjgjfuS+yzI1mTm8ZdZszpgUc9SBR3M474KBM0tdafAi3IkquWmMVXS8vLWL/gcHkx00rKPwoDF5ykuabW3mJ7lemGn/GgIUj2mhVuBN8MjpYanUNHZJmQMtcm+/8J8hS7gOhT3YCkHm4zCQk3+Lghg+sgvnCVw4t620A== X-MS-TrafficTypeDiagnostic: DB7PR01MB5048:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8U72LbkaH7PUad8TGNa7pbtPF8qa5ucuNbVEbOaGdnRLQMIaKl9kWgkg+Rmi3TbrcMbNHe6XSOsQyEuwVnOwMzoBYdBY1JvSZ9Vf8RoIpAXHGmQabn3ja7vIu+iCqwAUgLdkUE4t4ELJIhp/OgdA6gdTnsLy+5bYSPyyVD9ZPohlWufOO2FES24nP1Tpv3OIyBACk2CuR7WSIA3TEcNLC3OC5jFkee+1Wfb6MELh2UdGN6ujI8zDl5c6VGx1SVYszSSStY2dogo4GJSVuryqVG2LhF/kyo2wWehkr+XeT7fLGaZcrQ5FuOObyiGCXmm7HeKcLfejVPCs837FkxM2ZRI4WX0MWALuLXfCI7ZaJszFPiJEbsS85ZU15WuDrbZn0Xv/R8tWL3aDllNK3GRX8+BGp7QhFeFPmw5BJQF+KP4/PStyGdOIPJLcYWWDxmox6v+RSSgugH6D3whfWnHS4KwLuBmA25AmfqeTiX/+8+dlQGNnMP8W8SPcksbDgItM1zc16m2fYeNYk1pzZMMg5HPgECrgTbwFTnGmaMeMnna7EM2TzMfdr5zZWvVn0sjxH4WW2c6Pp2GejnZVEf2UBUyMeI0ihPYmiosxGCv1Jnu23gvu15n9K5xTJ3KTxwTnsQ8gArZPFsdB9sh7ruHIJQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: glXZMwWZYDH1+D0uu/Xd7Pk/cQHY+QYrgdYr0wAKNSqDYq6D5vT+WDT8vTnIJhfFCX6YLpI08qFgXXCFHRZCsT0H0+MmhJ+JuMk79JgHxGj/mcY/21KtUhLXeUILJoUoM+KkiVhBFJbt3RloMZqaJWMLdAIsGhwkAjwmYOVSxnAC5k4evWvb31dAuEppk53her1HT/eYA7/nIIbipZgWNvFGjMkO6eYwSd82FDkG2S2gmbkB9UDtH+bK8V6OcnZoIIRCMoQCSvvNCtS5d+DRVYxm3LY8lH0/Bh5smt5E9vjBokC9kQOU6fg0JYk9hyy30LtVr3lDvvDn/0y+hjYEjKhsz7vD2+UCFh5d58s4MKmR4DqemQf3yL4G3A4u4zHSUu1JfIlOvlNqKPo+ORIcADr+aBEkpT4qVTVikWA80kTPKT/ZW+UfcA459HNDDvkYC1/dy9VNihlfkzD4f5ba61Xhn8vmPCMa+s+3KsWQF5uaJ4o3/BNRcohwoWyQkPfbHPzRQz8qmlFTyG+JApF05nOFyrQBnopxGl1dcoaPv4vy+ocuOEdsQ/4YytW0rC7RLZNYoFvp8Loyg1FGEyBH8fvBwM+FJRHl7bU0jg/yW7NsGnKQ5VHYGnBMPwUroA3PXlwjUU35oXoXEzJQFpakOaEbAruK94y8SNoqw3VaJYGzgyoH9qkX3k+2d4J2ZJvdcplcShIBPXPjqqZ3zPJCn0A+NABP3cs8kWHgmihuO1OAqGhW1vX6V8GvvX6lFRT9MqqBDJCaqM9O3oUyRsaC+7lJhaRdfq9rp6EF+NVf0WsQGMIUpcREDtK3kPYiklXKqPtVV7Bbha0VqBj6xcjVYVgIHPFdGHAg/MWr2nlzlTZgIC0HLMnTmMvTtGepOfzGweIz00yDXbmvJOEC3exAT/0lC+2XVhOwz5ZEJAMSDqnMDMt/lJtR539fsWWLlliACPheHuVVxR98MuWmHjiaj1KhOfC1zSYmNsfmvdT3YEBpgWmIymp/X1R9JDjDhEetOoNWxYelj0hL+js3PfcxODn3CrafCQO8ye6xsxQ9ZOHAFCeo3YfAcZs8ZduoMlxJG3Q0afBj5H8l47r30D61y777MDRYbsSvnv1LXqTts+U5XV7M/boXPH/vWyv6IfJzNetf+zaWk9WRSF5iOWSxHSRBv+qh6dqUr+XQ5kYq66n23m+v2ovzX3/H38xNADaYMTGnwn+YKZqjDN07s/mjhBoKKtXqdIspsfasJuZeu1pMiaOMD6z91FIKS86gwCdDS5N5RckwO+07gl4KbkS2YVtJRWwE63r56qGMztG+9l4= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eed16eba-db74-489c-828e-08da5dacc23f X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2022 11:03:00.3665 (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: DB7PR01MB5048 Subject: [FFmpeg-devel] [PATCH 3/4] avcodec/decoders: Use const uint8_t* to access input packet 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: /8eHo7oTx7ED These packets need not be writable, so we must not modify them. Signed-off-by: Andreas Rheinhardt --- libavcodec/ansi.c | 2 +- libavcodec/cllc.c | 2 +- libavcodec/diracdec.c | 2 +- libavcodec/fic.c | 8 ++++---- libavcodec/hqx.c | 2 +- libavcodec/hqx.h | 2 +- libavcodec/libdavs2.c | 2 +- libavcodec/libjxldec.c | 2 +- libavcodec/libopenjpegdec.c | 2 +- libavcodec/msrle.c | 2 +- libavcodec/mwsc.c | 2 +- libavcodec/v410dec.c | 4 ++-- libavcodec/y41pdec.c | 2 +- 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c index 909ebe7396..ff4437cc61 100644 --- a/libavcodec/ansi.c +++ b/libavcodec/ansi.c @@ -358,7 +358,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe, int *got_frame, AVPacket *avpkt) { AnsiContext *s = avctx->priv_data; - uint8_t *buf = avpkt->data; + const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; const uint8_t *buf_end = buf+buf_size; int ret, i, count; diff --git a/libavcodec/cllc.c b/libavcodec/cllc.c index f7283ca4f8..4866c5b2d4 100644 --- a/libavcodec/cllc.c +++ b/libavcodec/cllc.c @@ -359,7 +359,7 @@ static int cllc_decode_frame(AVCodecContext *avctx, AVFrame *pic, int *got_picture_ptr, AVPacket *avpkt) { CLLCContext *ctx = avctx->priv_data; - uint8_t *src = avpkt->data; + const uint8_t *src = avpkt->data; uint32_t info_tag, info_offset; int data_size; GetBitContext gb; diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 9f3c930913..50d1d2e1d3 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -2264,7 +2264,7 @@ static int dirac_decode_frame(AVCodecContext *avctx, AVFrame *picture, int *got_frame, AVPacket *pkt) { DiracContext *s = avctx->priv_data; - uint8_t *buf = pkt->data; + const uint8_t *buf = pkt->data; int buf_size = pkt->size; int i, buf_idx = 0; int ret; diff --git a/libavcodec/fic.c b/libavcodec/fic.c index e56a1a323c..491f63ea0c 100644 --- a/libavcodec/fic.c +++ b/libavcodec/fic.c @@ -32,7 +32,7 @@ typedef struct FICThreadContext { DECLARE_ALIGNED(16, int16_t, block)[64]; - uint8_t *src; + const uint8_t *src; int slice_h; int src_size; int y_off; @@ -174,7 +174,7 @@ static int fic_decode_slice(AVCodecContext *avctx, void *tdata) FICContext *ctx = avctx->priv_data; FICThreadContext *tctx = tdata; GetBitContext gb; - uint8_t *src = tctx->src; + const uint8_t *src = tctx->src; int slice_h = tctx->slice_h; int src_size = tctx->src_size; int y_off = tctx->y_off; @@ -271,14 +271,14 @@ static int fic_decode_frame(AVCodecContext *avctx, AVFrame *rframe, int *got_frame, AVPacket *avpkt) { FICContext *ctx = avctx->priv_data; - uint8_t *src = avpkt->data; + const uint8_t *src = avpkt->data; int ret; int slice, nslices; int msize; int tsize; int cur_x, cur_y; int skip_cursor = ctx->skip_cursor; - uint8_t *sdata; + const uint8_t *sdata; if ((ret = ff_reget_buffer(avctx, ctx->frame, 0)) < 0) return ret; diff --git a/libavcodec/hqx.c b/libavcodec/hqx.c index c41fe61387..596b8a7ed3 100644 --- a/libavcodec/hqx.c +++ b/libavcodec/hqx.c @@ -404,7 +404,7 @@ static int hqx_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_picture_ptr, AVPacket *avpkt) { HQXContext *ctx = avctx->priv_data; - uint8_t *src = avpkt->data; + const uint8_t *src = avpkt->data; uint32_t info_tag; int data_start; int i, ret; diff --git a/libavcodec/hqx.h b/libavcodec/hqx.h index 3eddaafb29..155ec7f84f 100644 --- a/libavcodec/hqx.h +++ b/libavcodec/hqx.h @@ -70,7 +70,7 @@ typedef struct HQXContext { int format, dcb, width, height; int interlaced; - uint8_t *src; + const uint8_t *src; unsigned int data_size; uint32_t slice_off[17]; diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c index c2040775ae..918e48502c 100644 --- a/libavcodec/libdavs2.c +++ b/libavcodec/libdavs2.c @@ -190,7 +190,7 @@ static int davs2_decode_frame(AVCodecContext *avctx, AVFrame *frame, { DAVS2Context *cad = avctx->priv_data; int buf_size = avpkt->size; - uint8_t *buf_ptr = avpkt->data; + const uint8_t *buf_ptr = avpkt->data; int ret = DAVS2_DEFAULT; /* end of stream, output what is still in the buffers */ diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c index d516d3b0ac..829478bbde 100644 --- a/libavcodec/libjxldec.c +++ b/libavcodec/libjxldec.c @@ -321,7 +321,7 @@ static int libjxl_color_encoding_event(AVCodecContext *avctx, AVFrame *frame) static int libjxl_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt) { LibJxlDecodeContext *ctx = avctx->priv_data; - uint8_t *buf = avpkt->data; + const uint8_t *buf = avpkt->data; size_t remaining = avpkt->size; JxlDecoderStatus jret; int ret; diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c index 58715b43ee..58ac6c413a 100644 --- a/libavcodec/libopenjpegdec.c +++ b/libavcodec/libopenjpegdec.c @@ -321,7 +321,7 @@ static av_cold int libopenjpeg_decode_init(AVCodecContext *avctx) static int libopenjpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture, int *got_frame, AVPacket *avpkt) { - uint8_t *buf = avpkt->data; + const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; LibOpenJPEGContext *ctx = avctx->priv_data; const AVPixFmtDescriptor *desc; diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c index 041d0c9493..f9d7141c03 100644 --- a/libavcodec/msrle.c +++ b/libavcodec/msrle.c @@ -108,7 +108,7 @@ static int msrle_decode_frame(AVCodecContext *avctx, AVFrame *rframe, if (avctx->height * istride == avpkt->size) { /* assume uncompressed */ int linesize = av_image_get_linesize(avctx->pix_fmt, avctx->width, 0); uint8_t *ptr = s->frame->data[0]; - uint8_t *buf = avpkt->data + (avctx->height-1)*istride; + const uint8_t *buf = avpkt->data + (avctx->height-1)*istride; int i, j; if (linesize < 0) diff --git a/libavcodec/mwsc.c b/libavcodec/mwsc.c index d89fbde4e2..499b220a07 100644 --- a/libavcodec/mwsc.c +++ b/libavcodec/mwsc.c @@ -92,7 +92,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, { MWSCContext *s = avctx->priv_data; z_stream *const zstream = &s->zstream.zstream; - uint8_t *buf = avpkt->data; + const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; GetByteContext gb; GetByteContext gbp; diff --git a/libavcodec/v410dec.c b/libavcodec/v410dec.c index f6d675c508..e67cb820ba 100644 --- a/libavcodec/v410dec.c +++ b/libavcodec/v410dec.c @@ -28,7 +28,7 @@ typedef struct ThreadData { AVFrame *frame; - uint8_t *buf; + const uint8_t *buf; int stride; } ThreadData; @@ -89,7 +89,7 @@ static int v410_decode_frame(AVCodecContext *avctx, AVFrame *pic, int *got_frame, AVPacket *avpkt) { ThreadData td; - uint8_t *src = avpkt->data; + const uint8_t *src = avpkt->data; int ret; int thread_count = av_clip(avctx->thread_count, 1, avctx->height/4); diff --git a/libavcodec/y41pdec.c b/libavcodec/y41pdec.c index ca81dda0e8..4b1e64aff9 100644 --- a/libavcodec/y41pdec.c +++ b/libavcodec/y41pdec.c @@ -39,7 +39,7 @@ static av_cold int y41p_decode_init(AVCodecContext *avctx) static int y41p_decode_frame(AVCodecContext *avctx, AVFrame *pic, int *got_frame, AVPacket *avpkt) { - uint8_t *src = avpkt->data; + const uint8_t *src = avpkt->data; uint8_t *y, *u, *v; int i, j, ret; From patchwork Mon Jul 4 11:02: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: 36650 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp2743391pzh; Mon, 4 Jul 2022 04:03:26 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vE1PQ0bKlJ/19whRg7LbaOQwiOlMiQZgQQyH7HBl0UW3JlqC9pAAXB14uLDt3HQJq1LHxC X-Received: by 2002:a17:907:7e8b:b0:726:2c51:b06e with SMTP id qb11-20020a1709077e8b00b007262c51b06emr27558588ejc.129.1656932605885; Mon, 04 Jul 2022 04:03: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 y7-20020a056402358700b004357739956bsi15957098edc.446.2022.07.04.04.03.22; Mon, 04 Jul 2022 04:03: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=gYOPM0T+; 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 A731468B9C0; Mon, 4 Jul 2022 14:03:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065039.outbound.protection.outlook.com [40.92.65.39]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 02B7268B1BB for ; Mon, 4 Jul 2022 14:03:07 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ob3pMIGGhyi03kLDJRoU3fETiUIeOU0+zpOpprR0bcxwEQHlD+fY0erBqfvbtRJeZJseB+BwUE84W6oX0SzPn1r113/MyP7OQ/qGSqlHj+a5YutS5pPBe8FVHQxQMWIbPkAWFTgMmT3FAjbdZ8EoZW1Il76B2aQmpPMfqCy0MPRXYaIqsdBhKksEtc6nOawuCuvaZqM3X9Hc5U2sWKbFUrakdbnrB2LFKUp1s5GT5aijhWiseVRSBaX7NrXl0c2hHeeSZIihFD1fpsdtcBpdjQylu+RMJm41qrskVHmQdqi1dgznnjkoHqYS5h57Vj6RjrIUZxAuDvwe7wcsQTtMjg== 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=3o6c2ULifWqQCOleR25emw+x2XFvzsYMHmJSNZCSRR8=; b=jd0WDgQ1LdmB6ezukDWwj8z7Ceb/QR9EGVoxFW92OZ0YpUo6pqzEn6SGrdhX8f9dHebtc/sAhoa8xbGKF0ygx+Y6+b4IH21QAqz62y98s8jXS2TVZ6RLQBSgfE2hNkkcywO6D28ScXSxkQvQgn7iSpU2ac51xaRnJH/druPKo9lSm1HugkhT/mJVA8OJxLdUCTp5Nl1cldfgoEPlPWUNX/lV4cIdjtCGzuabbnoeeEHcYhacIYUd5jisJ9YufAv9lVyo5RMdHpMIeM09wxygnz+fyMnJ+VAnq9Dhc56BLvRou//9npq98rV86UvU7Icp2fpZJqxVYrkUUvZkUfEGDg== 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=3o6c2ULifWqQCOleR25emw+x2XFvzsYMHmJSNZCSRR8=; b=gYOPM0T+Psje6yN7xu7QbDmpfO9MG+e5KM3sjrHY/IjDzcx1hh1ABE3ESuDJm7HHqiV560uGuFv8JoJcdiO50zdtuSxjPuNIf91NWO4Tm+4riCJsrwfZF8A0hVLiN59EMOZknWGKQ1CgMdPdGE56Fz3o9vAKYMMzhEKjpOLvBQdFrKEp6mmiCa4ZJCHZ5EAXxN+BBCaiWD0RHSRswmH+fPl7PifB5hekQxYd5fLlTwRY2y1GG+c2Z6DQMopuqD86/yZTi7+2rFXiKiRihZHOl11p1ft4Jq/9lGxpxAIV1oRVYgF6Pz1cKjB16W4jWzBnfj9SABkbuUuVWi2KoiZ66Q== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB7PR01MB5048.eurprd01.prod.exchangelabs.com (2603:10a6:10:2a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Mon, 4 Jul 2022 11:03:02 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5395.020; Mon, 4 Jul 2022 11:03:02 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Jul 2022 13:02:43 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [0DfYevqtUcXTiybUOl+CG6VBu1XLlZLM] X-ClientProxiedBy: AS9PR06CA0281.eurprd06.prod.outlook.com (2603:10a6:20b:45a::30) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220704110243.812264-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4724838c-2f22-4dd5-da53-08da5dacc38b X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSUs0MpKjnPJGVAIGxoh9EBtq/L+hDsEozcot0wZOzRyorkMWTFX/NOK0L3uARXtEMbwnQ/66x9EYoqvg3vHqeTqL2JpNfkYLt0QAfucNP1VmsSAPb2MNKKoCUG6y5LVqzD1osVqZXps4aTsRQFlu+O+6UVuOuFzHbOH1askraENvk99kJf9a2H7R43Zj9g4CPP8e1FHzyNBktko09M+ujFxbYtJZP9a4TlzAB0ESHaC/aCLxHM6V2NmgF6OS2X1zG+Th2wc7PqC6rqVDyeLhDgE7xqhjTREdkCTwY1PEdsCfHr+cxQEjyNb2OQqY1FoWf8/n3F4czE2nTsM5tJuCy+Zp93d2VB0j7XDQHYgDk7rN4+1aQjFz4GcB1Ahe8U72KQzuyaBhHmr0fHmP1Ks/9PalUN+LcE4KteUhYCH12+uXR9g+Y9RKlaLf0TCd6YSOy4swB7BFZ19zzUJeJEJWJkmjp9i4qi6kB+sWRLDDhn128gd+WTshQNg9TawHtlObTaMjA9ULtjhcN/3bn227RWEer7Z6anMCNT55mzvA3QXnMuxRkWi6OYEFGBoqKAyLRu7qHWFbC4PU3fI0oD7NxmHtdFcPA9zGa+dmjjJxnrgKlDhCNiTxm9IPmF9im2aSCIWmaRJotFi5NwYTbxKxNguXYddgRyQIdeMxJr27lZAjbKtSoxhMu6Dw6g4iVfrJzoVPhB12PEyZ5c8OF9CppWPU7cgvkEohY8BGtjx2w+SafG9kbg9b7j7UFgEBnmTGM= X-MS-TrafficTypeDiagnostic: DB7PR01MB5048:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IvCxQg7VdyYbkLyx/iEWwm6uNS4AUk/ddGSQVGjamzbTLaiu9NAEq8apZdtVgcUPfijtGWVuyAxG5ZQ+dv2ClGMZbDyq36eZSnllNKX07rtqJbkwpkpcW18IRn6RDOi8eIzxkCxEcKC2Nbk8SfXzR3KH4YCRNiQIrgG72go4gh2JqTK/P+ZX6c2kYJDmOf784fRgdzijqN2u3ysoYgzgAfqdJAUHNl/tf6p2t6TARlGhM5Ap7Xn/LSsbcpC62KAL0MmTELxBfusCK7BHFGdm8cgThuiOP4zGy8wBj1WhhVdqf0lygd/wRVZFNnveuSeEkcD1BBem//yMwd62b+Z0nxMPdZ2aDGAoS2Qxc9TtCXvZLzQ8gAMKfy+jjMK6lf7vInqeYpuuCoemHQSMShHhRQ0rBHmI1k5k7ZQua8SDe6e9OmOVbz/x8NnGyoAGu7+IinphB1vO/Fx21Yzg4LKAtwTjyEy3OAFjvt2E0sCCxOvykOU/vyKT+KhKjohYgprmr8HFV7YHUhS7WRY1oLvHgjwwViIjSiIxCX53mkMhorn7AN0/KfYU66No5HUyldzoODkrZF1weIEgxc2770RgE+TKtW/v+2JP2aNH+XIuP35y1Men8xgEKaj0qWT+24upvuLqbNPZtyVMAMPJrobWTA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: clJCT7CsHyNdkhcn0Uu+DbakHWC0rcWO+vyA02pyoCJSz60BAZ12T9FarPFeWdGOzhjnAs+GCMxR+EkjAwNLB9rk6TOxaKJe8VWVyBwyYiyCaOoJsOxCL5/tXYxUrHTWdK7H6vrwxITl+BH+6U8Q+zfi48mB8eCQ2GTbmiw7iCemdr5r3qZseY/Jxmw9DjgQgZ+ZQ8PwifFiJ80V8Eb9D6deZm6VxYG842p8WHeowF0F0YbkV/UW6AUKUTKWKmwlUyO67yVsOm1G4rovDw0DJbpQBDwlp5bJA3EswmL0caBYUFzQ6HEKx227MHF19GqsE1cC4/xS30zzmUcAEsf6IhENXhEtuNKQodkv48E0LYKt8PrWTgfICJlF6CjMTonjfXWF1nPTG4VVA24I+Lf+IR6o4Y70kRIKEZ7AXEqE26gd5wqI1cAzxEPDZltC4nLM8muq5pm9jtb9WLDoelu4zCA/O6t5zsbidWNwfZT5I6PEtYhxQRNcsnaTBfoj6Lkr/UXHikLUaiv3NySwq7d03gJ0PHX/wayWC61EXd6bBVIcfsLjs8S7f4zLzEdVHXAd/eb2YZ6ibJuTU7dqSY13zGYsC+CH/OOgpVIh+WicKJq6tZgfJPw1YWzbEMyHsjfTx87kPvEn7+cSH7stTEOHyndUC1KANgixGs8ae/bcfeQsRiMx/jqDnBlqWI2h/7pFM1GPklV+P/ctTk/JTE7qdcePvQAEVB3sw5iu3rM/ESXg//hPGACYeYiWcASq0gDBDO2fLg7H4DotoR7mLQ/RK1rikW4W+e5wp7TXYWgUQNLmf2DI7AN5gJnnaNoNWqZpe0bTDd8g2yuNX7FtIF5YSE189N517O6f5QB3QTkineiddsJHiodT65u6Px1W/SX1AXaq5ZbeosrfJykmX05RRQGkU5pkKh8kDwulTDDKYGHUkutiBfaGKCfQ6f8J3D+QVQWBWEvIrwNulhpTYBa0u3RIESWvPxOyUuSd6Rog+yVdz0D8XHeoD+l0+rHB6qTbgv3qVWhwIseRba92bJXTG8EC2jrrFeAHL4F1IBRpct74+0FRpUsHVxQNSCQhAuhWFBDvoFi0svH/29uRUTb6BSPMbgA8MQIryfakg5QYOvoehthgsp/qVT/vU5IhIPxy7fUskX28I0jA5YOzYpHcFAzNp75MYWHQImIi45KhQC97SIi3orM4u8iE8Bgns/tFhCswlSeirxQH9IhHemLH7XWok4pDadEWupKbaefvfPY/aquAP23JSmMJiWJAqf/WHhJRmQjgHHamehRgt+FEVv4eHFqI+Ol+/ibLINuECJw= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4724838c-2f22-4dd5-da53-08da5dacc38b X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2022 11:03:02.5251 (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: DB7PR01MB5048 Subject: [FFmpeg-devel] [PATCH 4/4] avcodec/mscc: Don't modify input packet 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: 0l2trmhqgW/w This packet may not be writable, hence we must not write to it. Signed-off-by: Andreas Rheinhardt --- libavcodec/mscc.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/libavcodec/mscc.c b/libavcodec/mscc.c index ac67ec9c47..3666b881a1 100644 --- a/libavcodec/mscc.c +++ b/libavcodec/mscc.c @@ -134,7 +134,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, { MSCCContext *s = avctx->priv_data; z_stream *const zstream = &s->zstream.zstream; - uint8_t *buf = avpkt->data; + const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; GetByteContext gb; PutByteContext pb; @@ -146,12 +146,6 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) return ret; - if (avctx->codec_id == AV_CODEC_ID_MSCC) { - avpkt->data[2] ^= avpkt->data[0]; - buf += 2; - buf_size -= 2; - } - if (avctx->pix_fmt == AV_PIX_FMT_PAL8) { size_t size; const uint8_t *pal = av_packet_get_side_data(avpkt, AV_PKT_DATA_PALETTE, &size); @@ -172,12 +166,25 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, av_log(avctx, AV_LOG_ERROR, "Inflate reset error: %d\n", ret); return AVERROR_UNKNOWN; } - zstream->next_in = buf; - zstream->avail_in = buf_size; zstream->next_out = s->decomp_buf; zstream->avail_out = s->decomp_size; + if (avctx->codec_id == AV_CODEC_ID_MSCC) { + const uint8_t start = avpkt->data[2] ^ avpkt->data[0]; + + zstream->next_in = &start; + zstream->avail_in = 1; + ret = inflate(zstream, Z_NO_FLUSH); + if (ret != Z_OK || zstream->avail_in != 0) + goto inflate_error; + + buf += 3; + buf_size -= 3; + } + zstream->next_in = buf; + zstream->avail_in = buf_size; ret = inflate(zstream, Z_FINISH); if (ret != Z_STREAM_END) { +inflate_error: av_log(avctx, AV_LOG_ERROR, "Inflate error: %d\n", ret); return AVERROR_UNKNOWN; }