From patchwork Fri Jun 7 00:25:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Osamu Watanabe X-Patchwork-Id: 49632 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:c209:0:b0:460:55fa:d5ed with SMTP id d9csp713639vqo; Thu, 6 Jun 2024 17:26:13 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVOQAhNcB6wpABn7qSO+lrDrlXe9uMyO08DoZ3CKh+YJ270f9wjSFzleOlKlp3Wo+Fg/a3QZMbf2ANSxXIzSvQGySeaylDYVolF4Q== X-Google-Smtp-Source: AGHT+IFKG3ditOzL+/j224l/p2dIyVnjB+JWKyt+sK+G+Q90ebHtH2cy5nl2uh+Ip4Xqy/R4fF8o X-Received: by 2002:a17:906:557:b0:a68:ce70:61f7 with SMTP id a640c23a62f3a-a6cd5bdc179mr57916266b.17.1717719973478; Thu, 06 Jun 2024 17:26: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 a640c23a62f3a-a6c80591cebsi124688966b.36.2024.06.06.17.26.12; Thu, 06 Jun 2024 17:26: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=@takushoku.onmicrosoft.com header.s=selector2-takushoku-onmicrosoft-com header.b=O48XhgxH; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 77A5468D717; Fri, 7 Jun 2024 03:26:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01on2097.outbound.protection.outlook.com [40.107.113.97]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3DAD68D661 for ; Fri, 7 Jun 2024 03:25:58 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bCHyT9zJ/uythSgqBapV44M5YkodRvDMgtvQ0sx3sZNCI6/1WyhVfIKQaWFviYM1Vg69MrAWHGDuoK1idw+S448mxUs07LEGV2rCEPQMrAWWdu+k8YNG690BLnnRwmCW5eK6kgnQIs2q6ATv07kg3OmMZJmQVR1aWLtBTqp1q6lhq6u7hl6MS31OkzE1GfZXTOEOZHZktz1l79eQ2DxNSiLpiT2mUbGrxYb/JupPuSfQeKKjRzD70Of4hU6buwPLe4GsK8kJVIKVfsrumVbr3E2PGHW1iGpFEvLqk2SRh5AqGUMTQnuuQ1gfO0SWDQXKidGPnZ8EUN6WlA2ij5WJuw== 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=xsec6cvgnoRboSgrh9VoiyneJm1+Kl/kZciNwrDX7eM=; b=U9YKSqpM6TOpDVK/ltcOnGZ9yKNClasuDM+2JXnUIKMIAInfSBOXxYnAaqbHyEX1hJShhSX92108z53X2n/mDcJMA7XMkIn6tc2//cQhMdW7x7hSV7twtDemR7U/3r4indPXiNItyhtWUqgui5chRPHpn/muoqA8N0q5DFLSSwMX7KnGPD1+h/RJ+8YH8/IP4/gTYY90kfBE6REUi+bpFWCUbSk0F+5BkKW5FfkeRRsyA0GlXJabtXRmWtCJ8R1jpPwqw9+ql68xiw5VsoAGPpyzDyOZ8WPtw1unJ9NYC9FnKrLLURoS31X041TxlAb7LPaC87xpVEUHxapKBkKLdA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=es.takushoku-u.ac.jp; dmarc=pass action=none header.from=es.takushoku-u.ac.jp; dkim=pass header.d=es.takushoku-u.ac.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=takushoku.onmicrosoft.com; s=selector2-takushoku-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xsec6cvgnoRboSgrh9VoiyneJm1+Kl/kZciNwrDX7eM=; b=O48XhgxHjuuiQIWDHZejEIeqT8Qk7qn6dINLmevZl2EXL+c5hT9AgSZcHZlmA7MAuvOVN6F21QNaUChV9u3FCtMyktaoeADdi7uKOHmRDQ5cermtf+zlJnNiRV1CitMHSlY8p2YztEHz5TlO3d3YB7UZbW6bA2B9q36kHFJrjvA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=es.takushoku-u.ac.jp; Received: from OS0PR01MB6001.jpnprd01.prod.outlook.com (2603:1096:604:b7::12) by OS3PR01MB6564.jpnprd01.prod.outlook.com (2603:1096:604:10a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.34; Fri, 7 Jun 2024 00:25:53 +0000 Received: from OS0PR01MB6001.jpnprd01.prod.outlook.com ([fe80::181c:c1f4:9b58:f6cc]) by OS0PR01MB6001.jpnprd01.prod.outlook.com ([fe80::181c:c1f4:9b58:f6cc%5]) with mapi id 15.20.7633.033; Fri, 7 Jun 2024 00:25:53 +0000 From: Osamu Watanabe To: ffmpeg-devel@ffmpeg.org Date: Fri, 7 Jun 2024 09:25:49 +0900 Message-Id: <20240607002549.2259139-1-owatanab@es.takushoku-u.ac.jp> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: TYCPR01CA0124.jpnprd01.prod.outlook.com (2603:1096:400:26d::10) To OS0PR01MB6001.jpnprd01.prod.outlook.com (2603:1096:604:b7::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS0PR01MB6001:EE_|OS3PR01MB6564:EE_ X-MS-Office365-Filtering-Correlation-Id: 4263a2e4-84d6-40ec-be31-08dc86886364 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|376005|1800799015|41320700004|366007|38350700005; X-Microsoft-Antispam-Message-Info: Vx+mDQdbg3fj9mKFNtiO5my7NqMZv9gBY4xM4rQgiqU/c9aGh8Cp1o1DN2xESYD1cLO2v24o2x+1//W24C1xgenZOoQ3RdxsQPexvD+aVTfhNA19DQd/FqzEzcWQGlmuKRs5Y3zy8M4rLkA2AL2UMqx8OYSs59Yc7WCKEdZNA1GezWXVqqYcT3Xhj2n6T8jJ9loWc1iYs10SdCVSV1kUSDIx6jv2G6/njUz1oYWp1EVxtSfowQ9np8I7x5VV7qOmI5eG+2gwZRaQA1yMc4Y3i+117OGaKqY92mem4C+JYImE+h2NKDkSYnGEs2vtrHpFA/TadosEYT+BgE5ja61R8H8OQ3vN04AuOibCPVmbfRINslUdn2ONyLOysekGe4VokABlHVw/BqHwPsl6fjEGA8/Vg53qdl88Vsw0vrrGgHZNI/MNST2RsKWiWCSzw2b8BmsylQW0t+h8SHLaHHCjg9NOV0hmlPRkEFnGGCrtwUv7jJ9IpCh+JQUbRJtKGEePP2vMhm3n3Fgjxc2LWdVKHMR806G2FdUzU6nCifhUKrn6Le+EWFn3fhVCNdZtehXd2myFaAXtlKbQYIqDSMm0sf+VJwFmW2GO8vHiy47UxfEgUDeiGaBJLEcL0/Utb+f/bPrqG1wUbWMGxFJxknfIiNFeiCtkbdAT3lYzxZZUtq+YWACbpGuKhhABG8e1raNPNnMfxqfDJ227W/aDIbKZGsTaMgDCeyTWapQy7nUHJitzN9nkbMTmbcM94DFE/3TmyO3+8H6Lw4SMd5Jio+dfi+dL9nw0xZLWG9RtgypbfKwJe3R02DC1FLkN4Skz5jO0QRwAfKNC6Q7HqIKGKi01p9ZthuJwSDzeOAtfFtP6mRQdRe3qLd0k6cjzVW/qO/+1KzOByo0E0+fY8BhhKTFvHpVSDBusJ6CTZuaUsrRvOPWRBBHNbfqYRi/Mp/+1PMlvFY4U5v7IWVjS8STHTpu9OkM9UT/Dzu4Ey8R+09J0Z/z19bMIke/mhNNET6Y7TlzdIvpWA/DjqFw53ZYXbFBUTEfppkmJs2V8TyUXdDak4HGlboPelM5wOgJtT0Lnh4Ey4Ip/OM19wFP0HFKRlAbMVvDK0TTjkPUf/+i8pMC+6ZNXLDe+dkvhOll3JsZyHwoj9fErd1gzYW5M53bCBx7e5ydFUtkwtcp1gImurdoXAfq0xqXLjWeFYr4A9po1+agYyeefsIRWYLqs4RNkBe2XUbxbdPt3s0vb8U9M36n/ciAPJbl/nvIMz8hiMxhFOIXp7npHj9SheoeTddd3E/LfA31YkOjpfhoEVlSM/r+LGn6Az4QbxpKs1fGJeEJNRlj3 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:OS0PR01MB6001.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(376005)(1800799015)(41320700004)(366007)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9m6u9SPZsu3DCKc5kxUJcjP/taZiA8xxVNLuw7UjG38pnl/CP9hPTBpUbA5u5fhjqEO9A/2zhlxYMQPzkiEDYuNgzj6P8dUoj+u6J92JMpGUYJ2VHo5kRyDlUZpli8n7ri17qbMnm0KVvR5xLCfSN6e69jsZKxR6MheeYhMTHzDDj68vqqSnYqOgWBKGJ2I7hqvuSlYqFATGdvY2ax3xIOuFWdSvTNuag0oT3GuVwGbuWs5IM3ln1AK/tOM2gbvWaAbQ9d0ZIBPJQtO8+bg12ECSxuQ7yXSuTx8ZGZdrriXHZxQ+QNLvdSIY67oO+Ml3DhzlwupoLPOcYNzro5XOuZ/vO1xOfLOa7FGoIbelt6z3yOxcBkV3UgxoE+0UMd4iM3cNX/w9stcb/H7ogf43jlPsjWLNLtga0hyUU509TqPYaOw/j63sAgjQGkDxYasS+gP9i0Z1a2+iS7sbadJ5zeYtAEi6KqD29ee1HqnbJfMmdptGNjZF1Rj96WFm4c47qy2hso/moqK3z+Ghj8dG7gyEAfgyHaXc1SMIYBhu2o+nC5y8Le2vyGm2To9/cAAbzkQqbJhF120fBz3v+QtSpII7IQZHKp3gQEX3psUQqY09ms2g6sxyHLqanqBoyYo7pep8A2cBvn8vSOyFMYGIiEOyQHScW8uSldk9t7goti7pF/E8wHmmOVdgK/UUqSmvxBDEN15HEadTMtxp1noO/+fFWRQBpR3ebAWK2uQ6j3sDnMK7Iw6DTfWs8iopWMhcLzuWb57FzpYuBx2yS3DI/PREzeBuUF9Cqz4TbMRwa+g+mwYrfuRwwP+yogrJCtdGF8DF8JcIOBuqCRg+BUHYMWGQ30EtndsNOC01mtL7mRzdFEf1aRhfQTdP8k3s1L1D2L1DZNw27qi6zbLZ3FOyMrk8gjVT1NwF59AWx2tcbpvOXcZCL6YgwvmieMPfmsh7WvpDYywKb0Pbmr2U6Q9z34rfjXOlz+VqKMDWtwKRnc7e8uGtWWOIvuTVixF/ed7nlRY+unzGnZZeqwTOpFh/tXoHkTwXQzqxmy+r+QJP9ToYAotsurmZmj/UiBFzRxYLc+2oMhRsWWgzlkODRu3GMBWrmVHek2ouDSQa6Yt9abhpkSbvgjnVpCSc8jumexPfNbL/6qKSb1oXlUoeF6pZb+nfcaYnsLVwzr8TquR7iTX9g5wYUu1TMwHn2qooLeucIsCSgKXouKE7tLLKlkw6zz579Bb/h5jS7ZOTzoo3RYAk1B0xiPy+fNLH74g3JluViPXqNMzTYgev25ty/o7Ps1nYm6/H6ehjTbdEjR8IvzRbuvwwQ6VnfQnfVFooLTJlsLsfDLyRXsR2eHLg9r6G1WtUoZfs2SYSS3Zu+rQg6rLMekMpMglx/j8dW/tZ2QjssLMJVGyFeg2l1rwJUjqzTC1jeJvxIKlo1r7nb+p6ipl6Gw0xO/qnx8Gx4pSP17AEcP576KsrB6aSoh7z5kdAxcl2PuRNidKgx/cCFqxBLh7aNHNwGD92q/fux3G0y5WCXL0JGzUdzEPRTmb9freZrQvjLmmt8dntdYyX5EQ91xPmdIqvyExpbgNpE4GeJ1wERaTQTLG7CKpVYdrOOByfUg== X-OriginatorOrg: es.takushoku-u.ac.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 4263a2e4-84d6-40ec-be31-08dc86886364 X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB6001.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2024 00:25:53.1696 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 853333e5-13b1-4738-ae04-bfb589cf2665 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4G/leIASIXJfokG1yCibc2K+DN/I79jTCshKf33jC8sIz62A/dRHzXUJeclrIUuBf4CoeMpyqxLvBVczXDQXiDduNMPFpD6qyF1b84bTwhM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB6564 Subject: [FFmpeg-devel] [PATCH] avcodec/jpeg2000dec: fix tilepart processing 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: Osamu Watanabe <65328111+osamu620@users.noreply.github.com>, Osamu Watanabe , pal@sandflow.com Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 45xwt2JIy8YN From: Osamu Watanabe <65328111+osamu620@users.noreply.github.com> Fix http://trac.ffmpeg.org/ticket/10121 Signed-off-by: Osamu Watanabe --- libavcodec/jpeg2000dec.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index d15502a527..091931b1ff 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -1005,6 +1005,7 @@ static inline void select_header(Jpeg2000DecoderContext *s, const Jpeg2000Tile * { s->g = tile->tile_part[*tp_index].header_tpg; if (bytestream2_get_bytes_left(&s->g) == 0 && s->bit_index == 8) { + av_log(s->avctx, AV_LOG_WARNING, "Packet header bytes in PPM marker segment is too short.\n"); if (*tp_index < FF_ARRAY_ELEMS(tile->tile_part) - 1) { s->g = tile->tile_part[++(*tp_index)].tpg; } @@ -1014,10 +1015,18 @@ static inline void select_header(Jpeg2000DecoderContext *s, const Jpeg2000Tile * static inline void select_stream(Jpeg2000DecoderContext *s, const Jpeg2000Tile *tile, int *tp_index, const Jpeg2000CodingStyle *codsty) { + int32_t is_endof_tp; + s->g = tile->tile_part[*tp_index].tpg; - if (bytestream2_get_bytes_left(&s->g) == 0 && s->bit_index == 8) { + is_endof_tp = bytestream2_get_bytes_left(&s->g) == 0 && s->bit_index == 8; + // Following while loop is necessary because a tilepart may include only SOD marker. + // Such a tilepart has neither packet header nor compressed data. + while (is_endof_tp) { if (*tp_index < FF_ARRAY_ELEMS(tile->tile_part) - 1) { s->g = tile->tile_part[++(*tp_index)].tpg; + is_endof_tp = bytestream2_get_bytes_left(&s->g) == 0 && s->bit_index == 8; + } else { + is_endof_tp = 0; } } if (codsty->csty & JPEG2000_CSTY_SOP) {