From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 5BA0F439AA for ; Mon, 4 Jul 2022 11:03:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7BE8768B9B0; Mon, 4 Jul 2022 14:03:13 +0300 (EEST) 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: =?us-ascii?Q?clJCT7CsHyNdkhcn0Uu+DbakHWC0rcWO+vyA02pyoCJSz60BAZ12T9FarPFe?= =?us-ascii?Q?WdGOzhjnAs+GCMxR+EkjAwNLB9rk6TOxaKJe8VWVyBwyYiyCaOoJsOxCL5/t?= =?us-ascii?Q?XYxUrHTWdK7H6vrwxITl+BH+6U8Q+zfi48mB8eCQ2GTbmiw7iCemdr5r3qZs?= =?us-ascii?Q?eY/Jxmw9DjgQgZ+ZQ8PwifFiJ80V8Eb9D6deZm6VxYG842p8WHeowF0F0Ybk?= =?us-ascii?Q?V/UW6AUKUTKWKmwlUyO67yVsOm1G4rovDw0DJbpQBDwlp5bJA3EswmL0caBY?= =?us-ascii?Q?UFzQ6HEKx227MHF19GqsE1cC4/xS30zzmUcAEsf6IhENXhEtuNKQodkv48E0?= =?us-ascii?Q?LYKt8PrWTgfICJlF6CjMTonjfXWF1nPTG4VVA24I+Lf+IR6o4Y70kRIKEZ7A?= =?us-ascii?Q?XEqE26gd5wqI1cAzxEPDZltC4nLM8muq5pm9jtb9WLDoelu4zCA/O6t5zsbi?= =?us-ascii?Q?dWNwfZT5I6PEtYhxQRNcsnaTBfoj6Lkr/UXHikLUaiv3NySwq7d03gJ0PHX/?= =?us-ascii?Q?wayWC61EXd6bBVIcfsLjs8S7f4zLzEdVHXAd/eb2YZ6ibJuTU7dqSY13zGYs?= =?us-ascii?Q?C+CH/OOgpVIh+WicKJq6tZgfJPw1YWzbEMyHsjfTx87kPvEn7+cSH7stTEOH?= =?us-ascii?Q?yndUC1KANgixGs8ae/bcfeQsRiMx/jqDnBlqWI2h/7pFM1GPklV+P/ctTk/J?= =?us-ascii?Q?TE7qdcePvQAEVB3sw5iu3rM/ESXg//hPGACYeYiWcASq0gDBDO2fLg7H4Dot?= =?us-ascii?Q?oR7mLQ/RK1rikW4W+e5wp7TXYWgUQNLmf2DI7AN5gJnnaNoNWqZpe0bTDd8g?= =?us-ascii?Q?2yuNX7FtIF5YSE189N517O6f5QB3QTkineiddsJHiodT65u6Px1W/SX1AXaq?= =?us-ascii?Q?5ZbeosrfJykmX05RRQGkU5pkKh8kDwulTDDKYGHUkutiBfaGKCfQ6f8J3D+Q?= =?us-ascii?Q?VQWBWEvIrwNulhpTYBa0u3RIESWvPxOyUuSd6Rog+yVdz0D8XHeoD+l0+rHB?= =?us-ascii?Q?6qTbgv3qVWhwIseRba92bJXTG8EC2jrrFeAHL4F1IBRpct74+0FRpUsHVxQN?= =?us-ascii?Q?SCQhAuhWFBDvoFi0svH/29uRUTb6BSPMbgA8MQIryfakg5QYOvoehthgsp/q?= =?us-ascii?Q?VT/vU5IhIPxy7fUskX28I0jA5YOzYpHcFAzNp75MYWHQImIi45KhQC97SIi3?= =?us-ascii?Q?orM4u8iE8Bgns/tFhCswlSeirxQH9IhHemLH7XWok4pDadEWupKbaefvfPY/?= =?us-ascii?Q?aquAP23JSmMJiWJAqf/WHhJRmQjgHHamehRgt+FEVv4eHFqI+Ol+/ibLINuE?= =?us-ascii?Q?CJw=3D?= 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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; } -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".