From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 4571C4B17C for ; Sat, 19 Jul 2025 14:13:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 6F57C68C21E; Sat, 19 Jul 2025 17:13:46 +0300 (EEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2041.outbound.protection.outlook.com [40.107.92.41]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 52FBD687B8E for ; Sat, 19 Jul 2025 17:13:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JWH1oepDlRtgvRuExXCV2oXhZTe9vtg9Ve1obsAU8kk6s/KVsXl+Wg77TCRbhdN5sYWzTFNbGeucqTugBAjSwrlRoK/YTKBW8MppoPP4Rf6FqtlxRc0GyN5/1rac8piLtGF1RLaC2KulVTHkct189H/FYvX1rVAFiijqG98O/8iN18oG7R3bBIIYuQjExXAeQ6dEQPewUXJxKrwPo/PoMExHd2wKyaVRTEYqsWAw5WooDOm/0887bRx2KVm5DaDZL/o9aZ2W+OW7BxbpX8J/TuEhU1IXVe3SxMUIZTL/24RABoYMeuwWKNN0p3bhxUhW8pgOT2eZe+2pKvyWZkgfTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=yJro9yhxZ6r9Updyx52viQIpMnkd/tYzZ81Mo6jRqts=; b=FPHjbyffaYEfJyJNQ0ea+NRjBDEEVvGpfrDE6FRHXuFBPrZwSBDd0WSV7JgQxjK9G4Eu7B0AsXNUohzLrVNuODIWQHr5vCFSS7dfGcD4l8568vXWrXl6YHYZ7hydzFxvPpct+paOIw/jr5nV+U3oiQ6SvgnAvoxVvDZBCg7au4LnEFBGHyYu8llJnAFnZ/1pUjO1G0WETNvJZhvRaUb5oxjIET3JgJKKSpbbC+sywNwWwJP1I03Xpo7TfJ44R9nw0KjhrsKL0vrPsHWpeKYrt1dCXc11rwhXNWo7LtM594GMmKyGImF/9c7tNX/IGDGBjFeMs05lv9b2B/U8CRN6iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=adobe.com; dmarc=pass action=none header.from=adobe.com; dkim=pass header.d=adobe.com; arc=none Received: from BN0PR02MB7887.namprd02.prod.outlook.com (2603:10b6:408:14b::16) by SJ2PR02MB9793.namprd02.prod.outlook.com (2603:10b6:a03:536::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8943.28; Sat, 19 Jul 2025 14:13:35 +0000 Received: from BN0PR02MB7887.namprd02.prod.outlook.com ([fe80::5019:a130:f524:7826]) by BN0PR02MB7887.namprd02.prod.outlook.com ([fe80::5019:a130:f524:7826%3]) with mapi id 15.20.8901.021; Sat, 19 Jul 2025 14:13:35 +0000 To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] avfilter: add inverse tone mapping Thread-Index: AQHb+LbGRuR1ZGrhv0ODyxuGHqAl6w== Date: Sat, 19 Jul 2025 14:13:35 +0000 Message-ID: Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-reactions: allow x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN0PR02MB7887:EE_|SJ2PR02MB9793:EE_ x-ms-office365-filtering-correlation-id: d916170e-f39f-4d36-badc-08ddc6ce735a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|4053099003|8096899003|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?91xPZEycvj4i4fE8wqVVcc5iq+l+Zw4KoFOIZTXjzqsREjwslbsKNYSssn3I?= =?us-ascii?Q?GIOgB81McJsdqawYsyzCM8U8SnbMUxTMWIGFPGILZaXvx8xGCCM5hTb7dvzj?= =?us-ascii?Q?dSjo2/0pn3TGxK6TgplrwtIewNSEpZM1YdHHSeFCjHZMWGS/hYELx8FIqAp4?= =?us-ascii?Q?mEoFFx50EBT5RjOejslst3cEqSMc+DsMTFj3P8c4U5kLPgcxNEwBRUu0rGcI?= =?us-ascii?Q?GZTw2BpdcchZKarSiJBkAdpIylyBYYiGBdplW1Om4J/nkyyGpulE2iirAGeg?= =?us-ascii?Q?75sznjYVpsGV9ER4cgpoD3c4vzAZ4o412fZgSh1pOPdIhmg4X8XiK59WsH8a?= =?us-ascii?Q?nafqFy/WDK9JTdyfyQgKPh3EY/yk2msD8AsQ+KXmnX0WKbEBBDUSi/56/T9l?= =?us-ascii?Q?McM5743HY1Y35SPvghxyuWPuRugy0gVUmc5b/zQihdYhETIfaIM+OJw+skRV?= =?us-ascii?Q?RiEM6hw8yIR6d58QhBiJtgBf83h/Pm19kckYn8c/GyZkFrh47VhwbgoT5uvF?= =?us-ascii?Q?lmne7QdC21ic0ebnBXePDeYmTe543vERpA9uNGW5AF7YhfcadC7lupgDxkM9?= =?us-ascii?Q?aLBZ029jf6LAU8kGK92dRbra9dDOLn0kbZ61fSdET72YHZUfvED3OwqShkDw?= =?us-ascii?Q?zn8s0ibFNu/h8qQa1TIBEb7G1cAYpURCNQC+qsmDgg0gLncYCGBmt1pGXnUT?= =?us-ascii?Q?APbhRcGMeWmNO/Fj3TW4VHS8JjyGElngCZzdjKRAri29J58Q8u37chdeZIgF?= =?us-ascii?Q?6yHURnena0vLAhl690mZ1sYDBCrQ3l0//IfFdQG+YzjLtBEGYEY/DyPscI0z?= =?us-ascii?Q?Q8gNMOWKpXALileizTAl/O3KKcdmKxZZdHlUnp+L2kuK7aHoI2W7wSSfO3MH?= =?us-ascii?Q?dzapLBcEo7r94Nzuu722ZloPRr/Xq8UUaub3yhI96zVg6fnN27YSk1ZYAGJf?= =?us-ascii?Q?ZRNKpirjCI8Hn4jxKQxyrQRET1bqjPuKmGIEliXaduoHX429AbJ315XlakFh?= =?us-ascii?Q?VrzDPqXAPJs2lW9NPUCDS+q6NEnknkX4lFLbl8IYOKSm3VYeiLeAuyyjInFu?= =?us-ascii?Q?skqXoBHYuXL0MVAqSWV84UzVl/GRFbthL5BabB3pqc7c88GnCT6PtAE2DvHe?= =?us-ascii?Q?faOPC0nlTNTtD4iocIdgx7CgoSe7mO5QJ22A3D/CeLA+C43d+uR9tFAGhDSc?= =?us-ascii?Q?pgWPAoaAvRvr7KsZjEfDjztINFMThifjqUMJheMkbrnO4RCgCfPQYU1JQ2B+?= =?us-ascii?Q?HPO9gZAXsB4Kocfff6y/VJLnNhb4sPt8Tlpnl97CRtSAPtQbC4v8iHY8OvhF?= =?us-ascii?Q?uNHiDncEpmzYUmvXVVy6ZrTx0HV2Sy9aVvoirXaWsOL/Oaf2kg6UVmgVEjt2?= =?us-ascii?Q?erfF+y/jcZAV0F1sEU8y6HkHbllgibMb/6cnhTQV0aG3GYDfUo7x4ZhYbY5L?= =?us-ascii?Q?+5krw51/7H0=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN0PR02MB7887.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(4053099003)(8096899003)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?BNEVfeTl8oloFU0zat1ts/kHlAvn2L6A97B1WveD7WrI/gxkVD8e+Uwp/Tbj?= =?us-ascii?Q?NpBhIpfNUfkH1wXVcsZAliAuuP2+b5ApK+NKnn5gAJbD9RKQMFotmDK8Xb1e?= =?us-ascii?Q?15svZKYFLrYqieNmaqRwuDOkec8V6LvU9DPOZ0zZ2ujLF6qqj775MuFzTOsQ?= =?us-ascii?Q?NAlPPEGTYtJiIBqNlLdJaAkr2b/qPBU9ArbFn2zkGoYQL66XE5S/0Qp5AeBE?= =?us-ascii?Q?0QMGDuBzmpuaV3SKMNcvYLRAHCoVhgqvN4an3KSdYgVQT1Yyz5BpOmQifH6Y?= =?us-ascii?Q?C2fnXC4+juGEYikK9dGywCLj6NAi7fc5Ij5Chm3FsfhwNTPdUmTylA+8JE49?= =?us-ascii?Q?tLt7glJYZcm3t3favNoAR7qcw90/TxTSuBEPFuJLNIkYTlTliugeODVBsl1/?= =?us-ascii?Q?w/OVBrq7oh2vuEOI/3sujEuVVtSFKMOX2+mbR/vkxJLXV9kpZLDaY8CaN5dM?= =?us-ascii?Q?gBo2YP+BfYK5MlUh1uZnWvu6sXPbj8W4LXj0XqXOxmNTsC6KR01PMHUgLWLx?= =?us-ascii?Q?4kpvOtF7at7FVkWpGB3k+zzixIiRldxcRhpq7oZq3ASORGczeiyM3me/zyTH?= =?us-ascii?Q?GynbaaOWS1YjsQa64NF4pM+iRH6PSe4hrXHAlX8TrD+NkmdCLrnI0XtAR0cy?= =?us-ascii?Q?fDQ0FeJ26JrSWCoJXbCOEBPbB4vuU9tCG1y0prXo3DaajROChQSko88U2wQ8?= =?us-ascii?Q?f0fknCNaY57hBeKwSvL+WZpaq8SbUd7qc+DsRcnrWJNW+KS4+9BBLuGLN/8E?= =?us-ascii?Q?b5V358NjLe6bjHVrKiUzc3iglujWVxuZLlmmKClEeqOOBKPeLTijWKL1yMCX?= =?us-ascii?Q?5UXcvvwUNCHYPVtI0tozD+mwzSYGSWHxisWDhdnjdw22ZcljrptVm7UBoThi?= =?us-ascii?Q?nYh8/J9kRaHRxuMtlUvEzeFpWCPw39KxRXiRzYP+E6luijdjV57gJqjsln8i?= =?us-ascii?Q?7NwqS3CwDcgs2DtgDwcXN9LVvbzcf9cZh4spVgO1ElVo/YeQAAh1KFKiKTzx?= =?us-ascii?Q?O7q3oVUSvNb7NpQk6jACvdNKnMM+y5gxdkDN9idPtUbta5aStd33rauVEmbC?= =?us-ascii?Q?MYJch3jsFeajjN7ZztpAJVmfLwTV9DiH+e0iFtl37ln6NaN/V9gaP02bzyXA?= =?us-ascii?Q?G1zy19oZVgtOOvqa03xwVoC4WxGFMZrgCE9fujbLRiKxunfQn+InSZXumR+k?= =?us-ascii?Q?AmwMj+NJdNyulqAEU4vnGtZ7TdQnLIhJpK7DZ+SeeiDbNKJop0Rxv231GV8w?= =?us-ascii?Q?xY2AABdvywxJz08Z2c8ZAzmx+lbxjsKGP2fwu5g3ECUWfRYaPJqpQbzXUdoc?= =?us-ascii?Q?M8oErXvp3VaY+hcgYwmR+TBS0pjbNLF10wRuiH9vQ5ZiYjoULdvlTo2FjZ9L?= =?us-ascii?Q?8mzw5RbpH4RwTqE+c7KyEUILK+fVKQbW9yz4wbJ57XOQ4s7w1REzNUrH6gPR?= =?us-ascii?Q?lN3BooIt7wBU/Pc2qnLzZ5YZ3c57HxG9gXiQhxEfP5CC1dVk2GNDdO63I8qw?= =?us-ascii?Q?EVrW6WyM8b3Vvr+KV5Y5mNSdNSxuD4oD+BEpyrczo7fEQXs7MhEL0SlCAmiM?= =?us-ascii?Q?MA+OyjpPTJelMTYK5ObVghKJbRajrCyYdb0DxtqE+/4Gv77lHHlqyOgBDWwB?= =?us-ascii?Q?Iw=3D=3D?= Content-Type: multipart/mixed; boundary="_004_BN0PR02MB78872FBADDFD8A13D1DEA6ECD453ABN0PR02MB7887namp_" MIME-Version: 1.0 X-OriginatorOrg: adobe.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN0PR02MB7887.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d916170e-f39f-4d36-badc-08ddc6ce735a X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jul 2025 14:13:35.7301 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fa7b1b5a-7b34-4387-94ae-d2c178decee1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tPcohAzB+3bJa15OQTLnaUoSoWXIXFr4FmGyvmjA0KJ9iA48QmEWTXV9zYScBIjgHuFGY6dczZHD6EJIVOjRzw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB9793 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avfilter: add inverse tone mapping 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: , From: Sarthak Indurkhya via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Sarthak Indurkhya Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --_004_BN0PR02MB78872FBADDFD8A13D1DEA6ECD453ABN0PR02MB7887namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello FFmpeg developers, This patch introduces a new video filter called inversetonemap for FFmpeg. The filter performs SDR to HDR conversion by mapping SDR BT.709 video to HD= R BT.2020 PQ, using local adaptation and inverse tone mapping. The goal is = to provide a simple, flexible tool for upconverting SDR content for HDR dis= plays, with local adaptation, tone curve sensitivity, and chroma processing= . Please review. Thanks, Sarthak Get Outlook for Mac --_004_BN0PR02MB78872FBADDFD8A13D1DEA6ECD453ABN0PR02MB7887namp_ Content-Type: application/octet-stream; name="0001-avfilter-add-inversetonemap-filter.patch" Content-Description: 0001-avfilter-add-inversetonemap-filter.patch Content-Disposition: attachment; filename="0001-avfilter-add-inversetonemap-filter.patch"; size=13927; creation-date="Sat, 19 Jul 2025 14:11:41 GMT"; modification-date="Sat, 19 Jul 2025 14:11:41 GMT" Content-Transfer-Encoding: base64 RnJvbSBmNTYzZWUxYWQ5MzUxMWRmZTdkZDI1MjU3OGQ3ODAxZTBjYmJlOTY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYXJ0aGFrIEluZHVya2h5YSA8c2FydGhha0BTYXJ0aGFrcy1N YWNCb29rLVByby5sb2NhbD4KRGF0ZTogU2F0LCA1IEp1bCAyMDI1IDIyOjMzOjQ2ICswNTMwClN1 YmplY3Q6IFtQQVRDSF0gYXZmaWx0ZXI6IGFkZCBpbnZlcnNldG9uZW1hcCBmaWx0ZXIKClRoaXMg ZmlsdGVyIHBlcmZvcm1zIGludmVyc2UgdG9uZSBtYXBwaW5nIGZyb20gU0RSIHRvIEhEUiB1c2lu ZyBsb2NhbCBhZGFwdGF0aW9uIGFuZCBQUSBtYXBwaW5nLgoKLSBBZGRlZCBpbnZlcnNldG9uZW1h cCB2aWRlbyBmaWx0ZXIgZm9yIFNEUiB0byBIRFIgY29udmVyc2lvbi4KLS0tCiBDaGFuZ2Vsb2cg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogbGliYXZmaWx0ZXIvTWFrZWZpbGUgICAgICAg ICAgICB8ICAxICsKIGxpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYyAgICAgICAgfCAgMSArCiBsaWJh dmZpbHRlci92Zl9pbnZlcnNldG9uZW1hcC5jIHwgOTggKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDUwIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZWxvZyBiL0NoYW5nZWxvZwppbmRleCA4MWUyY2M4MTNm Li4wYWVjZjZkYmYxIDEwMDY0NAotLS0gYS9DaGFuZ2Vsb2cKKysrIGIvQ2hhbmdlbG9nCkBAIC0y LDYgKzIsNyBAQCBFbnRyaWVzIGFyZSBzb3J0ZWQgY2hyb25vbG9naWNhbGx5IGZyb20gb2xkZXN0 IHRvIHlvdW5nZXN0IHdpdGhpbiBlYWNoIHJlbGVhc2UsCiByZWxlYXNlcyBhcmUgc29ydGVkIGZy b20geW91bmdlc3QgdG8gb2xkZXN0LgogCiB2ZXJzaW9uIDxuZXh0PjoKKy0gQWRkZWQgaW52ZXJz ZXRvbmVtYXAgdmlkZW8gZmlsdGVyIGZvciBTRFIgdG8gSERSIGNvbnZlcnNpb24uCiAtIHlhc20g c3VwcG9ydCBkcm9wcGVkLCB1c2VycyBuZWVkIHRvIHVzZSBuYXNtCiAtIFZWQyBWQUFQSSBkZWNv ZGVyCiAtIFJlYWxWaWRlbyA2LjAgZGVjb2RlcgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvTWFr ZWZpbGUgYi9saWJhdmZpbHRlci9NYWtlZmlsZQppbmRleCA5N2Y4ZjE3MjcyLi5lNzE1YTNhNWU0 IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9NYWtlZmlsZQorKysgYi9saWJhdmZpbHRlci9NYWtl ZmlsZQpAQCAtMTkxLDYgKzE5MSw3IEBAIE9CSlMtJChDT05GSUdfU0lORV9GSUxURVIpICAgICAg ICAgICAgICAgICAgICs9IGFzcmNfc2luZS5vCiBPQkpTLSQoQ09ORklHX0FOVUxMU0lOS19GSUxU RVIpICAgICAgICAgICAgICArPSBhc2lua19hbnVsbHNpbmsubwogCiAjIHZpZGVvIGZpbHRlcnMK K09CSlMtJChDT05GSUdfSU5WRVJTRVRPTkVNQVBfRklMVEVSKSArPSB2Zl9pbnZlcnNldG9uZW1h cC5vCiBPQkpTLSQoQ09ORklHX0FERFJPSV9GSUxURVIpICAgICAgICAgICAgICAgICArPSB2Zl9h ZGRyb2kubwogT0JKUy0kKENPTkZJR19BTFBIQUVYVFJBQ1RfRklMVEVSKSAgICAgICAgICAgKz0g dmZfZXh0cmFjdHBsYW5lcy5vCiBPQkpTLSQoQ09ORklHX0FMUEhBTUVSR0VfRklMVEVSKSAgICAg ICAgICAgICArPSB2Zl9hbHBoYW1lcmdlLm8gZnJhbWVzeW5jLm8KZGlmZiAtLWdpdCBhL2xpYmF2 ZmlsdGVyL2FsbGZpbHRlcnMuYyBiL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYwppbmRleCAzYmMw NDViMjhmLi4yZjY3MzAwY2ExIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMK KysrIGIvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5jCkBAIC0xNzYsNiArMTc2LDcgQEAgZXh0ZXJu IGNvbnN0IEZGRmlsdGVyIGZmX2FzcmNfc2luZTsKIAogZXh0ZXJuIGNvbnN0IEZGRmlsdGVyIGZm X2FzaW5rX2FudWxsc2luazsKIAorZXh0ZXJuIGNvbnN0IEZGRmlsdGVyIGZmX3ZmX2ludmVyc2V0 b25lbWFwOwogZXh0ZXJuIGNvbnN0IEZGRmlsdGVyIGZmX3ZmX2FkZHJvaTsKIGV4dGVybiBjb25z dCBGRkZpbHRlciBmZl92Zl9hbHBoYWV4dHJhY3Q7CiBleHRlcm4gY29uc3QgRkZGaWx0ZXIgZmZf dmZfYWxwaGFtZXJnZTsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2ludmVyc2V0b25lbWFw LmMgYi9saWJhdmZpbHRlci92Zl9pbnZlcnNldG9uZW1hcC5jCmluZGV4IDI4ZWExZWYyOWUuLmQ4 ZDg5MjAxNTEgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX2ludmVyc2V0b25lbWFwLmMKKysr IGIvbGliYXZmaWx0ZXIvdmZfaW52ZXJzZXRvbmVtYXAuYwpAQCAtMSwzICsxLDIyIEBACisvKgor ICogQ29weXJpZ2h0IChjKSAyMDI1IFNhcnRoYWsgSW5kdXJraHlhCisgKiBUaGlzIGZpbGUgaXMg cGFydCBvZiBGRm1wZWcuCisgKgorICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg KiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdp dGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0 aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAy MTEwLTEzMDEgVVNBCisgKi8KKwogLyoqCiAgKiBAZmlsZQogICogQGJyaWVmIFNEUiB0byBIRFIg aW52ZXJzZSB0b25lIG1hcHBpbmcgZmlsdGVyIGZvciBGRm1wZWcKQEAgLTM4LDcgKzU3LDcgQEAg dHlwZWRlZiBzdHJ1Y3QgRmlsdGVyQ29udGV4dCB7CiAgICAgZmxvYXQgSERSX21heDsKIH0gRmls dGVyQ29udGV4dDsKIAotLy9kZWNsYXJpbmcgbG9va3VwIHRhYmxlCisKIHN0YXRpYyBmbG9hdCBi dDcwOV9nYW1tYV9sdXRbMjU2XTsKIAogc3RhdGljIHZvaWQgaW5pdF9idDcwOV9nYW1tYV9sdXQo dm9pZCkgewpAQCAtNTEsMTQgKzcwLDEzIEBAIHN0YXRpYyB2b2lkIGluaXRfYnQ3MDlfZ2FtbWFf bHV0KHZvaWQpIHsKICAgICB9CiB9CiAKLS8vIFJlYy43MDkgdG8gUmVjLjIwMjAgbWF0cml4CisK IHN0YXRpYyBjb25zdCBmbG9hdCBidDcwOV90b19idDIwMjBbM11bM10gPSB7CiAgICAgezAuNjI3 NGYsIDAuMzI5M2YsIDAuMDQzM2Z9LAogICAgIHswLjA2OTFmLCAwLjkxOTVmLCAwLjAxMTRmfSwK ICAgICB7MC4wMTY0ZiwgMC4wODgwZiwgMC44OTU2Zn0KIH07CiAKLS8vIFBRIHRyYW5zZmVyIGZ1 bmN0aW9uCiAjZGVmaW5lIFBRX00xIDAuMTU5MzAxNzU3ODEyNWYKICNkZWZpbmUgUFFfTTIgNzgu ODQzNzVmCiAjZGVmaW5lIFBRX0MxIDAuODM1OTM3NWYKQEAgLTgwLDEyICs5OCwxMCBAQCBzdGF0 aWMgdm9pZCBjb21wdXRlX2xvY2FsX2FkYXB0YXRpb24oY29uc3QgZmxvYXQgKlJfZnVsbCwgZmxv YXQgKnNpZ21hLCBpbnQgd2lkdAogICAgIGZsb2F0ICp0ZW1wX2JsdXIgPSBhdl9tYWxsb2N6KG5w aXggKiBzaXplb2YoZmxvYXQpKTsgCiAgICAgZmxvYXQgKnNwYXRpYWxfd2VpZ2h0cyA9IGF2X21h bGxvYygoMiAqIHJhZGl1cyArIDEpICogc2l6ZW9mKGZsb2F0KSk7CiAKLSAgICAvLyAxRCBHYXVz c2lhbiBrZXJuZWwgZm9yIHNlcGFyYWJsZSBibHVyCiAgICAgZm9yIChpbnQgaSA9IC1yYWRpdXM7 IGkgPD0gcmFkaXVzOyBpKyspIHsKICAgICAgICAgc3BhdGlhbF93ZWlnaHRzW2kgKyByYWRpdXNd ID0gZXhwZigtKGkgKiBpKSAvICgyICogc2lnbWFfc3BhdGlhbCAqIHNpZ21hX3NwYXRpYWwpKTsK ICAgICB9CiAKLSAgICAvLyBTY2VuZSBtYXggbHVtaW5hbmNlCiAgICAgZmxvYXQgc2NlbmVfbWF4 ID0gMWUtNmY7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBucGl4OyBpKyspIHsKICAgICAgICAg aWYgKFJfZnVsbFtpXSA+IHNjZW5lX21heCkKQEAgLTkzLDcgKzEwOSw2IEBAIHN0YXRpYyB2b2lk IGNvbXB1dGVfbG9jYWxfYWRhcHRhdGlvbihjb25zdCBmbG9hdCAqUl9mdWxsLCBmbG9hdCAqc2ln bWEsIGludCB3aWR0CiAgICAgfQogICAgIGZsb2F0IGhkcl9zY2FsZSA9IEhEUl9tYXggLyBzY2Vu ZV9tYXg7CiAKLSAgICAvLyAtLS0tIEhvcml6b250YWwgYmx1ciBwYXNzIC0tLS0KICAgICBmb3Ig KGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7CiAgICAgICAgIGZvciAoaW50IHggPSAwOyB4 IDwgd2lkdGg7IHgrKykgewogICAgICAgICAgICAgZmxvYXQgc3VtID0gMC4wZiwgc3VtX3dlaWdo dHMgPSAwLjBmOwpAQCAtMTEzLDcgKzEyOCw2IEBAIHN0YXRpYyB2b2lkIGNvbXB1dGVfbG9jYWxf YWRhcHRhdGlvbihjb25zdCBmbG9hdCAqUl9mdWxsLCBmbG9hdCAqc2lnbWEsIGludCB3aWR0CiAg ICAgICAgIH0KICAgICB9CiAKLSAgICAvLyAtLS0tIFZlcnRpY2FsIGJsdXIgcGFzcyAtLS0tCiAg ICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgewogICAgICAgICBmb3IgKGludCB4 ID0gMDsgeCA8IHdpZHRoOyB4KyspIHsKICAgICAgICAgICAgIGZsb2F0IHN1bSA9IDAuMGYsIHN1 bV93ZWlnaHRzID0gMC4wZjsKQEAgLTEzNywxOCArMTUxLDE1IEBAIHN0YXRpYyB2b2lkIGNvbXB1 dGVfbG9jYWxfYWRhcHRhdGlvbihjb25zdCBmbG9hdCAqUl9mdWxsLCBmbG9hdCAqc2lnbWEsIGlu dCB3aWR0CiAgICAgYXZfZnJlZShzcGF0aWFsX3dlaWdodHMpOwogfQogc3RhdGljIHZvaWQgY29t cHV0ZV9sb2NhbF9hZGFwdGF0aW9uX2Zhc3QoY29uc3QgZmxvYXQgKlJfZnVsbCwgZmxvYXQgKnNp Z21hLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCi0gICAgZmxvYXQgc2lnbWFfc3BhdGlhbCwgZmxv YXQgc2lnbWFfcmFuZ2UsIGZsb2F0IEhEUl9tYXgpCi17CisgICAgZmxvYXQgc2lnbWFfc3BhdGlh bCwgZmxvYXQgc2lnbWFfcmFuZ2UsIGZsb2F0IEhEUl9tYXgpewogICAgIGNvbnN0IGludCBzY2Fs ZSA9IDQ7CiAgICAgaW50IGRvd25fdyA9IHdpZHRoIC8gc2NhbGU7CiAgICAgaW50IGRvd25faCA9 IGhlaWdodCAvIHNjYWxlOwogICAgIGludCBucGl4X3NtYWxsID0gZG93bl93ICogZG93bl9oOwog ICAgIAotICAgIC8vIEFsbG9jYXRpbmcgZG93bnNhbXBsZWQgYW5kIHJlc3VsdCBidWZmZXJzCiAg ICAgZmxvYXQgKlJfc21hbGwgPSBhdl9tYWxsb2MobnBpeF9zbWFsbCAqIHNpemVvZihmbG9hdCkp OwogICAgIGZsb2F0ICpzaWdtYV9zbWFsbCA9IGF2X21hbGxvYyhucGl4X3NtYWxsICogc2l6ZW9m KGZsb2F0KSk7CiAgICAgCi0gICAgLy8gU2ltcGxlIGJveCBkb3duc2FtcGxpbmcKICAgICBmb3Ig KGludCB5ID0gMDsgeSA8IGRvd25faDsgeSsrKSB7CiAgICAgICAgIGZvciAoaW50IHggPSAwOyB4 IDwgZG93bl93OyB4KyspIHsKICAgICAgICAgICAgIGZsb2F0IHN1bSA9IDAuMGY7CkBAIC0xNjcs NyArMTc4LDYgQEAgc3RhdGljIHZvaWQgY29tcHV0ZV9sb2NhbF9hZGFwdGF0aW9uX2Zhc3QoY29u c3QgZmxvYXQgKlJfZnVsbCwgZmxvYXQgKnNpZ21hLCBpbnQKIAogICAgIGNvbXB1dGVfbG9jYWxf YWRhcHRhdGlvbihSX3NtYWxsLCBzaWdtYV9zbWFsbCwgZG93bl93LCBkb3duX2gsIHNpZ21hX3Nw YXRpYWwsIHNpZ21hX3JhbmdlLCBIRFJfbWF4KTsKIAotICAgIC8vIFVwc2FtcGxpbmcgc2lnbWFf c21hbGwgLT4gc2lnbWEKICAgICBzdHJ1Y3QgU3dzQ29udGV4dCAqc3dzX2N0eCA9IHN3c19nZXRD b250ZXh0KGRvd25fdywgZG93bl9oLCBBVl9QSVhfRk1UX0dSQVlGMzIsCiAgICAgICAgICAgICAg IHdpZHRoLCBoZWlnaHQsIEFWX1BJWF9GTVRfR1JBWUYzMiwKICAgICAgICAgICAgICAgU1dTX0JJ TElORUFSLCBOVUxMLCBOVUxMLCBOVUxMKTsKQEAgLTE5OSwxNCArMjA5LDEyIEBAIHN0YXRpYyB2 b2lkIGNvbXB1dGVfaGRyX2ludGVuc2l0eShjb25zdCBmbG9hdCAqUl9mdWxsLCBjb25zdCBmbG9h dCAqc2lnbWEsIGZsb2F0CiBzdGF0aWMgdm9pZCBpbnZlcnNlX3RvbmVfbWFwX2xpbmVhcl9yZ2Io CiAgICAgY29uc3QgZmxvYXQgKlIsIGNvbnN0IGZsb2F0ICpHLCBjb25zdCBmbG9hdCAqQiwKICAg ICBmbG9hdCAqUl9oZHIsIGZsb2F0ICpHX2hkciwgZmxvYXQgKkJfaGRyLAotICAgIGludCB3aWR0 aCwgaW50IGhlaWdodCwgRmlsdGVyQ29udGV4dCAqcykKLXsKKyAgICBpbnQgd2lkdGgsIGludCBo ZWlnaHQsIEZpbHRlckNvbnRleHQgKnMpewogICAgIGludCBucGl4ID0gd2lkdGggKiBoZWlnaHQ7 CiAgICAgZmxvYXQgKlkgPSBhdl9tYWxsb2MobnBpeCAqIHNpemVvZihmbG9hdCkpOwogICAgIGZs b2F0ICpZX3NpZ21hID0gYXZfbWFsbG9jKG5waXggKiBzaXplb2YoZmxvYXQpKTsKICAgICBmbG9h dCAqWV9oZHIgPSBhdl9tYWxsb2MobnBpeCAqIHNpemVvZihmbG9hdCkpOwogCi0gICAgLy8gQ29t cHV0aW5nIGx1bWluYW5jZSAoQlQuMjAyMCkKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG5waXg7 IGkrKykKICAgICAgICAgWVtpXSA9IDAuMjYyN2YgKiBSW2ldICsgMC42NzgwZiAqIEdbaV0gKyAw LjA1OTNmICogQltpXTsKIApAQCAtMjE1LDcgKzIyMyw2IEBAIHN0YXRpYyB2b2lkIGludmVyc2Vf dG9uZV9tYXBfbGluZWFyX3JnYigKICAgICAKICAgICBjb21wdXRlX2hkcl9pbnRlbnNpdHkoWSwg WV9zaWdtYSwgWV9oZHIsIHdpZHRoLCBoZWlnaHQsIHMtPm4sIDEuMGYpOwogCi0gICAgLy8gU2Nh bGluZyBSR0IgY2hhbm5lbHMKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG5waXg7IGkrKykgewog ICAgICAgICBmbG9hdCBzY2FsZSA9IFlfaGRyW2ldIC8gKFlbaV0gKyAxZS02Zik7CiAgICAgICAg IFJfaGRyW2ldID0gUltpXSAqIHNjYWxlOwpAQCAtMjQ5LDExICsyNTYsMjAgQEAgc3RhdGljIHZv aWQgZGl0aGVyX3BxX3RvXzEwYml0KGNvbnN0IGZsb2F0ICpwcSwgdWludDE2X3QgKnlfdGVtcCwg aW50IHdpZHRoLCBpbnQKIH0KIAogc3RhdGljIGludCBmaWxfZnVuYyhBVkZpbHRlckxpbmsgKmlu bGluaywgQVZGcmFtZSAqaW4pIHsKKyAgICBjb25zdCBmbG9hdCBleHBvc3VyZSA9IDMuNWY7Cisg ICAgY29uc3QgZmxvYXQgY29udHJhc3QgPSAxLjAyZjsKKyAgICBjb25zdCBmbG9hdCBibGFjayA9 IDAuMDNmOworICAgIGNvbnN0IGZsb2F0IHdoaXRlID0gOC4wZjsKKyAgICBjb25zdCBmbG9hdCBz X2N1cnZlX3BvdyA9IDEuMDBmOworICAgIGNvbnN0IGZsb2F0IHdoaXRlX2JhbGFuY2VfciA9IDEu MGY7CisgICAgY29uc3QgZmxvYXQgd2hpdGVfYmFsYW5jZV9nID0gMS4wZjsKKyAgICBjb25zdCBm bG9hdCB3aGl0ZV9iYWxhbmNlX2IgPSAxLjFmOworCiAgICAgQVZGaWx0ZXJDb250ZXh0ICpjdHgg PSBpbmxpbmstPmRzdDsKICAgICBGaWx0ZXJDb250ZXh0ICpzID0gY3R4LT5wcml2OwogICAgIGlu dCB3aWR0aCA9IGluLT53aWR0aCwgaGVpZ2h0ID0gaW4tPmhlaWdodCwgbnBpeCA9IHdpZHRoICog aGVpZ2h0OwogCi0gICAgLy8gQ29udmVydGluZyB0byBSR0IyNAorCiAgICAgc3RydWN0IFN3c0Nv bnRleHQgKnN3c19jdHggPSBzd3NfZ2V0Q29udGV4dCgKICAgICAgICAgd2lkdGgsIGhlaWdodCwg aW4tPmZvcm1hdCwKICAgICAgICAgd2lkdGgsIGhlaWdodCwgQVZfUElYX0ZNVF9SR0IyNCwKQEAg LTI3Miw5ICsyODgsNiBAQCBzdGF0aWMgaW50IGZpbF9mdW5jKEFWRmlsdGVyTGluayAqaW5saW5r LCBBVkZyYW1lICppbikgewogICAgICAgICAgICAgICByZ2JfZnJhbWUtPmRhdGEsIHJnYl9mcmFt ZS0+bGluZXNpemUpOwogICAgIHN3c19mcmVlQ29udGV4dChzd3NfY3R4KTsKIAotICAgIC8vQ2Fs bGluZyBnYW1tYSBsb29rdXAgdGFibGUgaW5pdGlhbGl6YXRpb24KLSAgICBpbml0X2J0NzA5X2dh bW1hX2x1dCgpOwotICAgIC8vIEdhbW1hIGxpbmVhcml6YXRpb24gJiBnYW11dCBtYXBwaW5nCiAg ICAgZmxvYXQgKlIgPSBhdl9tYWxsb2MobnBpeCAqIHNpemVvZihmbG9hdCkpOwogICAgIGZsb2F0 ICpHID0gYXZfbWFsbG9jKG5waXggKiBzaXplb2YoZmxvYXQpKTsKICAgICBmbG9hdCAqQiA9IGF2 X21hbGxvYyhucGl4ICogc2l6ZW9mKGZsb2F0KSk7CkBAIC0yOTAsMjAgKzMwMywyMSBAQCBzdGF0 aWMgaW50IGZpbF9mdW5jKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbikgewogICAg ICAgICB9CiAgICAgfQogCi0gICAgLy8gSW52ZXJzZSBUb25lIE1hcHBpbmcKICAgICBmbG9hdCAq Ul9oZHIgPSBhdl9tYWxsb2MobnBpeCAqIHNpemVvZihmbG9hdCkpOwogICAgIGZsb2F0ICpHX2hk ciA9IGF2X21hbGxvYyhucGl4ICogc2l6ZW9mKGZsb2F0KSk7CiAgICAgZmxvYXQgKkJfaGRyID0g YXZfbWFsbG9jKG5waXggKiBzaXplb2YoZmxvYXQpKTsKICAKICAgICBpbnZlcnNlX3RvbmVfbWFw X2xpbmVhcl9yZ2IoUiwgRywgQiwgUl9oZHIsIEdfaGRyLCBCX2hkciwgd2lkdGgsIGhlaWdodCwg cyk7CiAKLSAgICBmbG9hdCBleHBvc3VyZSA9IDMuNWY7ICAgLy80LjAKLSAgICBmbG9hdCBjb250 cmFzdCA9IDEuMDJmOyAgLy8xLjEwCi0gICAgZmxvYXQgYmxhY2sgPSAwLjAzZiwgd2hpdGUgPSA4 LjBmOyAvLzAuMDQgLy8xMi4wCi0gICAgZmxvYXQgc19jdXJ2ZV9wb3cgPSAxLjAwZjsgLy8wLjcw CisgICAgLyoKKyAgICAgICAgICAgICAgICBmbG9hdCBleHBvc3VyZSA9IDMuNWY7ICAgLy80LjAK KyAgICAgICAgICAgICAgICBmbG9hdCBjb250cmFzdCA9IDEuMDJmOyAgLy8xLjEwCisgICAgICAg ICAgICAgICAgZmxvYXQgYmxhY2sgPSAwLjAzZiwgd2hpdGUgPSA4LjBmOyAvLzAuMDQgLy8xMi4w CisgICAgICAgICAgICAgICAgZmxvYXQgc19jdXJ2ZV9wb3cgPSAxLjAwZjsgLy8wLjcwCisgICAg Ki8KIAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnBpeDsgaSsrKSB7Ci0gICAgICAgIGZsb2F0 IHIgPSBSW2ldICogZXhwb3N1cmUsIGcgPSBHW2ldICogZXhwb3N1cmUsIGIgPSBCW2ldICogZXhw b3N1cmU7CisgICAgICAgIGZsb2F0IHIgPSBSX2hkcltpXSAqIGV4cG9zdXJlLCBnID0gR19oZHJb aV0gKiBleHBvc3VyZSwgYiA9IEJfaGRyW2ldICogZXhwb3N1cmU7CiAgICAgICAgIGZsb2F0IGx1 bSA9IDAuMjYyN2YgKiByICsgMC42NzgwZiAqIGcgKyAwLjA1OTNmICogYjsKIAogCkBAIC0zMTYs MjEgKzMzMCwxNCBAQCBzdGF0aWMgaW50IGZpbF9mdW5jKEFWRmlsdGVyTGluayAqaW5saW5rLCBB VkZyYW1lICppbikgewogICAgICAgICBnICo9IHNjYWxlOwogICAgICAgICBiICo9IHNjYWxlOwog Ci0gICAgICAgIC8vIENvbnRyYXN0CiAgICAgICAgIHIgPSAociAtIDAuNWYpICogY29udHJhc3Qg KyAwLjVmOwogICAgICAgICBnID0gKGcgLSAwLjVmKSAqIGNvbnRyYXN0ICsgMC41ZjsKICAgICAg ICAgYiA9IChiIC0gMC41ZikgKiBjb250cmFzdCArIDAuNWY7CiAKLSAgICAgICAgLy8gV2hpdGUg YmFsYW5jZSBjb3JyZWN0aW9uCi0gICAgICAgIGZsb2F0IHdoaXRlX2JhbGFuY2VfciA9IDEuMGY7 Ci0gICAgICAgIGZsb2F0IHdoaXRlX2JhbGFuY2VfZyA9IDEuMGY7Ci0gICAgICAgIGZsb2F0IHdo aXRlX2JhbGFuY2VfYiA9IDEuMWY7IAotCiAgICAgICAgIHIgKj0gd2hpdGVfYmFsYW5jZV9yOwog ICAgICAgICBnICo9IHdoaXRlX2JhbGFuY2VfZzsKICAgICAgICAgYiAqPSB3aGl0ZV9iYWxhbmNl X2I7CiAKLSAgICAgICAgLy8gRmluYWwgY2xhbXAKICAgICAgICAgciA9IGZtaW5mKGZtYXhmKHIs IDAuMGYpLCAxLjBmKTsKICAgICAgICAgZyA9IGZtaW5mKGZtYXhmKGcsIDAuMGYpLCAxLjBmKTsK ICAgICAgICAgYiA9IGZtaW5mKGZtYXhmKGIsIDAuMGYpLCAxLjBmKTsKQEAgLTM0MCwxOCArMzQ3 LDE2IEBAIHN0YXRpYyBpbnQgZmlsX2Z1bmMoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUg KmluKSB7CiAgICAgICAgIEJfaGRyW2ldID0gYjsKICAgICB9CiAKLSAgICAvL0NvbXB1dGluZyBs aW5lYXIgbHVtaW5hbmNlIChCVC4yMDIwKQogICAgIGZsb2F0ICpZID0gYXZfbWFsbG9jKG5waXgg KiBzaXplb2YoZmxvYXQpKTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG5waXg7IGkrKykKICAg ICAgICAgWVtpXSA9IDAuMjYyN2YgKiBSX2hkcltpXSArIDAuNjc4MGYgKiBHX2hkcltpXSArIDAu MDU5M2YgKiBCX2hkcltpXTsKIAotICAgIC8vIEFwcGx5aW5nIFBRIHRyYW5zZmVyCiAgICAgZmxv YXQgKnBxID0gYXZfbWFsbG9jKG5waXggKiBzaXplb2YoZmxvYXQpKTsKICAgICBmb3IgKGludCBp ID0gMDsgaSA8IG5waXg7IGkrKykgewogICAgICAgICBwcVtpXSA9IGxpbmVhcl90b19wcShZW2ld ICogKDEwMDAwLjBmIC8gcy0+SERSX21heCkpOwogICAgICAgICBwcVtpXSA9IGZtaW5mKGZtYXhm KHBxW2ldLCAwLjBmKSwgMS4wZik7CiAgICAgfQotICAgIC8vQWxsb2NhdGluZyBvdXRwdXQgZnJh bWUgKFlVVjQyMFAxMExFKQorICAgIAogICAgIEFWRnJhbWUgKm91dCA9IGF2X2ZyYW1lX2FsbG9j KCk7CiAgICAgb3V0LT5mb3JtYXQgPSBBVl9QSVhfRk1UX1lVVjQyMFAxMExFOwogICAgIG91dC0+ d2lkdGggPSB3aWR0aDsKQEAgLTM1OSwyNSArMzY0LDIxIEBAIHN0YXRpYyBpbnQgZmlsX2Z1bmMo QVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluKSB7CiAgICAgYXZfZnJhbWVfZ2V0X2J1 ZmZlcihvdXQsIDMyKTsKICAgICBhdl9mcmFtZV9jb3B5X3Byb3BzKG91dCwgaW4pOwogCi0gICAg Ly8gU2V0dGluZyBIRFIgbWV0YWRhdGEKKyAgICAKICAgICBvdXQtPmNvbG9yX3ByaW1hcmllcyA9 IEFWQ09MX1BSSV9CVDIwMjA7Ci0gICAgb3V0LT5jb2xvcl90cmMgPSBBVkNPTF9UUkNfU01QVEUy MDg0OyAgLy8gUFEKKyAgICBvdXQtPmNvbG9yX3RyYyA9IEFWQ09MX1RSQ19TTVBURTIwODQ7ICAK ICAgICBvdXQtPmNvbG9yc3BhY2UgPSBBVkNPTF9TUENfQlQyMDIwX05DTDsKLSAgICBvdXQtPmNv bG9yX3JhbmdlID0gQVZDT0xfUkFOR0VfTVBFRzsgICAvLyBGdWxsIHJhbmdlIGZvciBIRFIKKyAg ICBvdXQtPmNvbG9yX3JhbmdlID0gQVZDT0xfUkFOR0VfTVBFRzsgICAKICAgICAKLSAgICAvLyBT ZXR0aW5nIG1hc3RlcmluZyBkaXNwbGF5IG1ldGFkYXRhIGlmIGF2YWlsYWJsZQogICAgIGlmIChv dXQtPm1ldGFkYXRhKSB7Ci0gICAgICAgIC8vIE1hc3RlcmluZyBkaXNwbGF5IHByaW1hcmllcyAo QlQuMjAyMCkKICAgICAgICAgYXZfZGljdF9zZXQoJm91dC0+bWV0YWRhdGEsICJtYXN0ZXJpbmdf ZGlzcGxheV9wcmltYXJpZXMiLCAKICAgICAgICAgICAgICAgICAgICAiMC43MDgsMC4yOTIsMC4x NzAsMC43OTcsMC4xMzEsMC4wNDYsMC4zMTI3LDAuMzI5MCIsIDApOwogICAgICAgICAKLSAgICAg ICAgLy8gTWFzdGVyaW5nIGRpc3BsYXkgbHVtaW5hbmNlIChpbiBuaXRzKQogICAgICAgICBjaGFy IGx1bWluYW5jZV9zdHJbNjRdOwogICAgICAgICBzbnByaW50ZihsdW1pbmFuY2Vfc3RyLCBzaXpl b2YobHVtaW5hbmNlX3N0ciksICIlLjFmLCUuMWYiLCAKLSAgICAgICAgICAgICAgICAgcy0+SERS X21heCwgMC4wMDFmKTsgIC8vIE1heCBsdW1pbmFuY2UsIG1pbiBsdW1pbmFuY2UKKyAgICAgICAg ICAgICAgICAgcy0+SERSX21heCwgMC4wMDFmKTsgIAogICAgICAgICBhdl9kaWN0X3NldCgmb3V0 LT5tZXRhZGF0YSwgIm1hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZSIsIGx1bWluYW5jZV9zdHIs IDApOwogICAgICAgICAKLSAgICAgICAgLy8gQ29udGVudCBsaWdodCBsZXZlbAogICAgICAgICBj aGFyIGNvbnRlbnRfbGlnaHRfc3RyWzY0XTsKICAgICAgICAgZmxvYXQgbWF4X2NvbnRlbnRfbGln aHQgPSAwLjBmOwogICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG5waXg7IGkrKykgewpAQCAt Mzg5LDEyICszOTAsMTAgQEAgc3RhdGljIGludCBmaWxfZnVuYyhBVkZpbHRlckxpbmsgKmlubGlu aywgQVZGcmFtZSAqaW4pIHsKICAgICAgICAgYXZfZGljdF9zZXQoJm91dC0+bWV0YWRhdGEsICJj b250ZW50X2xpZ2h0X2xldmVsIiwgY29udGVudF9saWdodF9zdHIsIDApOwogICAgIH0KIAotICAg IC8vIENsZWFyaW5nIFksIFUsIFYgcGxhbmVzCiAgICAgYXZfZnJhbWVfbWFrZV93cml0YWJsZShv dXQpOwogICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspCiAgICAgICAgIG1lbXNl dChvdXQtPmRhdGFbMF0gKyB5ICogb3V0LT5saW5lc2l6ZVswXSwgMCwgb3V0LT5saW5lc2l6ZVsw XSk7CiAgICAgCi0gICAgLy8gRGl0aGVyaW5nIFBRIHRvIDEwLWJpdCBZIHBsYW5lCiAgICAgdWlu dDE2X3QgKnlfdGVtcCA9IGF2X21hbGxvYyhucGl4ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAg ZGl0aGVyX3BxX3RvXzEwYml0KHBxLCB5X3RlbXAsIHdpZHRoLCBoZWlnaHQpOwogICAgIGZvciAo aW50IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspIHsKQEAgLTQwMiw3ICs0MDEsNiBAQCBzdGF0aWMg aW50IGZpbF9mdW5jKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbikgewogICAgICAg ICBtZW1jcHkocm93LCB5X3RlbXAgKyB5ICogd2lkdGgsIHdpZHRoICogc2l6ZW9mKHVpbnQxNl90 KSk7CiAgICAgfQogCi0gICAgLy8gQ29tcHV0aW5nIGFuZCBlbmNvZGluZyBVLCBWIGNocm9tYSBw bGFuZXMgZnJvbSBvcmlnaW5hbCBTRFIgUkdCCiAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWln aHQgLyAyOyB5KyspIHsKICAgICAgICAgdWludDE2X3QgKnVfcm93ID0gKHVpbnQxNl90ICopKG91 dC0+ZGF0YVsxXSArIHkgKiBvdXQtPmxpbmVzaXplWzFdKTsKICAgICAgICAgdWludDE2X3QgKnZf cm93ID0gKHVpbnQxNl90ICopKG91dC0+ZGF0YVsyXSArIHkgKiBvdXQtPmxpbmVzaXplWzJdKTsK QEAgLTQyNSw4ICs0MjMsOCBAQCBzdGF0aWMgaW50IGZpbF9mdW5jKEFWRmlsdGVyTGluayAqaW5s aW5rLCBBVkZyYW1lICppbikgewogICAgICAgICAgICAgZmxvYXQgVSA9IChiIC0gWV9zZHIpIC8g MS44ODE0ZjsKICAgICAgICAgICAgIGZsb2F0IFYgPSAociAtIFlfc2RyKSAvIDEuNDc0NmY7CiAg ICAgICAgICAgICBmbG9hdCBjaHJvbWFfYmxlbmQgPSAxLjBmIC0gZm1pbmYoWV9zZHIsIDEuMGYp OwotICAgICAgICAgICAgZmxvYXQgY2hyb21hX2Jvb3N0ID0gMC44NWYgKiBjaHJvbWFfYmxlbmQg KyAwLjg1ZiAqICgxLjBmIC0gY2hyb21hX2JsZW5kKTsgLy8wLjgKLSAgICAgICAgICAgIC8vIGZs b2F0IGNocm9tYV9ib29zdCA9IDEuMDhmOworICAgICAgICAgICAgZmxvYXQgY2hyb21hX2Jvb3N0 ID0gMC44NWYgKiBjaHJvbWFfYmxlbmQgKyAwLjg1ZiAqICgxLjBmIC0gY2hyb21hX2JsZW5kKTsg CisKICAgICAgICAgICAgIFUgKj0gY2hyb21hX2Jvb3N0OwogICAgICAgICAgICAgViAqPSBjaHJv bWFfYm9vc3Q7CiAgICAgICAgICAgICBVID0gZm1heGYoZm1pbmYoVSwgMC40NWYpLCAtMC40NWYp OwpAQCAtNDcxLDcgKzQ2OSw3IEBAIHN0YXRpYyBjb25zdCBBVkZpbHRlclBhZCBmaWxfb3V0cHV0 c1tdID0gewogfTsKIAogc3RhdGljIGludCBmZl9maWx0ZXJfaW5pdChBVkZpbHRlckNvbnRleHQg KmF2Y3R4KSB7Ci0gICAgYXZfbG9nX3NldF9sZXZlbChBVl9MT0dfREVCVUcpOworICAgIGluaXRf YnQ3MDlfZ2FtbWFfbHV0KCk7CiAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfSU5GTywgIkluaXRp YWxpemluZyBmaWx0ZXIgd2l0aCAxIGlucHV0IGFuZCAxIG91dHB1dFxuIik7CiAgICAgcmV0dXJu IDA7CiB9Ci0tIAoyLjQ5LjAKCg== --_004_BN0PR02MB78872FBADDFD8A13D1DEA6ECD453ABN0PR02MB7887namp_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --_004_BN0PR02MB78872FBADDFD8A13D1DEA6ECD453ABN0PR02MB7887namp_--