From patchwork Fri May 17 19:48:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Osamu Watanabe X-Patchwork-Id: 48966 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp3087839pzb; Fri, 17 May 2024 12:49:18 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXKIfdGVEtaiXe0bHpU1hi+8nLAhqaWuRJMwMnODenGYHJ0OcE3uNxl3YFh2Fy2vNxIZQaKDJ63/TdgGa3cDRYH+SV7j4CYeBw1kQ== X-Google-Smtp-Source: AGHT+IHE6rbfJEVXVL3x2C/WTmkhiXDZSGv6xJIitVK/DgF3/bYubMXd5wQ89acU5szeexTap93k X-Received: by 2002:a50:99da:0:b0:572:a731:dd16 with SMTP id 4fb4d7f45d1cf-5734d67f01amr18438179a12.28.1715975358590; Fri, 17 May 2024 12:49:18 -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 4fb4d7f45d1cf-5733c2d55c2si10097027a12.265.2024.05.17.12.49.18; Fri, 17 May 2024 12:49:18 -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=tAZDJJt4; 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 3B92268CFE3; Fri, 17 May 2024 22:49:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01on2121.outbound.protection.outlook.com [40.107.114.121]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF61568CFE3 for ; Fri, 17 May 2024 22:49:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Av03sSp9HMUC590B4eYxgP+Ta4rOIAe6jetlSM4ZpOoek91paiID5GFrObgpqVZRpOe0kjzVviCfhWK6ypwuDEeijTqBj+5iQ1Lc41CRRdTLTuHGINPfd9bIsIzgMTymdyfjejtvyWclOUufTp5GRnQAKlDDfYTX2tw9ZwQ1W5DKvjuYfDyTCmBznSKNmxNYaAWwMDDjEn4bzEVdB3kbsy3uq/nENjB/3Lz7wtPXJBOU+UeZ4hguIe3cKGVjmSjEwNBnGu6pAz9zeORQCQm8u+LzaZeGe5vlnHB1MVYxDmdHVq4pxwVIUfOhsKfKUhqnJLTZ4Gbl2KcnQmpEdxiP+A== 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=eeV4msLDlaezEp0mBUMnYdHnhafV9NqudIrSjleFtd0=; b=YkQ+qMUr3zqMWfKH0HZ+1dCb52AZ6dRZppy0xh9X6Gj0o2xF2uQfY5SQqSNHtvtcrBFbVmoc9kjx48CCkFia1xoekkA5e1WG5cgHlWMK4jkTGqTuexLDMVy9euNSJ91zsx4DvRhnkOoxzJRUwgYbyiafCYm9LYzgMhDTVQ+yI0MpLdmVHOgeS85cBACHdnaV4GkXwr9VUR2SVchzs4M4BmzstqKl4jIl/uyH1KOvIoxOOEvN5O06XPxCxO1mYtUt2SvjuDZP/0buagdZQHQcvbOTfXMWvdRqNyauht3w6l/Nfmsi4PyZVHxFbITEPm3k/RjdGcRN7KSgMeVFUtnSMQ== 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=eeV4msLDlaezEp0mBUMnYdHnhafV9NqudIrSjleFtd0=; b=tAZDJJt4HZtkuYUcum/XWcvQtWVRKt1AWnu8PmTXh6euJBbpK1Ka1tzTLdSjyicI32oNBxXd5xMFU+g4GnkTa2uZ++maRHOPHr2hwGHUllJnIDTz6xujXesnS64oM6ZC/sUzz07pkFU5llz4uxopiZllZoqFcpbB1iTMlf1XR9w= Received: from OS0PR01MB6001.jpnprd01.prod.outlook.com (2603:1096:604:b7::12) by OS3PR01MB9462.jpnprd01.prod.outlook.com (2603:1096:604:1c6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.30; Fri, 17 May 2024 19:48:59 +0000 Received: from OS0PR01MB6001.jpnprd01.prod.outlook.com ([fe80::181c:c1f4:9b58:f6cc]) by OS0PR01MB6001.jpnprd01.prod.outlook.com ([fe80::181c:c1f4:9b58:f6cc%6]) with mapi id 15.20.7587.028; Fri, 17 May 2024 19:48:59 +0000 From: WATANABE Osamu To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 1/2] avcodec/jpeg2000dec: fix HT block decoder issue #10905 Thread-Index: AQHaqJNCn1pDPFST/Ue7o2YG6dh2fg== Date: Fri, 17 May 2024 19:48:59 +0000 Message-ID: Accept-Language: en-US, ja-JP Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=es.takushoku-u.ac.jp; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS0PR01MB6001:EE_|OS3PR01MB9462:EE_ x-ms-office365-filtering-correlation-id: 25eec5b1-d622-43ec-16f9-08dc76aa6520 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|41320700004|366007|376005|1800799015|38070700009; x-microsoft-antispam-message-info: =?iso-2022-jp?b?MGFMOUpKbGZ4K21RcjZWMTRu?= =?iso-2022-jp?b?WkNoNDhoMGNKdFlsRCtEWmpWR21rNjZnQlZNMzNwUWdNenBzYkQ4ZTA5?= =?iso-2022-jp?b?QWVNVjA4WEdNNVoxcUVEYUdra3VsZWVkeWs4QU94a2tkNFMxL3hPV3ZO?= =?iso-2022-jp?b?QXRsYXUxUjNXcmhRaGEzYjl6VVBUL0FtOFVCSkFZQUo2UFY4OXNKdFBP?= =?iso-2022-jp?b?K2p0QmNma0hvSVgxeThoZWtZdktLRmRtekRKcmRsSnNkRW1QeHVHM01W?= =?iso-2022-jp?b?QU03OE9NZnYzWE9JcWVvV0xTZERTb2JOald6a2NyL01DL3VWZ3RhblZq?= =?iso-2022-jp?b?a2JTa1Myd2x5ak51NkloQUxDekxGUm40WkcyRlp3ejloM3d5eWpSR3Bk?= =?iso-2022-jp?b?eURLcERhZjNKOVlNclRoVUdsL2F1R2FFTWlPQkFHWUNRT0o5QXlzbk9t?= =?iso-2022-jp?b?a2VSTVRPZmF3a29YWGdWeEc5aDJWMmNuOWVNcWF6bC9ldDhUc2JXTHAw?= =?iso-2022-jp?b?ZURPeTNrUXZqNnp5cjRBVStQWTNtTEkrQUNCd1NidUI2TFRwQ20yVlYw?= =?iso-2022-jp?b?SERncG1jLzc3Y0VlaDJCQlUrYm9XNzQ5djJKbnp3ZTRkdFN1U09pb0lO?= =?iso-2022-jp?b?aXFUZ2swamt6ZzdtUVRJOUtjRkoxblNLbVI1UlovbWVySlMyd3NBa1Nw?= =?iso-2022-jp?b?eVQ2RzV3cndYL1JiZ1BVdlZLZW1GWVNMNkU1VC92QW1GOEs3WW5pY0Vi?= =?iso-2022-jp?b?eE8rLytJM2FBSzlzdkZZV2o5bU15blNJaGwyMXZXQ1NuVGtpRzIzYjBE?= =?iso-2022-jp?b?Z0VOQ1JGcHdBc21xd3pKb0xHSDkyeFhqaHhDRk5yNDZLM1p1Ym01TGRR?= =?iso-2022-jp?b?NDYyRWM2L2RwMGg5MlNxSlV0OFpERXg3ajVyZTZWanNVTDFTR3Z4aDVi?= =?iso-2022-jp?b?QkdSaUhzMlRNVU51VVZRTjJkSkRKNnVxM2VTQUxJb1E1aTROY2pHWXY3?= =?iso-2022-jp?b?VXJxdlY2N0hBMTczNWNmRkc3ak1Sc1pJazc2Y3VzYXlVQWwvc1cvZDBB?= =?iso-2022-jp?b?SHh6YXB5WHdzT2hzd3pTWGVMWHoycHRGWmhSVzVPVFh5ZTU0cWE4Ky9S?= =?iso-2022-jp?b?NDhiYWswNUlGOTA4NVdXc3M1SUJOVzV3ckRQMHNUUmZjQmpqZzQrVVhH?= =?iso-2022-jp?b?MXVzVG0rekZiNzRFTnRFY2NWUXdQR1pEOXlkdTkzMXdCUjJhWkRxaThJ?= =?iso-2022-jp?b?azNjbFloRzVrMlZTNlpsU056dkh6OG1WUDR0QllUaGZKQkZRSkI1dHZ1?= =?iso-2022-jp?b?ajBrbzZmcEp5SUNsVEYzNmhwVWxGUHRnM1pQaFdYb3RSOHVIRXRVN3c1?= =?iso-2022-jp?b?VEJWZU00VkRYUGxqZUhkenhQZElIbzZnSHBOVFhzckZwWmhiMDYrRERF?= =?iso-2022-jp?b?UXVOaWJKemJ6ZzRhMGFqblFlQnZ5Q0dxdUdISmNnbGZnVTFEbEJxbzBO?= =?iso-2022-jp?b?MHhOOW45Y0ZPb3pyUmNmRHJhWUtjcmd6WlZrYzRMaURnWUpseTdSVGJE?= =?iso-2022-jp?b?RG9KUm94WWl3c0NHZDBUc1Rwa0M0WENOaHJsb0VXckZGYUl5UXpGa3Z0?= =?iso-2022-jp?b?ay9YRWtRcmE2WEJvMkVvdFN6bWJRNWxxT0RLbU55aCs4d3VFVGJtRXo3?= =?iso-2022-jp?b?K0ZadkJBRWxZQ09uNVNJeVIzaHhDYU1zYlBzOFpxTkdnaFgwVkFYTUJt?= =?iso-2022-jp?b?VDVVTllOeU9ITnJWQlBVVUd3RTlTOEFaOC9acTQydGFvTnZUTjBSUm5Y?= =?iso-2022-jp?b?OGFVK3FjUGZKdFB1Wk56ZTVDd3pVbWdPSlNXNDdJTU1xOU1hYTlLcEFj?= =?iso-2022-jp?b?UWZkN0VabFFXWm9pc0RWOUZMVVptdDFxNDRxYjdFQ0o5RzFGYUg0QjZI?= =?iso-2022-jp?b?YlVidWlRTmlHbGpEZEJ2REYwVTFZQ05oUmQzUkxrTWtkUkx6OEg0Z0JX?= =?iso-2022-jp?b?cTJFUT09?= 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)(41320700004)(366007)(376005)(1800799015)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?b?NEo1S0thbnZ5VzlHNnFO?= =?iso-2022-jp?b?bU1tVjNDUGgvV0RwZHRkWTc3blBTTHF0bUZjd0FHR2xXdnQ3RFE0RG4y?= =?iso-2022-jp?b?dUExSU5vZGUrTnpUMkwwRXZOd01xT056UnpoeWdQRXFhTmw5UVowcE9l?= =?iso-2022-jp?b?TFFDZ241NGdoN3R3WldYZGpodWgwTmRtWm9RRTZXMG5IeG9zMEJEZzZT?= =?iso-2022-jp?b?K25obklYaFlRWVJCVVc2dFE2TzJyVXNkbXA3cEZ1TUtTb2o0UGx6YndQ?= =?iso-2022-jp?b?enJuTGhEeG5sT2UyNHNVait6bUpWWGhGSEkzdlBNSXg4amRiSVB0T1JM?= =?iso-2022-jp?b?NEUzODVNdE5XWlBuaGVnbXdBUTBjVlY2c2FFNXpZTWx6UVRnYzhrWnkr?= =?iso-2022-jp?b?ZzBsOWNKN0czR1hKb0dJdHE2SS9OUHNrK2JYcFNPNmprQVgyTzNPVVdq?= =?iso-2022-jp?b?RmFVUnZTY2cya1BZMUd1TVZURUYwMUUzSW1WT2licGpzQzRoTzhLTzJh?= =?iso-2022-jp?b?d21nZWVWNjkrVUpibERUaVRTbWxOSjhZNm5nTzZBNzlZSHBXSW9KWFhv?= =?iso-2022-jp?b?ZGhzVWdYR2RLTzFIRU5EdGM1TjF4Vjgyak01VGpmYURHQTBpZzAyK2RT?= =?iso-2022-jp?b?MGxnWEluanJhZC9mRjZndkZqQ2hHZE1XYll1dUVFRWp1Tnc0QkxqdDBm?= =?iso-2022-jp?b?d3dzc0crOUM0a2VDekJkZ3k5OGphRFEzVWdJUitBMkNQY2FGSkZYV2k5?= =?iso-2022-jp?b?SkpqaEkvK2pFTjRSeXNZMThzMzBkcGVab3hzNmcvNnk3VDdGZkNOZUtw?= =?iso-2022-jp?b?N241QkQwWmJsTlRocnpQM1BBaVBtTWRtSktXNVp2OWpXRjdac1MyV3ZD?= =?iso-2022-jp?b?NWRwWjlITVpSKys3ajlGKzBZc2Vrb29Xa0M3dzA4blk4Y0Ezelgyekdn?= =?iso-2022-jp?b?MXFIaUpuMDdVY2syMS9BMkVIbng3SnIyQmZ5eXF1bW9naDUxbm03b1Bn?= =?iso-2022-jp?b?WGN4ZnRIQnpMR0Y5TjRFNU51WEdUUEROcytEWUw4WWVJSDdHSk03WU1y?= =?iso-2022-jp?b?bURNZjNhbFJFazQ2T0kyc0dZOTlDV1FzU09Wam5HVktkc2MwSkJoNldN?= =?iso-2022-jp?b?cFdYNjY0YlpZMlpXa1dlRjgrQXZvdXZlNFpGQXQ1MEtiTFgzSXpTMEdy?= =?iso-2022-jp?b?VGtrWHJWdDFlQ05NMVpGak5aNFV3amdwc0lQV29ZQ0NTL0dnR1hNWkto?= =?iso-2022-jp?b?dmVoZ1o0REx6eXNNSzBmLy9zRHF5QUVsNkJ2cWVjdnNNRXV3YWgxQmZO?= =?iso-2022-jp?b?RVoyMUNDWnNaWTVsK3RqZjA0bHdmOVh0aEVHWXFLLzUwSFdSNVg1a1NR?= =?iso-2022-jp?b?Rk1DMlNJTHp3bjR3bCtJNkxNQmxoZTN3YkJjajJ0RVQ2M1k5M0x3aHcr?= =?iso-2022-jp?b?QmE5UDZGSWNGSmtiL2FlQ0Vpbll2YUEvcXRmSnppWmZ1N050aDZUNHZB?= =?iso-2022-jp?b?VldtTXoyMzR2RUZ1cmtTc1ZuUW1XcUZzVlU5VzlYcm0zdjRLSXlsQ0ZL?= =?iso-2022-jp?b?OHc5eTRUMElsVzI3bWZSd2NjNHhQcmRjZHN5UjJUS2ZUSDhleE5KRE5u?= =?iso-2022-jp?b?bXNPa2pPOC8wK1VXQ3FHVGdIUE5ScWlLWkhzdksrMklFYTdhWGxBZ0V6?= =?iso-2022-jp?b?d3h3UVI0dHBwTzE4bU8veWlmYWdEZHNXVkJqV1hRQ1hYUWJFQWxaakpI?= =?iso-2022-jp?b?NUdkMHRUcXNONVY0a3dEMytobWN2MnZsdUVCdlB2YXI2Z1FJVWVoMk5G?= =?iso-2022-jp?b?Yjd6bjFHWGFYSGgrKzhVSHdlM1lkS1FoemJ2L0RHT3FFNHpBYklFekVC?= =?iso-2022-jp?b?K1JMWFEvN3EvUkdNK28yTHVxcEVkUUZIYjcvY3R3SjIwRnBMMnRYTm5Q?= =?iso-2022-jp?b?NlpoeUp3b2RDZS8xRzB2ZEE5b2RKWnBWaG1SMGxQbCtYc1V4NzNQeGh1?= =?iso-2022-jp?b?QTdQZnFNMStURTZ6T1hUMVpSdDBzRnZkZWsyaHBBT3JEQlZzdUpqQi9j?= =?iso-2022-jp?b?NnVRdThTWjdmdEJTOS9sb0xBTE1WdWpnUVYwcUxxNTVWSmNLS1NDYmd0?= =?iso-2022-jp?b?WXFWY2xmanQ3dmNZVHRlMW5TcUZjb3ZBaXljZHl3Q01FcUE0VE12ZjZw?= =?iso-2022-jp?b?Q2xFMk5TQ2xuM3l6bndiSkVBMEZNRUxGbFZSV1ZzYS91aUV6NzdtdW9j?= =?iso-2022-jp?b?OFMvYmNWditKaVg2MHBweHFtbGJTU3A2RHhWZXRQTlY3aTZMNWs5MzJS?= =?iso-2022-jp?b?VThMak5rNWNxcGNPc05mdDViUVhnWStORFdZSHdrMTRHdi8yTDc2bHJ1?= =?iso-2022-jp?b?clYxOGFSV09pdXRsSklYSzVIamlZZmJrazl5YXlQaCtuamJhQTBpUTJo?= =?iso-2022-jp?b?OGFyWWk2czlXTzJWM05uZVJpeER3VEUvcnVnU3licDBha1VTdjdRbWJr?= =?iso-2022-jp?b?U05qYTEvdFI4ZFo0PQ==?= Content-ID: <69D0443695E1F042930DE54695289283@jpnprd01.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: es.takushoku-u.ac.jp X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB6001.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25eec5b1-d622-43ec-16f9-08dc76aa6520 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2024 19:48:59.2700 (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: ulcnz5WSEqCr19RezghDEfBBjtpVYcSbI3sHqwlh4zf/04WS0+0wRt8v1bLsQbfhlEwMEV7nDJb/K8nZpryH5JPiB145Z7HoElJy9hqVuDk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9462 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/jpeg2000dec: fix HT block decoder issue #10905 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: Pierre-Anthony Lemieux Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: bo/OehyNCdMB Signed-off-by: Pierre-Anthony Lemieux --- libavcodec/jpeg2000htdec.c | 122 +++++++++++++++++++------------------ 1 file changed, 62 insertions(+), 60 deletions(-) diff --git a/libavcodec/jpeg2000htdec.c b/libavcodec/jpeg2000htdec.c index fa704b665e..62f70c32a8 100644 --- a/libavcodec/jpeg2000htdec.c +++ b/libavcodec/jpeg2000htdec.c @@ -196,7 +196,7 @@ static void jpeg2000_bitbuf_refill_forward(StateVars *buffer, const uint8_t *arr while (buffer->bits_left < 32) { buffer->tmp = 0xFF; buffer->bits = (buffer->last == 0xFF) ? 7 : 8; - if (buffer->pos <= length) { + if (buffer->pos < length) { buffer->tmp = array[buffer->pos]; buffer->pos += 1; buffer->last = buffer->tmp; @@ -508,17 +508,17 @@ static int jpeg2000_decode_sig_emb(const Jpeg2000DecoderContext *s, MelDecoderSt } av_always_inline -static int jpeg2000_get_state(int x1, int x2, int width, int shift_by, +static int jpeg2000_get_state(int x1, int x2, int stride, int shift_by, const uint8_t *block_states) { - return (block_states[(x1 + 1) * (width + 2) + (x2 + 1)] >> shift_by) & 1; + return (block_states[(x1 + 1) * stride + (x2 + 1)] >> shift_by) & 1; } av_always_inline -static void jpeg2000_modify_state(int x1, int x2, int width, - int value, uint8_t *block_states) +static void jpeg2000_modify_state(int x1, int x2, int stride, + int value, uint8_t *block_states) { - block_states[(x1 + 1) * (width + 2) + (x2 + 1)] |= value; + block_states[(x1 + 1) * stride + (x2 + 1)] |= value; } av_always_inline @@ -528,8 +528,8 @@ static int jpeg2000_decode_ht_cleanup_segment(const Jpeg2000DecoderContext *s, StateVars *mel_stream, StateVars *vlc_stream, StateVars *mag_sgn_stream, const uint8_t *Dcup, uint32_t Lcup, uint32_t Pcup, uint8_t pLSB, - int width, int height, int32_t *sample_buf, - uint8_t *block_states) + int width, int height, const int stride, + int32_t *sample_buf, uint8_t *block_states) { uint16_t q = 0; // Represents current quad position uint16_t q1, q2; @@ -958,32 +958,32 @@ static int jpeg2000_decode_ht_cleanup_segment(const Jpeg2000DecoderContext *s, j1 = 2 * y; j2 = 2 * x; - sample_buf[j2 + (j1 * width)] = (int32_t)*mu; - jpeg2000_modify_state(j1, j2, width, *sigma, block_states); + sample_buf[j2 + (j1 * stride)] = (int32_t)*mu; + jpeg2000_modify_state(j1, j2, stride, *sigma, block_states); sigma += 1; mu += 1; x1 = y != quad_height - 1 || is_border_y == 0; - sample_buf[j2 + ((j1 + 1) * width)] = ((int32_t)*mu) * x1; - jpeg2000_modify_state(j1 + 1, j2, width, (*sigma) * x1, block_states); + sample_buf[j2 + ((j1 + 1) * stride)] = ((int32_t)*mu) * x1; + jpeg2000_modify_state(j1 + 1, j2, stride, (*sigma) * x1, block_states); sigma += 1; mu += 1; x2 = x != quad_width - 1 || is_border_x == 0; - sample_buf[(j2 + 1) + (j1 * width)] = ((int32_t)*mu) * x2; - jpeg2000_modify_state(j1, j2 + 1, width, (*sigma) * x2, block_states); + sample_buf[(j2 + 1) + (j1 * stride)] = ((int32_t)*mu) * x2; + jpeg2000_modify_state(j1, j2 + 1, stride, (*sigma) * x2, block_states); sigma += 1; mu += 1; x3 = x1 | x2; - sample_buf[(j2 + 1) + (j1 + 1) * width] = ((int32_t)*mu) * x3; - jpeg2000_modify_state(j1 + 1, j2 + 1, width, (*sigma) * x3, block_states); + sample_buf[(j2 + 1) + (j1 + 1) * stride] = ((int32_t)*mu) * x3; + jpeg2000_modify_state(j1 + 1, j2 + 1, stride, (*sigma) * x3, block_states); sigma += 1; mu += 1; } } ret = 1; -free: + free: av_freep(&sigma_n); av_freep(&E); av_freep(&mu_n); @@ -992,39 +992,39 @@ free: static void jpeg2000_calc_mbr(uint8_t *mbr, const uint16_t i, const uint16_t j, const uint32_t mbr_info, uint8_t causal_cond, - uint8_t *block_states, int width) + uint8_t *block_states, int stride) { int local_mbr = 0; - local_mbr |= jpeg2000_get_state(i - 1, j - 1, width, HT_SHIFT_SIGMA, block_states); - local_mbr |= jpeg2000_get_state(i - 1, j + 0, width, HT_SHIFT_SIGMA, block_states); - local_mbr |= jpeg2000_get_state(i - 1, j + 1, width, HT_SHIFT_SIGMA, block_states); + local_mbr |= jpeg2000_get_state(i - 1, j - 1, stride, HT_SHIFT_SIGMA, block_states); + local_mbr |= jpeg2000_get_state(i - 1, j + 0, stride, HT_SHIFT_SIGMA, block_states); + local_mbr |= jpeg2000_get_state(i - 1, j + 1, stride, HT_SHIFT_SIGMA, block_states); - local_mbr |= jpeg2000_get_state(i + 0, j - 1, width, HT_SHIFT_SIGMA, block_states); - local_mbr |= jpeg2000_get_state(i + 0, j + 1, width, HT_SHIFT_SIGMA, block_states); + local_mbr |= jpeg2000_get_state(i + 0, j - 1, stride, HT_SHIFT_SIGMA, block_states); + local_mbr |= jpeg2000_get_state(i + 0, j + 1, stride, HT_SHIFT_SIGMA, block_states); - local_mbr |= jpeg2000_get_state(i + 1, j - 1, width, HT_SHIFT_SIGMA, block_states) * causal_cond; - local_mbr |= jpeg2000_get_state(i + 1, j + 0, width, HT_SHIFT_SIGMA, block_states) * causal_cond; - local_mbr |= jpeg2000_get_state(i + 1, j + 1, width, HT_SHIFT_SIGMA, block_states) * causal_cond; + local_mbr |= jpeg2000_get_state(i + 1, j - 1, stride, HT_SHIFT_SIGMA, block_states) * causal_cond; + local_mbr |= jpeg2000_get_state(i + 1, j + 0, stride, HT_SHIFT_SIGMA, block_states) * causal_cond; + local_mbr |= jpeg2000_get_state(i + 1, j + 1, stride, HT_SHIFT_SIGMA, block_states) * causal_cond; - local_mbr |= jpeg2000_get_state(i - 1, j - 1, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i - 1, j - 1, width, HT_SHIFT_SCAN, block_states); - local_mbr |= jpeg2000_get_state(i - 1, j + 0, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i - 1, j - 1, width, HT_SHIFT_SCAN, block_states); - local_mbr |= jpeg2000_get_state(i - 1, j + 1, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i - 1, j + 1, width, HT_SHIFT_SCAN, block_states); + local_mbr |= jpeg2000_get_state(i - 1, j - 1, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i - 1, j - 1, stride, HT_SHIFT_SCAN, block_states); + local_mbr |= jpeg2000_get_state(i - 1, j + 0, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i - 1, j - 1, stride, HT_SHIFT_SCAN, block_states); + local_mbr |= jpeg2000_get_state(i - 1, j + 1, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i - 1, j + 1, stride, HT_SHIFT_SCAN, block_states); - local_mbr |= jpeg2000_get_state(i + 0, j - 1, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i + 0, j - 1, width, HT_SHIFT_SCAN, block_states); - local_mbr |= jpeg2000_get_state(i + 0, j + 1, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i + 0, j + 1, width, HT_SHIFT_SCAN, block_states); + local_mbr |= jpeg2000_get_state(i + 0, j - 1, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i + 0, j - 1, stride, HT_SHIFT_SCAN, block_states); + local_mbr |= jpeg2000_get_state(i + 0, j + 1, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i + 0, j + 1, stride, HT_SHIFT_SCAN, block_states); - local_mbr |= jpeg2000_get_state(i + 1, j - 1, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i + 1, j - 1, width, HT_SHIFT_SCAN, block_states) * causal_cond; - local_mbr |= jpeg2000_get_state(i + 1, j + 0, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i + 1, j + 0, width, HT_SHIFT_SCAN, block_states) * causal_cond; - local_mbr |= jpeg2000_get_state(i + 1, j + 1, width, HT_SHIFT_REF, block_states) * - jpeg2000_get_state(i + 1, j + 1, width, HT_SHIFT_SCAN, block_states) * causal_cond; + local_mbr |= jpeg2000_get_state(i + 1, j - 1, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i + 1, j - 1, stride, HT_SHIFT_SCAN, block_states) * causal_cond; + local_mbr |= jpeg2000_get_state(i + 1, j + 0, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i + 1, j + 0, stride, HT_SHIFT_SCAN, block_states) * causal_cond; + local_mbr |= jpeg2000_get_state(i + 1, j + 1, stride, HT_SHIFT_REF, block_states) * + jpeg2000_get_state(i + 1, j + 1, stride, HT_SHIFT_SCAN, block_states) * causal_cond; *mbr |= local_mbr; } @@ -1040,18 +1040,18 @@ static void jpeg2000_process_stripes_block(StateVars *sig_prop, int i_s, int j_s int modify_state, cond; uint8_t bit; uint8_t causal_cond = i != (i_s + height - 1); - int32_t *sp = &sample_buf[j + (i * (stride - 2))]; + int32_t *sp = &sample_buf[j + (i * (stride))]; uint8_t mbr = 0; if (jpeg2000_get_state(i, j, stride - 2, HT_SHIFT_SIGMA, block_states) == 0) - jpeg2000_calc_mbr(&mbr, i, j, mbr_info & 0x1EF, causal_cond, block_states, stride - 2); + jpeg2000_calc_mbr(&mbr, i, j, mbr_info & 0x1EF, causal_cond, block_states, stride); mbr_info >>= 3; cond = mbr != 0; bit = jpeg2000_peek_bit(sig_prop, magref_segment, magref_length); *sp |= (bit * cond) << pLSB; sig_prop->bits -= cond; modify_state = (((1 << HT_SHIFT_REF_IND) | (1 << HT_SHIFT_REF)) * cond) | 1 << HT_SHIFT_SCAN; - jpeg2000_modify_state(i, j, stride - 2, modify_state, block_states); + jpeg2000_modify_state(i, j, stride, modify_state, block_states); } } } @@ -1060,8 +1060,8 @@ static void jpeg2000_process_stripes_block(StateVars *sig_prop, int i_s, int j_s * See procedure decodeSigPropMag at Rec. ITU-T T.814, 7.4. */ av_noinline -static void jpeg2000_decode_sigprop_segment(Jpeg2000Cblk *cblk, uint16_t width, - uint16_t height, uint8_t *magref_segment, +static void jpeg2000_decode_sigprop_segment(Jpeg2000Cblk *cblk, uint16_t width, uint16_t height, + const int stride, uint8_t *magref_segment, uint32_t magref_length, uint8_t pLSB, int32_t *sample_buf, uint8_t *block_states) { @@ -1071,7 +1071,6 @@ static void jpeg2000_decode_sigprop_segment(Jpeg2000Cblk *cblk, uint16_t width, const uint16_t num_h_stripe = width / 4; int b_width = 4; int b_height = 4; - int stride = width + 2; int last_width; uint16_t i = 0, j = 0; @@ -1114,7 +1113,7 @@ static void jpeg2000_decode_sigprop_segment(Jpeg2000Cblk *cblk, uint16_t width, * See procedure decodeSigPropMag at Rec. ITU-T T.814, 7.5. */ static int -jpeg2000_decode_magref_segment( uint16_t width, uint16_t block_height, +jpeg2000_decode_magref_segment( uint16_t width, uint16_t block_height, const int stride, uint8_t *magref_segment,uint32_t magref_length, uint8_t pLSB, int32_t *sample_buf, uint8_t *block_states) { @@ -1134,7 +1133,7 @@ jpeg2000_decode_magref_segment( uint16_t width, uint16_t block_height, * We move column wise, going from one quad to another. See * Rec. ITU-T T.814, Figure 7. */ - sp = &sample_buf[j + i * width]; + sp = &sample_buf[j + i * stride]; if (jpeg2000_get_state(i, j, width, HT_SHIFT_SIGMA, block_states) != 0) { jpeg2000_modify_state(i, j, width, 1 << HT_SHIFT_REF_IND, block_states); *sp |= jpeg2000_import_magref_bit(&mag_ref, magref_segment, magref_length) << pLSB; @@ -1146,7 +1145,7 @@ jpeg2000_decode_magref_segment( uint16_t width, uint16_t block_height, height = block_height % 4; for (int j = 0; j < width; j++) { for (int i = i_start; i < i_start + height; i++) { - sp = &sample_buf[j + i * width]; + sp = &sample_buf[j + i * stride]; if (jpeg2000_get_state(i, j, width, HT_SHIFT_SIGMA, block_states) != 0) { jpeg2000_modify_state(i, j, width, 1 << HT_SHIFT_REF_IND, block_states); *sp |= jpeg2000_import_magref_bit(&mag_ref, magref_segment, magref_length) << pLSB; @@ -1194,6 +1193,9 @@ ff_jpeg2000_decode_htj2k(const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c int32_t M_b = magp; + const int quad_buf_width = width + 4; + const int quad_buf_height = height + 4; + /* codeblock size as constrained by Rec. ITU-T T.800, Table A.18 */ av_assert0(width <= 1024U && height <= 1024U); av_assert0(width * height <= 4096); @@ -1261,23 +1263,23 @@ ff_jpeg2000_decode_htj2k(const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c jpeg2000_init_mel_decoder(&mel_state); - sample_buf = av_calloc((width + 4) * (height + 4), sizeof(int32_t)); - block_states = av_calloc((width + 4) * (height + 4), sizeof(uint8_t)); + sample_buf = av_calloc(quad_buf_width * quad_buf_height, sizeof(int32_t)); + block_states = av_calloc(quad_buf_width * quad_buf_height, sizeof(uint8_t)); if (!sample_buf || !block_states) { ret = AVERROR(ENOMEM); goto free; } if ((ret = jpeg2000_decode_ht_cleanup_segment(s, cblk, t1, &mel_state, &mel, &vlc, - &mag_sgn, Dcup, Lcup, Pcup, pLSB, width, - height, sample_buf, block_states)) < 0) { + &mag_sgn, Dcup, Lcup, Pcup, pLSB, width, + height, quad_buf_width, sample_buf, block_states)) < 0) { av_log(s->avctx, AV_LOG_ERROR, "Bad HT cleanup segment\n"); goto free; } if (cblk->npasses > 1) - jpeg2000_decode_sigprop_segment(cblk, width, height, Dref, Lref, - pLSB - 1, sample_buf, block_states); + jpeg2000_decode_sigprop_segment(cblk, width, height, quad_buf_width, Dref, Lref, + pLSB - 1, sample_buf, block_states); if (cblk->npasses > 2) { @@ -1286,7 +1288,7 @@ ff_jpeg2000_decode_htj2k(const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c ret = AVERROR_INVALIDDATA; goto free; } - if ((ret = jpeg2000_decode_magref_segment(width, height, Dref, Lref, + if ((ret = jpeg2000_decode_magref_segment(width, height, quad_buf_width, Dref, Lref, pLSB - 1, sample_buf, block_states)) < 0) goto free; } @@ -1297,14 +1299,14 @@ ff_jpeg2000_decode_htj2k(const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { n = x + (y * t1->stride); - val = sample_buf[x + (y * width)]; + val = sample_buf[x + (y * quad_buf_width)]; /* Convert sign-magnitude to two's complement. */ val = val >> 31 ? 0x80000000 - val : val; val >>= (pLSB - 1); t1->data[n] = val; } } -free: + free: av_freep(&sample_buf); av_freep(&block_states); return ret; From patchwork Fri May 17 19:49:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Osamu Watanabe X-Patchwork-Id: 48967 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp3087939pzb; Fri, 17 May 2024 12:49:32 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVWYii+Otb32SJrtc3JJd2cxOYUet/wCW0aAnBgmKx5wLS+lnMuiC+HKfoL2JADWqh2kRHK1LPvpNuwT3yoiwMpQpsW0K9VcrBEZQ== X-Google-Smtp-Source: AGHT+IFE/7nxDMH34xU/uizu6S9GVH6u4JCvFVWxne0etC5KdJdijWZo5MV5JZ2wEhntT7Cv4Ne2 X-Received: by 2002:a50:d496:0:b0:572:3bcc:8370 with SMTP id 4fb4d7f45d1cf-5734d4417b4mr14237987a12.0.1715975371659; Fri, 17 May 2024 12:49: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 4fb4d7f45d1cf-5733beac609si9727901a12.15.2024.05.17.12.49.31; Fri, 17 May 2024 12:49: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=@takushoku.onmicrosoft.com header.s=selector2-takushoku-onmicrosoft-com header.b=nlzfndXB; 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 988D168D225; Fri, 17 May 2024 22:49:28 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01on2133.outbound.protection.outlook.com [40.107.114.133]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B5C6D68D1C4 for ; Fri, 17 May 2024 22:49:21 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V2OqW0zuUpPdfpU7Rz7pedvWwAd1EYa0pwy82ul1H5LeDgEKRcOXwDZMNaLzPBKsEg7WkSyAaH7GZXiy4f5Nx1zXi3/iMdR9T5Gev6ZUHJ9Mrp/p6ohSrFk8c0X9vXY8B934tlv1tH4uUetLQhcKlF95ea97WUU9wyn8/9CkeiFagkLbWpAdA+DS1OK1CztzCbd0AN1Rhh6FTiQ0OB0QR6UTCbcTzI//A1tCV2fKtz8hbPnKH50Vf/r92ys+iWpPf317Wl1JggbxWuOJzCRE0+253+iOR3Ckt2Kw7iZnTEmug4uHNebfmhEAcc7+nzkB9OgSru2u8zijdhAZu2AeiA== 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=/ope/0seuXwLd///8Vip2orG40paHKwGGeB3xiiNGBI=; b=RKvpOqzMmqMI7TE14hRJXpWlESxfcCZofc+y8dpE7xjYQUDplmB5xhR8kbwQIbwVrF5PHABozSgcMgrMV7lQTSurHmcfmFi+vTQ6fdoVyuFrxMMqmsYKqqdrr03c7FAJFx+MBBjffCR1gOsxePJbBoGIeUNXaV3ZYRJpWW+YkctB8qbuhMA9MRpgulz09OFTXMQ5aOLS2b5hbCIugULkGwNvU02iaKNwbN3GF9uFReLOVjAMLwp9wC9cSFdcGjmIijFqzVvH5lEORVJn5L2jLIzbSNS7Nmp/sUtCAFObfBL4sIDJVr0fl8zvDU6Ujp3BWF/rvF5U20eS18VsC4k94g== 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=/ope/0seuXwLd///8Vip2orG40paHKwGGeB3xiiNGBI=; b=nlzfndXBw8K2OyQ6rSCeL3lwl6NhGlyeHkDZDLgU0jTvZVIuAzA9IcAvRwJAASkXfzKLoJ2hhBRUr/AnoVoXv/18ZH+1FGAq8sjqMc4m10Uwqv0lmSfxjKwh5/z5ZtHupGp0sndBa/LL9LPMV2JFa4/dvN9hbSq1rDIWK+cl0DI= Received: from OS0PR01MB6001.jpnprd01.prod.outlook.com (2603:1096:604:b7::12) by OS3PR01MB9462.jpnprd01.prod.outlook.com (2603:1096:604:1c6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.30; Fri, 17 May 2024 19:49:18 +0000 Received: from OS0PR01MB6001.jpnprd01.prod.outlook.com ([fe80::181c:c1f4:9b58:f6cc]) by OS0PR01MB6001.jpnprd01.prod.outlook.com ([fe80::181c:c1f4:9b58:f6cc%6]) with mapi id 15.20.7587.028; Fri, 17 May 2024 19:49:18 +0000 From: WATANABE Osamu To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 2/2] test/jpeg2000dec: regenerate ds0_ht_01_b11 (HTJ2K lossless) Thread-Index: AQHaqJNOXAqhvxyJJ0KU6dnxIerKQw== Date: Fri, 17 May 2024 19:49:18 +0000 Message-ID: <62258DA6-89BC-43D7-95E2-8BB909F9A699@es.takushoku-u.ac.jp> Accept-Language: en-US, ja-JP Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=es.takushoku-u.ac.jp; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS0PR01MB6001:EE_|OS3PR01MB9462:EE_ x-ms-office365-filtering-correlation-id: f00c83f8-1348-49bf-6de4-08dc76aa70c4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|41320700004|366007|376005|1800799015|38070700009; x-microsoft-antispam-message-info: =?iso-2022-jp?b?RklGMW5xUGZuYzUwb2ZqSm1I?= =?iso-2022-jp?b?dkhxVitqeUVOSE5GZEI2RVo4ekRkcm81b3VQNEtRL1E1Y1ZjQmFVRFQ1?= =?iso-2022-jp?b?YXRFd0w5b28rd2Z3NHpJRHNkKy9lUEdKWEROOFpCWEg4YXBmejlzdzM1?= =?iso-2022-jp?b?OUVQM25xa2V4SXBqQWVCQ1dKVTVyUktzMzZ1OG5HTFY0K3lFTTNrL0Ni?= =?iso-2022-jp?b?S1I4TUt4S2JuZmQwM3dzYkdaS0xvZVQyOTh3Q214dlRNZzZkL0xBQzFj?= =?iso-2022-jp?b?c3htaFNKM2x1UXZIYlNDK2xoc3JxUENyWjlWMENKcjEvWkVic3daR0ow?= =?iso-2022-jp?b?eEluRFYzeVY2RG0wMGpqNGMxaXRTTklnd3dMeFBOb0dwUjhsMDJoeWhS?= =?iso-2022-jp?b?TUcwTUFyY1d6dFlwS0YyM1NOeEtMdThEd0pRaUI5NlJUSlFYYzF6S1ZF?= =?iso-2022-jp?b?VlFEUEY0UXVyK2Y2c1dOc3FzODZNU3dRYjNlcDlnaHZITEpiUmVkSCts?= =?iso-2022-jp?b?c25xN2JyVUV0a1BqaVQ1bUlqejlJRUlRVWZQbmFwZm9WOHplOEZQWFJL?= =?iso-2022-jp?b?cDMxeHZWcUpER3Mrb1YvdDBTa0dwZlorT2I5UzFRa1ByVDdIQjM0V3Y4?= =?iso-2022-jp?b?WFBieEgxMm5PYjVwWDRtMWNoVkNKUUR4SEJueXFBNVcySDVZakZTZEM4?= =?iso-2022-jp?b?TGNyd3lBOEdSaG5vMHBoM3R6QllaakxEUTFEUEt2ZEVJanh2VThkZVdE?= =?iso-2022-jp?b?WkR4emJ6Zk5jOWgyUjU5VTNEWEdYMHBhNVhOaW5tbGQyL0RBQTlwZXd5?= =?iso-2022-jp?b?US8wSHhLZDN2Mnp6bHJWcXh4Nk9iVFdlLzN3VUV4ZTN3VnhsbG5FZVIz?= =?iso-2022-jp?b?RmpxUTZxRkVOZmNsOFlZeVBobnlnTkdhVUlZdnZJZWwxWHVBR3MzSWFS?= =?iso-2022-jp?b?T21sanlYR3ZaNy9RdGg4TFZaM0gxcldhRVFSTTBKUk1mdFFOTkdFem01?= =?iso-2022-jp?b?TmczYTFVMzhGS1VDaTR5MTh1bVYvZ3BGTFEzNE16dWQxak5UclFTZUVk?= =?iso-2022-jp?b?Yy9LS041cjg3ZC9yWk9EK3A3TU5SODVnODNXeFU4SXpBU2xmcFZDcmp2?= =?iso-2022-jp?b?dkZ2RzNrazAzd29SWGhBMzhXdHBjRlRpS0JTdVUrSkovMG5INjUvWEpE?= =?iso-2022-jp?b?TkM4bk0yaUF0RTlpVGl4SDJDajFjb1VLTlhOOTVWZkIrQ0Rrbjk0WTAz?= =?iso-2022-jp?b?Nm9VWkJtVFZjbWFmZHVDbEdsOEhYdGdqZm1yUmJnTkprOFRrTXFraGdt?= =?iso-2022-jp?b?b0xZY0VJY2ZEOHp5N1ZycWdsT01mdjNnVTJKbW5mT2xSN1FmZ3FIWFRz?= =?iso-2022-jp?b?S3ZUdXlZT0I1cFFUOEQ5SjRoRXdWWWNtK0R0YTNmWjhXdVphdjdBUFZj?= =?iso-2022-jp?b?bVpOSEM2Uk9CREtXMHRoNElvY1ZaTVQyeTZYMnlIQVJKMU96em5IQ3Z1?= =?iso-2022-jp?b?ZFRHbjNia1BBQXJVSWhBRUE5Y2FUMkpRSEN6OGZoa0JacFRVWmdpOXY1?= =?iso-2022-jp?b?WG9MSzNFODJZWXZ2UGJDRno0RDBmTmxla05KWHQvN1Jia2FQY0RuUCtV?= =?iso-2022-jp?b?QWo0VHdwVEVLclhzTFppU0dmdkRPUHg0bldlemF6K2ozeUFNVTRGY2pE?= =?iso-2022-jp?b?Z3oxcHpaeHEvKzNSMTBCdkU3TTRYbzQ1ci90VW9uYlFxUnl6K2VvVVRx?= =?iso-2022-jp?b?aVAzWmNqWjNBa1h1NmppN2F2eDZxZEQ0V2MwVjJJTjFrWHJnNU5xY0NN?= =?iso-2022-jp?b?RDVINzhUelpDb3VJQXVicmZDNmNjeU4xeCt3YXZ3VnowdG10K283OWFk?= =?iso-2022-jp?b?S0RCQXM2aURoeTRrTG0xWW9XVjZkNkgxRkJFMCs2VktUaFE0V0E5V2ND?= =?iso-2022-jp?b?cDRhK0hZaUJmbGNvUWJzUEk2WWVNblAzbThETWo1MCtadGRHWFpSY3lH?= =?iso-2022-jp?b?YVBUdz09?= 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)(41320700004)(366007)(376005)(1800799015)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?b?cG1sYnFKc2lSNVFyVFFN?= =?iso-2022-jp?b?dCtqdmp6eHpOeWZaR0RkWE56elhyNzJ5SVd2ZmRGaU9MdmFaSXBwK2wr?= =?iso-2022-jp?b?VGRLby81UVVxMHdtYUg1UUJmanZXSEJyWnN6MnN5TDZ4dmo1YW1iMldH?= =?iso-2022-jp?b?cmh4U0M3K3Y3K1UrYzZJOTQ5TXB5SllNOCtSRVkva3c0eFEyL3I4enRx?= =?iso-2022-jp?b?NmQzaUQ4cmFBSldsbXVsVHVsVzJNRkpyOHNURUcwYm5MSDQ3OGw3Yzdt?= =?iso-2022-jp?b?OTlTY2FlT3M3MUI5U2tteHhIVEFjMGVkSGM0S0pSUUZWeXdzM0U3bXJB?= =?iso-2022-jp?b?b0dzN1laWkZucG1meGt2S2Ixc2xpcnpqTXlzUXBTemw1cXRVVWk4WTlN?= =?iso-2022-jp?b?L0tET0x4UDRpbzFFbkwwNkh0ZDJKNVVsRlR3eWY1TG5jQjBBQmRjZHFn?= =?iso-2022-jp?b?ODdqOGYzc1hFV2M0ZFA2UFRhWGpqbFdrbGdLS2dJNE03SnNMdjN4MWV1?= =?iso-2022-jp?b?S0FRazF3QThSRUhjUW8vRllnNWh0ZTZJa1pqWlRTaUd4aUhQUlJsaXZx?= =?iso-2022-jp?b?dml4aDVQQWx2VWZ5SDZzendmM0FpVHNKOVVSeTRnUlA1WmxqQWlHU3J2?= =?iso-2022-jp?b?aDI3NjEydVI3bkFKVU9yWnR5ZnZFYzk3RWtYS1poRDMyMVVWS2JZT0w0?= =?iso-2022-jp?b?RU1Gc2haOUVmSjRMWkYxTDZPYnZJOHljTGlUSzBIMGhzNk1tbDB6U1VL?= =?iso-2022-jp?b?QWl1UEtTWGNYQzRpSTNiSkVYV1EyS05vZFlFVE0wN09KTDNWM3BiN3d2?= =?iso-2022-jp?b?YU4zSzd3dHhhSDN4ZG1qcXp3algvbjNjaGxYYXduUDlMVGcrQ01jWUZ3?= =?iso-2022-jp?b?OFEyTUdjSlNiczNlNGR5OEZoNGdWTko3aWtEdXY3SWkwcERKYUpVOXJn?= =?iso-2022-jp?b?TDhjL2p0cG1rZmoyOUlYUnZPRkVXcHlBTGJRcVFZWktrQm9meUJsdXhw?= =?iso-2022-jp?b?SWxMTDdvL3Bzek1kNE5DanB3bHgwSm5iTlhmRXBXcytrTHl3ZFhTaWJ3?= =?iso-2022-jp?b?QlYwdTFwOUQ1Ykp5TGd0TzFtUzhtU29oWWNKQkI5Q04yVk44YTF2RS9I?= =?iso-2022-jp?b?MHRCN1ZrSWhRbU4yS2J0NTd1VzhuSm1JbitmUE1WV3NvUkNGTldOWFNj?= =?iso-2022-jp?b?a3o0Zjk5TmZ3SXh4OGhCVDdsWEZYZlQ4eFJDY3BUbURldHpGSG5BOXI2?= =?iso-2022-jp?b?OXpYOERjeVdZVW5DT0ZxNFAvTWVLSm4xQ3JIUlorNE9XV2tEZ1ptTHpW?= =?iso-2022-jp?b?OUJLMFdkc2hIWEdNdGVxUHJHbVZKdm1TY01SUVMrb3VkU1dRdTRZN0E1?= =?iso-2022-jp?b?LzJ2d1M1L0lPYkg4TkNHSWg4MlpzNi9US3BlMklybXg0V21hZlV6YWVx?= =?iso-2022-jp?b?aTNFS0NQbnhkSU14Nm8vYkk1VnVZLy9RbFR4Q2xQaFpvd0xPWGVFNmth?= =?iso-2022-jp?b?M3hoUU5WN1RmbGF5STNHWEVIM3k4clR3K094NTJzYU13azBmdWxXRzFs?= =?iso-2022-jp?b?ZC9ydlN0Q3luOC8ydTVoYmpGMGhkVHZRNzZEOUZUbHQ3OXNqU21aSlZB?= =?iso-2022-jp?b?WmV4eGFFOWhjYzlHZDVFYjFDUm92ZXhWZjFEWHZBK2ZRblordTJuWkQ3?= =?iso-2022-jp?b?VTRzSVh1WEgyOUtBOEV3M3pFSVdNY3hVMTZNaEtxdjlicUdCemtYQWMw?= =?iso-2022-jp?b?ZHRxR3pQaEM3Y2JBaUNkeXZEUVo4MmFqL3pYVUJqUXhQSTlHeWptaFE1?= =?iso-2022-jp?b?dDY2OWg2SFpwU1ZHOFcySXBxWk9rVWhSSUljUTJ0WE5BQkgrV0RsVGtS?= =?iso-2022-jp?b?SGNtQkxjWWgvWVgwb3UzSHBxSmN5bE9ZNHpDcEZqRFZWc3BiYUpmUWY3?= =?iso-2022-jp?b?OFFrVUNuOXRoSGRtdFJiMW5EaGcreUF2cVZtV0Z5OFhsSHRnZmNsYUcv?= =?iso-2022-jp?b?aFR0OU1Ta0JOVk52MTlubkt0RnNsS1JCZTZLK0R1RFora0QzSkdNdGMr?= =?iso-2022-jp?b?dHFDK0NxTlVFWitoaWc5Qk82dGJiNGxTbjdGYkQvdHVPbHV5eTRseFZr?= =?iso-2022-jp?b?azAreVBUaHNXMlNJaUtWRUw5TGhVTXdRNmVFM1dLYmtvOXdIOW15VjND?= =?iso-2022-jp?b?VDZPMm5ud2pJWFJuWlI2SVFscWxBcXdEZno4QkZwM0ZNOCszZmJSR3VT?= =?iso-2022-jp?b?Znc3Rlk0bG01MVZJcHNqaWpHUTlHL2ZZT1RBaGNKSysrdDJCd3hJaHZi?= =?iso-2022-jp?b?aXc5K0lsL3pWRzN5MVJWT3lFVm9rS01YbC9ZZVc5cllSVGVUaS9rdzlM?= =?iso-2022-jp?b?cGFRNFdVazVJYkMxaCtpOHRzOUZOaCs5TFNvMlJKU0IzYmkzc09NNkRO?= =?iso-2022-jp?b?WmNYTTJlN2lYZlRsRjZNZzNCMXJXZkhKanhsVnlOVHJMTmo1VHNsbHgy?= =?iso-2022-jp?b?OTk1cVA4aHM4UHBFPQ==?= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: es.takushoku-u.ac.jp X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB6001.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f00c83f8-1348-49bf-6de4-08dc76aa70c4 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2024 19:49:18.7586 (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: KZ8GfH2GEhznFuW9qtrv/0ilZGqmLpEpFKMBF7ex9WDInUBqD76LpXPQ+w+OS0XOE0+jNkvS70WCLGEBJ7mK+5m2QfFNR3Vg0Oe77MtFLiE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9462 Subject: [FFmpeg-devel] [PATCH 2/2] test/jpeg2000dec: regenerate ds0_ht_01_b11 (HTJ2K lossless) 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: Pierre-Anthony Lemieux Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: e8OfSqTeIZJ5 Signed-off-by: Pierre-Anthony Lemieux --- tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 index af3eaa086d..d923cc2109 100644 --- a/tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 +++ b/tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 @@ -3,4 +3,4 @@ #codec_id 0: rawvideo #dimensions 0: 128x128 #sar 0: 0/1 -0, 0, 0, 1, 16384, 0x44426324 +0, 0, 0, 1, 16384, 0x04a3647e