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 A4313462DF for ; Thu, 11 May 2023 18:55:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DAF4A68BE11; Thu, 11 May 2023 21:55:48 +0300 (EEST) Received: from w4.tutanota.de (w4.tutanota.de [81.3.6.165]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1040687EEB for ; Thu, 11 May 2023 21:55:41 +0300 (EEST) Received: from tutadb.w10.tutanota.de (unknown [192.168.1.10]) by w4.tutanota.de (Postfix) with ESMTP id E716D1060210 for ; Thu, 11 May 2023 18:55:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1683831340; s=s1; d=lynne.ee; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:References:Sender; bh=h0O0X0edychpa3zpaVX4eIXfupKSd50lUAj2KO7OxEE=; b=ITN+AJXUtKZ6N4K9WPnWo4Hywzyt80ncEXx+IygVhU5awrPMvuMyX2BuMCBx93ar ZX+d8AHVVmpFv7+HIEmogbMmENr+wCzx7DbHXZzybHlXGNUiA3N0EwpbRcd5+xXBstf 9Wq3WGt1xqnoHI/flBZRIG6M5yie7DNlelxPctSgVeD+l4peS80rXdp9wf5Hf1wxoDj MO7zFv/MqWZUdjxOXKGZJLVRnzgtP4A07bYUYqM+R6ayVZ3nmgYgWbkyhOeYOpvSeb/ CnXCZHAAdh6PaeuwTOcFMkcNRKS5FooQ4KrLDnY1M7rys4n2Swc6/KWflCfCAPQPcaR SpaFUYnKxg== Date: Thu, 11 May 2023 20:55:40 +0200 (CEST) From: Lynne To: FFmpeg development discussions and patches Message-ID: In-Reply-To: <168382101862.3843.5076464633158031795@lain.khirnov.net> References: <168382101862.3843.5076464633158031795@lain.khirnov.net> MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH 55/97] Vulkan patchset part 2 - hwcontext rewrite and filtering 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: TWF5IDExLCAyMDIzLCAxODowNCBieSBhbnRvbkBraGlybm92Lm5ldDoKCj4gUXVvdGluZyBMeW5u ZSAoMjAyMy0wNC0yNCAxNzo1NjozOCkKPgo+PiBGcm9tIGIwYzQyOWQwZDc3ZDE3ODliNjM0OWJj NmIyOTY0NDlhZTFmOGU5ZGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCj4+IEZyb206IEx5bm5l IDxkZXZAbHlubmUuZWU+Cj4+IERhdGU6IFR1ZSwgMTUgTWFyIDIwMjIgMjM6MDA6MzIgKzAxMDAK Pj4gU3ViamVjdDogW1BBVENIIDI2Lzk3XSBod2NvbnRleHRfdnVsa2FuOiBzdXBwb3J0IHRocmVh ZHNhZmUgcXVldWUgYW5kIGZyYW1lCj4+ICBvcGVyYXRpb25zCj4+Cj4+IC0tLQo+PiAgbGliYXZ1 dGlsL2h3Y29udGV4dF92dWxrYW4uYyB8IDE3NiArKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLQo+PiAgbGliYXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uaCB8ICA0MCArKysrKysrLQo+ PiAgMiBmaWxlcyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCj4+ Cj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5jIGIvbGliYXZ1dGls L2h3Y29udGV4dF92dWxrYW4uYwo+PiBpbmRleCA4OTRiNGI4M2YzLi5iMGRiNTliMmQ4IDEwMDY0 NAo+PiAtLS0gYS9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5jCj4+ICsrKyBiL2xpYmF2dXRp bC9od2NvbnRleHRfdnVsa2FuLmMKPj4gQEAgLTI3LDYgKzI3LDcgQEAKPj4gICNpbmNsdWRlIDxk bGZjbi5oPgo+PiAgI2VuZGlmCj4+ICAKPj4gKyNpbmNsdWRlIDxwdGhyZWFkLmg+Cj4+ICAjaW5j bHVkZSA8dW5pc3RkLmg+Cj4+ICAKPj4gICNpbmNsdWRlICJjb25maWcuaCIKPj4gQEAgLTkyLDgg KzkzLDEwIEBAIHR5cGVkZWYgc3RydWN0IFZ1bGthbkRldmljZVByaXYgewo+PiAgVmtQaHlzaWNh bERldmljZVZ1bGthbjEzRmVhdHVyZXMgZGV2aWNlX2ZlYXR1cmVzXzFfMzsKPj4gIAo+PiAgLyog UXVldWVzICovCj4+IC0gICAgdWludDMyX3QgcWZzWzVdOwo+PiAtICAgIGludCBudW1fcWZzOwo+ PiArICAgIHB0aHJlYWRfbXV0ZXhfdCAqKnFmX211dGV4Owo+PiArICAgIGludCBuYl90b3RfcWZz Owo+PiArICAgIHVpbnQzMl90IGltZ19xZnNbNV07Cj4+ICsgICAgaW50IG5iX2ltZ19xZnM7Cj4+ Cj4KPiBUaGlzIHBhdGNoIHdvdWxkIGJlIHNvIG11Y2ggbW9yZSByZWFkYWJsZSB3aXRob3V0IHJh bmRvbSByZW5hbWluZ3MuCj4KClRoZXkncmUgbm90IHJhbmRvbSwgdGhlIG1lYW5pbmcgb2YgZWFj aCB2YXJpYWJsZSBpcyBkaWZmZXJlbnQKdG8gd2hhdCB0aGV5IG1lYW50IGJlZm9yZS4KbmJfaW1n X3Fmc8KgaXMgdGhlIHRvdGFsIG51bWJlciBvZiBlbmFibGVkIHF1ZXVlIGZhbWlsaWVzbmJfdG90 X3FmcyBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIHF1ZXVlIGZhbWlsaWVzIGxpc3RlZCBieSB0aGUg ZHJpdmVyCgoKPj4gLyogRGVidWcgY2FsbGJhY2sgKi8KPj4gIFZrRGVidWdVdGlsc01lc3Nlbmdl ckVYVCBkZWJ1Z19jdHg7Cj4+IEBAIC0xMjcsNiArMTMwLDggQEAgdHlwZWRlZiBzdHJ1Y3QgVnVs a2FuRnJhbWVzUHJpdiB7Cj4+ICB9IFZ1bGthbkZyYW1lc1ByaXY7Cj4+ICAKPj4gIHR5cGVkZWYg c3RydWN0IEFWVmtGcmFtZUludGVybmFsIHsKPj4gKyAgICBwdGhyZWFkX211dGV4X3QgdXBkYXRl X211dGV4Owo+Pgo+Cj4gQXMgZmFyIGFzIEkgY2FuIHNlZSwgbm9uZSBvZiB0aGUgbXV0aWNlcyB5 b3UncmUgYWRkaW5nIGhlcmUgYXJlCj4gZXZlciBkZXN0cm95ZWQuCj4KCkZpeGVkLgoKCj4+ICsK Pj4gICNpZiBDT05GSUdfQ1VEQQo+PiAgLyogSW1wb3J0aW5nIGV4dGVybmFsIG1lbW9yeSBpbnRv IGN1ZGEgaXMgcmVhbGx5IGV4cGVuc2l2ZSBzbyB3ZSBrZWVwIHRoZQo+PiAgKiBtZW1vcnkgaW1w b3J0ZWQgYWxsIHRoZSB0aW1lICovCj4+IEBAIC0xMzA0LDYgKzEzMDksMTAgQEAgc3RhdGljIHZv aWQgdnVsa2FuX2RldmljZV9mcmVlKEFWSFdEZXZpY2VDb250ZXh0ICpjdHgpCj4+ICBpZiAocC0+ bGlidnVsa2FuKQo+PiAgZGxjbG9zZShwLT5saWJ2dWxrYW4pOwo+PiAgCj4+ICsgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBwLT5uYl90b3RfcWZzOyBpKyspCj4+ICsgICAgICAgIGF2X2ZyZWVwKCZw LT5xZl9tdXRleFtpXSk7Cj4+ICsgICAgYXZfZnJlZXAoJnAtPnFmX211dGV4KTsKPj4gKwo+PiAg UkVMRUFTRV9QUk9QUyhod2N0eC0+ZW5hYmxlZF9pbnN0X2V4dGVuc2lvbnMsIGh3Y3R4LT5uYl9l bmFibGVkX2luc3RfZXh0ZW5zaW9ucyk7Cj4+ICBSRUxFQVNFX1BST1BTKGh3Y3R4LT5lbmFibGVk X2Rldl9leHRlbnNpb25zLCBod2N0eC0+bmJfZW5hYmxlZF9kZXZfZXh0ZW5zaW9ucyk7Cj4+ICB9 Cj4+IEBAIC0xNDM2LDEzICsxNDQ1LDI2IEBAIGVuZDoKPj4gIHJldHVybiBlcnI7Cj4+ICB9Cj4+ ICAKPj4gK3N0YXRpYyB2b2lkIGxvY2tfcXVldWUoQVZIV0RldmljZUNvbnRleHQgKmN0eCwgaW50 IHF1ZXVlX2ZhbWlseSwgaW50IGluZGV4KQo+Pgo+Cj4gSXQnZCBiZSBuaWNlIHRvIGJlIGNvbnNp c3RlbnQgd2l0aCB0eXBlcy4KPiBUaGVzZSBhcmUgdWludDMyIGluIHZ1bGthbiwgbm8/Cj4KCkZp eGVkLiBUaG91Z2gsIHRoZXkncmUgbW9yZSBjbG9zZWx5IHJlbGF0ZWQgdG8gdGhlCm51bWJlciBv ZiBxdWV1ZSBmYW1pbGllcyBnaXZlbiBpbiB0aGUgaHdjb250ZXh0LCB3aGljaAphcmUgMzItYml0 IGludHMuCgoKPj4gK3sKPj4gKyAgICBWdWxrYW5EZXZpY2VQcml2ICpwID0gY3R4LT5pbnRlcm5h bC0+cHJpdjsKPj4gKyAgICBwdGhyZWFkX211dGV4X2xvY2soJnAtPnFmX211dGV4W3F1ZXVlX2Zh bWlseV1baW5kZXhdKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIHZvaWQgdW5sb2NrX3F1ZXVlKEFW SFdEZXZpY2VDb250ZXh0ICpjdHgsIGludCBxdWV1ZV9mYW1pbHksIGludCBpbmRleCkKPj4gK3sK Pj4gKyAgICBWdWxrYW5EZXZpY2VQcml2ICpwID0gY3R4LT5pbnRlcm5hbC0+cHJpdjsKPj4gKyAg ICBwdGhyZWFkX211dGV4X3VubG9jaygmcC0+cWZfbXV0ZXhbcXVldWVfZmFtaWx5XVtpbmRleF0p Owo+PiArfQo+PiArCj4+ICBzdGF0aWMgaW50IHZ1bGthbl9kZXZpY2VfaW5pdChBVkhXRGV2aWNl Q29udGV4dCAqY3R4KQo+PiAgewo+PiAgaW50IGVycjsKPj4gLSAgICB1aW50MzJfdCBxdWV1ZV9u dW07Cj4+ICsgICAgdWludDMyX3QgcWZfbnVtOwo+PiAgQVZWdWxrYW5EZXZpY2VDb250ZXh0ICpo d2N0eCA9IGN0eC0+aHdjdHg7Cj4+ICBWdWxrYW5EZXZpY2VQcml2ICpwID0gY3R4LT5pbnRlcm5h bC0+cHJpdjsKPj4gIEZGVnVsa2FuRnVuY3Rpb25zICp2ayA9ICZwLT52a2ZuOwo+PiArICAgIFZr UXVldWVGYW1pbHlQcm9wZXJ0aWVzICpxZjsKPj4gIGludCBncmFwaF9pbmRleCwgY29tcF9pbmRl eCwgdHhfaW5kZXgsIGVuY19pbmRleCwgZGVjX2luZGV4Owo+PiAgCj4+ICAvKiBTZXQgZGV2aWNl IGV4dGVuc2lvbiBmbGFncyAqLwo+PiBAQCAtMTQ4MSwxMiArMTUwMywzMSBAQCBzdGF0aWMgaW50 IHZ1bGthbl9kZXZpY2VfaW5pdChBVkhXRGV2aWNlQ29udGV4dCAqY3R4KQo+PiAgcC0+ZGV2X2lz X252aWRpYSA9IChwLT5wcm9wcy5wcm9wZXJ0aWVzLnZlbmRvcklEID09IDB4MTBkZSk7Cj4+ICBw LT5kZXZfaXNfaW50ZWwgID0gKHAtPnByb3BzLnByb3BlcnRpZXMudmVuZG9ySUQgPT0gMHg4MDg2 KTsKPj4gIAo+PiAtICAgIHZrLT5HZXRQaHlzaWNhbERldmljZVF1ZXVlRmFtaWx5UHJvcGVydGll cyhod2N0eC0+cGh5c19kZXYsICZxdWV1ZV9udW0sIE5VTEwpOwo+PiAtICAgIGlmICghcXVldWVf bnVtKSB7Cj4+ICsgICAgdmstPkdldFBoeXNpY2FsRGV2aWNlUXVldWVGYW1pbHlQcm9wZXJ0aWVz KGh3Y3R4LT5waHlzX2RldiwgJnFmX251bSwgTlVMTCk7Cj4+ICsgICAgaWYgKCFxZl9udW0pIHsK Pj4gIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgIkZhaWxlZCB0byBnZXQgcXVldWVzIVxuIik7 Cj4+ICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKPj4gIH0KPj4gIAo+PiArICAgIHFmID0gYXZf bWFsbG9jX2FycmF5KHFmX251bSwgc2l6ZW9mKFZrUXVldWVGYW1pbHlQcm9wZXJ0aWVzKSk7Cj4+ ICsgICAgaWYgKCFxZikKPj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKPj4gKwo+ PiArICAgIHZrLT5HZXRQaHlzaWNhbERldmljZVF1ZXVlRmFtaWx5UHJvcGVydGllcyhod2N0eC0+ cGh5c19kZXYsICZxZl9udW0sIHFmKTsKPj4gKwo+PiArICAgIHAtPnFmX211dGV4ID0gYXZfbWFs bG9jeihxZl9udW0qc2l6ZW9mKCpwLT5xZl9tdXRleCkpOwo+Pgo+Cj4gYXZfY2FsbG9jKCkKPgo+ PiArICAgIGlmICghcC0+cWZfbXV0ZXgpCj4+ICsgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01F TSk7Cj4+ICsgICAgcC0+bmJfdG90X3FmcyA9IHFmX251bTsKPj4gKwo+PiArICAgIGZvciAoaW50 IGkgPSAwOyBpIDwgcWZfbnVtOyBpKyspIHsKPj4gKyAgICAgICAgcC0+cWZfbXV0ZXhbaV0gPSBh dl9tYWxsb2N6KHFmW2ldLnF1ZXVlQ291bnQqc2l6ZW9mKCoqcC0+cWZfbXV0ZXgpKTsKPj4KPgo+ IGF2X2NhbGxvYygpCj4KPj4gKyAgICAgICAgaWYgKCFwLT5xZl9tdXRleFtpXSkKPj4gKyAgICAg ICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Cj4+ICsgICAgICAgIGZvciAoaW50IGogPSAw OyBqIDwgcWZbaV0ucXVldWVDb3VudDsgaisrKQo+PiArICAgICAgICAgICAgcHRocmVhZF9tdXRl eF9pbml0KCZwLT5xZl9tdXRleFtpXVtqXSwgTlVMTCk7Cj4+Cj4KPiBTaG91bGQgYmUgY2hlY2tl ZC4KPgoKRml4ZWQgYWxsIHRocmVlLgoKCj4+ICsgICAgfQo+PiArCj4+ICBncmFwaF9pbmRleCA9 IGh3Y3R4LT5xdWV1ZV9mYW1pbHlfaW5kZXg7Cj4+ICBjb21wX2luZGV4ICA9IGh3Y3R4LT5xdWV1 ZV9mYW1pbHlfY29tcF9pbmRleDsKPj4gIHR4X2luZGV4ICAgID0gaHdjdHgtPnF1ZXVlX2ZhbWls eV90eF9pbmRleDsKPj4gQEAgLTE1MDEsOSArMTU0Miw5IEBAIHN0YXRpYyBpbnQgdnVsa2FuX2Rl dmljZV9pbml0KEFWSFdEZXZpY2VDb250ZXh0ICpjdHgpCj4+ICByZXR1cm4gQVZFUlJPUihFSU5W QUwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCj4+ICB9IGVsc2UgaWYgKGZpZHggPCAwIHx8IGN0eF9xZiA8IDApIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+PiAgYnJlYWs7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAo+PiAtICAgICAgICB9IGVsc2UgaWYgKGN0eF9xZiA+PSBx dWV1ZV9udW0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAo+PiArICAgICAgICB9IGVsc2UgaWYgKGN0eF9xZiA+PSBxZl9udW0pIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ PiAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAiSW52YWxpZCAlcyBmYW1pbHkgaW5kZXggJWkg KGRldmljZSBoYXMgJWkgZmFtaWxpZXMpIVxuIiwgXAo+PiAtICAgICAgICAgICAgICAgICAgIHR5 cGUsIGN0eF9xZiwgcXVldWVfbnVtKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAo+PiArICAgICAgICAgICAgICAgICAgIHR5cGUsIGN0eF9xZiwg cWZfbnVtKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAo+PiAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+PiAgfSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKPj4gIFwKPj4gQEAgLTE1MjAsNyArMTU2MSw3IEBAIHN0YXRp YyBpbnQgdnVsa2FuX2RldmljZV9pbml0KEFWSFdEZXZpY2VDb250ZXh0ICpjdHgpCj4+ICB0eF9p bmRleCAgICA9IChjdHhfcWYgPT0gdHhfaW5kZXgpICAgID8gLTEgOiB0eF9pbmRleDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+PiAgZW5jX2luZGV4ICAgPSAoY3R4X3FmID09 IGVuY19pbmRleCkgICA/IC0xIDogZW5jX2luZGV4OyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPj4gIGRlY19pbmRleCAgID0gKGN0eF9xZiA9PSBkZWNfaW5kZXgpICAgPyAtMSA6 IGRlY19pbmRleDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4+IC0gICAgICAg IHAtPnFmc1twLT5udW1fcWZzKytdID0gY3R4X3FmOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4+ICsgICAgICAgIHAtPmltZ19xZnNb cC0+bmJfaW1nX3FmcysrXSA9IGN0eF9xZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCj4+ICB9IHdoaWxlICgwKQo+PiAgCj4+ICBDSEVDS19RVUVV RSgiZ3JhcGhpY3MiLCAwLCBncmFwaF9pbmRleCwgaHdjdHgtPnF1ZXVlX2ZhbWlseV9pbmRleCwg ICAgICAgIGh3Y3R4LT5uYl9ncmFwaGljc19xdWV1ZXMpOwo+PiBAQCAtMTUzMSw2ICsxNTcyLDEx IEBAIHN0YXRpYyBpbnQgdnVsa2FuX2RldmljZV9pbml0KEFWSFdEZXZpY2VDb250ZXh0ICpjdHgp Cj4+ICAKPj4gICN1bmRlZiBDSEVDS19RVUVVRQo+PiAgCj4+ICsgICAgaWYgKCFod2N0eC0+bG9j a19xdWV1ZSkKPj4gKyAgICAgICAgaHdjdHgtPmxvY2tfcXVldWUgPSBsb2NrX3F1ZXVlOwo+PiAr ICAgIGlmICghaHdjdHgtPnVubG9ja19xdWV1ZSkKPj4gKyAgICAgICAgaHdjdHgtPnVubG9ja19x dWV1ZSA9IHVubG9ja19xdWV1ZTsKPj4gKwo+PiAgLyogR2V0IGRldmljZSBjYXBhYmlsaXRpZXMg Ki8KPj4gIHZrLT5HZXRQaHlzaWNhbERldmljZU1lbW9yeVByb3BlcnRpZXMoaHdjdHgtPnBoeXNf ZGV2LCAmcC0+bXByb3BzKTsKPj4gIAo+PiBAQCAtMTczMiw5ICsxNzc4LDYgQEAgc3RhdGljIHZv aWQgdnVsa2FuX2ZyZWVfaW50ZXJuYWwoQVZWa0ZyYW1lICpmKQo+PiAgewo+PiAgQVZWa0ZyYW1l SW50ZXJuYWwgKmludGVybmFsID0gZi0+aW50ZXJuYWw7Cj4+ICAKPj4gLSAgICBpZiAoIWludGVy bmFsKQo+PiAtICAgICAgICByZXR1cm47Cj4+IC0KPj4gICNpZiBDT05GSUdfQ1VEQQo+PiAgaWYg KGludGVybmFsLT5jdWRhX2ZjX3JlZikgewo+PiAgQVZIV0ZyYW1lc0NvbnRleHQgKmN1ZGFfZmMg PSAoQVZIV0ZyYW1lc0NvbnRleHQgKilpbnRlcm5hbC0+Y3VkYV9mY19yZWYtPmRhdGE7Cj4+IEBA IC0xOTIzLDkgKzE5NjYsMTEgQEAgc3RhdGljIGludCBwcmVwYXJlX2ZyYW1lKEFWSFdGcmFtZXND b250ZXh0ICpod2ZjLCBWdWxrYW5FeGVjQ3R4ICplY3R4LAo+PiAgdWludDMyX3Qgc3JjX3FmLCBk c3RfcWY7Cj4+ICBWa0ltYWdlTGF5b3V0IG5ld19sYXlvdXQ7Cj4+ICBWa0FjY2Vzc0ZsYWdzIG5l d19hY2Nlc3M7Cj4+ICsgICAgQVZWdWxrYW5GcmFtZXNDb250ZXh0ICp2a2ZjID0gaHdmYy0+aHdj dHg7Cj4+ICBjb25zdCBpbnQgcGxhbmVzID0gYXZfcGl4X2ZtdF9jb3VudF9wbGFuZXMoaHdmYy0+ c3dfZm9ybWF0KTsKPj4gIFZ1bGthbkRldmljZVByaXYgKnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5p bnRlcm5hbC0+cHJpdjsKPj4gIEZGVnVsa2FuRnVuY3Rpb25zICp2ayA9ICZwLT52a2ZuOwo+PiAr ICAgIEFWRnJhbWUgdG1wID0geyAuZGF0YVswXSA9ICh1aW50OF90ICopZnJhbWUgfTsKPj4KPgo+ ID8/Pwo+CgpUaGlzIGVuYWJsZXMgdXMgdG8gdXNlIHRoZSBjb21tb24gZGVwZW5kZW5jeS9kaXNw YXRjaCBjb2RlLgpUaGUgcHJlcGFyZV9mcmFtZSBmdW5jdGlvbiBpcyB1c2VkIGZvciBib3RoIGZy YW1lIGluaXRpYWxpemF0aW9uCmFuZCBmcmFtZSBpbXBvcnQvZXhwb3J0IHF1ZXVlIGZhbWlseSB0 cmFuc2ZlciBvcGVyYXRpb25zLgpJbiB0aGUgZm9ybWVyIGNhc2UsIG5vIEFWRnJhbWUgZXhpc3Rz IHlldCwgc28sIGFzIHRoaXMgaXMgcHVyZWx5CmxpYmF2dXRpbCBjb2RlLCB3ZSBjcmVhdGUgYSB0 ZW1wb3JhcnkgZnJhbWUgb24gc3RhY2suIE90aGVyd2lzZSwKd2UnZCBuZWVkIHRvIGFsbG9jYXRl IG11bHRpcGxlIGZyYW1lcyBzb21ld2hlcmUsIG9uZSBmb3IgZWFjaApwb3NzaWJsZSBjb21tYW5k IGJ1ZmZlciBkaXNwYXRjaC4KCkNvbW1lbnQgYWRkZWQgdG8gY29tbWl0IG1lc3NhZ2UuCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21h aWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBh Ym92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1Ympl Y3QgInVuc3Vic2NyaWJlIi4K