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 9066A442B4 for ; Sat, 5 Nov 2022 19:07:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6D35568B17A; Sat, 5 Nov 2022 21:07:40 +0200 (EET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2107.outbound.protection.outlook.com [40.92.50.107]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DAD176808A6 for ; Sat, 5 Nov 2022 21:07:33 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n4cUfG3Obq2fadhX7DtLqA+EHU7gnZOtE0ESa9DwKSU9R3sKdcmrrJrEYvlCQKTSB9mUQHoA67pY/5u+Ywsn8B3SR35iN67GnuBT/XSN9ijDSsfJ7pvUJcxrSF7UMDBgwGTr20Zx1episridwTFeQN4NEGCGIUQytj9W96zHSgqURaYY0YPKh8zCDppAKRtqZzd8HghczysCwqmO++F1AYUrl+kbZ//dEAwHOxFsblSd1DfDg56v12EDMaWYytyQaBxMk4njl+uEVXdfrVTkUXFlR1qPDxESUINNZMnuuBKiqP6Cy3cVtu9p5pd1N83755QocselkHLDiCEpbzomtA== 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=VukqGKnS3o1+SSUC3vXpnSDxqmjXsnaOOxqihje1C7k=; b=ToKp9YAGIZ+7OSm3fEKuo2jQ6eXbbXyFGrJPQT5OK6xAUzqS9wz1P9c8DTVoKhgmPCXs/3esT4bZFNxj4YztQd6GFuzwYDjUvYgcu4hVakOqAiJNAj+14V71Iq5Dy1sU5pMENfURnpyvS+WEJAi85FD419h4u5rthUhsH1gxLSeIUIWlsolsMd8fnqjusZHFpizssQanYjF3OkCtTqojyA5rBCoVJgPEo3Hx09bQ2nJz1AUNSU0bpHeEphjXcKfPhH1210HHFOXDKGQ8+NeE4i08nN9GY6cEG4ZFGXkWvgGsD9C+qRwr7W+XuBo62E4A6Nflv3PVZY3wec/Nn5oUBQ== 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=VukqGKnS3o1+SSUC3vXpnSDxqmjXsnaOOxqihje1C7k=; b=rluPpoXhb+d0fKZDhY32FRip5rTi5DqGA7CbfTP6T7dRRZuxjDObcIVxNsUYvRz3Q/El0kDBBS3rR6d7z8hqbK/hYxHE7lSHv9rz3lPhZjXd42ox7qMoyQmlK77nPcQXuQ9krKFh4uOvXGacf3YmUCZZjwIIwnmYbNYTG275g94WQtmkrnMmq2NQTCsgjktCdPyen/udud46Q/+hQ3b5MqtaZ9OE2fMrCuTcfhfcm5Y3saf/Wj4uDoA/F047EOpTcQz83J0iguyP8dyS4MaIufAW3T885MTlRzGEaMWlhiLPFoTx8tS9hlrSt5avTfA7R5+YcC3x1pGkRHo12HxeoA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0041.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:3d8::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.22; Sat, 5 Nov 2022 19:07:31 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe%6]) with mapi id 15.20.5791.022; Sat, 5 Nov 2022 19:07:31 +0000 Message-ID: Date: Sat, 5 Nov 2022 20:07:42 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20221105152617.1809282-1-u@pkh.me> <20221105152617.1809282-13-u@pkh.me> From: Andreas Rheinhardt In-Reply-To: <20221105152617.1809282-13-u@pkh.me> X-TMN: [VMO3BYpBOJozPUr5pKQd0lUFdCKosGIW] X-ClientProxiedBy: FR3P281CA0177.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a0::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0041:EE_ X-MS-Office365-Filtering-Correlation-Id: af893d0f-7976-48e8-595d-08dabf60fd17 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5QBUzhoydqpkeDFNWa3v3urOABB3bsJzcBCd8KFn0NWxMBbjuN5P9Y+iNb+jEqo/dBewKhRgyyQdoY2b5gMqCZnibFCzy095k0+E7Ex8JnRkAKrDI2WxJciCy2Iy930+G5gdW1e7w7Dr3XhZoopnNKNZRY673G8mnjAyYwWSA/6l1UOfwFCjAN252WXjr6w21gdkZm8c+e1DjmLPtotfRfiMGErXNxohu2KUbGb5gegd2sJSSOkEoggfgxED8O6kTTOK5scBwWoPwJq71cKDagERvRu2yw05E06NF0kFpmpARV9IkpCW86YTC9P5WjYe/lFGCnK53GDk7DC3gP5Expi17rn+Dc6DibElOaP5iq+hg2H4jSyUarI01mi7A6a5BDMWZgZQL5pJM++XKh1i8t1SrzvHuuxtLx0lB7CmdXNdvQ1tPqpJTluHHzoQrY/bBmkhh+1EN227k0iLNjs4wPzeD70vo+xKpO1cMY7iX8xmGqVo198VymIYnk1nSpP7WdNdV44O5YjkK9LGHVAr+ufvvHbeX7CSG3kkYhg176euj07sWSTSe7loCt1HuIgCTykLD1oYwNsh7fynqFWgrrw8B8l9/7DTencgaxcIMrljwZmXNhLs+8dcRQYbkhlpsJwUpnJoWcIFO8ECYp7qQMe7gjw6CXpteS5NB/1WrLNWdJ1JlPdQU3ya/NUw7xEH X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dWZMNzFnMS9xRTdJSlh2ZkRSc2FiVlhLRDNhMmVSQzNqRTJGR2U2QmlUK0hl?= =?utf-8?B?SExRNjk2QVpHcjdNWHJhMUdkbVBDeERpRlNrK1JqaDFpRnJqUUtmRUUwSDJR?= =?utf-8?B?VEhDTCtYclNCcjVuNXJZNDgxWXZHQnc5dHhiT1NmaFc1djJtREJhTS9MQ0Jy?= =?utf-8?B?dklzNHJMN203REttNWFvOWh0WjdQeWRRMnBCUmptYVU3NDBGNVVyYTNrRXNi?= =?utf-8?B?Qm1TVFNxT0NBK0VYRURCZ01ybmRRbnI2RkhreE1xbGd1czgxdHh3d3QvQ1NW?= =?utf-8?B?YXRyZnp4N1lZRjU1ZXhzdVVDUndDZW15b2lFQ1Y5dEpCanE1QUJZMkZsSVJI?= =?utf-8?B?VU1iOFY1M0hjaUZ5UE01bVBENlNMbjJYY3cwVnlnRFJxVGE5SlI4eVlucEVY?= =?utf-8?B?djFFeWVRNUZGQnFBcmNiRnRvaEJnV2hucUZHUjJpd2s2NGY3TW15NHpOejVJ?= =?utf-8?B?RWZGTU11RXRjWnpKYXVTVGo3ZDEwVXN2aXE5ZmNiNGplSGJFc1ZWc0hia1hs?= =?utf-8?B?U2JxbVhERWZoMTB6Vnk1QUcxVXExQzNEUEJ4QXVZbzJDRkJOb3BreEhlVzlq?= =?utf-8?B?UFBkNlBDVCtBQk9SdkdjT2F3NzZNTUZlQkJyWmdlS0swYUorOHI3a1JDQkxK?= =?utf-8?B?WW1NcmpIcHlVY0Q5VG5Od3V4WHpobWpmdWpkZTVOUm9SNmxmRjdwT25ISGdH?= =?utf-8?B?T0NRaTVqbUVIZWpQalJuYmsxOWZYSVpuN1U0Qm1tMUtSMWlsNnpZQkU0TjdJ?= =?utf-8?B?WnNhak9CcDZVQ1dsbkpuS1ZDeFJtTkFUdWEvcFhDeWRKNC90YVBFU1FWUHZv?= =?utf-8?B?azk2ZWgzaXBBUXZ5azg3a1NDN25Jam1IZGl1VFF3U0pRMENFTG1HK00yVWlD?= =?utf-8?B?SEQ4dnhtVFRNOHdndWJPNlEwM1IvSnExeXdVQ0dSQ2UzcUNvZHU3TkZoVzdM?= =?utf-8?B?eENNN0U2NWw0RldxSkl2S3Q2VTFocWNqSGUxMVNOd0srVnduclBSRmVFdERq?= =?utf-8?B?V1pKRHFkN2xCRitLbnRoOFpwRTJIQTNkVWcxV0xhRjBERE1RNjhCeklOME1V?= =?utf-8?B?VjNlMFhpTFNxaEN1eTZ5TjFjSDFuY055RkpadEJFRjlsYUVjSDVIUmZFMm96?= =?utf-8?B?VHFpcUdIWlpNVmYvd1hIQTRiYkRobnNFWmtiWmdxZVBWckxIc0NqZ0VJd0RE?= =?utf-8?B?YW4vT0xuc0J5ajNnM2RjNnoyQVdJTFJTRXl6UVZJYmFNR1RtYklXQ3BLWmZT?= =?utf-8?B?b1JsSkcwbGtsNndBTjVENTYyQlZUYy9vVmR0dXBQNmpUWStYUlg5NDZvUmo0?= =?utf-8?B?blNaWmVmalQxTDdzZU1HeFIzQ1hsL3FKdS9JK3U3ZUU5QkRtUG9ybjlneXV3?= =?utf-8?B?d0pOMk9XZTF5K2JsVGVqL1VRRXlYbWVxUUg0RURLSlhFVW9jaG5ldkcyR0V2?= =?utf-8?B?aHN1T1NnM1BxNXppRnRuSnppRGRYRDh5aHhvYk5aL05SdHduaGNYL1BHeFV6?= =?utf-8?B?N29SOEJGRUEzVUQ3b2JXKzY4UDZkNFBJNjRQcVBqaldjVlFaUlZzOUFXNWlp?= =?utf-8?B?Y1RkWk5nRGU1VnZHcXhZcUV1OWFNK3Jwb3lMZ1RTMUQ1WmtBOExob1BYZGxB?= =?utf-8?B?aTZKSnhSdWttTHUydkJPY3o3cm9XbHlvNjRVVXliUG1xTllKZjhFYnlLSXBv?= =?utf-8?B?eGNSdFdPQmRRTnh0NkNBdUVYQUh6b2p5aGl2K21Ia01mTE9EOUJzZWVLR1Qy?= =?utf-8?Q?1f/RZ6uMarZm4pROyoROGFL53lQIPzO7x1WfvHI?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: af893d0f-7976-48e8-595d-08dabf60fd17 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2022 19:07:31.2308 (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: AM8P250MB0041 Subject: Re: [FFmpeg-devel] [PATCH 12/15] avfilter/palettegen: base split decision on a perceptual model 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Q2zDqW1lbnQgQsWTc2NoOgo+IFNpbWlsYXIgdG8gdGhlIGNoYW5nZSBpbiBwYWxldHRldXNlLCB3 ZSByZWx5IG9uIGEgcGVyY2VwdHVhbCBtb2RlbCB0bwo+IGRlY2lkZSBob3cgYW5kIHdoZXJlIHRv IHNwbGl0IHRoZSBib3guCj4gLS0tCj4gIGxpYmF2ZmlsdGVyL01ha2VmaWxlICAgICAgICAgICAg ICAgfCAgMiArLQo+ICBsaWJhdmZpbHRlci92Zl9wYWxldHRlZ2VuLmMgICAgICAgIHwgNzkgKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gIHRlc3RzL3JlZi9mYXRlL2ZpbHRlci1wYWxl dHRlZ2VuLTEgfCAgMiArLQo+ICB0ZXN0cy9yZWYvZmF0ZS9maWx0ZXItcGFsZXR0ZWdlbi0yIHwg IDIgKy0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvTWFrZWZpbGUgYi9saWJhdmZpbHRlci9N YWtlZmlsZQo+IGluZGV4IGU2YjZkNTlkMmQuLjBhMzFiNzZjNmEgMTAwNjQ0Cj4gLS0tIGEvbGli YXZmaWx0ZXIvTWFrZWZpbGUKPiArKysgYi9saWJhdmZpbHRlci9NYWtlZmlsZQo+IEBAIC00MDEs NyArNDAxLDcgQEAgT0JKUy0kKENPTkZJR19PVkVSTEFZX1ZVTEtBTl9GSUxURVIpICAgICAgICAg Kz0gdmZfb3ZlcmxheV92dWxrYW4ubyB2dWxrYW4ubyB2dWwKPiAgT0JKUy0kKENPTkZJR19PV0RF Tk9JU0VfRklMVEVSKSAgICAgICAgICAgICAgKz0gdmZfb3dkZW5vaXNlLm8KPiAgT0JKUy0kKENP TkZJR19QQURfRklMVEVSKSAgICAgICAgICAgICAgICAgICAgKz0gdmZfcGFkLm8KPiAgT0JKUy0k KENPTkZJR19QQURfT1BFTkNMX0ZJTFRFUikgICAgICAgICAgICAgKz0gdmZfcGFkX29wZW5jbC5v IG9wZW5jbC5vIG9wZW5jbC9wYWQubwo+IC1PQkpTLSQoQ09ORklHX1BBTEVUVEVHRU5fRklMVEVS KSAgICAgICAgICAgICArPSB2Zl9wYWxldHRlZ2VuLm8KPiArT0JKUy0kKENPTkZJR19QQUxFVFRF R0VOX0ZJTFRFUikgICAgICAgICAgICAgKz0gdmZfcGFsZXR0ZWdlbi5vIHBhbGV0dGUubwo+ICBP QkpTLSQoQ09ORklHX1BBTEVUVEVVU0VfRklMVEVSKSAgICAgICAgICAgICArPSB2Zl9wYWxldHRl dXNlLm8gZnJhbWVzeW5jLm8gcGFsZXR0ZS5vCj4gIE9CSlMtJChDT05GSUdfUEVSTVNfRklMVEVS KSAgICAgICAgICAgICAgICAgICs9IGZfcGVybXMubwo+ICBPQkpTLSQoQ09ORklHX1BFUlNQRUNU SVZFX0ZJTFRFUikgICAgICAgICAgICArPSB2Zl9wZXJzcGVjdGl2ZS5vCj4gZGlmZiAtLWdpdCBh L2xpYmF2ZmlsdGVyL3ZmX3BhbGV0dGVnZW4uYyBiL2xpYmF2ZmlsdGVyL3ZmX3BhbGV0dGVnZW4u Ywo+IGluZGV4IGI4ZTQ0NjM1MzkuLjRjMmJjYmE3ZjcgMTAwNjQ0Cj4gLS0tIGEvbGliYXZmaWx0 ZXIvdmZfcGFsZXR0ZWdlbi5jCj4gKysrIGIvbGliYXZmaWx0ZXIvdmZfcGFsZXR0ZWdlbi5jCj4g QEAgLTIzLDYgKzIzLDggQEAKPiAgICogR2VuZXJhdGUgb25lIHBhbGV0dGUgZm9yIGEgd2hvbGUg dmlkZW8gc3RyZWFtLgo+ICAgKi8KPiAgCj4gKyNpbmNsdWRlIDxmbG9hdC5oPgo+ICsKPiAgI2lu Y2x1ZGUgImxpYmF2dXRpbC9hdmFzc2VydC5oIgo+ICAjaW5jbHVkZSAibGliYXZ1dGlsL2ludGVy bmFsLmgiCj4gICNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCj4gQEAgLTM1LDEzICszNywxNCBA QAo+ICAvKiBSZWZlcmVuY2UgYSBjb2xvciBhbmQgaG93IG11Y2ggaXQncyB1c2VkICovCj4gIHN0 cnVjdCBjb2xvcl9yZWYgewo+ICAgICAgdWludDMyX3QgY29sb3I7Cj4gKyAgICBzdHJ1Y3QgTGFi IGxhYjsKPiAgICAgIHVpbnQ2NF90IGNvdW50Owo+ICB9Owo+ICAKPiAgLyogU3RvcmUgYSByYW5n ZSBvZiBjb2xvcnMgKi8KPiAgc3RydWN0IHJhbmdlX2JveCB7Cj4gICAgICB1aW50MzJfdCBjb2xv cjsgICAgIC8vIGF2ZXJhZ2UgY29sb3IKPiAtICAgIGludDY0X3QgdmFyaWFuY2U7ICAgLy8gb3Zl cmFsbCB2YXJpYW5jZSBvZiB0aGUgYm94IChob3cgbXVjaCB0aGUgY29sb3JzIGFyZSBzcHJlYWQp Cj4gKyAgICBkb3VibGUgdmFyaWFuY2U7ICAgIC8vIG92ZXJhbGwgdmFyaWFuY2Ugb2YgdGhlIGJv eCAoaG93IG11Y2ggdGhlIGNvbG9ycyBhcmUgc3ByZWFkKQo+ICAgICAgaW50IHN0YXJ0OyAgICAg ICAgICAvLyBpbmRleCBpbiBQYWxldHRlR2VuQ29udGV4dC0+cmVmcwo+ICAgICAgaW50IGxlbjsg ICAgICAgICAgICAvLyBudW1iZXIgb2YgcmVmZXJlbmNlZCBjb2xvcnMKPiAgICAgIGludCBzb3J0 ZWRfYnk7ICAgICAgLy8gd2hldGhlciByYW5nZSBvZiBjb2xvcnMgaXMgc29ydGVkIGJ5IHJlZCAo MCksIGdyZWVuICgxKSBvciBibHVlICgyKQo+IEBAIC0xMDksMjAgKzExMiwxOSBAQCBzdGF0aWMg aW50IHF1ZXJ5X2Zvcm1hdHMoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCj4gIAo+ICB0eXBlZGVmIGlu dCAoKmNtcF9mdW5jKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7Cj4gIAo+IC0jZGVmaW5l IERFQ0xBUkVfQ01QX0ZVTkMobmFtZSwgcG9zKSAgICAgICAgICAgICAgICAgICAgIFwKPiArI2Rl ZmluZSBERUNMQVJFX0NNUF9GVU5DKG5hbWUpICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g IHN0YXRpYyBpbnQgY21wXyMjbmFtZShjb25zdCB2b2lkICpwYSwgY29uc3Qgdm9pZCAqcGIpICAg XAo+ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiAgICAgIGNvbnN0IHN0cnVjdCBjb2xvcl9yZWYgKiBjb25zdCAqYSA9IHBhOyAgICAg ICAgICAgICBcCj4gICAgICBjb25zdCBzdHJ1Y3QgY29sb3JfcmVmICogY29uc3QgKmIgPSBwYjsg ICAgICAgICAgICAgXAo+IC0gICAgcmV0dXJuICAgKGludCkoKCphKS0+Y29sb3IgPj4gKDggKiAo MiAtIChwb3MpKSkgJiAweGZmKSAgXAo+IC0gICAgICAgICAgIC0gKGludCkoKCpiKS0+Y29sb3Ig Pj4gKDggKiAoMiAtIChwb3MpKSkgJiAweGZmKTsgXAo+ICsgICAgcmV0dXJuIEZGRElGRlNJR04o KCphKS0+bGFiLm5hbWUsICgqYiktPmxhYi5uYW1lKTsgIFwKPiAgfQo+ICAKPiAtREVDTEFSRV9D TVBfRlVOQyhyLCAwKQo+IC1ERUNMQVJFX0NNUF9GVU5DKGcsIDEpCj4gLURFQ0xBUkVfQ01QX0ZV TkMoYiwgMikKPiArREVDTEFSRV9DTVBfRlVOQyhMKQo+ICtERUNMQVJFX0NNUF9GVU5DKGEpCj4g K0RFQ0xBUkVfQ01QX0ZVTkMoYikKPiAgCj4gLXN0YXRpYyBjb25zdCBjbXBfZnVuYyBjbXBfZnVu Y3NbXSA9IHtjbXBfciwgY21wX2csIGNtcF9ifTsKPiArc3RhdGljIGNvbnN0IGNtcF9mdW5jIGNt cF9mdW5jc1tdID0ge2NtcF9MLCBjbXBfYSwgY21wX2J9Owo+ICAKPiAgLyoqCj4gICAqIFNpbXBs ZSBjb2xvciBjb21wYXJpc29uIGZvciBzb3J0aW5nIHRoZSBmaW5hbCBwYWxldHRlCj4gQEAgLTEz NCwxOSArMTM2LDE5IEBAIHN0YXRpYyBpbnQgY21wX2NvbG9yKGNvbnN0IHZvaWQgKmEsIGNvbnN0 IHZvaWQgKmIpCj4gICAgICByZXR1cm4gRkZESUZGU0lHTihib3gxLT5jb2xvciAsIGJveDItPmNv bG9yKTsKPiAgfQo+ICAKPiAtc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgaW50IGRpZmYoY29uc3Qg dWludDMyX3QgYSwgY29uc3QgdWludDMyX3QgYikKPiArc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUg ZmxvYXQgZGlmZihjb25zdCB1aW50MzJfdCBhLCBjb25zdCB1aW50MzJfdCBiKQo+ICB7Cj4gLSAg ICBjb25zdCB1aW50OF90IGMxW10gPSB7YSA+PiAxNiAmIDB4ZmYsIGEgPj4gOCAmIDB4ZmYsIGEg JiAweGZmfTsKPiAtICAgIGNvbnN0IHVpbnQ4X3QgYzJbXSA9IHtiID4+IDE2ICYgMHhmZiwgYiA+ PiA4ICYgMHhmZiwgYiAmIDB4ZmZ9Owo+IC0gICAgY29uc3QgaW50IGRyID0gYzFbMF0gLSBjMlsw XTsKPiAtICAgIGNvbnN0IGludCBkZyA9IGMxWzFdIC0gYzJbMV07Cj4gLSAgICBjb25zdCBpbnQg ZGIgPSBjMVsyXSAtIGMyWzJdOwo+IC0gICAgcmV0dXJuIGRyKmRyICsgZGcqZGcgKyBkYipkYjsK PiArICAgIGNvbnN0IHN0cnVjdCBMYWIgbGFiMCA9IGZmX3NyZ2JfdThfdG9fb2tsYWIoYSk7Cj4g KyAgICBjb25zdCBzdHJ1Y3QgTGFiIGxhYjEgPSBmZl9zcmdiX3U4X3RvX29rbGFiKGIpOwo+ICsg ICAgY29uc3QgZmxvYXQgZEwgPSBsYWIwLkwgLSBsYWIxLkw7Cj4gKyAgICBjb25zdCBmbG9hdCBk YSA9IGxhYjAuYSAtIGxhYjEuYTsKPiArICAgIGNvbnN0IGZsb2F0IGRiID0gbGFiMC5iIC0gbGFi MS5iOwo+ICsgICAgcmV0dXJuIGRMKmRMICsgZGEqZGEgKyBkYipkYjsKPiAgfQo+ICAKPiAgc3Rh dGljIHZvaWQgY29tcHV0ZV9ib3hfdmFyaWFuY2UoUGFsZXR0ZUdlbkNvbnRleHQgKnMsIHN0cnVj dCByYW5nZV9ib3ggKmJveCkKPiAgewo+IC0gICAgaW50NjRfdCB2YXJpYW5jZSA9IDA7Cj4gKyAg ICBkb3VibGUgdmFyaWFuY2UgPSAwLjA7Cj4gIAo+ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBi b3gtPmxlbjsgaSsrKSB7Cj4gICAgICAgICAgY29uc3Qgc3RydWN0IGNvbG9yX3JlZiAqcmVmID0g cy0+cmVmc1tib3gtPnN0YXJ0ICsgaV07Cj4gQEAgLTE3OSw3ICsxODEsNyBAQCBzdGF0aWMgdm9p ZCBjb21wdXRlX2JveF92YXJpYW5jZShQYWxldHRlR2VuQ29udGV4dCAqcywgc3RydWN0IHJhbmdl X2JveCAqYm94KQo+ICBzdGF0aWMgaW50IGdldF9uZXh0X2JveF9pZF90b19zcGxpdChQYWxldHRl R2VuQ29udGV4dCAqcykKPiAgewo+ICAgICAgaW50IGJveF9pZCwgYmVzdF9ib3hfaWQgPSAtMTsK PiAtICAgIGludDY0X3QgbWF4X3ZhcmlhbmNlID0gLTE7Cj4gKyAgICBkb3VibGUgbWF4X3Zhcmlh bmNlID0gLTEuMDsKPiAgCj4gICAgICBpZiAocy0+bmJfYm94ZXMgPT0gcy0+bWF4X2NvbG9ycyAt IHMtPnJlc2VydmVfdHJhbnNwYXJlbnQpCj4gICAgICAgICAgcmV0dXJuIC0xOwo+IEBAIC0xODgs MTQgKzE5MCwxNCBAQCBzdGF0aWMgaW50IGdldF9uZXh0X2JveF9pZF90b19zcGxpdChQYWxldHRl R2VuQ29udGV4dCAqcykKPiAgICAgICAgICBzdHJ1Y3QgcmFuZ2VfYm94ICpib3ggPSAmcy0+Ym94 ZXNbYm94X2lkXTsKPiAgCj4gICAgICAgICAgaWYgKHMtPmJveGVzW2JveF9pZF0ubGVuID49IDIp IHsKPiAtICAgICAgICAgICAgaWYgKGJveC0+dmFyaWFuY2UgPT0gLTEpCj4gKyAgICAgICAgICAg IGlmIChib3gtPnZhcmlhbmNlID09IC0xLjApCj4gICAgICAgICAgICAgICAgICBjb21wdXRlX2Jv eF92YXJpYW5jZShzLCBib3gpOwo+ICAgICAgICAgICAgICBpZiAoYm94LT52YXJpYW5jZSA+IG1h eF92YXJpYW5jZSkgewo+ICAgICAgICAgICAgICAgICAgYmVzdF9ib3hfaWQgPSBib3hfaWQ7Cj4g ICAgICAgICAgICAgICAgICBtYXhfdmFyaWFuY2UgPSBib3gtPnZhcmlhbmNlOwo+ICAgICAgICAg ICAgICB9Cj4gICAgICAgICAgfSBlbHNlIHsKPiAtICAgICAgICAgICAgYm94LT52YXJpYW5jZSA9 IC0xOwo+ICsgICAgICAgICAgICBib3gtPnZhcmlhbmNlID0gLTEuMDsKPiAgICAgICAgICB9Cj4g ICAgICB9Cj4gICAgICByZXR1cm4gYmVzdF9ib3hfaWQ7Cj4gQEAgLTI0NSw4ICsyNDcsOCBAQCBz dGF0aWMgdm9pZCBzcGxpdF9ib3goUGFsZXR0ZUdlbkNvbnRleHQgKnMsIHN0cnVjdCByYW5nZV9i b3ggKmJveCwgaW50IG4pCj4gIAo+ICAgICAgYm94LT5jb2xvciAgICAgPSBnZXRfYXZnX2NvbG9y KHMtPnJlZnMsIGJveCk7Cj4gICAgICBuZXdfYm94LT5jb2xvciA9IGdldF9hdmdfY29sb3Iocy0+ cmVmcywgbmV3X2JveCk7Cj4gLSAgICBib3gtPnZhcmlhbmNlICAgICA9IC0xOwo+IC0gICAgbmV3 X2JveC0+dmFyaWFuY2UgPSAtMTsKPiArICAgIGJveC0+dmFyaWFuY2UgICAgID0gLTEuMDsKPiAr ICAgIG5ld19ib3gtPnZhcmlhbmNlID0gLTEuMDsKPiAgfQo+ICAKPiAgLyoqCj4gQEAgLTM0Mywz OSArMzQ1LDM5IEBAIHN0YXRpYyBBVkZyYW1lICpnZXRfcGFsZXR0ZV9mcmFtZShBVkZpbHRlckNv bnRleHQgKmN0eCkKPiAgICAgIGJveC0+bGVuID0gcy0+bmJfcmVmczsKPiAgICAgIGJveC0+c29y dGVkX2J5ID0gLTE7Cj4gICAgICBib3gtPmNvbG9yID0gZ2V0X2F2Z19jb2xvcihzLT5yZWZzLCBi b3gpOwo+IC0gICAgYm94LT52YXJpYW5jZSA9IC0xOwo+ICsgICAgYm94LT52YXJpYW5jZSA9IC0x LjA7Cj4gICAgICBzLT5uYl9ib3hlcyA9IDE7Cj4gIAo+ICAgICAgd2hpbGUgKGJveCAmJiBib3gt PmxlbiA+IDEpIHsKPiAtICAgICAgICBpbnQgaSwgcnIsIGdyLCBiciwgbG9uZ2VzdDsKPiArICAg ICAgICBpbnQgaSwgbG9uZ2VzdDsKPiArICAgICAgICBkb3VibGUgTHIsIGFyLCBicjsKPiAgICAg ICAgICB1aW50NjRfdCBtZWRpYW4sIGJveF93ZWlnaHQgPSAwOwo+ICAKPiAgICAgICAgICAvKiBj b21wdXRlIHRoZSBib3ggd2VpZ2h0IChzdW0gYWxsIHRoZSB3ZWlnaHRzIG9mIHRoZSBjb2xvcnMg aW4gdGhlCj4gICAgICAgICAgICogcmFuZ2UpIGFuZCBpdHMgYm91bmRpbmdzICovCj4gLSAgICAg ICAgdWludDhfdCBtaW5bM10gPSB7MHhmZiwgMHhmZiwgMHhmZn07Cj4gLSAgICAgICAgdWludDhf dCBtYXhbM10gPSB7MHgwMCwgMHgwMCwgMHgwMH07Cj4gKyAgICAgICAgZmxvYXQgbWluWzNdID0g e0ZMVF9NQVgsIEZMVF9NQVgsIEZMVF9NQVh9Owo+ICsgICAgICAgIGZsb2F0IG1heFszXSA9IHst RkxUX01BWCwgLUZMVF9NQVgsIC1GTFRfTUFYfTsKPiAgICAgICAgICBmb3IgKGkgPSBib3gtPnN0 YXJ0OyBpIDwgYm94LT5zdGFydCArIGJveC0+bGVuOyBpKyspIHsKPiAgICAgICAgICAgICAgY29u c3Qgc3RydWN0IGNvbG9yX3JlZiAqcmVmID0gcy0+cmVmc1tpXTsKPiAtICAgICAgICAgICAgY29u c3QgdWludDMyX3QgcmdiID0gcmVmLT5jb2xvcjsKPiAtICAgICAgICAgICAgY29uc3QgdWludDhf dCByID0gcmdiID4+IDE2ICYgMHhmZiwgZyA9IHJnYiA+PiA4ICYgMHhmZiwgYiA9IHJnYiAmIDB4 ZmY7Cj4gLSAgICAgICAgICAgIG1pblswXSA9IEZGTUlOKHIsIG1pblswXSksIG1heFswXSA9IEZG TUFYKHIsIG1heFswXSk7Cj4gLSAgICAgICAgICAgIG1pblsxXSA9IEZGTUlOKGcsIG1pblsxXSks IG1heFsxXSA9IEZGTUFYKGcsIG1heFsxXSk7Cj4gLSAgICAgICAgICAgIG1pblsyXSA9IEZGTUlO KGIsIG1pblsyXSksIG1heFsyXSA9IEZGTUFYKGIsIG1heFsyXSk7Cj4gKyAgICAgICAgICAgIGNv bnN0IHN0cnVjdCBMYWIgbGFiID0gcmVmLT5sYWI7Cj4gKyAgICAgICAgICAgIG1pblswXSA9IEZG TUlOKGxhYi5MLCBtaW5bMF0pLCBtYXhbMF0gPSBGRk1BWChsYWIuTCwgbWF4WzBdKTsKPiArICAg ICAgICAgICAgbWluWzFdID0gRkZNSU4obGFiLmEsIG1pblsxXSksIG1heFsxXSA9IEZGTUFYKGxh Yi5hLCBtYXhbMV0pOwo+ICsgICAgICAgICAgICBtaW5bMl0gPSBGRk1JTihsYWIuYiwgbWluWzJd KSwgbWF4WzJdID0gRkZNQVgobGFiLmIsIG1heFsyXSk7Cj4gICAgICAgICAgICAgIGJveF93ZWln aHQgKz0gcmVmLT5jb3VudDsKPiAgICAgICAgICB9Cj4gIAo+ICAgICAgICAgIC8qIGRlZmluZSB0 aGUgYXhpcyB0byBzb3J0IGJ5IGFjY29yZGluZyB0byB0aGUgd2lkZXN0IHJhbmdlIG9mIGNvbG9y cyAqLwo+IC0gICAgICAgIHJyID0gbWF4WzBdIC0gbWluWzBdOwo+IC0gICAgICAgIGdyID0gbWF4 WzFdIC0gbWluWzFdOwo+ICsgICAgICAgIExyID0gbWF4WzBdIC0gbWluWzBdOwo+ICsgICAgICAg IGFyID0gbWF4WzFdIC0gbWluWzFdOwo+ICAgICAgICAgIGJyID0gbWF4WzJdIC0gbWluWzJdOwo+ IC0gICAgICAgIGxvbmdlc3QgPSAxOyAvLyBwaWNrIGdyZWVuIGJ5IGRlZmF1bHQgKHRoZSBjb2xv ciB0aGUgZXllIGlzIHRoZSBtb3N0IHNlbnNpdGl2ZSB0bykKPiAtICAgICAgICBpZiAoYnIgPj0g cnIgJiYgYnIgPj0gZ3IpIGxvbmdlc3QgPSAyOwo+IC0gICAgICAgIGlmIChyciA+PSBnciAmJiBy ciA+PSBicikgbG9uZ2VzdCA9IDA7Cj4gLSAgICAgICAgaWYgKGdyID49IHJyICYmIGdyID49IGJy KSBsb25nZXN0ID0gMTsgLy8gcHJlZmVyIGdyZWVuIGFnYWluCj4gKyAgICAgICAgbG9uZ2VzdCA9 IDA7Cj4gKyAgICAgICAgaWYgKGJyID49IExyICYmIGJyID49IGFyKSBsb25nZXN0ID0gMjsKPiAr ICAgICAgICBpZiAoYXIgPj0gTHIgJiYgYXIgPj0gYnIpIGxvbmdlc3QgPSAxOwo+ICsgICAgICAg IGlmIChMciA+PSBhciAmJiBMciA+PSBicikgbG9uZ2VzdCA9IDA7Cj4gIAo+IC0gICAgICAgIGZm X2Rsb2coY3R4LCAiYm94ICMlMDJYIFslNmQuLiUtNmRdICglNmQpIHc6JS02IlBSSXU2NCIgcmFu Z2VzOlslMnggJTJ4ICUyeF0gc29ydCBieSAlYyAoYWxyZWFkeSBzb3J0ZWQ6JWMpICIsCj4gKyAg ICAgICAgZmZfZGxvZyhjdHgsICJib3ggIyUwMlggWyU2ZC4uJS02ZF0gKCU2ZCkgdzolLTYiUFJJ dTY0IiByYW5nZXM6WyUuM2YgJS4zZiAlLjNmXSBzb3J0IGJ5ICVjIChhbHJlYWR5IHNvcnRlZDol YykgIiwKPiAgICAgICAgICAgICAgICAgIGJveF9pZCwgYm94LT5zdGFydCwgYm94LT5zdGFydCAr IGJveC0+bGVuIC0gMSwgYm94LT5sZW4sIGJveF93ZWlnaHQsCj4gLSAgICAgICAgICAgICAgICBy ciwgZ3IsIGJyLCAicmdiIltsb25nZXN0XSwgYm94LT5zb3J0ZWRfYnkgPT0gbG9uZ2VzdCA/ICd5 JzonbicpOwo+ICsgICAgICAgICAgICAgICAgTHIsIGFyLCBiciwgIkxhYiJbbG9uZ2VzdF0sIGJv eC0+c29ydGVkX2J5ID09IGxvbmdlc3QgPyAneSc6J24nKTsKPiAgCj4gICAgICAgICAgLyogc29y dCB0aGUgcmFuZ2UgYnkgaXRzIGxvbmdlc3QgYXhpcyBpZiBpdCdzIG5vdCBhbHJlYWR5IHNvcnRl ZCAqLwo+ICAgICAgICAgIGlmIChib3gtPnNvcnRlZF9ieSAhPSBsb25nZXN0KSB7Cj4gQEAgLTQ0 OSw2ICs0NTEsNyBAQCBzdGF0aWMgaW50IGNvbG9yX2luYyhzdHJ1Y3QgaGlzdF9ub2RlICpoaXN0 LCB1aW50MzJfdCBjb2xvcikKPiAgICAgIGlmICghZSkKPiAgICAgICAgICByZXR1cm4gQVZFUlJP UihFTk9NRU0pOwo+ICAgICAgZS0+Y29sb3IgPSBjb2xvcjsKPiArICAgIGUtPmxhYiA9IGZmX3Ny Z2JfdThfdG9fb2tsYWIoY29sb3IpOwo+ICAgICAgZS0+Y291bnQgPSAxOwo+ICAgICAgcmV0dXJu IDE7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLXBhbGV0dGVnZW4t MSBiL3Rlc3RzL3JlZi9mYXRlL2ZpbHRlci1wYWxldHRlZ2VuLTEKPiBpbmRleCBkZjNiNzE0ZWJi Li43YjdjZTk4Yjc2IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL3JlZi9mYXRlL2ZpbHRlci1wYWxldHRl Z2VuLTEKPiArKysgYi90ZXN0cy9yZWYvZmF0ZS9maWx0ZXItcGFsZXR0ZWdlbi0xCj4gQEAgLTMs NCArMyw0IEBACj4gICNjb2RlY19pZCAwOiByYXd2aWRlbwo+ICAjZGltZW5zaW9ucyAwOiAxNngx Ngo+ICAjc2FyIDA6IDEvMQo+IC0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMSwg ICAgIDEwMjQsIDB4NjllYzM3YWEKPiArMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDEsICAgICAxMDI0LCAweGYxZmI2NGMxCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9mYXRlL2Zp bHRlci1wYWxldHRlZ2VuLTIgYi90ZXN0cy9yZWYvZmF0ZS9maWx0ZXItcGFsZXR0ZWdlbi0yCj4g aW5kZXggMDgzMjBhODM1OS4uYjg1NmE3OTI3MyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9yZWYvZmF0 ZS9maWx0ZXItcGFsZXR0ZWdlbi0yCj4gKysrIGIvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLXBhbGV0 dGVnZW4tMgo+IEBAIC0zLDQgKzMsNCBAQAo+ICAjY29kZWNfaWQgMDogcmF3dmlkZW8KPiAgI2Rp bWVuc2lvbnMgMDogMTZ4MTYKPiAgI3NhciAwOiAxLzEKPiAtMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDEsICAgICAxMDI0LCAweDc2MDc4YjJlCj4gKzAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAxLCAgICAgMTAyNCwgMHhlODRhNjcxYQoKWW91IGFyZSBhZGRpbmcg ZmxvYXRpbmcgcG9pbnQgdG8gcGxhY2VzIHdoZXJlIHRoZXJlIHdhcyBubyBmbG9hdGluZwpwb2lu dCBiZWZvcmUgKHNvbWUgb3RoZXIgcGF0Y2hlcyBvZiB0aGlzIHBhdGNoc2V0IGRvIHRoZSBzYW1l KS4gSXMgdGhpcwpzdGlsbCBiaXRleGFjdCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBhcmNoZXM/Cmh0 dHBzOi8vcGF0Y2h3b3JrLmZmbXBlZy5vcmcvcHJvamVjdC9mZm1wZWcvcGF0Y2gvMjAyMjExMDUx NTI2MTcuMTgwOTI4Mi0xMy11QHBraC5tZS8KbWFrZXMgbWUgYmVsaWV2ZSB0aGF0IHRoZSBhbnN3 ZXIgaXMgbm8uCgotIEFuZHJlYXMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBl Zy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpU byB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJl cXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K