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 ESMTPS id 3A6874A367 for ; Fri, 28 Feb 2025 10:21:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 964F468DAE4; Fri, 28 Feb 2025 12:21:24 +0200 (EET) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4574D68DA4E for ; Fri, 28 Feb 2025 12:21:18 +0200 (EET) Received: from haasn.dev (unknown [10.30.1.1]) by haasn.dev (Postfix) with ESMTP id EC195408BA for ; Fri, 28 Feb 2025 11:21:17 +0100 (CET) Date: Fri, 28 Feb 2025 11:21:17 +0100 Message-ID: <20250228112117.GB623013@haasn.xyz> From: Niklas Haas To: FFmpeg development discussions and patches In-Reply-To: References: <20250227224454.6776-2-ffmpeg@szaka.eu> MIME-Version: 1.0 Content-Disposition: inline Subject: Re: [FFmpeg-devel] [PATCH] swscale/aarch64: dotprod implementation of rgba32_to_Y 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: T24gRnJpLCAyOCBGZWIgMjAyNSAxMDozMToxOSArMDgwMCBaaGFvIFpoaWxpIDxxdWlua2JsYWNr QGZveG1haWwuY29tPiB3cm90ZToKPiBDYyBoYWFzbi4KPgo+IExpYnN3c2NhbGUgaW4gdW5kZXIg cmVmYWN0b3IuIERvZXMgY3VycmVudCBhc20gd29ya3MgYWZ0ZXIgcmVmYWN0b3IsIG9yIHRoZXkg bmVlZCB0byBiZSByZWZhY3RvcmVkIG9yCj4gcmV3cml0ZSBhZnRlcj8gSWYgaXTigJlzIHRoZSBz ZWNvbmQgY2FzZSwgbWF5YmUgd2Ugc2hvdWxkIGhvbGQgb24gdG8gZG8gbW9yZSBhc20gd2l0aCBs aWJzd3NjYWxlCj4gYmVmb3JlIGhhc3NuIHdvcmsgZG9uZS4KCk5vLCBhbG1vc3QgYWxsIGN1cnJl bnQgYXNtIHdpbGwgYmUgdW51c2VkIGFmdGVyIHRoZSByZXdyaXRlLiBUaGVyZSBhcmUgc29tZSB3 ZQpjYW4gaW4gdGhlb3J5IHJldXNlLCBidXQgZm9yIHRoZSBtb3N0IHBhcnQsIGl0IGRvZXNuJ3Qg c2VlbSB0byBiZSB3b3J0aCBpdC4KCkVzcGVjaWFsbHkgZm9yIHRoZSB2ZXJ5IGJlc3Bva2UgZnVu Y3Rpb25zIGxpa2UgdGhpcyBvbmUuCgpGb3IgY29udGV4dCwgaW4gZ2VuZXJhbCwgdGhlIGZvY3Vz IGluIG51LXN3c2NhbGUgaXMgdG8gZm9jdXMgbW9yZSBvbiBzbWFsbGVyLApmbGV4aWJsZSBwcmlt aXRpdmVzIGFuZCBoYXZlIHRoZSBjYWxsaW5nIGNvZGUgY29tYmluZSB0aGVtIGFzIG5lZWRlZC4g U28gaW5zdGVhZApvZiBhICJicmdhX3RvX3kiIGZ1bmN0aW9uLCB5b3Ugd291bGQgaGF2ZSBhIHNl cXVlbmNlIHRoYXQgbG9va3MgbGlrZSB0aGlzOgoKT3BlcmF0aW9uIGxpc3Q6CiAgWyB1OCBYWFhY IC0+IGRkZFhdIFNXU19PUF9SRUFEICAgICAgICAgOiA0IGVsZW0ocykgcGFja2VkID4+IDAKICBb IHU4IC4uLlggLT4gZGRkWF0gU1dTX09QX1NXSVpaTEUgICAgICA6IDIxMDMKICBbIHU4IC4uLlgg LT4gZGRkWF0gU1dTX09QX0NPTlZFUlQgICAgICA6IHU4IC0+IGYzMgogIFtmMzIgLi4uWCAtPiAu WFhYXSBTV1NfT1BfTElORUFSICAgICAgIDogZG90MyBbWzAuMjk5MDAwIDAuNTg3MDAwIDAuMTE0 MDAwIDAgMF0gWzAgMSAwIDAgMF0gWzAgMCAxIDAgMF0gWzAgMCAwIDEgMF1dCiAgW2YzMiAuWFhY IC0+IC5YWFhdIFNXU19PUF9ESVRIRVIgICAgICAgOiAxNngxNiB7MjU1IF8gXyBffQogIFtmMzIg LlhYWCAtPiBkWFhYXSBTV1NfT1BfQ09OVkVSVCAgICAgIDogZjMyIC0+IHU4CiAgWyB1OCAuWFhY IC0+IFhYWFhdIFNXU19PUF9XUklURSAgICAgICAgOiAxIGVsZW0ocykgcGFja2VkID4+IDAKCldo ZXJlIGVhY2ggbG93LWxldmVsIGltcGxlbWVudGF0aW9uIGNhbiBjb21iaW5lIG9uZSwgb3IgbXVs dGlwbGUsIHN1Y2gKb3BlcmF0aW9ucyB0b2dldGhlci4gRm9yIGV4YW1wbGUsIGluIHRoZSBjdXJy ZW50IHByb3RvdHlwZSwgU1dTX09QX0NPTlZFUlQgYW5kClNXU19PUF9XUklURSBjYW4gYmUgZnVz ZWQgdG9nZXRoZXIgaW50byBhIHNpbmdsZSBpbXBsZW1lbnRhdGlvbi4KCk5vdGUgYWxzbyB0aGUg Y29udmVyc2lvbiB0byBmbG9hdC4gSSBmb3VuZCB0aGF0IHRoZSBjb3N0IG9mIGdvaW5nIHRocm91 Z2gKZmxvYXRzIHNlZW1zIHRvIGJlIGxvd2VyIG9uIGF2ZXJhZ2UsIGFjcm9zcyBhbGwgdGVzdGVk IHBsYXRmb3JtcywgdGhhbiB0aGUKZXh0cmEgY29zdCBvZiBkZWFsaW5nIHdpdGggaW50ZWdlcnMg KHdoaWNoIHJlcXVpcmUgZXh0cmEgc2hpZnRpbmcsIGV4dHJhCmRpdGhlcmluZywgYW5kIGV4dHJh IHdpZHRoIGNvbnZlcnNpb25zIC0gYWxsIG9mIHdoaWNoIGV4Y2VlZCB0aGUgY29zdCBvZiBqdXN0 Cm9uZSBleHRyYSBmbG9hdC0+aW50IGNvbnZlcnNpb24gc3RlcCkuIFRoaXMgYWxzbyBjb21lcyB3 aXRoIGltcHJvdmVkIGFjY3VyYWN5LgoKPgo+ID4gT24gRmViIDI4LCAyMDI1LCBhdCAwNjo0NCwg S3J6eXN6dG9mIFB5cmtvc3ogdmlhIGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsQGZmbXBlZy5v cmc+IHdyb3RlOgo+ID4KPiA+IC0tLQo+ID4gSSB3YXMgY3VyaW91cyB3aGV0aGVyIGl0J3MgcG9z c2libGUgdG8gaW1wbGVtZW50IHRoaXMgZnVuY3Rpb24gd2l0aG91dAo+ID4gYW55IHdpZGVuaW5n LCBhbmQgaXQgdHVybnMgb3V0IGl0IG5vdCBvbmx5IGlzLCBidXQgaXQncyBxdWl0ZQo+ID4gcGVy Zm9ybWFudCBhdCB0aGUgc2FtZSB0aW1lIQo+ID4KPiA+IFRoZSBpZGVhIGlzIHRvIHNwbGl0IHRo ZSAxNiBiaXQgY29lZmZpY2llbnRzIGludG8gbG93ZXIgYW5kIHVwcGVyIGhhbGYsCj4gPiBpbnZv a2UgdWRvdCBmb3IgdGhlIGxvd2VyIGhhbGYsIHNoaWZ0IGJ5IDgsIGFuZCBmb2xsb3cgYnkgdWRv dCBmb3IgdGhlCj4gPiB1cHBlciBoYWxmLiBUaGUgY29kZSBpcyBiYXNlZCB1cG9uIGV4aXN0aW5n IHZlcnNpb24uCj4gPgo+ID4gQmVuY2htYXJrIG9uIEE3ODoKPiA+IGJncmFfdG9feV8xMjhfYzog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2ODIuMCAoIDEuMDB4KQo+ID4g YmdyYV90b195XzEyOF9uZW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4 MS4yICggMy43NngpCj4gPiBiZ3JhX3RvX3lfMTI4X2RvdHByb2Q6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMTE3LjggKCA1Ljc5eCkKPiA+IGJncmFfdG9feV8xMDgwX2M6ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDU3NDIuNSAoIDEuMDB4KQo+ID4gYmdyYV90 b195XzEwODBfbmVvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQ3Mi41ICgg My45MHgpCj4gPiBiZ3JhX3RvX3lfMTA4MF9kb3Rwcm9kOiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOTA2LjUgKCA2LjMzeCkKPiA+IGJncmFfdG9feV8xOTIwX2M6ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMTAxOTQuMCAoIDEuMDB4KQo+ID4gYmdyYV90b195XzE5 MjBfbmVvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjU4OS44ICggMy45NHgp Cj4gPiBiZ3JhX3RvX3lfMTkyMF9kb3Rwcm9kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAxNTczLjggKCA2LjQ4eCkKPiA+Cj4gPiBLcnp5c3p0b2YKPiA+Cj4gPiBsaWJzd3NjYWxlL2Fh cmNoNjQvaW5wdXQuUyAgIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4gPiBsaWJzd3NjYWxlL2FhcmNoNjQvc3dzY2FsZS5jIHwgMTcgKysrKysrKwo+ID4gMiBmaWxl cyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9saWJzd3Nj YWxlL2FhcmNoNjQvaW5wdXQuUyBiL2xpYnN3c2NhbGUvYWFyY2g2NC9pbnB1dC5TCj4gPiBpbmRl eCA1Y2IxODcxMWZiLi41ZmU2YzNmNmY1IDEwMDY0NAo+ID4gLS0tIGEvbGlic3dzY2FsZS9hYXJj aDY0L2lucHV0LlMKPiA+ICsrKyBiL2xpYnN3c2NhbGUvYWFyY2g2NC9pbnB1dC5TCj4gPiBAQCAt MzEzLDMgKzMxMyw5MSBAQCByZ2JUb1VWX25lb24gYmdyMjQsIHJnYjI0LCBlbGVtZW50PTMKPiA+ IHJnYlRvVVZfbmVvbiBiZ3JhMzIsIHJnYmEzMiwgZWxlbWVudD00Cj4gPgo+ID4gcmdiVG9VVl9u ZW9uIGFiZ3IzMiwgYXJnYjMyLCBlbGVtZW50PTQsIGFscGhhX2ZpcnN0PTEKPiA+ICsKPiA+ICsj aWYgSEFWRV9ET1RQUk9ECj4gPiArRU5BQkxFX0RPVFBST0QKPiA+ICsKPiA+ICtmdW5jdGlvbiBm Zl9iZ3JhMzJUb1lfbmVvbl9kb3Rwcm9kLCBleHBvcnQ9MQo+ID4gKyAgICAgICAgY21wICAgICAg ICAgICAgIHc0LCAjMCAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIHdpZHRoID4gMAo+ID4gKyAg ICAgICAgbGRwICAgICAgICAgICAgIHcxMiwgdzExLCBbeDVdICAgICAgICAgIC8vIHcxMjogcnks IHcxMTogZ3kKPiA+ICsgICAgICAgIGxkciAgICAgICAgICAgICB3MTAsIFt4NSwgIzhdICAgICAg ICAgICAvLyB3MTA6IGJ5Cj4gPiArICAgICAgICBiLmd0ICAgICAgICAgICAgNGYKPiA+ICsgICAg ICAgIHJldAo+ID4gK2VuZGZ1bmMKPiA+ICsKPiA+ICtmdW5jdGlvbiBmZl9yZ2JhMzJUb1lfbmVv bl9kb3Rwcm9kLCBleHBvcnQ9MQo+ID4gKyAgICAgICAgY21wICAgICAgICAgICAgIHc0LCAjMCAg ICAgICAgICAgICAgICAgIC8vIGNoZWNrIHdpZHRoID4gMAo+ID4gKyAgICAgICAgbGRwICAgICAg ICAgICAgIHcxMCwgdzExLCBbeDVdICAgICAgICAgIC8vIHcxMDogcnksIHcxMTogZ3kKPiA+ICsg ICAgICAgIGxkciAgICAgICAgICAgICB3MTIsIFt4NSwgIzhdICAgICAgICAgICAvLyB3MTI6IGJ5 Cj4gPiArICAgICAgICBiLmxlICAgICAgICAgICAgM2YKPiA+ICs0Ogo+ID4gKyAgICAgICAgbW92 ICAgICAgICAgICAgIHc5LCAjMjU2ICAgICAgICAgICAgICAgIC8vIHc5ID0gMSA8PCAoUkdCMllV Vl9TSElGVCAtIDcpCj4gPiArICAgICAgICBtb3ZrICAgICAgICAgICAgdzksICM4LCBsc2wgIzE2 ICAgICAgICAgLy8gdzkgKz0gMzIgPDwgKFJHQjJZVVZfU0hJRlQgLSAxKQo+ID4gKyAgICAgICAg ZHVwICAgICAgICAgICAgIHY2LjRzLCB3OSAgICAgICAgICAgICAgIC8vIHc5OiBjb25zdF9vZmZz ZXQKPiA+ICsKPiA+ICsgICAgICAgIGNtcCAgICAgICAgICAgICB3NCwgIzE2Cj4gPiArICAgICAg ICBtb3YgICAgICAgICAgICAgdzcsIHcxMAo+ID4gKyAgICAgICAgYmZpICAgICAgICAgICAgIHc3 LCB3MTEsIDgsIDgKPiA+ICsgICAgICAgIGJmaSAgICAgICAgICAgICB3NywgdzEyLCAxNiwgOAo+ ID4gKyAgICAgICAgZHVwICAgICAgICAgICAgIHYwLjRzLCB3Nwo+ID4gKwo+ID4gKyAgICAgICAg bHNyICAgICAgICAgICAgIHc2LCB3MTAsICM4Cj4gPiArICAgICAgICBsc3IgICAgICAgICAgICAg dzcsIHcxMSwgIzgKPiA+ICsgICAgICAgIGxzciAgICAgICAgICAgICB3OCwgdzEyLCAjOAo+ID4g Kwo+ID4gKyAgICAgICAgYmZpICAgICAgICAgICAgIHc2LCB3NywgOCwgOAo+ID4gKyAgICAgICAg YmZpICAgICAgICAgICAgIHc2LCB3OCwgMTYsIDgKPiA+ICsgICAgICAgIGR1cCAgICAgICAgICAg ICB2MS40cywgdzYKPiA+ICsgICAgICAgIGIubHQgICAgICAgICAgICAyZgo+ID4gKzE6Cj4gPiAr ICAgICAgICBsZDEgICAgICAgICAgICAgeyB2MTYuMTZiLCB2MTcuMTZiLCB2MTguMTZiLCB2MTku MTZiIH0sIFt4MV0sICM2NAo+ID4gKyAgICAgICAgc3ViICAgICAgICAgICAgIHc0LCB3NCwgIzE2 ICAgICAgICAgICAgIC8vIHdpZHRoIC09IDE2Cj4gPiArICAgICAgICBjbXAgICAgICAgICAgICAg dzQsICMxNiAgICAgICAgICAgICAgICAgLy8gd2lkdGggPj0gMTYgPwo+ID4gKwo+ID4gKyAgICAg ICAgbW92ICAgICAgICAgICAgIHYyLjE2YiwgdjYuMTZiCj4gPiArICAgICAgICBtb3YgICAgICAg ICAgICAgdjMuMTZiLCB2Ni4xNmIKPiA+ICsgICAgICAgIG1vdiAgICAgICAgICAgICB2NC4xNmIs IHY2LjE2Ygo+ID4gKyAgICAgICAgbW92ICAgICAgICAgICAgIHY1LjE2YiwgdjYuMTZiCj4gPiAr Cj4gPiArICAgICAgICB1ZG90ICAgICAgICAgICAgdjIuNHMsIHYxNi4xNmIsIHYwLjE2Ygo+ID4g KyAgICAgICAgdWRvdCAgICAgICAgICAgIHYzLjRzLCB2MTcuMTZiLCB2MC4xNmIKPiA+ICsgICAg ICAgIHVkb3QgICAgICAgICAgICB2NC40cywgdjE4LjE2YiwgdjAuMTZiCj4gPiArICAgICAgICB1 ZG90ICAgICAgICAgICAgdjUuNHMsIHYxOS4xNmIsIHYwLjE2Ygo+ID4gKwo+ID4gKyAgICAgICAg dXNociAgICAgICAgICAgIHYyLjRzLCB2Mi40cywgIzgKPiA+ICsgICAgICAgIHVzaHIgICAgICAg ICAgICB2My40cywgdjMuNHMsICM4Cj4gPiArICAgICAgICB1c2hyICAgICAgICAgICAgdjQuNHMs IHY0LjRzLCAjOAo+ID4gKyAgICAgICAgdXNociAgICAgICAgICAgIHY1LjRzLCB2NS40cywgIzgK PiA+ICsKPiA+ICsgICAgICAgIHVkb3QgICAgICAgICAgICB2Mi40cywgdjE2LjE2YiwgdjEuMTZi Cj4gPiArICAgICAgICB1ZG90ICAgICAgICAgICAgdjMuNHMsIHYxNy4xNmIsIHYxLjE2Ygo+ID4g KyAgICAgICAgdWRvdCAgICAgICAgICAgIHY0LjRzLCB2MTguMTZiLCB2MS4xNmIKPiA+ICsgICAg ICAgIHVkb3QgICAgICAgICAgICB2NS40cywgdjE5LjE2YiwgdjEuMTZiCj4gPiArCj4gPiArICAg ICAgICBzcXNocm4gICAgICAgICAgdjE2LjRoLCB2Mi40cywgIzEKPiA+ICsgICAgICAgIHNxc2hy bjIgICAgICAgICB2MTYuOGgsIHYzLjRzLCAjMQo+ID4gKyAgICAgICAgc3FzaHJuICAgICAgICAg IHYxNy40aCwgdjQuNHMsICMxCj4gPiArICAgICAgICBzcXNocm4yICAgICAgICAgdjE3LjhoLCB2 NS40cywgIzEKPiA+ICsKPiA+ICsgICAgICAgIHN0cCAgICAgICAgICAgICBxMTYsIHExNywgW3gw XSwgIzMyICAgICAvLyBzdG9yZSB0byBkc3QKPiA+ICsgICAgICAgIGIuZ2UgICAgICAgICAgICAx Ygo+ID4gKyAgICAgICAgY2J6ICAgICAgICAgICAgIHg0LCAzZgo+ID4gKzI6Cj4gPiArICAgICAg ICBsZHJiICAgICAgICAgICAgdzEzLCBbeDFdICAgICAgICAgICAgICAgLy8gdzEzOiByCj4gPiAr ICAgICAgICBsZHJiICAgICAgICAgICAgdzE0LCBbeDEsICMxXSAgICAgICAgICAgLy8gdzE0OiBn Cj4gPiArICAgICAgICBsZHJiICAgICAgICAgICAgdzE1LCBbeDEsICMyXSAgICAgICAgICAgLy8g dzE1OiBiCj4gPiArCj4gPiArICAgICAgICBzbWFkZGwgICAgICAgICAgeDEzLCB3MTMsIHcxMCwg eDkgICAgICAgLy8geDEzID0gcnkgKiByICsgY29uc3Rfb2Zmc2V0Cj4gPiArICAgICAgICBzbWFk ZGwgICAgICAgICAgeDEzLCB3MTQsIHcxMSwgeDEzICAgICAgLy8geDEzICs9IGd5ICogZwo+ID4g KyAgICAgICAgc21hZGRsICAgICAgICAgIHgxMywgdzE1LCB3MTIsIHgxMyAgICAgIC8vIHgxMyAr PSBieSAqIGIKPiA+ICsgICAgICAgIGFzciAgICAgICAgICAgICB3MTMsIHcxMywgIzkgICAgICAg ICAgICAvLyB4MTMgPj49IDkKPiA+ICsgICAgICAgIHN1YiAgICAgICAgICAgICB3NCwgdzQsICMx ICAgICAgICAgICAgICAvLyB3aWR0aC0tCj4gPiArICAgICAgICBhZGQgICAgICAgICAgICAgeDEs IHgxLCAjNAo+ID4gKyAgICAgICAgc3RyaCAgICAgICAgICAgIHcxMywgW3gwXSwgIzIgICAgICAg ICAgIC8vIHN0b3JlIHRvIGRzdAo+ID4gKyAgICAgICAgY2JueiAgICAgICAgICAgIHc0LCAyYgo+ ID4gKzM6Cj4gPiArICAgICAgICByZXQKPiA+ICtlbmRmdW5jCj4gPiArCj4gPiArRElTQUJMRV9E T1RQUk9ECj4gPiArI2VuZGlmCj4gPiBkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9hYXJjaDY0L3N3 c2NhbGUuYyBiL2xpYnN3c2NhbGUvYWFyY2g2NC9zd3NjYWxlLmMKPiA+IGluZGV4IDkyYzQ5ZGNm M2EuLmZmY2M2YTA2MDUgMTAwNjQ0Cj4gPiAtLS0gYS9saWJzd3NjYWxlL2FhcmNoNjQvc3dzY2Fs ZS5jCj4gPiArKysgYi9saWJzd3NjYWxlL2FhcmNoNjQvc3dzY2FsZS5jCj4gPiBAQCAtMjEwLDYg KzIxMCw5IEBAIHZvaWQgZmZfIyNuYW1lIyNUb1VWX25lb24odWludDhfdCAqLCB1aW50OF90ICos IGNvbnN0IHVpbnQ4X3QgKiwgXAo+ID4gdm9pZCBmZl8jI25hbWUjI1RvVVZfaGFsZl9uZW9uKHVp bnQ4X3QgKiwgdWludDhfdCAqLCBjb25zdCB1aW50OF90ICosIFwKPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKiwgY29uc3QgdWludDhfdCAqLCBpbnQgdywg XAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmNvZWZmcywgdm9p ZCAqKQo+ID4gKyNkZWZpbmUgTkVPTl9JTlBVVF9ET1RQUk9EKG5hbWUpIFwKPiA+ICt2b2lkIGZm XyMjbmFtZSMjVG9ZX25lb25fZG90cHJvZCh1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNy YywgY29uc3QgdWludDhfdCAqLCBcCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgdWludDhfdCAqLCBpbnQgdywgdWludDMyX3QgKmNvZWZmcywgdm9pZCAqKTsKPiA+ Cj4gPiBORU9OX0lOUFVUKGFiZ3IzMik7Cj4gPiBORU9OX0lOUFVUKGFyZ2IzMik7Cj4gPiBAQCAt MjE3LDYgKzIyMCw4IEBAIE5FT05fSU5QVVQoYmdyMjQpOwo+ID4gTkVPTl9JTlBVVChiZ3JhMzIp Owo+ID4gTkVPTl9JTlBVVChyZ2IyNCk7Cj4gPiBORU9OX0lOUFVUKHJnYmEzMik7Cj4gPiArTkVP Tl9JTlBVVF9ET1RQUk9EKGJncmEzMik7Cj4gPiArTkVPTl9JTlBVVF9ET1RQUk9EKHJnYmEzMik7 Cj4gPgo+ID4gdm9pZCBmZl9sdW1SYW5nZUZyb21KcGVnOF9uZW9uKGludDE2X3QgKmRzdCwgaW50 IHdpZHRoLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNvZWZm LCBpbnQ2NF90IG9mZnNldCk7Cj4gPiBAQCAtMjk1LDYgKzMwMCwxMiBAQCBhdl9jb2xkIHZvaWQg ZmZfc3dzX2luaXRfc3dzY2FsZV9hYXJjaDY0KFN3c0ludGVybmFsICpjKQo+ID4gICAgICAgICAg ICAgICAgIGMtPmNoclRvWVYxMiA9IGZmX2JncjI0VG9VVl9uZW9uOwo+ID4gICAgICAgICAgICAg YnJlYWs7Cj4gPiAgICAgICAgIGNhc2UgQVZfUElYX0ZNVF9CR1JBOgo+ID4gKyNpZiBIQVZFX0RP VFBST0QKPiA+ICsgICAgICAgICAgICBpZiAoaGF2ZV9kb3Rwcm9kKGNwdV9mbGFncykpIHsKPiA+ ICsgICAgICAgICAgICAgICAgYy0+bHVtVG9ZVjEyID0gZmZfYmdyYTMyVG9ZX25lb25fZG90cHJv ZDsKPiA+ICsgICAgICAgICAgICB9Cj4gPiArCSAgICBlbHNlCj4gPiArI2VuZGlmCj4gPiAgICAg ICAgICAgICBjLT5sdW1Ub1lWMTIgPSBmZl9iZ3JhMzJUb1lfbmVvbjsKPiA+ICAgICAgICAgICAg IGlmIChjLT5jaHJTcmNIU3ViU2FtcGxlKQo+ID4gICAgICAgICAgICAgICAgIGMtPmNoclRvWVYx MiA9IGZmX2JncmEzMlRvVVZfaGFsZl9uZW9uOwo+ID4gQEAgLTMwOSw2ICszMjAsMTIgQEAgYXZf Y29sZCB2b2lkIGZmX3N3c19pbml0X3N3c2NhbGVfYWFyY2g2NChTd3NJbnRlcm5hbCAqYykKPiA+ ICAgICAgICAgICAgICAgICBjLT5jaHJUb1lWMTIgPSBmZl9yZ2IyNFRvVVZfbmVvbjsKPiA+ICAg ICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICBjYXNlIEFWX1BJWF9GTVRfUkdCQToKPiA+ICsj aWYgSEFWRV9ET1RQUk9ECj4gPiArICAgICAgICAgICAgaWYgKGhhdmVfZG90cHJvZChjcHVfZmxh Z3MpKSB7Cj4gPiArICAgICAgICAgICAgICAgIGMtPmx1bVRvWVYxMiA9IGZmX3JnYmEzMlRvWV9u ZW9uX2RvdHByb2Q7Cj4gPiArICAgICAgICAgICAgfQo+ID4gKwkgICAgZWxzZQo+ID4gKyNlbmRp Zgo+ID4gICAgICAgICAgICAgYy0+bHVtVG9ZVjEyID0gZmZfcmdiYTMyVG9ZX25lb247Cj4gPiAg ICAgICAgICAgICBpZiAoYy0+Y2hyU3JjSFN1YlNhbXBsZSkKPiA+ICAgICAgICAgICAgICAgICBj LT5jaHJUb1lWMTIgPSBmZl9yZ2JhMzJUb1VWX2hhbGZfbmVvbjsKPiA+IC0tCj4gPiAyLjQ3LjIK PiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ ID4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcK PiA+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+ID4K PiA+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+ID4gZmZtcGVn LWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2 ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxp bmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBz dWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==