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 2841340BCF for ; Tue, 8 Mar 2022 12:25:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5932568B0E7; Tue, 8 Mar 2022 14:25:42 +0200 (EET) Received: from shout02.mail.de (shout02.mail.de [62.201.172.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0C88768A8FD for ; Tue, 8 Mar 2022 14:25:36 +0200 (EET) Received: from postfix01.mail.de (postfix03.bt.mail.de [10.0.121.127]) by shout02.mail.de (Postfix) with ESMTP id 56F9FA01A0 for ; Tue, 8 Mar 2022 13:25:35 +0100 (CET) Received: from smtp01.mail.de (smtp01.bt.mail.de [10.0.121.211]) by postfix01.mail.de (Postfix) with ESMTP id 3BC6280127 for ; Tue, 8 Mar 2022 13:25:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mailde202009; t=1646742335; bh=/OmcpByJKM1jhf/6e196DLE0Cwu92G9g1L+mpMhenW0=; h=Message-ID:Date:Subject:To:From:From:To:CC:Subject:Reply-To; b=6mawIUiryY7f+3FacBNITo3Ld+AXNZ9Wngs1vPGKez5AAuQiSHjxG7ryfb8A8gneB gTq+fo3Tr+2legCq2TTVc4x0TpDjnrnuGSqMzt1BgYyIHVwIvxt2Ock//aM4SKibnG IiHpsSyyXAJ0ohFlL8PVak8v07l1NgYXhkaz1I5/vQa+vI0GOOuClD/CSOxx0bnVdm oG6zE0ix0alpAodr0Xv1JvCCmbIGLr8FNGcsdWsN7Za8X7JvVXDS+vEktYHDHk4Jpa HKfcRzkO+JhKHzdb3fHSGFjtPVev67xPfC14eMaWTtFhI2fMKXBtdRCY4TKX6blR42 HfXkK4koEqrzw== 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 E8801103AEA for ; Tue, 8 Mar 2022 13:25:34 +0100 (CET) Content-Type: multipart/mixed; boundary="------------8UPc21jkBshrc016XEiICSEc" Message-ID: <18f95a99-7efd-1d0c-a824-468ef9b83caa@mail.de> Date: Tue, 8 Mar 2022 13:25:33 +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> <2621fec9-555f-c977-b378-dbfd7a6d115e@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: 27534 X-purgate-ID: 154282::1646742335-000033E8-B3296B58/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. --------------8UPc21jkBshrc016XEiICSEc Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Am 07.03.22 um 20:06 schrieb Paul B Mahol: > On 3/7/22, Thilo Borgmann wrote: >> 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! >> > > Changelog entry is still in wrong, 5.0, section. Fixed in v6. >> Also added a FATE test for it. -Thilo --------------8UPc21jkBshrc016XEiICSEc Content-Type: text/plain; charset=UTF-8; name="v6-0001-lavfilter-Add-SITI-filter.patch" Content-Disposition: attachment; filename="v6-0001-lavfilter-Add-SITI-filter.patch" Content-Transfer-Encoding: base64 RnJvbSBlNDdlNTUyMzQ0ODY2ZmRiYTZmYTNiMTA2NGUyMThlMjQ0N2Y3YTI2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCb3JpcyBCYXJhY2FsZG8gPGJvcmJhcmFrQGZiLmNv bT4KRGF0ZTogVHVlLCA4IE1hciAyMDIyIDEzOjIzOjU4ICswMTAwClN1YmplY3Q6IFtQQVRD SCB2Nl0gbGF2ZmlsdGVyOiBBZGQgU0lUSSBmaWx0ZXIKCkNhbGN1bGF0ZSBTcGF0aWFsIElu Zm8gKFNJKSBhbmQgVGVtcG9yYWwgSW5mbyAoVEkpIHNjb3JlcyBmb3IgYSB2aWRlbywgYXMg ZGVmaW5lZAppbiBJVFUtVCBQLjkxMDogU3ViamVjdGl2ZSB2aWRlbyBxdWFsaXR5IGFzc2Vz c21lbnQgbWV0aG9kcyBmb3IgbXVsdGltZWRpYQphcHBsaWNhdGlvbnMuCi0tLQogQ2hhbmdl bG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBkb2MvZmlsdGVycy50 ZXhpICAgICAgICAgICAgICAgICAgICAgIHwgIDIzICsrCiBsaWJhdmZpbHRlci9NYWtlZmls ZSAgICAgICAgICAgICAgICAgIHwgICAxICsKIGxpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYyAg ICAgICAgICAgICAgfCAgIDEgKwogbGliYXZmaWx0ZXIvdmVyc2lvbi5oICAgICAgICAgICAg ICAgICB8ICAgMiArLQogbGliYXZmaWx0ZXIvdmZfc2l0aS5jICAgICAgICAgICAgICAgICB8 IDM0OSArKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdHMvZmF0ZS1ydW4uc2ggICAg ICAgICAgICAgICAgICAgICB8ICAgOSArCiB0ZXN0cy9mYXRlL2ZpbHRlci12aWRlby5tYWsg ICAgICAgICAgIHwgICAzICsKIHRlc3RzL3JlZi9mYXRlL2ZpbHRlci1yZWZjbXAtc2l0aS15 dXYgfCAgMTUgKysKIDkgZmlsZXMgY2hhbmdlZCwgNDAzIGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZpbHRlci92Zl9zaXRpLmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9yZWYvZmF0ZS9maWx0ZXItcmVmY21wLXNpdGkteXV2 CgpkaWZmIC0tZ2l0IGEvQ2hhbmdlbG9nIGIvQ2hhbmdlbG9nCmluZGV4IDNhZjhhYTAzMmIu LjIwMGJkODI2ODAgMTAwNjQ0Ci0tLSBhL0NoYW5nZWxvZworKysgYi9DaGFuZ2Vsb2cKQEAg LTUsNiArNSw3IEBAIHZlcnNpb24gNS4xOgogLSBkaWFsb2d1ZSBlbmhhbmNlIGF1ZGlvIGZp bHRlcgogLSBkcm9wcGVkIG9ic29sZXRlIFh2TUMgaHdhY2NlbAogLSBwY20tYmx1cmF5IGVu Y29kZXIKKy0gU0lUSSBmaWx0ZXIKIAogCiB2ZXJzaW9uIDUuMDoKZGlmZiAtLWdpdCBhL2Rv Yy9maWx0ZXJzLnRleGkgYi9kb2MvZmlsdGVycy50ZXhpCmluZGV4IDI2YzViNGRiNDguLjlm NTBmZDg5OWYgMTAwNjQ0Ci0tLSBhL2RvYy9maWx0ZXJzLnRleGkKKysrIGIvZG9jL2ZpbHRl cnMudGV4aQpAQCAtMTk5NDQsNiArMTk5NDQsMjkgQEAgZmZtcGVnIC1pIGlucHV0MS5ta3Yg LWkgaW5wdXQyLm1rdiAtZmlsdGVyX2NvbXBsZXggIlswOnZdWzE6dl0gc2lnbmF0dXJlPW5i X2lucHUKIAogQGVuZCBpdGVtaXplCiAKK0BhbmNob3J7c2l0aX0KK0BzZWN0aW9uIHNpdGkK KworQ2FsY3VsYXRlIFNwYXRpYWwgSW5mbyAoU0kpIGFuZCBUZW1wb3JhbCBJbmZvIChUSSkg c2NvcmVzIGZvciBhIHZpZGVvLCBhcyBkZWZpbmVkCitpbiBJVFUtVCBQLjkxMDogU3ViamVj dGl2ZSB2aWRlbyBxdWFsaXR5IGFzc2Vzc21lbnQgbWV0aG9kcyBmb3IgbXVsdGltZWRpYQor YXBwbGljYXRpb25zLiBBdmFpbGFibGUgUERGIGF0IEB1cmx7aHR0cHM6Ly93d3cuaXR1Lmlu dC9yZWMvVC1SRUMtUC45MTAtMTk5OTA5LVMvZW4gfS4KKworSXQgYWNjZXB0cyB0aGUgZm9s bG93aW5nIG9wdGlvbjoKKworQHRhYmxlIEBvcHRpb24KK0BpdGVtIHByaW50X3N1bW1hcnkK K0lmIHNldCB0byAxLCBTdW1tYXJ5IHN0YXRpc3RpY3Mgd2lsbCBiZSBwcmludGVkIHRvIHRo ZSBjb25zb2xlLiBEZWZhdWx0IDAuCitAZW5kIHRhYmxlCisKK0BzdWJzZWN0aW9uIEV4YW1w bGVzCitAaXRlbWl6ZQorQGl0ZW0KK1RvIGNhbGN1bGF0ZSBTSS9USSBtZXRyaWNzIGFuZCBw cmludCBzdW1tYXJ5OgorQGV4YW1wbGUKK2ZmbXBlZyAtaSBpbnB1dC5tcDQgLXZmIHNpdGk9 cHJpbnRfc3VtbWFyeT0xIC1mIG51bGwgLQorQGVuZCBleGFtcGxlCitAZW5kIGl0ZW1pemUK KwogQGFuY2hvcntzbWFydGJsdXJ9CiBAc2VjdGlvbiBzbWFydGJsdXIKIApkaWZmIC0tZ2l0 IGEvbGliYXZmaWx0ZXIvTWFrZWZpbGUgYi9saWJhdmZpbHRlci9NYWtlZmlsZQppbmRleCA1 NmQzM2U2NDgwLi40MzY1MzU5N2Q4IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9NYWtlZmls ZQorKysgYi9saWJhdmZpbHRlci9NYWtlZmlsZQpAQCAtNDU2LDYgKzQ1Niw3IEBAIE9CSlMt JChDT05GSUdfU01BUlRCTFVSX0ZJTFRFUikgICAgICAgICAgICAgICs9IHZmX3NtYXJ0Ymx1 ci5vCiBPQkpTLSQoQ09ORklHX1NPQkVMX0ZJTFRFUikgICAgICAgICAgICAgICAgICArPSB2 Zl9jb252b2x1dGlvbi5vCiBPQkpTLSQoQ09ORklHX1NPQkVMX09QRU5DTF9GSUxURVIpICAg ICAgICAgICArPSB2Zl9jb252b2x1dGlvbl9vcGVuY2wubyBvcGVuY2wubyBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuY2wvY29udm9s dXRpb24ubworT0JKUy0kKENPTkZJR19TSVRJX0ZJTFRFUikgICAgICAgICAgICAgICAgICAg Kz0gdmZfc2l0aS5vCiBPQkpTLSQoQ09ORklHX1NQTElUX0ZJTFRFUikgICAgICAgICAgICAg ICAgICArPSBzcGxpdC5vCiBPQkpTLSQoQ09ORklHX1NQUF9GSUxURVIpICAgICAgICAgICAg ICAgICAgICArPSB2Zl9zcHAubyBxcF90YWJsZS5vCiBPQkpTLSQoQ09ORklHX1NSX0ZJTFRF UikgICAgICAgICAgICAgICAgICAgICArPSB2Zl9zci5vCmRpZmYgLS1naXQgYS9saWJhdmZp bHRlci9hbGxmaWx0ZXJzLmMgYi9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKaW5kZXggZjVj YWVlM2E2Mi4uOWZiYWFhY2Y0NyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWxsZmlsdGVy cy5jCisrKyBiL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYwpAQCAtNDMyLDYgKzQzMiw3IEBA IGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9zaHVmZmxlcGxhbmVzOwogZXh0ZXJuIGNv bnN0IEFWRmlsdGVyIGZmX3ZmX3NpZGVkYXRhOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZm X3ZmX3NpZ25hbHN0YXRzOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NpZ25hdHVy ZTsKK2V4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9zaXRpOwogZXh0ZXJuIGNvbnN0IEFW RmlsdGVyIGZmX3ZmX3NtYXJ0Ymx1cjsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9z b2JlbDsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9zb2JlbF9vcGVuY2w7CmRpZmYg LS1naXQgYS9saWJhdmZpbHRlci92ZXJzaW9uLmggYi9saWJhdmZpbHRlci92ZXJzaW9uLmgK aW5kZXggOWE4OTBjMDE0Zi4uOTVkZDY0ZDViNSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIv dmVyc2lvbi5oCisrKyBiL2xpYmF2ZmlsdGVyL3ZlcnNpb24uaApAQCAtMzAsNyArMzAsNyBA QAogI2luY2x1ZGUgImxpYmF2dXRpbC92ZXJzaW9uLmgiCiAKICNkZWZpbmUgTElCQVZGSUxU RVJfVkVSU0lPTl9NQUpPUiAgIDgKLSNkZWZpbmUgTElCQVZGSUxURVJfVkVSU0lPTl9NSU5P UiAgMjcKKyNkZWZpbmUgTElCQVZGSUxURVJfVkVSU0lPTl9NSU5PUiAgMjgKICNkZWZpbmUg TElCQVZGSUxURVJfVkVSU0lPTl9NSUNSTyAxMDAKIAogCmRpZmYgLS1naXQgYS9saWJhdmZp bHRlci92Zl9zaXRpLmMgYi9saWJhdmZpbHRlci92Zl9zaXRpLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNTMxYzk0MGFlMwotLS0gL2Rldi9udWxsCisrKyBi L2xpYmF2ZmlsdGVyL3ZmX3NpdGkuYwpAQCAtMCwwICsxLDM0OSBAQAorLyoKKyAqIENvcHly aWdodCAoYykgMjAyMSBCb3JpcyBCYXJhY2FsZG8KKyAqIENvcHlyaWdodCAoYykgMjAyMiBU aGlsbyBCb3JnbWFubgorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAq CisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggRkZtcGVn OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s CisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEw LTEzMDEgVVNBLgorICovCisKKy8qKgorICogQGZpbGUKKyAqIENhbGN1bGF0ZSBTcGF0aWFs IEluZm8gKFNJKSBhbmQgVGVtcG9yYWwgSW5mbyAoVEkpIHNjb3JlcworICovCisKKyNpbmNs dWRlIDxtYXRoLmg+CisKKyNpbmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKKyNpbmNs dWRlICJsaWJhdnV0aWwvaW50ZXJuYWwuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvb3B0Lmgi CisKKyNpbmNsdWRlICJhdmZpbHRlci5oIgorI2luY2x1ZGUgImZvcm1hdHMuaCIKKyNpbmNs dWRlICJpbnRlcm5hbC5oIgorI2luY2x1ZGUgInZpZGVvLmgiCisKK3N0YXRpYyBjb25zdCBp bnQgWF9GSUxURVJbOV0gPSB7CisgICAgMSwgMCwgLTEsCisgICAgMiwgMCwgLTIsCisgICAg MSwgMCwgLTEKK307CisKK3N0YXRpYyBjb25zdCBpbnQgWV9GSUxURVJbOV0gPSB7CisgICAg MSwgMiwgMSwKKyAgICAwLCAwLCAwLAorICAgIC0xLCAtMiwgLTEKK307CisKK3R5cGVkZWYg c3RydWN0IFNpVGlDb250ZXh0IHsKKyAgICBjb25zdCBBVkNsYXNzICpjbGFzczsKKyAgICBp bnQgcGl4ZWxfZGVwdGg7CisgICAgaW50IHdpZHRoLCBoZWlnaHQ7CisgICAgdWludDY0X3Qg bmJfZnJhbWVzOworICAgIHVpbnQ4X3QgKnByZXZfZnJhbWU7CisgICAgZmxvYXQgbWF4X3Np OworICAgIGZsb2F0IG1heF90aTsKKyAgICBmbG9hdCBtaW5fc2k7CisgICAgZmxvYXQgbWlu X3RpOworICAgIGZsb2F0IHN1bV9zaTsKKyAgICBmbG9hdCBzdW1fdGk7CisgICAgZmxvYXQg KmdyYWRpZW50X21hdHJpeDsKKyAgICBmbG9hdCAqbW90aW9uX21hdHJpeDsKKyAgICBpbnQg ZnVsbF9yYW5nZTsKKyAgICBpbnQgcHJpbnRfc3VtbWFyeTsKK30gU2lUaUNvbnRleHQ7CisK K3N0YXRpYyBjb25zdCBlbnVtIEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdHNbXSA9IHsKKyAgICBB Vl9QSVhfRk1UX1lVVjQyMFAsIEFWX1BJWF9GTVRfWVVWNDIyUCwKKyAgICBBVl9QSVhfRk1U X1lVVko0MjBQLCBBVl9QSVhfRk1UX1lVVko0MjJQLAorICAgIEFWX1BJWF9GTVRfWVVWNDIw UDEwLCBBVl9QSVhfRk1UX1lVVjQyMlAxMCwKKyAgICBBVl9QSVhfRk1UX05PTkUKK307CisK K3N0YXRpYyBhdl9jb2xkIGludCBpbml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQoreworICAg IC8vIFVzZXIgb3B0aW9ucyBidXQgbm8gaW5wdXQgZGF0YQorICAgIFNpVGlDb250ZXh0ICpz ID0gY3R4LT5wcml2OworICAgIHMtPm1heF9zaSA9IDA7CisgICAgcy0+bWF4X3RpID0gMDsK KyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGF2X2NvbGQgdm9pZCB1bmluaXQoQVZGaWx0 ZXJDb250ZXh0ICpjdHgpCit7CisgICAgU2lUaUNvbnRleHQgKnMgPSBjdHgtPnByaXY7CisK KyAgICBpZiAocy0+cHJpbnRfc3VtbWFyeSkgeworICAgICAgICBmbG9hdCBhdmdfc2kgPSBz LT5zdW1fc2kgLyBzLT5uYl9mcmFtZXM7CisgICAgICAgIGZsb2F0IGF2Z190aSA9IHMtPnN1 bV90aSAvIHMtPm5iX2ZyYW1lczsKKyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8s CisgICAgICAgICAgICAgICAiU0lUSSBTdW1tYXJ5OlxuVG90YWwgZnJhbWVzOiAlIlBSSWQ2 NCJcblxuIgorICAgICAgICAgICAgICAgIlNwYXRpYWwgSW5mb3JtYXRpb246XG5BdmVyYWdl OiAlZlxuTWF4OiAlZlxuTWluOiAlZlxuXG4iCisgICAgICAgICAgICAgICAiVGVtcG9yYWwg SW5mb3JtYXRpb246XG5BdmVyYWdlOiAlZlxuTWF4OiAlZlxuTWluOiAlZlxuIiwKKyAgICAg ICAgICAgICAgIHMtPm5iX2ZyYW1lcywgYXZnX3NpLCBzLT5tYXhfc2ksIHMtPm1pbl9zaSwg YXZnX3RpLCBzLT5tYXhfdGksIHMtPm1pbl90aQorICAgICAgICApOworICAgIH0KKworICAg IGF2X2ZyZWVwKCZzLT5wcmV2X2ZyYW1lKTsKKyAgICBhdl9mcmVlcCgmcy0+Z3JhZGllbnRf bWF0cml4KTsKKyAgICBhdl9mcmVlcCgmcy0+bW90aW9uX21hdHJpeCk7Cit9CisKK3N0YXRp YyBpbnQgY29uZmlnX2lucHV0KEFWRmlsdGVyTGluayAqaW5saW5rKQoreworICAgIC8vIFZp ZGVvIGlucHV0IGRhdGEgYXZpbGFibGUKKyAgICBBVkZpbHRlckNvbnRleHQgKmN0eCA9IGlu bGluay0+ZHN0OworICAgIFNpVGlDb250ZXh0ICpzID0gY3R4LT5wcml2OworICAgIGludCBt YXhfcGl4c3RlcHNbNF07CisgICAgc2l6ZV90IHBpeGVsX3N6OworICAgIHNpemVfdCBkYXRh X3N6OworICAgIHNpemVfdCBncmFkaWVudF9zejsKKyAgICBzaXplX3QgbW90aW9uX3N6Owor CisgICAgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNjID0gYXZfcGl4X2ZtdF9kZXNj X2dldChpbmxpbmstPmZvcm1hdCk7CisgICAgYXZfaW1hZ2VfZmlsbF9tYXhfcGl4c3RlcHMo bWF4X3BpeHN0ZXBzLCBOVUxMLCBkZXNjKTsKKworICAgIC8vIGZyZWUgcHJldmlvdXMgYnVm ZmVycyBpbiBjYXNlIHRoZXkgYXJlIGFsbG9jYXRlZCBhbHJlYWR5CisgICAgYXZfZnJlZXAo JnMtPnByZXZfZnJhbWUpOworICAgIGF2X2ZyZWVwKCZzLT5ncmFkaWVudF9tYXRyaXgpOwor ICAgIGF2X2ZyZWVwKCZzLT5tb3Rpb25fbWF0cml4KTsKKworICAgIHMtPnBpeGVsX2RlcHRo ID0gbWF4X3BpeHN0ZXBzWzBdOworICAgIHMtPndpZHRoID0gaW5saW5rLT53OworICAgIHMt PmhlaWdodCA9IGlubGluay0+aDsKKyAgICBwaXhlbF9zeiA9IHMtPnBpeGVsX2RlcHRoID09 IDEgPyBzaXplb2YodWludDhfdCkgOiBzaXplb2YodWludDE2X3QpOworICAgIGRhdGFfc3og PSBzLT53aWR0aCAqIHBpeGVsX3N6ICogcy0+aGVpZ2h0OworCisgICAgcy0+cHJldl9mcmFt ZSA9IGF2X21hbGxvYyhkYXRhX3N6KTsKKworICAgIGdyYWRpZW50X3N6ID0gKHMtPndpZHRo IC0gMikgKiBzaXplb2YoZmxvYXQpICogKHMtPmhlaWdodCAtIDIpOworICAgIHMtPmdyYWRp ZW50X21hdHJpeCA9IGF2X21hbGxvYyhncmFkaWVudF9zeik7CisKKyAgICBtb3Rpb25fc3og PSBzLT53aWR0aCAqIHNpemVvZihmbG9hdCkgKiBzLT5oZWlnaHQ7CisgICAgcy0+bW90aW9u X21hdHJpeCA9IGF2X21hbGxvYyhtb3Rpb25fc3opOworCisgICAgaWYgKCFzLT5wcmV2X2Zy YW1lIHx8ICEgcy0+Z3JhZGllbnRfbWF0cml4IHx8ICFzLT5tb3Rpb25fbWF0cml4KSB7Cisg ICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisgICAgfQorCisgICAgcmV0dXJuIDA7 Cit9CisKKy8vIERldGVybWluZSB3aGV0aGVyIHRoZSB2aWRlbyBpcyBpbiBmdWxsIG9yIGxp bWl0ZWQgcmFuZ2UuIElmIG5vdCBkZWZpbmVkLCBhc3N1bWUgbGltaXRlZC4KK3N0YXRpYyBp bnQgaXNfZnVsbF9yYW5nZShBVkZyYW1lKiBmcmFtZSkKK3sKKyAgICAvLyBJZiBjb2xvciBy YW5nZSBub3Qgc3BlY2lmaWVkLCBmYWxsYmFjayB0byBwaXhlbCBmb3JtYXQKKyAgICBpZiAo ZnJhbWUtPmNvbG9yX3JhbmdlID09IEFWQ09MX1JBTkdFX1VOU1BFQ0lGSUVEIHx8IGZyYW1l LT5jb2xvcl9yYW5nZSA9PSBBVkNPTF9SQU5HRV9OQikKKyAgICAgICAgcmV0dXJuIGZyYW1l LT5mb3JtYXQgPT0gQVZfUElYX0ZNVF9ZVVZKNDIwUCB8fCBmcmFtZS0+Zm9ybWF0ID09IEFW X1BJWF9GTVRfWVVWSjQyMlA7CisgICAgcmV0dXJuIGZyYW1lLT5jb2xvcl9yYW5nZSA9PSBB VkNPTF9SQU5HRV9KUEVHOworfQorCisvLyBDaGVjayBmcmFtZSdzIGNvbG9yIHJhbmdlIGFu ZCBjb252ZXJ0IHRvIGZ1bGwgcmFuZ2UgaWYgbmVlZGVkCitzdGF0aWMgdWludDE2X3QgY29u dmVydF9mdWxsX3JhbmdlKGludCBmYWN0b3IsIHVpbnQxNl90IHkpCit7CisgICAgaW50IHNo aWZ0OworICAgIGludCBsaW1pdF91cHBlcjsKKyAgICBpbnQgZnVsbF91cHBlcjsKKyAgICBp bnQgbGltaXRfeTsKKworICAgIC8vIEZvciA4IGJpdHMsIGxpbWl0ZWQgcmFuZ2UgZ29lcyBm cm9tIDE2IHRvIDIzNSwgZm9yIDEwIGJpdHMgdGhlIHJhbmdlIGlzIG11bHRpcGxpZWQgYnkg NAorICAgIHNoaWZ0ID0gMTYgKiBmYWN0b3I7CisgICAgbGltaXRfdXBwZXIgPSAyMzUgKiBm YWN0b3IgLSBzaGlmdDsKKyAgICBmdWxsX3VwcGVyID0gMjU2ICogZmFjdG9yIC0gMTsKKyAg ICBsaW1pdF95ID0gZm1pbihmbWF4KHkgLSBzaGlmdCwgMCksIGxpbWl0X3VwcGVyKTsKKyAg ICByZXR1cm4gKGZ1bGxfdXBwZXIgKiBsaW1pdF95IC8gbGltaXRfdXBwZXIpOworfQorCisv LyBBcHBsaWVzIHNvYmVsIGNvbnZvbHV0aW9uCitzdGF0aWMgdm9pZCBjb252b2x2ZV9zb2Jl bChTaVRpQ29udGV4dCAqcywgY29uc3QgdWludDhfdCAqc3JjLCBmbG9hdCAqZHN0LCBpbnQg bGluZXNpemUpCit7CisgICAgZmxvYXQgeF9jb252X3N1bTsKKyAgICBmbG9hdCB5X2NvbnZf c3VtOworICAgIGZsb2F0IGdyYWRpZW50OworICAgIGludCBraTsKKyAgICBpbnQga2o7Cisg ICAgaW50IGluZGV4OworICAgIHVpbnQxNl90IGRhdGE7CisgICAgaW50IGZpbHRlcl93aWR0 aCA9IDM7CisgICAgaW50IGZpbHRlcl9zaXplID0gZmlsdGVyX3dpZHRoICogZmlsdGVyX3dp ZHRoOworICAgIGludCBzdHJpZGUgPSBsaW5lc2l6ZSAvIHMtPnBpeGVsX2RlcHRoOworICAg IC8vIEZvciA4IGJpdHMsIGxpbWl0ZWQgcmFuZ2UgZ29lcyBmcm9tIDE2IHRvIDIzNSwgZm9y IDEwIGJpdHMgdGhlIHJhbmdlIGlzIG11bHRpcGxpZWQgYnkgNAorICAgIGludCBmYWN0b3Ig PSBzLT5waXhlbF9kZXB0aCA9PSAxID8gMSA6IDQ7CisKKyAgICAvLyBEc3QgbWF0cml4IGlz IHNtYWxsZXIgdGhhbiBzcmMgc2luY2Ugd2UgaWdub3JlIGVkZ2VzIHRoYXQgY2FuJ3QgYmUg Y29udm9sdmVkCisgICAgI2RlZmluZSBDT05WT0xWRShicHMpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB1 aW50IyNicHMjI190ICp2c3JjID0gKHVpbnQjI2JwcyMjX3QqKXNyYzsgICAgICAgICAgICAg ICAgICBcCisgICAgICAgIGZvciAoaW50IGogPSAxOyBqIDwgcy0+aGVpZ2h0IC0gMTsgaisr KSB7ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGZvciAoaW50IGkgPSAxOyBp IDwgcy0+d2lkdGggLSAxOyBpKyspIHsgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg ICAgIHhfY29udl9zdW0gPSAwLjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgICAgICAgICAgeV9jb252X3N1bSA9IDAuMDsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBmb3IgKGludCBrID0gMDsg ayA8IGZpbHRlcl9zaXplOyBrKyspIHsgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAg ICAgICBraSA9IGsgJSBmaWx0ZXJfd2lkdGggLSAxOyAgICAgICAgICAgICAgICAgICAgICBc CisgICAgICAgICAgICAgICAgICAgIGtqID0gZmxvb3IoayAvIGZpbHRlcl93aWR0aCkgLSAx OyAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgaW5kZXggPSAoaiArIGtq KSAqIHN0cmlkZSArIChpICsga2kpOyAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAg ICBkYXRhID0gcy0+ZnVsbF9yYW5nZSA/IHZzcmNbaW5kZXhdIDogY29udmVydF9mdWxsX3Jh bmdlKGZhY3RvciwgdnNyY1tpbmRleF0pOyBcCisgICAgICAgICAgICAgICAgICAgIHhfY29u dl9zdW0gKz0gZGF0YSAqIFhfRklMVEVSW2tdOyAgICAgICAgICAgICAgIFwKKyAgICAgICAg ICAgICAgICAgICAgeV9jb252X3N1bSArPSBkYXRhICogWV9GSUxURVJba107ICAgICAgICAg ICAgICAgXAorICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgZ3JhZGllbnQgPSBz cXJ0KHhfY29udl9zdW0gKiB4X2NvbnZfc3VtICsgeV9jb252X3N1bSAqIHlfY29udl9zdW0p OyBcCisgICAgICAgICAgICAgICAgZHN0WyhqIC0gMSkgKiAocy0+d2lkdGggLSAyKSArIChp IC0gMSldID0gZ3JhZGllbnQ7IFwKKyAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgICAgfQorCisgICAgaWYgKHMtPnBpeGVsX2RlcHRoID09IDIpIHsKKyAgICAgICAgQ09O Vk9MVkUoMTYpOworICAgIH0gZWxzZSB7CisgICAgICAgIENPTlZPTFZFKDgpOworICAgIH0K K30KKworLy8gQ2FsY3VsYXRlIHBpeGVsIGRpZmZlcmVuY2UgYmV0d2VlbiBjdXJyZW50IGFu ZCBwcmV2aW91cyBmcmFtZSwgYW5kIHVwZGF0ZSBwcmV2aW91cworc3RhdGljIHZvaWQgY2Fs Y3VsYXRlX21vdGlvbihTaVRpQ29udGV4dCAqcywgY29uc3QgdWludDhfdCAqY3VyciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgKm1vdGlvbl9tYXRyaXgsIGludCBs aW5lc2l6ZSkKK3sKKyAgICBpbnQgc3RyaWRlID0gbGluZXNpemUgLyBzLT5waXhlbF9kZXB0 aDsKKyAgICBmbG9hdCBtb3Rpb247CisgICAgaW50IGN1cnJfaW5kZXg7CisgICAgaW50IHBy ZXZfaW5kZXg7CisgICAgdWludDE2X3QgY3Vycl9kYXRhOworICAgIC8vIEZvciA4IGJpdHMs IGxpbWl0ZWQgcmFuZ2UgZ29lcyBmcm9tIDE2IHRvIDIzNSwgZm9yIDEwIGJpdHMgdGhlIHJh bmdlIGlzIG11bHRpcGxpZWQgYnkgNAorICAgIGludCBmYWN0b3IgPSBzLT5waXhlbF9kZXB0 aCA9PSAxID8gMSA6IDQ7CisKKyAgICAvLyBQcmV2aW91cyBmcmFtZSBpcyBhbHJlYWR5IGNv bnZlcnRlZCB0byBmdWxsIHJhbmdlCisgICAgI2RlZmluZSBDQUxDVUxBVEUoYnBzKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgIHVpbnQjI2JwcyMjX3QgKnZzcmMgPSAodWludCMjYnBzIyNfdCopY3Vy cjsgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHVpbnQjI2JwcyMjX3QgKnZkc3QgPSAo dWludCMjYnBzIyNfdCopcy0+cHJldl9mcmFtZTsgICAgICAgICBcCisgICAgICAgIGZvciAo aW50IGogPSAwOyBqIDwgcy0+aGVpZ2h0OyBqKyspIHsgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHMtPndpZHRoOyBpKyspIHsg ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgbW90aW9uID0gMDsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg ICAgY3Vycl9pbmRleCA9IGogKiBzdHJpZGUgKyBpOyAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgICAgICAgICAgcHJldl9pbmRleCA9IGogKiBzLT53aWR0aCArIGk7ICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgY3Vycl9kYXRhID0gcy0+ ZnVsbF9yYW5nZSA/IHZzcmNbY3Vycl9pbmRleF0gOiBjb252ZXJ0X2Z1bGxfcmFuZ2UoZmFj dG9yLCB2c3JjW2N1cnJfaW5kZXhdKTsgXAorICAgICAgICAgICAgICAgIGlmIChzLT5uYl9m cmFtZXMgPiAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg ICAgICAgICAgICBtb3Rpb24gPSBjdXJyX2RhdGEgLSB2ZHN0W3ByZXZfaW5kZXhdOyAgICAg ICAgICAgXAorICAgICAgICAgICAgICAgIHZkc3RbcHJldl9pbmRleF0gPSBjdXJyX2RhdGE7 ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIG1vdGlvbl9tYXRy aXhbaiAqIHMtPndpZHRoICsgaV0gPSBtb3Rpb247ICAgICAgICAgICAgXAorICAgICAgICAg ICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworICAgIGlmIChzLT5waXhlbF9k ZXB0aCA9PSAyKSB7CisgICAgICAgIENBTENVTEFURSgxNik7CisgICAgfSBlbHNlIHsKKyAg ICAgICAgQ0FMQ1VMQVRFKDgpOworICAgIH0KK30KKworc3RhdGljIGZsb2F0IHN0ZF9kZXZp YXRpb24oZmxvYXQgKmltZ19tZXRyaWNzLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7Cisg ICAgaW50IHNpemUgPSBoZWlnaHQgKiB3aWR0aDsKKyAgICBmbG9hdCBtZWFuID0gMC4wOwor ICAgIGZsb2F0IHNxcl9kaWZmID0gMDsKKworICAgIGZvciAoaW50IGogPSAwOyBqIDwgaGVp Z2h0OyBqKyspCisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgd2lkdGg7IGkrKykKKyAg ICAgICAgICAgIG1lYW4gKz0gaW1nX21ldHJpY3NbaiAqIHdpZHRoICsgaV07CisKKyAgICBt ZWFuIC89IHNpemU7CisKKyAgICBmb3IgKGludCBqID0gMDsgaiA8IGhlaWdodDsgaisrKSB7 CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgd2lkdGg7IGkrKykgeworICAgICAgICAg ICAgZmxvYXQgbWVhbl9kaWZmID0gaW1nX21ldHJpY3NbaiAqIHdpZHRoICsgaV0gLSBtZWFu OworICAgICAgICAgICAgc3FyX2RpZmYgKz0gKG1lYW5fZGlmZiAqIG1lYW5fZGlmZik7Cisg ICAgICAgIH0KKyAgICB9CisgICAgc3FyX2RpZmYgPSBzcXJfZGlmZiAvIHNpemU7CisgICAg cmV0dXJuIHNxcnQoc3FyX2RpZmYpOworfQorCitzdGF0aWMgdm9pZCBzZXRfbWV0YShBVkRp Y3Rpb25hcnkgKiptZXRhZGF0YSwgY29uc3QgY2hhciAqa2V5LCBmbG9hdCBkKQoreworICAg IGNoYXIgdmFsdWVbMTI4XTsKKyAgICBzbnByaW50Zih2YWx1ZSwgc2l6ZW9mKHZhbHVlKSwg IiUwLjJmIiwgZCk7CisgICAgYXZfZGljdF9zZXQobWV0YWRhdGEsIGtleSwgdmFsdWUsIDAp OworfQorCitzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGluaywg QVZGcmFtZSAqZnJhbWUpCit7CisgICAgQVZGaWx0ZXJDb250ZXh0ICpjdHggPSBpbmxpbmst PmRzdDsKKyAgICBTaVRpQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKyAgICBmbG9hdCBzaTsK KyAgICBmbG9hdCB0aTsKKworICAgIHMtPmZ1bGxfcmFuZ2UgPSBpc19mdWxsX3JhbmdlKGZy YW1lKTsKKyAgICBzLT5uYl9mcmFtZXMrKzsKKworICAgIC8vIENhbGN1bGF0ZSBzaSBhbmQg dGkKKyAgICBjb252b2x2ZV9zb2JlbChzLCBmcmFtZS0+ZGF0YVswXSwgcy0+Z3JhZGllbnRf bWF0cml4LCBmcmFtZS0+bGluZXNpemVbMF0pOworICAgIGNhbGN1bGF0ZV9tb3Rpb24ocywg ZnJhbWUtPmRhdGFbMF0sIHMtPm1vdGlvbl9tYXRyaXgsIGZyYW1lLT5saW5lc2l6ZVswXSk7 CisgICAgc2kgPSBzdGRfZGV2aWF0aW9uKHMtPmdyYWRpZW50X21hdHJpeCwgcy0+d2lkdGgg LSAyLCBzLT5oZWlnaHQgLSAyKTsKKyAgICB0aSA9IHN0ZF9kZXZpYXRpb24ocy0+bW90aW9u X21hdHJpeCwgcy0+d2lkdGgsIHMtPmhlaWdodCk7CisKKyAgICAvLyBDYWxjdWxhdGUgc3Rh dGlzdGljcworICAgIHMtPm1heF9zaSAgPSBmbWF4KHNpLCBzLT5tYXhfc2kpOworICAgIHMt Pm1heF90aSAgPSBmbWF4KHRpLCBzLT5tYXhfdGkpOworICAgIHMtPnN1bV9zaSArPSBzaTsK KyAgICBzLT5zdW1fdGkgKz0gdGk7CisgICAgcy0+bWluX3NpICA9IHMtPm5iX2ZyYW1lcyA9 PSAxID8gc2kgOiBmbWluKHNpLCBzLT5taW5fc2kpOworICAgIHMtPm1pbl90aSAgPSBzLT5u Yl9mcmFtZXMgPT0gMSA/IHRpIDogZm1pbih0aSwgcy0+bWluX3RpKTsKKworICAgIC8vIFNl dCBzaSB0aSBpbmZvcm1hdGlvbiBpbiBmcmFtZSBtZXRhZGF0YQorICAgIHNldF9tZXRhKCZm cmFtZS0+bWV0YWRhdGEsICJsYXZmaS5zaXRpLnNpIiwgc2kpOworICAgIHNldF9tZXRhKCZm cmFtZS0+bWV0YWRhdGEsICJsYXZmaS5zaXRpLnRpIiwgdGkpOworCisgICAgcmV0dXJuIGZm X2ZpbHRlcl9mcmFtZShpbmxpbmstPmRzdC0+b3V0cHV0c1swXSwgZnJhbWUpOworfQorCisj ZGVmaW5lIE9GRlNFVCh4KSBvZmZzZXRvZihTaVRpQ29udGV4dCwgeCkKKyNkZWZpbmUgRkxB R1MgQVZfT1BUX0ZMQUdfVklERU9fUEFSQU18QVZfT1BUX0ZMQUdfRklMVEVSSU5HX1BBUkFN CisKK3N0YXRpYyBjb25zdCBBVk9wdGlvbiBzaXRpX29wdGlvbnNbXSA9IHsKKyAgICB7ICJw cmludF9zdW1tYXJ5IiwgIlByaW50IHN1bW1hcnkgc2hvd2luZyBhdmVyYWdlIHZhbHVlcyIs IE9GRlNFVChwcmludF9zdW1tYXJ5KSwgQVZfT1BUX1RZUEVfQk9PTCwgeyAuaTY0PTAgfSwg MCwgMSwgRkxBR1MgfSwKKyAgICB7IE5VTEwgfQorfTsKKworQVZGSUxURVJfREVGSU5FX0NM QVNTKHNpdGkpOworCitzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgYXZmaWx0ZXJfdmZfc2l0 aV9pbnB1dHNbXSA9IHsKKyAgICB7CisgICAgICAgIC5uYW1lICAgICAgICAgPSAiZGVmYXVs dCIsCisgICAgICAgIC50eXBlICAgICAgICAgPSBBVk1FRElBX1RZUEVfVklERU8sCisgICAg ICAgIC5jb25maWdfcHJvcHMgPSBjb25maWdfaW5wdXQsCisgICAgICAgIC5maWx0ZXJfZnJh bWUgPSBmaWx0ZXJfZnJhbWUsCisgICAgfSwKK307CisKK3N0YXRpYyBjb25zdCBBVkZpbHRl clBhZCBhdmZpbHRlcl92Zl9zaXRpX291dHB1dHNbXSA9IHsKKyAgICB7CisgICAgICAgIC5u YW1lID0gImRlZmF1bHQiLAorICAgICAgICAudHlwZSA9IEFWTUVESUFfVFlQRV9WSURFTwor ICAgIH0sCit9OworCitBVkZpbHRlciBmZl92Zl9zaXRpID0geworICAgIC5uYW1lICAgICAg ICAgID0gInNpdGkiLAorICAgIC5kZXNjcmlwdGlvbiAgID0gTlVMTF9JRl9DT05GSUdfU01B TEwoIkNhbGN1bGF0ZSBzcGF0aWFsIGluZm9ybWF0aW9uIChTSSkgYW5kIHRlbXBvcmFsIGlu Zm9ybWF0aW9uIChUSSkuIiksCisgICAgLnByaXZfc2l6ZSAgICAgPSBzaXplb2YoU2lUaUNv bnRleHQpLAorICAgIC5wcml2X2NsYXNzICAgID0gJnNpdGlfY2xhc3MsCisgICAgLmluaXQg ICAgICAgICAgPSBpbml0LAorICAgIC51bmluaXQgICAgICAgID0gdW5pbml0LAorICAgIC5m bGFncyAgICAgICAgID0gQVZGSUxURVJfRkxBR19NRVRBREFUQV9PTkxZLAorICAgIEZJTFRF Ul9QSVhGTVRTX0FSUkFZKHBpeF9mbXRzKSwKKyAgICBGSUxURVJfSU5QVVRTKGF2ZmlsdGVy X3ZmX3NpdGlfaW5wdXRzKSwKKyAgICBGSUxURVJfT1VUUFVUUyhhdmZpbHRlcl92Zl9zaXRp X291dHB1dHMpLAorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2ZhdGUtcnVuLnNoIGIvdGVzdHMv ZmF0ZS1ydW4uc2gKaW5kZXggZmJmYzBhOTI1ZC4uYTNiZTQ0ZDBlYiAxMDA3NTUKLS0tIGEv dGVzdHMvZmF0ZS1ydW4uc2gKKysrIGIvdGVzdHMvZmF0ZS1ydW4uc2gKQEAgLTM4Miw2ICsz ODIsMTUgQEAgcmVmY21wX21ldGFkYXRhKCl7CiAgICAgICAgIC1mIG51bGwgL2Rldi9udWxs IHwgYXdrIC12IHJlZj0ke3JlZn0gLXYgZnV6ej0ke2Z1enp9IC1mICR7YmFzZX0vcmVmY21w LW1ldGFkYXRhLmF3ayAtCiB9CiAKK2NtcF9tZXRhZGF0YSgpeworICAgIHJlZmNtcD0kMQor ICAgIHBpeGZtdD0kMgorICAgIGZ1eno9JHszOi0wLjAwMX0KKyAgICBmZm1wZWcgJEZMQUdT ICRFTkNfT1BUUyBcCisgICAgICAgIC1sYXZmaSAidGVzdHNyYzI9c2l6ZT0zMDB4MjAwOnJh dGU9MTpkdXJhdGlvbj01LGZvcm1hdD0ke3BpeGZtdH0sJHtyZWZjbXB9LG1ldGFkYXRhPXBy aW50OmZpbGU9LSIgXAorICAgICAgICAtZiBudWxsIC9kZXYvbnVsbCB8IGF3ayAtdiByZWY9 JHtyZWZ9IC12IGZ1eno9JHtmdXp6fSAtZiAke2Jhc2V9L3JlZmNtcC1tZXRhZGF0YS5hd2sg LQorfQorCiBwaXhmbXRfY29udmVyc2lvbigpewogICAgIGNvbnZlcnNpb249IiR7dGVzdCNw aXhmbXQtfSIKICAgICBvdXRkaXI9InRlc3RzL2RhdGEvcGl4Zm10IgpkaWZmIC0tZ2l0IGEv dGVzdHMvZmF0ZS9maWx0ZXItdmlkZW8ubWFrIGIvdGVzdHMvZmF0ZS9maWx0ZXItdmlkZW8u bWFrCmluZGV4IDUxMGJiM2ZmYmMuLmFlMDIxYTc0YTQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2Zh dGUvZmlsdGVyLXZpZGVvLm1haworKysgYi90ZXN0cy9mYXRlL2ZpbHRlci12aWRlby5tYWsK QEAgLTg2Miw2ICs4NjIsOSBAQCBmYXRlLWZpbHRlci1yZWZjbXAtc3NpbS1yZ2I6IENNRCA9 IHJlZmNtcF9tZXRhZGF0YSBzc2ltIHJnYjI0IDAuMDE1CiBGQVRFX0ZJTFRFUi0kKGNhbGwg QUxMWUVTLCAkKFJFRkNNUF9ERVBTKSBTU0lNX0ZJTFRFUikgKz0gZmF0ZS1maWx0ZXItcmVm Y21wLXNzaW0teXV2CiBmYXRlLWZpbHRlci1yZWZjbXAtc3NpbS15dXY6IENNRCA9IHJlZmNt cF9tZXRhZGF0YSBzc2ltIHl1djQyMnAgMC4wMTUKIAorRkFURV9GSUxURVItJChjYWxsIEFM TFlFUywgJChSRUZDTVBfREVQUykgU0lUSV9GSUxURVIpICs9IGZhdGUtZmlsdGVyLXJlZmNt cC1zaXRpLXl1dgorZmF0ZS1maWx0ZXItcmVmY21wLXNpdGkteXV2OiBDTUQgPSBjbXBfbWV0 YWRhdGEgc2l0aSB5dXY0MjBwIDAuMDE1CisKIEZBVEVfU0FNUExFU19GRlBST0JFICs9ICQo RkFURV9NRVRBREFUQV9GSUxURVIteWVzKQogRkFURV9TQU1QTEVTX0ZGTVBFRyArPSAkKEZB VEVfRklMVEVSX1NBTVBMRVMteWVzKQogRkFURV9GRk1QRUcgKz0gJChGQVRFX0ZJTFRFUi15 ZXMpCmRpZmYgLS1naXQgYS90ZXN0cy9yZWYvZmF0ZS9maWx0ZXItcmVmY21wLXNpdGkteXV2 IGIvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLXJlZmNtcC1zaXRpLXl1dgpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi41ZDk5OTcyZDk1Ci0tLSAvZGV2L251bGwKKysr IGIvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLXJlZmNtcC1zaXRpLXl1dgpAQCAtMCwwICsxLDE1 IEBACitmcmFtZTowICAgIHB0czowICAgICAgIHB0c190aW1lOjAKK2xhdmZpLnNpdGkuc2k9 MTA2LjcyCitsYXZmaS5zaXRpLnRpPTAuMDAKK2ZyYW1lOjEgICAgcHRzOjEgICAgICAgcHRz X3RpbWU6MQorbGF2Zmkuc2l0aS5zaT0xMDkuNDAKK2xhdmZpLnNpdGkudGk9MjguMDAKK2Zy YW1lOjIgICAgcHRzOjIgICAgICAgcHRzX3RpbWU6MgorbGF2Zmkuc2l0aS5zaT0xMDkuMjkK K2xhdmZpLnNpdGkudGk9MjguMzgKK2ZyYW1lOjMgICAgcHRzOjMgICAgICAgcHRzX3RpbWU6 MworbGF2Zmkuc2l0aS5zaT0xMTMuMjcKK2xhdmZpLnNpdGkudGk9MzMuNDIKK2ZyYW1lOjQg ICAgcHRzOjQgICAgICAgcHRzX3RpbWU6NAorbGF2Zmkuc2l0aS5zaT0xMTAuODcKK2xhdmZp LnNpdGkudGk9MzAuNTMKLS0gCjIuMjAuMSAoQXBwbGUgR2l0LTExNykKCg== --------------8UPc21jkBshrc016XEiICSEc 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". --------------8UPc21jkBshrc016XEiICSEc--