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 30EBB48D82 for ; Fri, 26 Jan 2024 14:11:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5E76768D149; Fri, 26 Jan 2024 16:11:55 +0200 (EET) Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A056068CAFA for ; Fri, 26 Jan 2024 16:11:48 +0200 (EET) Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-2909a632e40so406426a91.0 for ; Fri, 26 Jan 2024 06:11:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spin-digital-com.20230601.gappssmtp.com; s=20230601; t=1706278306; x=1706883106; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=aZfLjpqwIgydQT6LpU1nLQ5+kl4aNPV0lfu3cf9rsoo=; b=JNWK0mXTJP8Qw9mPr6f4s0MGQ6lGrPAbNMyWbk7p5DzY20P4s1WF7HEI3wqzv3wIhI RW56lHZ8XFBFaxEMZftPF830n74XHEa8G8tJtijBMuzj5ug5YAgA3gTFv2RmrOc+/zrS T+auIOXPBbFSBQlkwL2dsIWXJFvXkBpiMhNJS4y7NU6/yNhNPRFaSQTizU5jDU4Bg/AY s+afD41AFOM6oi/qYQRJ0L8QCyGhJTYBGNV4fuHPwuUbCJNw44ttyTfcK+DGRKAN3hWe dH/WvbwKr3UJqcgr2Q+fNQkBeT3fNPABakqirms2+Tu8YMPXnc0gnkUolWKtZKXPdawP 6NLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706278306; x=1706883106; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=aZfLjpqwIgydQT6LpU1nLQ5+kl4aNPV0lfu3cf9rsoo=; b=S5rToQhl6DnMatwDGlw3tAbpQZE1aig6N1RzIQmD05dkUOS2F4EOTTn9vlAx7lNHtM 2CyzJmt5cq5PfjpOaLjLoJECNMs4wkBlnamUDKsiiVd2Uwhd4sfkw2EC5faRWQPDMjMG 65A9LwoUhTLvLk1Pfe9gaTpb6Jk2h9p6zAJwpLC4Kd7glewXyDj8t84YeMq2wSP0i75P +uZSQc4avHZaXrk0gy8Lp1Mt2s2mBpmuiDGn0yoOuLc1w5p5V/JrN1L6lxEs5nJcXO9s 8vBW/LyvAaCBBCdiYF9Kzjq5CB+JNYi+AtOoQ0H52Xfa/mVSTaxYITYqjUAIbNeYe/fs 2hsA== X-Gm-Message-State: AOJu0YxKgvBPgwv3vFFhc4gRmxTwI1T9/rz2sIVGo90bCAh/VGijsNoV XOXgMaUuPNgNxYNTXZPJ0J9B3jBHBzpO/8l6TfqI1/EHXQcOxi92CXN3WK0EZHQpPNhuh0bJO6B 7nGWKwWOxVC72lYWksUABiH5hC+xOebNEIlaAzA49X8XCmaOwQiA= X-Google-Smtp-Source: AGHT+IFu8Hj949rpHbgixUm4ef5a1AXMoxY3si8/ZQtB2rMnThYfa/cPaG6BhLhihdxnVeDAhEvbzU5mRhGGpxbDM4o= X-Received: by 2002:a17:90a:bc08:b0:292:8072:381 with SMTP id w8-20020a17090abc0800b0029280720381mr797050pjr.69.1706278306159; Fri, 26 Jan 2024 06:11:46 -0800 (PST) MIME-Version: 1.0 References: <20231103095720.32426-1-thomas.ff@spin-digital.com> <20231103095720.32426-3-thomas.ff@spin-digital.com> <724da457-774e-4985-a3c1-9708454d6290@gmail.com> In-Reply-To: <724da457-774e-4985-a3c1-9708454d6290@gmail.com> From: Thomas Siedel Date: Fri, 26 Jan 2024 15:11:31 +0100 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v1 2/5] avformat: add muxer support for H266/VVC 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: T24gRnJpLCA1IEphbiAyMDI0IGF0IDAxOjMxLCBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5j b20+IHdyb3RlOgoKPiBPbiAxMS8zLzIwMjMgNjo1NyBBTSwgVGhvbWFzIFNpZWRlbCB3cm90ZToK PiA+IEFkZCBtdXhlciBmb3IgdnZjYyBieXRlIHN0cmVhbSBmb3JtYXQuCj4gPiBBZGQgQVZfQ09E RUNfSURfVlZDIHRvIGZmX21wNF9vYmpfdHlwZS4KPiA+IEFkZCBBVl9DT0RFQ19JRF9WVkMgdG8g SVNPIE1lZGlhIGNvZGVjIChWdmNDb25maWd1cmF0aW9uQm94IHZ2aTEsCj4gPiB2dmMxIGRlZmlu ZWQgaW4gSVNPL0lFQyAxNDQ5Ni0xNToyMDIxKS4KPiA+IEFkZCBWdmNDb25maWd1cmF0aW9uQm94 IHZ2Y0Mgd2hpY2ggZXh0ZW5kcyBGdWxsQm94IHR5cGUgaW4KPiA+IElTTy9JRUMgMTQ0OTYtMTU6 MjAyMS4KPiA+IEFkZCBmZl92dmNfbXV4ZXIgdG8gUkFXIG11eGVycy4KPiA+Cj4gPiBTaWduZWQt b2ZmLWJ5OiBUaG9tYXMgU2llZGVsIDx0aG9tYXMuZmZAc3Bpbi1kaWdpdGFsLmNvbT4KPiA+IC0t LQo+ID4gICBsaWJhdmZvcm1hdC9NYWtlZmlsZSAgICB8ICAgNiArLQo+ID4gICBsaWJhdmZvcm1h dC9pc29tLmMgICAgICB8ICAgMSArCj4gPiAgIGxpYmF2Zm9ybWF0L2lzb21fdGFncy5jIHwgICAz ICsKPiA+ICAgbGliYXZmb3JtYXQvbW92LmMgICAgICAgfCAgIDYgKwo+ID4gICBsaWJhdmZvcm1h dC9tb3ZlbmMuYyAgICB8ICA0MSArLQo+ID4gICBsaWJhdmZvcm1hdC92dmMuYyAgICAgICB8IDk5 OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAgIGxpYmF2Zm9y bWF0L3Z2Yy5oICAgICAgIHwgIDk5ICsrKysKPiA+ICAgNyBmaWxlcyBjaGFuZ2VkLCAxMTUwIGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJh dmZvcm1hdC92dmMuYwo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZmb3JtYXQvdnZjLmgK PiA+Cj4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvTWFrZWZpbGUgYi9saWJhdmZvcm1hdC9N YWtlZmlsZQo+ID4gaW5kZXggMzI5MDU1Y2NmZC4uNTk1ZjZiZGYwOCAxMDA2NDQKPiA+IC0tLSBh L2xpYmF2Zm9ybWF0L01ha2VmaWxlCj4gPiArKysgYi9saWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4g QEAgLTM0MSw3ICszNDEsNyBAQCBPQkpTLSQoQ09ORklHX01BVFJPU0tBX0RFTVVYRVIpICAgICAg ICAgICs9Cj4gbWF0cm9za2FkZWMubyBtYXRyb3NrYS5vICBcCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2dncGFyc2V2b3JiaXMubwo+IHZvcmJpc2Nv bW1lbnQubyBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcXRwYWxldHRlLm8gcmVwbGF5Z2Fpbi5vCj4gZG92aV9pc29tLm8KPiA+ICAgT0JKUy0kKENP TkZJR19NQVRST1NLQV9NVVhFUikgICAgICAgICAgICArPSBtYXRyb3NrYWVuYy5vIG1hdHJvc2th Lm8gXAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXYx Lm8gYXZjLm8gaGV2Yy5vIFwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGF2MS5vIGF2Yy5vIGhldmMubyB2dmMub1wKPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFjZW5jX2hlYWRlci5vCj4gYXZsYW5ndWFn ZS5vIFwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 b3JiaXNjb21tZW50Lm8gd3Yubwo+IGRvdmlfaXNvbS5vCj4gPiAgIE9CSlMtJChDT05GSUdfTUNB X0RFTVVYRVIpICAgICAgICAgICAgICAgKz0gbWNhLm8KPiA+IEBAIC0zNjMsNyArMzYzLDcgQEAg T0JKUy0kKENPTkZJR19NT0RTX0RFTVVYRVIpICAgICAgICAgICAgICArPSBtb2RzLm8KPiA+ICAg T0JKUy0kKENPTkZJR19NT0ZMRVhfREVNVVhFUikgICAgICAgICAgICArPSBtb2ZsZXgubwo+ID4g ICBPQkpTLSQoQ09ORklHX01PVl9ERU1VWEVSKSAgICAgICAgICAgICAgICs9IG1vdi5vIG1vdl9j aGFuLm8KPiBtb3ZfZXNkcy5vIFwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBxdHBhbGV0dGUubyByZXBsYXlnYWluLm8KPiBkb3ZpX2lzb20ubwo+ID4g LU9CSlMtJChDT05GSUdfTU9WX01VWEVSKSAgICAgICAgICAgICAgICAgKz0gbW92ZW5jLm8gYXYx Lm8gYXZjLm8gaGV2Yy5vCj4gdnBjYy5vIFwKPiA+ICtPQkpTLSQoQ09ORklHX01PVl9NVVhFUikg ICAgICAgICAgICAgICAgICs9IG1vdmVuYy5vIGF2MS5vIGF2Yy5vIGhldmMubwo+IHZ2Yy5vIHZw Y2MubyBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bW92ZW5jaGludC5vIG1vdl9jaGFuLm8KPiBydHAubyBcCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZW5jY2VuYy5vIG1vdmVuY190dG1sLm8KPiBy YXd1dGlscy5vIFwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkb3ZpX2lzb20ubyBldmMubwo+ID4gQEAgLTUxNiw3ICs1MTYsNyBAQCBPQkpTLSQoQ09O RklHX1JUUF9NVVhFUikgICAgICAgICAgICAgICAgICs9IHJ0cC5vCj4gICAgICBcCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRwZW5jX3ZwOC5vICBc Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRwZW5j X3ZwOS5vCj4gICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcnRwZW5jX3hpcGgubyBcCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhdmMubyBoZXZjLm8KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGF2Yy5vIGhldmMubyB2dmMubwo+ID4gICBPQkpTLSQoQ09ORklH X1JUU1BfREVNVVhFUikgICAgICAgICAgICAgICs9IHJ0c3AubyBydHNwZGVjLm8KPiBodHRwYXV0 aC5vIFwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 cmxkZWNvZGUubwo+ID4gICBPQkpTLSQoQ09ORklHX1JUU1BfTVVYRVIpICAgICAgICAgICAgICAg ICs9IHJ0c3AubyBydHNwZW5jLm8KPiBodHRwYXV0aC5vIFwKPiA+IGRpZmYgLS1naXQgYS9saWJh dmZvcm1hdC9pc29tLmMgYi9saWJhdmZvcm1hdC9pc29tLmMKPiA+IGluZGV4IDZkMDE5ODgxZTUu LjlmYmNjZDQ0MzcgMTAwNjQ0Cj4gPiAtLS0gYS9saWJhdmZvcm1hdC9pc29tLmMKPiA+ICsrKyBi L2xpYmF2Zm9ybWF0L2lzb20uYwo+ID4gQEAgLTM2LDYgKzM2LDcgQEAgY29uc3QgQVZDb2RlY1Rh ZyBmZl9tcDRfb2JqX3R5cGVbXSA9IHsKPiA+ICAgICAgIHsgQVZfQ09ERUNfSURfTVBFRzQgICAg ICAgLCAweDIwIH0sCj4gPiAgICAgICB7IEFWX0NPREVDX0lEX0gyNjQgICAgICAgICwgMHgyMSB9 LAo+ID4gICAgICAgeyBBVl9DT0RFQ19JRF9IRVZDICAgICAgICAsIDB4MjMgfSwKPiA+ICsgICAg eyBBVl9DT0RFQ19JRF9WVkMgICAgICAgICAsIDB4MzMgfSwKPiA+ICAgICAgIHsgQVZfQ09ERUNf SURfQUFDICAgICAgICAgLCAweDQwIH0sCj4gPiAgICAgICB7IEFWX0NPREVDX0lEX01QNEFMUyAg ICAgICwgMHg0MCB9LCAvKiAxNDQ5Ni0zIEFMUyAqLwo+ID4gICAgICAgeyBBVl9DT0RFQ19JRF9N UEVHMlZJREVPICAsIDB4NjEgfSwgLyogTVBFRy0yIE1haW4gKi8KPiA+IGRpZmYgLS1naXQgYS9s aWJhdmZvcm1hdC9pc29tX3RhZ3MuYyBiL2xpYmF2Zm9ybWF0L2lzb21fdGFncy5jCj4gPiBpbmRl eCBhNTc1YjdjMTYwLi43MDU4MTFlOTUwIDEwMDY0NAo+ID4gLS0tIGEvbGliYXZmb3JtYXQvaXNv bV90YWdzLmMKPiA+ICsrKyBiL2xpYmF2Zm9ybWF0L2lzb21fdGFncy5jCj4gPiBAQCAtMTIzLDYg KzEyMyw5IEBAIGNvbnN0IEFWQ29kZWNUYWcgZmZfY29kZWNfbW92dmlkZW9fdGFnc1tdID0gewo+ ID4gICAgICAgeyBBVl9DT0RFQ19JRF9IRVZDLCBNS1RBRygnZCcsICd2JywgJ2gnLCAnZScpIH0s IC8qIEhFVkMtYmFzZWQKPiBEb2xieSBWaXNpb24gZGVyaXZlZCBmcm9tIGhldjEgKi8KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBk dmgxIGlzCj4gaGFuZGxlZCB3aXRoaW4gbW92LmMgKi8KPiA+Cj4gPiArICAgIHsgQVZfQ09ERUNf SURfVlZDLCBNS1RBRygndicsICd2JywgJ2knLCAnMScpIH0sICAvKiBWVkMvSC4yNjYgd2hpY2gK PiBpbmRpY2F0ZXMgcGFyYW1ldGVyIHNldHMgbWF5IGJlIGluIEVTICovCj4gPiArICAgIHsgQVZf Q09ERUNfSURfVlZDLCBNS1RBRygndicsICd2JywgJ2MnLCAnMScpIH0sICAvKiBWVkMvSC4yNjYg d2hpY2gKPiBpbmRpY2F0ZXMgcGFyYW1ldGVyIHNoYWxsIG5vdCBiZSBpbiBFUyAqLwo+ID4gKwo+ ID4gICAgICAgeyBBVl9DT0RFQ19JRF9IMjY0LCBNS1RBRygnYScsICd2JywgJ2MnLCAnMScpIH0s IC8qIEFWQy0xL0guMjY0ICovCj4gPiAgICAgICB7IEFWX0NPREVDX0lEX0gyNjQsIE1LVEFHKCdh JywgJ3YnLCAnYycsICcyJykgfSwKPiA+ICAgICAgIHsgQVZfQ09ERUNfSURfSDI2NCwgTUtUQUco J2EnLCAndicsICdjJywgJzMnKSB9LAo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdi5j IGIvbGliYXZmb3JtYXQvbW92LmMKPiA+IGluZGV4IGU4ZWZjY2Y2ZWIuLjExYjQzYWMxMzUgMTAw NjQ0Cj4gPiAtLS0gYS9saWJhdmZvcm1hdC9tb3YuYwo+ID4gKysrIGIvbGliYXZmb3JtYXQvbW92 LmMKPiA+IEBAIC0yMTE3LDYgKzIxMTcsMTEgQEAgc3RhdGljIGludCBtb3ZfcmVhZF9nbGJsKE1P VkNvbnRleHQgKmMsCj4gQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCj4gPiAgICAgICBp ZiAoKHVpbnQ2NF90KWF0b20uc2l6ZSA+ICgxPDwzMCkpCj4gPiAgICAgICAgICAgcmV0dXJuIEFW RVJST1JfSU5WQUxJRERBVEE7Cj4gPgo+ID4gKyAgICBpZiAoYXRvbS50eXBlID09IE1LVEFHKCd2 JywndicsJ2MnLCdDJykpIHsKPiA+ICsgICAgICAgIGF2aW9fcmIzMihwYik7Cj4KPiBhdmlvX3Nr aXAocGIsIDQpOwo+Cj4gPiArICAgICAgICBhdG9tLnNpemUgLT0gNDsKPiA+ICsgICAgfQo+ID4g Kwo+ID4gICAgICAgaWYgKGF0b20uc2l6ZSA+PSAxMCkgewo+ID4gICAgICAgICAgIC8vIEJyb2tl biBmaWxlcyBjcmVhdGVkIGJ5IGxlZ2FjeSB2ZXJzaW9ucyBvZiBsaWJhdmZvcm1hdCB3aWxsCj4g PiAgICAgICAgICAgLy8gd3JhcCBhIHdob2xlIGZpZWwgYXRvbSBpbnNpZGUgb2YgYSBnbGJsIGF0 b20uCj4gPiBAQCAtNzkyMSw2ICs3OTI2LDcgQEAgc3RhdGljIGNvbnN0IE1PVlBhcnNlVGFibGVF bnRyeQo+IG1vdl9kZWZhdWx0X3BhcnNlX3RhYmxlW10gPSB7Cj4gPiAgIHsgTUtUQUcoJ3MnLCdn JywncCcsJ2QnKSwgbW92X3JlYWRfc2dwZCB9LAo+ID4gICB7IE1LVEFHKCdzJywnYicsJ2cnLCdw JyksIG1vdl9yZWFkX3NiZ3AgfSwKPiA+ICAgeyBNS1RBRygnaCcsJ3YnLCdjJywnQycpLCBtb3Zf cmVhZF9nbGJsIH0sCj4gPiAreyBNS1RBRygndicsJ3YnLCdjJywnQycpLCBtb3ZfcmVhZF9nbGJs IH0sCj4gPiAgIHsgTUtUQUcoJ3UnLCd1JywnaScsJ2QnKSwgbW92X3JlYWRfdXVpZCB9LAo+ID4g ICB7IE1LVEFHKCdDJywnaScsJ24nLCAweDhlKSwgbW92X3JlYWRfdGFyZ2FfeTIxNiB9LAo+ID4g ICB7IE1LVEFHKCdmJywncicsJ2UnLCdlJyksIG1vdl9yZWFkX2ZyZWUgfSwKPiA+IGRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9tb3ZlbmMuYyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCj4gPiBpbmRl eCBlMzlmMWFjOTg3Li4wOTNhMDRkMGMyIDEwMDY0NAo+ID4gLS0tIGEvbGliYXZmb3JtYXQvbW92 ZW5jLmMKPiA+ICsrKyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCj4gPiBAQCAtNjgsNiArNjgsNyBA QAo+ID4gICAjaW5jbHVkZSAidHRtbGVuYy5oIgo+ID4gICAjaW5jbHVkZSAidmVyc2lvbi5oIgo+ ID4gICAjaW5jbHVkZSAidnBjYy5oIgo+ID4gKyNpbmNsdWRlICJ2dmMuaCIKPiA+Cj4gPiAgIHN0 YXRpYyBjb25zdCBBVk9wdGlvbiBvcHRpb25zW10gPSB7Cj4gPiAgICAgICB7ICJtb3ZmbGFncyIs ICJNT1YgbXV4ZXIgZmxhZ3MiLCBvZmZzZXRvZihNT1ZNdXhDb250ZXh0LCBmbGFncyksCj4gQVZf T1BUX1RZUEVfRkxBR1MsIHsuaTY0ID0gMH0sIElOVF9NSU4sIElOVF9NQVgsCj4gQVZfT1BUX0ZM QUdfRU5DT0RJTkdfUEFSQU0sICJtb3ZmbGFncyIgfSwKPiA+IEBAIC0xNDczLDYgKzE0NzQsMjMg QEAgc3RhdGljIGludCBtb3Zfd3JpdGVfZXZjY190YWcoQVZJT0NvbnRleHQgKnBiLAo+IE1PVlRy YWNrICp0cmFjaykKPiA+ICAgICAgIHJldHVybiB1cGRhdGVfc2l6ZShwYiwgcG9zKTsKPiA+ICAg fQo+ID4KPiA+ICtzdGF0aWMgaW50IG1vdl93cml0ZV92dmNjX3RhZyhBVklPQ29udGV4dCAqcGIs IE1PVlRyYWNrICp0cmFjaykKPiA+ICt7Cj4gPiArICAgIGludDY0X3QgcG9zID0gYXZpb190ZWxs KHBiKTsKPiA+ICsKPiA+ICsgICAgYXZpb193YjMyKHBiLCAwKTsKPiA+ICsgICAgZmZpb193Zm91 cmNjKHBiLCAidnZjQyIpOwo+ID4gKwo+ID4gKyAgICBhdmlvX3c4ICAocGIsIDApOyAvKiB2ZXJz aW9uICovCj4gPiArICAgIGF2aW9fd2IyNChwYiwgMCk7IC8qIGZsYWdzICovCj4KPiBJcyBpdCBy ZWFsbHkgYSBmdWxsYm94PyBJIGZpbmQgaXQgb2RkIGNvbnNpZGVyaW5nIGgyNjQgYW5kIGgyNjUg ZG9uJ3QuCj4KCiBZZXMgaXQgaXMuIHNwZWM6IElTTy9JRUMgMTQ0OTYtMTU6MjAyMShFKQogIElu Zm9ybWF0aW9uIHRlY2hub2xvZ3kg4oCUIENvZGluZyBvZiBhdWRpby12aXN1YWwgb2JqZWN0cyDi gJQgUGFydCAxNToKQ2FycmlhZ2Ugb2YgbmV0d29yayBhYnN0cmFjdGlvbiBsYXllciAoTkFMKSB1 bml0IHN0cnVjdHVyZWQgdmlkZW8gaW4gdGhlCklTTyBiYXNlIG1lZGlhIGZpbGUgZm9ybWF0CiAg MTEuMi40LjMuMSAgRGVmaW5pdGlvbgogIFRoaXMgc3ViY2xhdXNlIHNwZWNpZmllcyBWdmNDb25m aWd1cmF0aW9uQm94IHRoYXQgY2FycmllcyBhIFZWQyBkZWNvZGVyCmNvbmZpZ3VyYXRpb24gcmVj b3JkLgogICBUaGlzIGJveCBkZXJpdmVzIGZyb20gRnVsbEJveCBhbmQgaGVuY2UgY29udGFpbnMg YSB2ZXJzaW9uIGZpZWxkLiBUaGlzCnZlcnNpb24gb2YgdGhlIHNwZWNpZmljYXRpb24gZGVmaW5l cyB2ZXJzaW9uIDAgb2YgdGhpcyBib3guCiAgIEluY29tcGF0aWJsZSBjaGFuZ2VzIHRvIHRoZSBi b3ggd2lsbCBiZSBpbmRpY2F0ZWQgYnkgYSBjaGFuZ2Ugb2YgdmVyc2lvbgpudW1iZXIuCiAgIFJl YWRlcnMgc2hhbGwgbm90IGF0dGVtcHQgdG8gZGVjb2RlIHRoaXMgYm94IG9yIHRoZSByZWZlcmVu Y2VkIENWU3MgaWYKdGhlIHZlcnNpb24gbnVtYmVyIGlzIHVucmVjb2duaXplZC4KCgo+Cj4gPiAr Cj4gPiArICAgIGlmICh0cmFjay0+dGFnID09IE1LVEFHKCd2JywndicsJ2MnLCcxJykpCj4gPiAr ICAgICAgICBmZl9pc29tX3dyaXRlX3Z2Y2MocGIsIHRyYWNrLT52b3NfZGF0YSwgdHJhY2stPnZv c19sZW4sIDEpOwo+ID4gKyAgICBlbHNlCj4gPiArICAgICAgICBmZl9pc29tX3dyaXRlX3Z2Y2Mo cGIsIHRyYWNrLT52b3NfZGF0YSwgdHJhY2stPnZvc19sZW4sIDApOwo+ID4gKyAgICByZXR1cm4g dXBkYXRlX3NpemUocGIsIHBvcyk7Cj4gPiArfQo+ID4gKwo+ID4gICAvKiBhbHNvIHVzZWQgYnkg YWxsIGF2aWQgY29kZWNzIChkdiwgaW14LCBtZXJpZGllbikgYW5kIHRoZWlyIHZhcmlhbnRzCj4g Ki8KPiA+ICAgc3RhdGljIGludCBtb3Zfd3JpdGVfYXZpZF90YWcoQVZJT0NvbnRleHQgKnBiLCBN T1ZUcmFjayAqdHJhY2spCj4gPiAgIHsKPiA+IEBAIC0yMzgyLDYgKzI0MDAsOCBAQCBzdGF0aWMg aW50IG1vdl93cml0ZV92aWRlb190YWcoQVZGb3JtYXRDb250ZXh0ICpzLAo+IEFWSU9Db250ZXh0 ICpwYiwgTU9WTXV4Q29udGV4Cj4gPiAgICAgICAgICAgYXZpZCA9IDE7Cj4gPiAgICAgICB9IGVs c2UgaWYgKHRyYWNrLT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpCj4gPiAgICAg ICAgICAgbW92X3dyaXRlX2h2Y2NfdGFnKHBiLCB0cmFjayk7Cj4gPiArICAgIGVsc2UgaWYgKHRy YWNrLT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZWQykKPiA+ICsgICAgICAgIG1vdl93 cml0ZV92dmNjX3RhZyhwYiwgdHJhY2spOwo+ID4gICAgICAgZWxzZSBpZiAodHJhY2stPnBhci0+ Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCAmJgo+ICFUQUdfSVNfQVZDSSh0cmFjay0+dGFn KSkgewo+ID4gICAgICAgICAgIG1vdl93cml0ZV9hdmNjX3RhZyhwYiwgdHJhY2spOwo+ID4gICAg ICAgICAgIGlmICh0cmFjay0+bW9kZSA9PSBNT0RFX0lQT0QpCj4gPiBAQCAtNjE3MCw2ICs2MTkw LDcgQEAgaW50IGZmX21vdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+IEFWUGFj a2V0ICpwa3QpCj4gPiAgICAgICBpZiAoKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfRE5Y SEQgfHwKPiA+ICAgICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8 Cj4gPiAgICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQyB8fAo+ID4g KyAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlZDIHx8Cj4gPiAgICAgICAg ICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA5IHx8Cj4gPiAgICAgICAgICAgIHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfRVZDIHx8Cj4gPiAgICAgICAgICAgIHBhci0+Y29k ZWNfaWQgPT0gQVZfQ09ERUNfSURfVFJVRUhEKSAmJiAhdHJrLT52b3NfbGVuICYmCj4gPiBAQCAt NjIzNSw2ICs2MjU2LDE4IEBAIGludCBmZl9tb3Zfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4 dCAqcywKPiBBVlBhY2tldCAqcGt0KQo+ID4gICAgICAgICAgICAgICAgICAgc2l6ZSA9IGZmX2hl dmNfYW5uZXhiMm1wNChwYiwgcGt0LT5kYXRhLCBwa3QtPnNpemUsIDAsCj4gTlVMTCk7Cj4gPiAg ICAgICAgICAgICAgIH0KPiA+ICAgICAgICAgICB9Cj4gPiArICAgIH0gZWxzZSBpZiAocGFyLT5j b2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WVkMgJiYgdHJrLT52b3NfbGVuID4gNiAmJgo+ID4gKyAg ICAgICAgICAgICAoQVZfUkIyNCh0cmstPnZvc19kYXRhKSA9PSAxIHx8IEFWX1JCMzIodHJrLT52 b3NfZGF0YSkgPT0KPiAxKSkgewo+ID4gKyAgICAgIC8qIGV4dHJhZGF0YSBpcyBBbm5leCBCLCBh c3N1bWUgdGhlIGJpdHN0cmVhbSBpcyB0b28gYW5kIGNvbnZlcnQKPiBpdCAqLwo+ID4gKyAgICAg IGlmICh0cmstPmhpbnRfdHJhY2sgPj0gMCAmJiB0cmstPmhpbnRfdHJhY2sgPCBtb3YtPm5iX3N0 cmVhbXMpIHsKPiA+ICsgICAgICAgICAgICByZXQgPSBmZl9oMjY2X2FubmV4YjJtcDRfYnVmKHBr dC0+ZGF0YSwgJnJlZm9ybWF0dGVkX2RhdGEsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmc2l6ZSwgMCwgTlVMTCk7Cj4gPiArICAgICAgICAgICAgaWYgKHJl dCA8IDApCj4gPiArICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiArICAgICAgICAgICAg YXZpb193cml0ZShwYiwgcmVmb3JtYXR0ZWRfZGF0YSwgc2l6ZSk7Cj4gPiArICAgICAgfSBlbHNl IHsKPiA+ICsgICAgICAgICAgc2l6ZSA9IGZmX2gyNjZfYW5uZXhiMm1wNChwYiwgcGt0LT5kYXRh LCBwa3QtPnNpemUsIDAsIE5VTEwpOwo+ID4gKyAgICAgIH0KPiA+ICAgICAgIH0gZWxzZSBpZiAo cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BVjEpIHsKPiA+ICAgICAgICAgICBpZiAodHJr LT5oaW50X3RyYWNrID49IDAgJiYgdHJrLT5oaW50X3RyYWNrIDwgbW92LT5uYl9zdHJlYW1zKQo+ IHsKPiA+ICAgICAgICAgICAgICAgcmV0ID0gZmZfYXYxX2ZpbHRlcl9vYnVzX2J1Zihwa3QtPmRh dGEsICZyZWZvcm1hdHRlZF9kYXRhLAo+ID4gQEAgLTYyODEsNiArNjMxNCw5IEBAIGludCBmZl9t b3Zfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPiBBVlBhY2tldCAqcGt0KQo+ID4g ICAgICAgICAgICAgICB9IGVsc2UgaWYocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZD ICYmCj4gcGFyLT5leHRyYWRhdGFfc2l6ZSA+IDIxKSB7Cj4gPiAgICAgICAgICAgICAgICAgICBp bnQgbmFsX3NpemVfbGVuZ3RoID0gKHBhci0+ZXh0cmFkYXRhWzIxXSAmIDB4MykgKyAxOwo+ID4g ICAgICAgICAgICAgICAgICAgcmV0ID0gZmZfbW92X2NlbmNfYXZjX3dyaXRlX25hbF91bml0cyhz LCAmdHJrLT5jZW5jLAo+IG5hbF9zaXplX2xlbmd0aCwgcGIsIHBrdC0+ZGF0YSwgc2l6ZSk7Cj4g PiArICAgICAgICAgICAgfSBlbHNlIGlmKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlZD ICYmCj4gcGFyLT5leHRyYWRhdGFfc2l6ZSA+IDIxKSB7Cj4gPiArICAgICAgICAgICAgICAgIGlu dCBuYWxfc2l6ZV9sZW5ndGggPSAocGFyLT5leHRyYWRhdGFbMjFdICYgMHgzKSArIDE7Cj4KPiBJ cyB0aGlzIHJlYWxseSBhdCB0aGUgZXhhY3Qgc2FtZSBvZmZzZXQgYXMgaW4gaGV2Yz8KPgoKVGhh bmsgeW91IGZvciBjYXRjaGluZyB0aGlzLCBpdCBzaG91bGQgYmUKIGludCBuYWxfc2l6ZV9sZW5n dGggPSAoKHBhci0+ZXh0cmFkYXRhWzRdPj4xKSAmIDB4MykgKyAxOwpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVt YWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNj cmliZSIuCg==