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 6186340B36 for ; Mon, 7 Mar 2022 17:09:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 35AD268B0D6; Mon, 7 Mar 2022 19:09:28 +0200 (EET) Received: from shout02.mail.de (shout02.mail.de [62.201.172.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 808EE68AAC1 for ; Mon, 7 Mar 2022 19:09:21 +0200 (EET) Received: from postfix01.mail.de (postfix02.bt.mail.de [10.0.121.126]) by shout02.mail.de (Postfix) with ESMTP id 24BD8A16CF for ; Mon, 7 Mar 2022 18:09:21 +0100 (CET) Received: from smtp01.mail.de (smtp01.bt.mail.de [10.0.121.211]) by postfix01.mail.de (Postfix) with ESMTP id 0ACE9A03C4 for ; Mon, 7 Mar 2022 18:09:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mailde202009; t=1646672961; bh=omnb8NIxPF7S3jFgtw2ePy0g9YxfjVOBT88f8dl4uZc=; h=Message-ID:Date:Subject:To:From:From:To:CC:Subject:Reply-To; b=hfdpT3CjsFhrq/okxeu85f5kDApOYs1HJlniSvl+O2kkMtmXpcrHSmhr/nIo8v0EJ kZHQ4Xl+Xoju13XOQ95GADq2w6di2tydE/2ALpOPwsng4mnAvuGW+EYEeW1clS1h01 OyxA+AvL6bbqlz43x4TL5MeWSbu0Kyu++iXRZdII9hw+KueXGao3aDo1gctVOhgGiM DDoUa6CljwQi1qU7OI+lMk6vpzSDU4Ll+F27oN3cBg5x62LOst8bgoXmVov3FgSZ5H UKS4gCUOhRGOXrDRA1kp0Depvf7dkJ5GqOkzfWaAVzFJYQRF+al80OskYbEyAA5bU5 z8aK2SvfgriAw== Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtp01.mail.de (Postfix) with ESMTPSA id BB7C2103AE9 for ; Mon, 7 Mar 2022 18:09:19 +0100 (CET) Content-Type: multipart/mixed; boundary="------------mMe5FKubhfWTxJzN0BEc2zSr" Message-ID: <2621fec9-555f-c977-b378-dbfd7a6d115e@mail.de> Date: Mon, 7 Mar 2022 18:09:18 +0100 MIME-Version: 1.0 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20210115045832.76405-1-borbarak@fb.com> <3fa8e9b2-6824-eb3a-2390-22fd024efa9f@mail.de> <164363001951.23111.4989616914372511566@lain.red.khirnov.net> <14fa7592-4acc-2186-335b-56ea500f9663@mail.de> From: Thilo Borgmann In-Reply-To: X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 27178 X-purgate-ID: 154282::1646672960-000033E8-F0555148/0/0 Subject: Re: [FFmpeg-devel] [PATCH] avfilter: Added siti filter 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------mMe5FKubhfWTxJzN0BEc2zSr Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Am 06.03.22 um 22:25 schrieb Paul B Mahol: > On 3/6/22, Thilo Borgmann wrote: >> Am 22.02.22 um 12:30 schrieb Thilo Borgmann: >>> Am 18.02.22 um 17:08 schrieb Paul B Mahol: >>>> On Sat, Feb 12, 2022 at 11:55 AM Thilo Borgmann >>>> wrote: >>>> >>>>> Am 31.01.22 um 12:55 schrieb James Almer: >>>>>> >>>>>> >>>>>> On 1/31/2022 8:53 AM, Anton Khirnov wrote: >>>>>>> Quoting Thilo Borgmann (2022-01-18 14:58:07) >>>>>>>>>> Violations of code style. >>>>>>>> >>>>>>>> Enhanced. >>>>>>> >>>>>>> Not enough. There are still many remaining, e.g. >>>>>>> * opening brace of a function definition should be on its own line >>>>>>> * the context should generally be the first argument >>>>>>> * unsigned char* should be uint8_t* >>>>>>> * mixed declarations and code (the compiler should warn about that) >>>>>> >>>>>> I think someone said that clang (or some versions) is apparently not >>>>> warning about this, hence why so many of these end up being missed in >>>>> reviews or even by the patch author. >>>>> >>>>> This and all of Anton's comments in v3. Also removed some more >>>>> obviously >>>>> useless doubles. >>>>> >>>> >>>> Why it uses doubles in so many places? >>>> Is there any real benefit in that, except extra slowdown? >>> >>> I guess because it's originating in some c&p Matlab code. >>> I did %s#double#float#g for v4, loosing some precision we can ignore >>> IMHO. >>> >>> >>> >>> v3: >>> >>> Total frames: 2 >>> >>> Spatial Information: >>> Average: 165.451985 >>> Max: 165.817542 >>> Min: 165.086427 >>> >>> Temporal Information: >>> Average: 1.007263 >>> Max: 2.014525 >>> Min: 0.000000 >>> >>> >>> >>> v4: >>> >>> Total frames: 2 >>> >>> Spatial Information: >>> Average: 164.385895 >>> Max: 164.742325 >>> Min: 164.029480 >>> >>> Temporal Information: >>> Average: 1.007241 >>> Max: 2.014483 >>> Min: 0.000000 >>> >> >> Ping. > > Into wrong section of changelog added entry. > > Useless cast of allocation results. > > Does filter changes pixels? If not, add metadata flag to appropriate place. All addressed in v5, thx! Also added a FATE test for it. -Thilo --------------mMe5FKubhfWTxJzN0BEc2zSr Content-Type: text/plain; charset=UTF-8; name="v5-0001-lavfilter-Add-SITI-filter.patch" Content-Disposition: attachment; filename="v5-0001-lavfilter-Add-SITI-filter.patch" Content-Transfer-Encoding: base64 RnJvbSBlZmU2YjI5NzE4NzYxNDkyYzdiMzIyNDI0MDRkZDA3ODU4ODEzN2VlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUaGlsbyBCb3JnbWFubiA8dGhpbG8uYm9yZ21hbm5A bWFpbC5kZT4KRGF0ZTogTW9uLCA3IE1hciAyMDIyIDE3OjM1OjE1ICswMTAwClN1YmplY3Q6 IFtQQVRDSCB2NV0gbGF2ZmlsdGVyOiBBZGQgU0lUSSBmaWx0ZXIKCkNhbGN1bGF0ZSBTcGF0 aWFsIEluZm8gKFNJKSBhbmQgVGVtcG9yYWwgSW5mbyAoVEkpIHNjb3JlcyBmb3IgYSB2aWRl bywgYXMgZGVmaW5lZAppbiBJVFUtVCBQLjkxMDogU3ViamVjdGl2ZSB2aWRlbyBxdWFsaXR5 IGFzc2Vzc21lbnQgbWV0aG9kcyBmb3IgbXVsdGltZWRpYQphcHBsaWNhdGlvbnMuCi0tLQog Q2hhbmdlbG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBkb2MvZmls dGVycy50ZXhpICAgICAgICAgICAgICAgICAgICAgIHwgIDIzICsrCiBsaWJhdmZpbHRlci9N YWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAxICsKIGxpYmF2ZmlsdGVyL2FsbGZpbHRl cnMuYyAgICAgICAgICAgICAgfCAgIDEgKwogbGliYXZmaWx0ZXIvdmVyc2lvbi5oICAgICAg ICAgICAgICAgICB8ICAgMiArLQogbGliYXZmaWx0ZXIvdmZfc2l0aS5jICAgICAgICAgICAg ICAgICB8IDM0OSArKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdHMvZmF0ZS1ydW4u c2ggICAgICAgICAgICAgICAgICAgICB8ICAgOSArCiB0ZXN0cy9mYXRlL2ZpbHRlci12aWRl by5tYWsgICAgICAgICAgIHwgICAzICsKIHRlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAt c2l0aS15dXYgfCAgMTUgKysKIDkgZmlsZXMgY2hhbmdlZCwgNDAzIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZpbHRlci92Zl9zaXRp LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9yZWYvZmF0ZS9maWx0ZXItcmVmY21wLXNp dGkteXV2CgpkaWZmIC0tZ2l0IGEvQ2hhbmdlbG9nIGIvQ2hhbmdlbG9nCmluZGV4IDNkZGUz MzI2YmUuLmZmZTMyMGJlOWQgMTAwNjQ0Ci0tLSBhL0NoYW5nZWxvZworKysgYi9DaGFuZ2Vs b2cKQEAgLTQ4LDYgKzQ4LDcgQEAgdmVyc2lvbiA1LjA6CiAtIFZpZGVvVG9vbGJveCBQcm9S ZXMgZW5jb2RlcgogLSBhbmxtZiBhdWRpbyBmaWx0ZXIKIC0gSU1GIGRlbXV4ZXIgKGV4cGVy aW1lbnRhbCkKKy0gU0lUSSBmaWx0ZXIKIAogCiB2ZXJzaW9uIDQuNDoKZGlmZiAtLWdpdCBh L2RvYy9maWx0ZXJzLnRleGkgYi9kb2MvZmlsdGVycy50ZXhpCmluZGV4IDA1ZDRiMWE1NmUu LmY4YThhMmNiNzIgMTAwNjQ0Ci0tLSBhL2RvYy9maWx0ZXJzLnRleGkKKysrIGIvZG9jL2Zp bHRlcnMudGV4aQpAQCAtMTk4NzUsNiArMTk4NzUsMjkgQEAgZmZtcGVnIC1pIGlucHV0MS5t a3YgLWkgaW5wdXQyLm1rdiAtZmlsdGVyX2NvbXBsZXggIlswOnZdWzE6dl0gc2lnbmF0dXJl PW5iX2lucHUKIAogQGVuZCBpdGVtaXplCiAKK0BhbmNob3J7c2l0aX0KK0BzZWN0aW9uIHNp dGkKKworQ2FsY3VsYXRlIFNwYXRpYWwgSW5mbyAoU0kpIGFuZCBUZW1wb3JhbCBJbmZvIChU SSkgc2NvcmVzIGZvciBhIHZpZGVvLCBhcyBkZWZpbmVkCitpbiBJVFUtVCBQLjkxMDogU3Vi amVjdGl2ZSB2aWRlbyBxdWFsaXR5IGFzc2Vzc21lbnQgbWV0aG9kcyBmb3IgbXVsdGltZWRp YQorYXBwbGljYXRpb25zLiBBdmFpbGFibGUgUERGIGF0IEB1cmx7aHR0cHM6Ly93d3cuaXR1 LmludC9yZWMvVC1SRUMtUC45MTAtMTk5OTA5LVMvZW4gfS4KKworSXQgYWNjZXB0cyB0aGUg Zm9sbG93aW5nIG9wdGlvbjoKKworQHRhYmxlIEBvcHRpb24KK0BpdGVtIHByaW50X3N1bW1h cnkKK0lmIHNldCB0byAxLCBTdW1tYXJ5IHN0YXRpc3RpY3Mgd2lsbCBiZSBwcmludGVkIHRv IHRoZSBjb25zb2xlLiBEZWZhdWx0IDAuCitAZW5kIHRhYmxlCisKK0BzdWJzZWN0aW9uIEV4 YW1wbGVzCitAaXRlbWl6ZQorQGl0ZW0KK1RvIGNhbGN1bGF0ZSBTSS9USSBtZXRyaWNzIGFu ZCBwcmludCBzdW1tYXJ5OgorQGV4YW1wbGUKK2ZmbXBlZyAtaSBpbnB1dC5tcDQgLXZmIHNp dGk9cHJpbnRfc3VtbWFyeT0xIC1mIG51bGwgLQorQGVuZCBleGFtcGxlCitAZW5kIGl0ZW1p emUKKwogQGFuY2hvcntzbWFydGJsdXJ9CiBAc2VjdGlvbiBzbWFydGJsdXIKIApkaWZmIC0t Z2l0IGEvbGliYXZmaWx0ZXIvTWFrZWZpbGUgYi9saWJhdmZpbHRlci9NYWtlZmlsZQppbmRl eCAxYWRiZWE3NWJkLi4zMjYxZDA1MzExIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9NYWtl ZmlsZQorKysgYi9saWJhdmZpbHRlci9NYWtlZmlsZQpAQCAtNDU0LDYgKzQ1NCw3IEBAIE9C SlMtJChDT05GSUdfU01BUlRCTFVSX0ZJTFRFUikgICAgICAgICAgICAgICs9IHZmX3NtYXJ0 Ymx1ci5vCiBPQkpTLSQoQ09ORklHX1NPQkVMX0ZJTFRFUikgICAgICAgICAgICAgICAgICAr PSB2Zl9jb252b2x1dGlvbi5vCiBPQkpTLSQoQ09ORklHX1NPQkVMX09QRU5DTF9GSUxURVIp ICAgICAgICAgICArPSB2Zl9jb252b2x1dGlvbl9vcGVuY2wubyBvcGVuY2wubyBcCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuY2wvY29u dm9sdXRpb24ubworT0JKUy0kKENPTkZJR19TSVRJX0ZJTFRFUikgICAgICAgICAgICAgICAg ICAgKz0gdmZfc2l0aS5vCiBPQkpTLSQoQ09ORklHX1NQTElUX0ZJTFRFUikgICAgICAgICAg ICAgICAgICArPSBzcGxpdC5vCiBPQkpTLSQoQ09ORklHX1NQUF9GSUxURVIpICAgICAgICAg ICAgICAgICAgICArPSB2Zl9zcHAubyBxcF90YWJsZS5vCiBPQkpTLSQoQ09ORklHX1NSX0ZJ TFRFUikgICAgICAgICAgICAgICAgICAgICArPSB2Zl9zci5vCmRpZmYgLS1naXQgYS9saWJh dmZpbHRlci9hbGxmaWx0ZXJzLmMgYi9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKaW5kZXgg NDMyNWEzZTU1Ny4uODA4YzE3MmIyOCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWxsZmls dGVycy5jCisrKyBiL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYwpAQCAtNDMwLDYgKzQzMCw3 IEBAIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9zaHVmZmxlcGxhbmVzOwogZXh0ZXJu IGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NpZGVkYXRhOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVy IGZmX3ZmX3NpZ25hbHN0YXRzOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NpZ25h dHVyZTsKK2V4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9zaXRpOwogZXh0ZXJuIGNvbnN0 IEFWRmlsdGVyIGZmX3ZmX3NtYXJ0Ymx1cjsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92 Zl9zb2JlbDsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9zb2JlbF9vcGVuY2w7CmRp ZmYgLS1naXQgYS9saWJhdmZpbHRlci92ZXJzaW9uLmggYi9saWJhdmZpbHRlci92ZXJzaW9u LmgKaW5kZXggMWE5ODQ5ZWY4Mi4uODk3MTRiY2U4NCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0 ZXIvdmVyc2lvbi5oCisrKyBiL2xpYmF2ZmlsdGVyL3ZlcnNpb24uaApAQCAtMzAsNyArMzAs NyBAQAogI2luY2x1ZGUgImxpYmF2dXRpbC92ZXJzaW9uLmgiCiAKICNkZWZpbmUgTElCQVZG SUxURVJfVkVSU0lPTl9NQUpPUiAgIDgKLSNkZWZpbmUgTElCQVZGSUxURVJfVkVSU0lPTl9N SU5PUiAgMjUKKyNkZWZpbmUgTElCQVZGSUxURVJfVkVSU0lPTl9NSU5PUiAgMjYKICNkZWZp bmUgTElCQVZGSUxURVJfVkVSU0lPTl9NSUNSTyAxMDAKIAogCmRpZmYgLS1naXQgYS9saWJh dmZpbHRlci92Zl9zaXRpLmMgYi9saWJhdmZpbHRlci92Zl9zaXRpLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMWVkMTM3ZDIzZAotLS0gL2Rldi9udWxsCisr KyBiL2xpYmF2ZmlsdGVyL3ZmX3NpdGkuYwpAQCAtMCwwICsxLDM0OSBAQAorLyoKKyAqIENv cHlyaWdodCAoYykgMjAyMSBCb3JpcyBCYXJhY2FsZG8KKyAqIENvcHlyaWdodCAoYykgMjAy MiBUaGlsbyBCb3JnbWFubiAKKyAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcu CisgKgorICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgor ICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBGRm1wZWcg aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIEZG bXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAw MjExMC0xMzAxIFVTQS4KKyAqLworCisvKioKKyAqIEBmaWxlCisgKiBDYWxjdWxhdGUgU3Bh dGlhbCBJbmZvIChTSSkgYW5kIFRlbXBvcmFsIEluZm8gKFRJKSBzY29yZXMKKyAqLworCisj aW5jbHVkZSA8bWF0aC5oPgorCisjaW5jbHVkZSAibGliYXZ1dGlsL2ltZ3V0aWxzLmgiCisj aW5jbHVkZSAibGliYXZ1dGlsL2ludGVybmFsLmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL29w dC5oIgorCisjaW5jbHVkZSAiYXZmaWx0ZXIuaCIKKyNpbmNsdWRlICJmb3JtYXRzLmgiCisj aW5jbHVkZSAiaW50ZXJuYWwuaCIKKyNpbmNsdWRlICJ2aWRlby5oIgorCitzdGF0aWMgY29u c3QgaW50IFhfRklMVEVSWzldID0geworICAgIDEsIDAsIC0xLAorICAgIDIsIDAsIC0yLAor ICAgIDEsIDAsIC0xCit9OworCitzdGF0aWMgY29uc3QgaW50IFlfRklMVEVSWzldID0gewor ICAgIDEsIDIsIDEsCisgICAgMCwgMCwgMCwKKyAgICAtMSwgLTIsIC0xCit9OworCit0eXBl ZGVmIHN0cnVjdCBTaVRpQ29udGV4dCB7CisgICAgY29uc3QgQVZDbGFzcyAqY2xhc3M7Cisg ICAgaW50IHBpeGVsX2RlcHRoOworICAgIGludCB3aWR0aCwgaGVpZ2h0OworICAgIHVpbnQ2 NF90IG5iX2ZyYW1lczsKKyAgICB1aW50OF90ICpwcmV2X2ZyYW1lOworICAgIGZsb2F0IG1h eF9zaTsKKyAgICBmbG9hdCBtYXhfdGk7CisgICAgZmxvYXQgbWluX3NpOworICAgIGZsb2F0 IG1pbl90aTsKKyAgICBmbG9hdCBzdW1fc2k7CisgICAgZmxvYXQgc3VtX3RpOworICAgIGZs b2F0ICpncmFkaWVudF9tYXRyaXg7CisgICAgZmxvYXQgKm1vdGlvbl9tYXRyaXg7CisgICAg aW50IGZ1bGxfcmFuZ2U7CisgICAgaW50IHByaW50X3N1bW1hcnk7Cit9IFNpVGlDb250ZXh0 OworCitzdGF0aWMgY29uc3QgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXRzW10gPSB7Cisg ICAgQVZfUElYX0ZNVF9ZVVY0MjBQLCBBVl9QSVhfRk1UX1lVVjQyMlAsCisgICAgQVZfUElY X0ZNVF9ZVVZKNDIwUCwgQVZfUElYX0ZNVF9ZVVZKNDIyUCwKKyAgICBBVl9QSVhfRk1UX1lV VjQyMFAxMCwgQVZfUElYX0ZNVF9ZVVY0MjJQMTAsCisgICAgQVZfUElYX0ZNVF9OT05FCit9 OworCitzdGF0aWMgYXZfY29sZCBpbnQgaW5pdChBVkZpbHRlckNvbnRleHQgKmN0eCkKK3sK KyAgICAvLyBVc2VyIG9wdGlvbnMgYnV0IG5vIGlucHV0IGRhdGEKKyAgICBTaVRpQ29udGV4 dCAqcyA9IGN0eC0+cHJpdjsKKyAgICBzLT5tYXhfc2kgPSAwOworICAgIHMtPm1heF90aSA9 IDA7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBhdl9jb2xkIHZvaWQgdW5pbml0KEFW RmlsdGVyQ29udGV4dCAqY3R4KQoreworICAgIFNpVGlDb250ZXh0ICpzID0gY3R4LT5wcml2 OworCisgICAgaWYgKHMtPnByaW50X3N1bW1hcnkpIHsKKyAgICAgICAgZmxvYXQgYXZnX3Np ID0gcy0+c3VtX3NpIC8gcy0+bmJfZnJhbWVzOworICAgICAgICBmbG9hdCBhdmdfdGkgPSBz LT5zdW1fdGkgLyBzLT5uYl9mcmFtZXM7CisgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19J TkZPLAorICAgICAgICAgICAgICAgIlNJVEkgU3VtbWFyeTpcblRvdGFsIGZyYW1lczogJSJQ UklkNjQiXG5cbiIKKyAgICAgICAgICAgICAgICJTcGF0aWFsIEluZm9ybWF0aW9uOlxuQXZl cmFnZTogJWZcbk1heDogJWZcbk1pbjogJWZcblxuIgorICAgICAgICAgICAgICAgIlRlbXBv cmFsIEluZm9ybWF0aW9uOlxuQXZlcmFnZTogJWZcbk1heDogJWZcbk1pbjogJWZcbiIsCisg ICAgICAgICAgICAgICBzLT5uYl9mcmFtZXMsIGF2Z19zaSwgcy0+bWF4X3NpLCBzLT5taW5f c2ksIGF2Z190aSwgcy0+bWF4X3RpLCBzLT5taW5fdGkKKyAgICAgICAgKTsKKyAgICB9CisK KyAgICBhdl9mcmVlcCgmcy0+cHJldl9mcmFtZSk7CisgICAgYXZfZnJlZXAoJnMtPmdyYWRp ZW50X21hdHJpeCk7CisgICAgYXZfZnJlZXAoJnMtPm1vdGlvbl9tYXRyaXgpOworfQorCitz dGF0aWMgaW50IGNvbmZpZ19pbnB1dChBVkZpbHRlckxpbmsgKmlubGluaykKK3sKKyAgICAv LyBWaWRlbyBpbnB1dCBkYXRhIGF2aWxhYmxlCisgICAgQVZGaWx0ZXJDb250ZXh0ICpjdHgg PSBpbmxpbmstPmRzdDsKKyAgICBTaVRpQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKyAgICBp bnQgbWF4X3BpeHN0ZXBzWzRdOworICAgIHNpemVfdCBwaXhlbF9zejsKKyAgICBzaXplX3Qg ZGF0YV9zejsKKyAgICBzaXplX3QgZ3JhZGllbnRfc3o7CisgICAgc2l6ZV90IG1vdGlvbl9z ejsKKworICAgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZGVzYyA9IGF2X3BpeF9mbXRf ZGVzY19nZXQoaW5saW5rLT5mb3JtYXQpOworICAgIGF2X2ltYWdlX2ZpbGxfbWF4X3BpeHN0 ZXBzKG1heF9waXhzdGVwcywgTlVMTCwgZGVzYyk7CisKKyAgICAvLyBmcmVlIHByZXZpb3Vz IGJ1ZmZlcnMgaW4gY2FzZSB0aGV5IGFyZSBhbGxvY2F0ZWQgYWxyZWFkeQorICAgIGF2X2Zy ZWVwKCZzLT5wcmV2X2ZyYW1lKTsKKyAgICBhdl9mcmVlcCgmcy0+Z3JhZGllbnRfbWF0cml4 KTsKKyAgICBhdl9mcmVlcCgmcy0+bW90aW9uX21hdHJpeCk7CisKKyAgICBzLT5waXhlbF9k ZXB0aCA9IG1heF9waXhzdGVwc1swXTsKKyAgICBzLT53aWR0aCA9IGlubGluay0+dzsKKyAg ICBzLT5oZWlnaHQgPSBpbmxpbmstPmg7CisgICAgcGl4ZWxfc3ogPSBzLT5waXhlbF9kZXB0 aCA9PSAxID8gc2l6ZW9mKHVpbnQ4X3QpIDogc2l6ZW9mKHVpbnQxNl90KTsKKyAgICBkYXRh X3N6ID0gcy0+d2lkdGggKiBwaXhlbF9zeiAqIHMtPmhlaWdodDsKKworICAgIHMtPnByZXZf ZnJhbWUgPSBhdl9tYWxsb2MoZGF0YV9zeik7CisKKyAgICBncmFkaWVudF9zeiA9IChzLT53 aWR0aCAtIDIpICogc2l6ZW9mKGZsb2F0KSAqIChzLT5oZWlnaHQgLSAyKTsKKyAgICBzLT5n cmFkaWVudF9tYXRyaXggPSBhdl9tYWxsb2MoZ3JhZGllbnRfc3opOworCisgICAgbW90aW9u X3N6ID0gcy0+d2lkdGggKiBzaXplb2YoZmxvYXQpICogcy0+aGVpZ2h0OworICAgIHMtPm1v dGlvbl9tYXRyaXggPSBhdl9tYWxsb2MobW90aW9uX3N6KTsKKworICAgIGlmICghcy0+cHJl dl9mcmFtZSB8fCAhIHMtPmdyYWRpZW50X21hdHJpeCB8fCAhcy0+bW90aW9uX21hdHJpeCkg eworICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworICAgIH0KKworICAgIHJldHVy biAwOworfQorCisvLyBEZXRlcm1pbmUgd2hldGhlciB0aGUgdmlkZW8gaXMgaW4gZnVsbCBv ciBsaW1pdGVkIHJhbmdlLiBJZiBub3QgZGVmaW5lZCwgYXNzdW1lIGxpbWl0ZWQuCitzdGF0 aWMgaW50IGlzX2Z1bGxfcmFuZ2UoQVZGcmFtZSogZnJhbWUpCit7CisgICAgLy8gSWYgY29s b3IgcmFuZ2Ugbm90IHNwZWNpZmllZCwgZmFsbGJhY2sgdG8gcGl4ZWwgZm9ybWF0CisgICAg aWYgKGZyYW1lLT5jb2xvcl9yYW5nZSA9PSBBVkNPTF9SQU5HRV9VTlNQRUNJRklFRCB8fCBm cmFtZS0+Y29sb3JfcmFuZ2UgPT0gQVZDT0xfUkFOR0VfTkIpCisgICAgICAgIHJldHVybiBm cmFtZS0+Zm9ybWF0ID09IEFWX1BJWF9GTVRfWVVWSjQyMFAgfHwgZnJhbWUtPmZvcm1hdCA9 PSBBVl9QSVhfRk1UX1lVVko0MjJQOworICAgIHJldHVybiBmcmFtZS0+Y29sb3JfcmFuZ2Ug PT0gQVZDT0xfUkFOR0VfSlBFRzsKK30KKworLy8gQ2hlY2sgZnJhbWUncyBjb2xvciByYW5n ZSBhbmQgY29udmVydCB0byBmdWxsIHJhbmdlIGlmIG5lZWRlZAorc3RhdGljIHVpbnQxNl90 IGNvbnZlcnRfZnVsbF9yYW5nZShpbnQgZmFjdG9yLCB1aW50MTZfdCB5KQoreworICAgIGlu dCBzaGlmdDsKKyAgICBpbnQgbGltaXRfdXBwZXI7CisgICAgaW50IGZ1bGxfdXBwZXI7Cisg ICAgaW50IGxpbWl0X3k7CisKKyAgICAvLyBGb3IgOCBiaXRzLCBsaW1pdGVkIHJhbmdlIGdv ZXMgZnJvbSAxNiB0byAyMzUsIGZvciAxMCBiaXRzIHRoZSByYW5nZSBpcyBtdWx0aXBsaWVk IGJ5IDQKKyAgICBzaGlmdCA9IDE2ICogZmFjdG9yOworICAgIGxpbWl0X3VwcGVyID0gMjM1 ICogZmFjdG9yIC0gc2hpZnQ7CisgICAgZnVsbF91cHBlciA9IDI1NiAqIGZhY3RvciAtIDE7 CisgICAgbGltaXRfeSA9IGZtaW4oZm1heCh5IC0gc2hpZnQsIDApLCBsaW1pdF91cHBlcik7 CisgICAgcmV0dXJuIChmdWxsX3VwcGVyICogbGltaXRfeSAvIGxpbWl0X3VwcGVyKTsKK30K KworLy8gQXBwbGllcyBzb2JlbCBjb252b2x1dGlvbgorc3RhdGljIHZvaWQgY29udm9sdmVf c29iZWwoU2lUaUNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKnNyYywgZmxvYXQgKmRzdCwg aW50IGxpbmVzaXplKQoreworICAgIGZsb2F0IHhfY29udl9zdW07CisgICAgZmxvYXQgeV9j b252X3N1bTsKKyAgICBmbG9hdCBncmFkaWVudDsKKyAgICBpbnQga2k7CisgICAgaW50IGtq OworICAgIGludCBpbmRleDsKKyAgICB1aW50MTZfdCBkYXRhOworICAgIGludCBmaWx0ZXJf d2lkdGggPSAzOworICAgIGludCBmaWx0ZXJfc2l6ZSA9IGZpbHRlcl93aWR0aCAqIGZpbHRl cl93aWR0aDsKKyAgICBpbnQgc3RyaWRlID0gbGluZXNpemUgLyBzLT5waXhlbF9kZXB0aDsK KyAgICAvLyBGb3IgOCBiaXRzLCBsaW1pdGVkIHJhbmdlIGdvZXMgZnJvbSAxNiB0byAyMzUs IGZvciAxMCBiaXRzIHRoZSByYW5nZSBpcyBtdWx0aXBsaWVkIGJ5IDQKKyAgICBpbnQgZmFj dG9yID0gcy0+cGl4ZWxfZGVwdGggPT0gMSA/IDEgOiA0OworCisgICAgLy8gRHN0IG1hdHJp eCBpcyBzbWFsbGVyIHRoYW4gc3JjIHNpbmNlIHdlIGlnbm9yZSBlZGdlcyB0aGF0IGNhbid0 IGJlIGNvbnZvbHZlZAorICAgICNkZWZpbmUgQ09OVk9MVkUoYnBzKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgdWludCMjYnBzIyNfdCAqdnNyYyA9ICh1aW50IyNicHMjI190KilzcmM7ICAgICAgICAg ICAgICAgICAgXAorICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8IHMtPmhlaWdodCAtIDE7 IGorKykgeyAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBmb3IgKGludCBpID0g MTsgaSA8IHMtPndpZHRoIC0gMTsgaSsrKSB7ICAgICAgICAgICAgICAgIFwKKyAgICAgICAg ICAgICAgICB4X2NvbnZfc3VtID0gMC4wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICAgICAgICAgIHlfY29udl9zdW0gPSAwLjA7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgZm9yIChpbnQgayA9 IDA7IGsgPCBmaWx0ZXJfc2l6ZTsgaysrKSB7ICAgICAgICAgICAgIFwKKyAgICAgICAgICAg ICAgICAgICAga2kgPSBrICUgZmlsdGVyX3dpZHRoIC0gMTsgICAgICAgICAgICAgICAgICAg ICAgXAorICAgICAgICAgICAgICAgICAgICBraiA9IGZsb29yKGsgLyBmaWx0ZXJfd2lkdGgp IC0gMTsgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gKGog KyBraikgKiBzdHJpZGUgKyAoaSArIGtpKTsgICAgICAgICAgIFwKKyAgICAgICAgICAgICAg ICAgICAgZGF0YSA9IHMtPmZ1bGxfcmFuZ2UgPyB2c3JjW2luZGV4XSA6IGNvbnZlcnRfZnVs bF9yYW5nZShmYWN0b3IsIHZzcmNbaW5kZXhdKTsgXAorICAgICAgICAgICAgICAgICAgICB4 X2NvbnZfc3VtICs9IGRhdGEgKiBYX0ZJTFRFUltrXTsgICAgICAgICAgICAgICBcCisgICAg ICAgICAgICAgICAgICAgIHlfY29udl9zdW0gKz0gZGF0YSAqIFlfRklMVEVSW2tdOyAgICAg ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIGdyYWRpZW50 ID0gc3FydCh4X2NvbnZfc3VtICogeF9jb252X3N1bSArIHlfY29udl9zdW0gKiB5X2NvbnZf c3VtKTsgXAorICAgICAgICAgICAgICAgIGRzdFsoaiAtIDEpICogKHMtPndpZHRoIC0gMikg KyAoaSAtIDEpXSA9IGdyYWRpZW50OyBcCisgICAgICAgICAgICB9ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorICAgIH0KKworICAgIGlmIChzLT5waXhlbF9kZXB0aCA9PSAyKSB7CisgICAgICAg IENPTlZPTFZFKDE2KTsKKyAgICB9IGVsc2UgeworICAgICAgICBDT05WT0xWRSg4KTsKKyAg ICB9Cit9CisKKy8vIENhbGN1bGF0ZSBwaXhlbCBkaWZmZXJlbmNlIGJldHdlZW4gY3VycmVu dCBhbmQgcHJldmlvdXMgZnJhbWUsIGFuZCB1cGRhdGUgcHJldmlvdXMKK3N0YXRpYyB2b2lk IGNhbGN1bGF0ZV9tb3Rpb24oU2lUaUNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKmN1cnIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0ICptb3Rpb25fbWF0cml4LCBp bnQgbGluZXNpemUpCit7CisgICAgaW50IHN0cmlkZSA9IGxpbmVzaXplIC8gcy0+cGl4ZWxf ZGVwdGg7CisgICAgZmxvYXQgbW90aW9uOworICAgIGludCBjdXJyX2luZGV4OworICAgIGlu dCBwcmV2X2luZGV4OworICAgIHVpbnQxNl90IGN1cnJfZGF0YTsKKyAgICAvLyBGb3IgOCBi aXRzLCBsaW1pdGVkIHJhbmdlIGdvZXMgZnJvbSAxNiB0byAyMzUsIGZvciAxMCBiaXRzIHRo ZSByYW5nZSBpcyBtdWx0aXBsaWVkIGJ5IDQKKyAgICBpbnQgZmFjdG9yID0gcy0+cGl4ZWxf ZGVwdGggPT0gMSA/IDEgOiA0OworCisgICAgLy8gUHJldmlvdXMgZnJhbWUgaXMgYWxyZWFk eSBjb252ZXJ0ZWQgdG8gZnVsbCByYW5nZQorICAgICNkZWZpbmUgQ0FMQ1VMQVRFKGJwcykg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICB1aW50IyNicHMjI190ICp2c3JjID0gKHVpbnQjI2JwcyMjX3Qq KWN1cnI7ICAgICAgICAgICAgICAgICAgXAorICAgICAgICB1aW50IyNicHMjI190ICp2ZHN0 ID0gKHVpbnQjI2JwcyMjX3QqKXMtPnByZXZfZnJhbWU7ICAgICAgICAgXAorICAgICAgICBm b3IgKGludCBqID0gMDsgaiA8IHMtPmhlaWdodDsgaisrKSB7ICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzLT53aWR0aDsgaSsr KSB7ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIG1vdGlvbiA9IDA7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg ICAgICAgIGN1cnJfaW5kZXggPSBqICogc3RyaWRlICsgaTsgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICAgICAgICAgIHByZXZfaW5kZXggPSBqICogcy0+d2lkdGggKyBp OyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIGN1cnJfZGF0YSA9 IHMtPmZ1bGxfcmFuZ2UgPyB2c3JjW2N1cnJfaW5kZXhdIDogY29udmVydF9mdWxsX3Jhbmdl KGZhY3RvciwgdnNyY1tjdXJyX2luZGV4XSk7IFwKKyAgICAgICAgICAgICAgICBpZiAocy0+ bmJfZnJhbWVzID4gMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgICAgICAgICAgICAgbW90aW9uID0gY3Vycl9kYXRhIC0gdmRzdFtwcmV2X2luZGV4XTsg ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICB2ZHN0W3ByZXZfaW5kZXhdID0gY3Vycl9k YXRhOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBtb3Rpb25f bWF0cml4W2ogKiBzLT53aWR0aCArIGldID0gbW90aW9uOyAgICAgICAgICAgIFwKKyAgICAg ICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9CisKKyAgICBpZiAocy0+cGl4 ZWxfZGVwdGggPT0gMikgeworICAgICAgICBDQUxDVUxBVEUoMTYpOworICAgIH0gZWxzZSB7 CisgICAgICAgIENBTENVTEFURSg4KTsKKyAgICB9Cit9CisKK3N0YXRpYyBmbG9hdCBzdGRf ZGV2aWF0aW9uKGZsb2F0ICppbWdfbWV0cmljcywgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQor eworICAgIGludCBzaXplID0gaGVpZ2h0ICogd2lkdGg7CisgICAgZmxvYXQgbWVhbiA9IDAu MDsKKyAgICBmbG9hdCBzcXJfZGlmZiA9IDA7CisKKyAgICBmb3IgKGludCBqID0gMDsgaiA8 IGhlaWdodDsgaisrKQorICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHdpZHRoOyBpKysp CisgICAgICAgICAgICBtZWFuICs9IGltZ19tZXRyaWNzW2ogKiB3aWR0aCArIGldOworCisg ICAgbWVhbiAvPSBzaXplOworCisgICAgZm9yIChpbnQgaiA9IDA7IGogPCBoZWlnaHQ7IGor KykgeworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHdpZHRoOyBpKyspIHsKKyAgICAg ICAgICAgIGZsb2F0IG1lYW5fZGlmZiA9IGltZ19tZXRyaWNzW2ogKiB3aWR0aCArIGldIC0g bWVhbjsKKyAgICAgICAgICAgIHNxcl9kaWZmICs9IChtZWFuX2RpZmYgKiBtZWFuX2RpZmYp OworICAgICAgICB9CisgICAgfQorICAgIHNxcl9kaWZmID0gc3FyX2RpZmYgLyBzaXplOwor ICAgIHJldHVybiBzcXJ0KHNxcl9kaWZmKTsKK30KKworc3RhdGljIHZvaWQgc2V0X21ldGEo QVZEaWN0aW9uYXJ5ICoqbWV0YWRhdGEsIGNvbnN0IGNoYXIgKmtleSwgZmxvYXQgZCkKK3sK KyAgICBjaGFyIHZhbHVlWzEyOF07CisgICAgc25wcmludGYodmFsdWUsIHNpemVvZih2YWx1 ZSksICIlMC4yZiIsIGQpOworICAgIGF2X2RpY3Rfc2V0KG1ldGFkYXRhLCBrZXksIHZhbHVl LCAwKTsKK30KKworc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxp bmssIEFWRnJhbWUgKmZyYW1lKQoreworICAgIEFWRmlsdGVyQ29udGV4dCAqY3R4ID0gaW5s aW5rLT5kc3Q7CisgICAgU2lUaUNvbnRleHQgKnMgPSBjdHgtPnByaXY7CisgICAgZmxvYXQg c2k7CisgICAgZmxvYXQgdGk7CisKKyAgICBzLT5mdWxsX3JhbmdlID0gaXNfZnVsbF9yYW5n ZShmcmFtZSk7CisgICAgcy0+bmJfZnJhbWVzKys7CisKKyAgICAvLyBDYWxjdWxhdGUgc2kg YW5kIHRpCisgICAgY29udm9sdmVfc29iZWwocywgZnJhbWUtPmRhdGFbMF0sIHMtPmdyYWRp ZW50X21hdHJpeCwgZnJhbWUtPmxpbmVzaXplWzBdKTsKKyAgICBjYWxjdWxhdGVfbW90aW9u KHMsIGZyYW1lLT5kYXRhWzBdLCBzLT5tb3Rpb25fbWF0cml4LCBmcmFtZS0+bGluZXNpemVb MF0pOworICAgIHNpID0gc3RkX2RldmlhdGlvbihzLT5ncmFkaWVudF9tYXRyaXgsIHMtPndp ZHRoIC0gMiwgcy0+aGVpZ2h0IC0gMik7CisgICAgdGkgPSBzdGRfZGV2aWF0aW9uKHMtPm1v dGlvbl9tYXRyaXgsIHMtPndpZHRoLCBzLT5oZWlnaHQpOworCisgICAgLy8gQ2FsY3VsYXRl IHN0YXRpc3RpY3MKKyAgICBzLT5tYXhfc2kgID0gZm1heChzaSwgcy0+bWF4X3NpKTsKKyAg ICBzLT5tYXhfdGkgID0gZm1heCh0aSwgcy0+bWF4X3RpKTsKKyAgICBzLT5zdW1fc2kgKz0g c2k7CisgICAgcy0+c3VtX3RpICs9IHRpOworICAgIHMtPm1pbl9zaSAgPSBzLT5uYl9mcmFt ZXMgPT0gMSA/IHNpIDogZm1pbihzaSwgcy0+bWluX3NpKTsKKyAgICBzLT5taW5fdGkgID0g cy0+bmJfZnJhbWVzID09IDEgPyB0aSA6IGZtaW4odGksIHMtPm1pbl90aSk7CisKKyAgICAv LyBTZXQgc2kgdGkgaW5mb3JtYXRpb24gaW4gZnJhbWUgbWV0YWRhdGEKKyAgICBzZXRfbWV0 YSgmZnJhbWUtPm1ldGFkYXRhLCAibGF2Zmkuc2l0aS5zaSIsIHNpKTsKKyAgICBzZXRfbWV0 YSgmZnJhbWUtPm1ldGFkYXRhLCAibGF2Zmkuc2l0aS50aSIsIHRpKTsKKworICAgIHJldHVy biBmZl9maWx0ZXJfZnJhbWUoaW5saW5rLT5kc3QtPm91dHB1dHNbMF0sIGZyYW1lKTsKK30K KworI2RlZmluZSBPRkZTRVQoeCkgb2Zmc2V0b2YoU2lUaUNvbnRleHQsIHgpCisjZGVmaW5l IEZMQUdTIEFWX09QVF9GTEFHX1ZJREVPX1BBUkFNfEFWX09QVF9GTEFHX0ZJTFRFUklOR19Q QVJBTQorCitzdGF0aWMgY29uc3QgQVZPcHRpb24gc2l0aV9vcHRpb25zW10gPSB7CisgICAg eyAicHJpbnRfc3VtbWFyeSIsICJQcmludCBzdW1tYXJ5IHNob3dpbmcgYXZlcmFnZSB2YWx1 ZXMiLCBPRkZTRVQocHJpbnRfc3VtbWFyeSksIEFWX09QVF9UWVBFX0JPT0wsIHsgLmk2ND0w IH0sIDAsIDEsIEZMQUdTIH0sCisgICAgeyBOVUxMIH0KK307CisKK0FWRklMVEVSX0RFRklO RV9DTEFTUyhzaXRpKTsKKworc3RhdGljIGNvbnN0IEFWRmlsdGVyUGFkIGF2ZmlsdGVyX3Zm X3NpdGlfaW5wdXRzW10gPSB7CisgICAgeworICAgICAgICAubmFtZSAgICAgICAgID0gImRl ZmF1bHQiLAorICAgICAgICAudHlwZSAgICAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAor ICAgICAgICAuY29uZmlnX3Byb3BzID0gY29uZmlnX2lucHV0LAorICAgICAgICAuZmlsdGVy X2ZyYW1lID0gZmlsdGVyX2ZyYW1lLAorICAgIH0sCit9OworCitzdGF0aWMgY29uc3QgQVZG aWx0ZXJQYWQgYXZmaWx0ZXJfdmZfc2l0aV9vdXRwdXRzW10gPSB7CisgICAgeworICAgICAg ICAubmFtZSA9ICJkZWZhdWx0IiwKKyAgICAgICAgLnR5cGUgPSBBVk1FRElBX1RZUEVfVklE RU8KKyAgICB9LAorfTsKKworQVZGaWx0ZXIgZmZfdmZfc2l0aSA9IHsKKyAgICAubmFtZSAg ICAgICAgICA9ICJzaXRpIiwKKyAgICAuZGVzY3JpcHRpb24gICA9IE5VTExfSUZfQ09ORklH X1NNQUxMKCJDYWxjdWxhdGUgc3BhdGlhbCBpbmZvcm1hdGlvbiAoU0kpIGFuZCB0ZW1wb3Jh bCBpbmZvcm1hdGlvbiAoVEkpLiIpLAorICAgIC5wcml2X3NpemUgICAgID0gc2l6ZW9mKFNp VGlDb250ZXh0KSwKKyAgICAucHJpdl9jbGFzcyAgICA9ICZzaXRpX2NsYXNzLAorICAgIC5p bml0ICAgICAgICAgID0gaW5pdCwKKyAgICAudW5pbml0ICAgICAgICA9IHVuaW5pdCwKKyAg ICAuZmxhZ3MgICAgICAgICA9IEFWRklMVEVSX0ZMQUdfTUVUQURBVEFfT05MWSwKKyAgICBG SUxURVJfUElYRk1UU19BUlJBWShwaXhfZm10cyksCisgICAgRklMVEVSX0lOUFVUUyhhdmZp bHRlcl92Zl9zaXRpX2lucHV0cyksCisgICAgRklMVEVSX09VVFBVVFMoYXZmaWx0ZXJfdmZf c2l0aV9vdXRwdXRzKSwKK307CmRpZmYgLS1naXQgYS90ZXN0cy9mYXRlLXJ1bi5zaCBiL3Rl c3RzL2ZhdGUtcnVuLnNoCmluZGV4IGZiZmMwYTkyNWQuLmEzYmU0NGQwZWIgMTAwNzU1Ci0t LSBhL3Rlc3RzL2ZhdGUtcnVuLnNoCisrKyBiL3Rlc3RzL2ZhdGUtcnVuLnNoCkBAIC0zODIs NiArMzgyLDE1IEBAIHJlZmNtcF9tZXRhZGF0YSgpewogICAgICAgICAtZiBudWxsIC9kZXYv bnVsbCB8IGF3ayAtdiByZWY9JHtyZWZ9IC12IGZ1eno9JHtmdXp6fSAtZiAke2Jhc2V9L3Jl ZmNtcC1tZXRhZGF0YS5hd2sgLQogfQogCitjbXBfbWV0YWRhdGEoKXsKKyAgICByZWZjbXA9 JDEKKyAgICBwaXhmbXQ9JDIKKyAgICBmdXp6PSR7MzotMC4wMDF9CisgICAgZmZtcGVnICRG TEFHUyAkRU5DX09QVFMgXAorICAgICAgICAtbGF2ZmkgInRlc3RzcmMyPXNpemU9MzAweDIw MDpyYXRlPTE6ZHVyYXRpb249NSxmb3JtYXQ9JHtwaXhmbXR9LCR7cmVmY21wfSxtZXRhZGF0 YT1wcmludDpmaWxlPS0iIFwKKyAgICAgICAgLWYgbnVsbCAvZGV2L251bGwgfCBhd2sgLXYg cmVmPSR7cmVmfSAtdiBmdXp6PSR7ZnV6en0gLWYgJHtiYXNlfS9yZWZjbXAtbWV0YWRhdGEu YXdrIC0KK30KKwogcGl4Zm10X2NvbnZlcnNpb24oKXsKICAgICBjb252ZXJzaW9uPSIke3Rl c3QjcGl4Zm10LX0iCiAgICAgb3V0ZGlyPSJ0ZXN0cy9kYXRhL3BpeGZtdCIKZGlmZiAtLWdp dCBhL3Rlc3RzL2ZhdGUvZmlsdGVyLXZpZGVvLm1hayBiL3Rlc3RzL2ZhdGUvZmlsdGVyLXZp ZGVvLm1hawppbmRleCA3ZGY3OWM3MGU5Li43ODE5MWU4Mzg3IDEwMDY0NAotLS0gYS90ZXN0 cy9mYXRlL2ZpbHRlci12aWRlby5tYWsKKysrIGIvdGVzdHMvZmF0ZS9maWx0ZXItdmlkZW8u bWFrCkBAIC04NTksNiArODU5LDkgQEAgZmF0ZS1maWx0ZXItcmVmY21wLXNzaW0tcmdiOiBD TUQgPSByZWZjbXBfbWV0YWRhdGEgc3NpbSByZ2IyNCAwLjAxNQogRkFURV9GSUxURVItJChj YWxsIEFMTFlFUywgJChSRUZDTVBfREVQUykgU1NJTV9GSUxURVIpICs9IGZhdGUtZmlsdGVy LXJlZmNtcC1zc2ltLXl1dgogZmF0ZS1maWx0ZXItcmVmY21wLXNzaW0teXV2OiBDTUQgPSBy ZWZjbXBfbWV0YWRhdGEgc3NpbSB5dXY0MjJwIDAuMDE1CiAKK0ZBVEVfRklMVEVSLSQoY2Fs bCBBTExZRVMsICQoUkVGQ01QX0RFUFMpIFNJVElfRklMVEVSKSArPSBmYXRlLWZpbHRlci1y ZWZjbXAtc2l0aS15dXYKK2ZhdGUtZmlsdGVyLXJlZmNtcC1zaXRpLXl1djogQ01EID0gY21w X21ldGFkYXRhIHNpdGkgeXV2NDIwcCAwLjAxNQorCiBGQVRFX1NBTVBMRVNfRkZQUk9CRSAr PSAkKEZBVEVfTUVUQURBVEFfRklMVEVSLXllcykKIEZBVEVfU0FNUExFU19GRk1QRUcgKz0g JChGQVRFX0ZJTFRFUl9TQU1QTEVTLXllcykKIEZBVEVfRkZNUEVHICs9ICQoRkFURV9GSUxU RVIteWVzKQpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLXJlZmNtcC1zaXRp LXl1diBiL3Rlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAtc2l0aS15dXYKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNWQ5OTk3MmQ5NQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAtc2l0aS15dXYKQEAgLTAsMCAr MSwxNSBAQAorZnJhbWU6MCAgICBwdHM6MCAgICAgICBwdHNfdGltZTowCitsYXZmaS5zaXRp LnNpPTEwNi43MgorbGF2Zmkuc2l0aS50aT0wLjAwCitmcmFtZToxICAgIHB0czoxICAgICAg IHB0c190aW1lOjEKK2xhdmZpLnNpdGkuc2k9MTA5LjQwCitsYXZmaS5zaXRpLnRpPTI4LjAw CitmcmFtZToyICAgIHB0czoyICAgICAgIHB0c190aW1lOjIKK2xhdmZpLnNpdGkuc2k9MTA5 LjI5CitsYXZmaS5zaXRpLnRpPTI4LjM4CitmcmFtZTozICAgIHB0czozICAgICAgIHB0c190 aW1lOjMKK2xhdmZpLnNpdGkuc2k9MTEzLjI3CitsYXZmaS5zaXRpLnRpPTMzLjQyCitmcmFt ZTo0ICAgIHB0czo0ICAgICAgIHB0c190aW1lOjQKK2xhdmZpLnNpdGkuc2k9MTEwLjg3Cits YXZmaS5zaXRpLnRpPTMwLjUzCi0tIAoyLjIwLjEgKEFwcGxlIEdpdC0xMTcpCgo= --------------mMe5FKubhfWTxJzN0BEc2zSr 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". --------------mMe5FKubhfWTxJzN0BEc2zSr--