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 108FD45547 for ; Fri, 2 Jun 2023 11:09:02 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3ABC968C341; Fri, 2 Jun 2023 14:08:59 +0300 (EEST) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D779968C321 for ; Fri, 2 Jun 2023 14:08:52 +0300 (EEST) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-53f832298acso1123344a12.0 for ; Fri, 02 Jun 2023 04:08:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685704130; x=1688296130; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=50Or51GobPAmFzP25pPtBixH4pwhkYcHPHmaWGI0YWc=; b=r3aiLRK6NPE1ywyoddqhJR0YXqcFpkX5ySOEQPxLugGqv00KktPvXl2wl0XMXSNUGT Qei56fvHU/uMOKZyi6gSRO9o5N1Ii8hwCbvwMZRrkBPAXeqvOMQNKdvxdCC4tCNAAmbM ki92SZ9l6IEtHJ7Kv62KqdXL5/wnM/yJfuA8m3tMYOjNWSKUznGeEti/5g2kD3o6kTB0 oiFxqb9NEWh3pOzz1LbiMIpLWId6R6CsjyTpbKcLQ7Yiv4Gy2rljODaJkzqigOV628iQ qIOPzSdFJNZoaqiLkxXwJRA14qYBSkJRKwVAc2dyh8Snevn5iC7QiYdk1IQx3LlTaGQa g0/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685704130; x=1688296130; 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=50Or51GobPAmFzP25pPtBixH4pwhkYcHPHmaWGI0YWc=; b=AdsGtTzlRIPJCneDTb/USPnSaxzUqjYA1W+XeDXdT7e9Cnqfbjv4iad2E/mHXDeNI1 H6waPh2G4j/iNwglZBdbHbr676nlMBhhdUwbYYIu+KtffGxE+hMmXwPnKVRC7/FLRKE3 4FdzVWo7bRHHrDXtYHb5bvp6ChgibX8MFVyuoKNTIdgqpTw9yn/alFgm1HxTi4FObEcq geJi6H4gky0Bb7LD0s3CRifRT3HXIvc3+tnqgC/ds+Y8g93HjzFXGIZg1roAlXOPgq8T LJoU7DxHEiiCSuwOYMJmuF54hYJtBYFKqzsRp+fyHrwqndX8/AMOs8MiryK+1F1x/ApY UlwQ== X-Gm-Message-State: AC+VfDxBv7f16qQAjXi/GwQzKD4xgnMY1SbSYsLW2Zyf/GIWMGsgIsyk lw6u7YQ7b2UgEbdeG7Cj65+qMP5TnRHJknYYVuLsKwks53Wf3k36 X-Google-Smtp-Source: ACHHUZ5qlascjjf11IaVjY4dXKmavOq3U9quQa0K+eHrCfstLQqS755zEPKywSfxmR+CzdbN+DfJh09TXE+N1Wj/3y4= X-Received: by 2002:a17:90a:77c5:b0:256:92d5:4494 with SMTP id e5-20020a17090a77c500b0025692d54494mr1218487pjs.23.1685704129789; Fri, 02 Jun 2023 04:08:49 -0700 (PDT) MIME-Version: 1.0 References: <20230602073109.14086-1-lq@chinaffmpeg.org> <20230602073109.14086-2-lq@chinaffmpeg.org> In-Reply-To: <20230602073109.14086-2-lq@chinaffmpeg.org> From: Lance Wang Date: Fri, 2 Jun 2023 19:08:36 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v11 1/6] avformat/flvenc: support mux hevc in enhanced flv 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: T24gRnJpLCBKdW4gMiwgMjAyMyBhdCAzOjMx4oCvUE0gU3RldmVuIExpdSA8bHFAY2hpbmFmZm1w ZWcub3JnPiB3cm90ZToKCj4gU2lnbmVkLW9mZi1ieTogU3RldmVuIExpdSA8bHFAY2hpbmFmZm1w ZWcub3JnPgo+IC0tLQo+ICBsaWJhdmZvcm1hdC9NYWtlZmlsZSB8ICAyICstCj4gIGxpYmF2Zm9y bWF0L2Zsdi5oICAgIHwgMTUgKysrKysrKysrKysrKysrCj4gIGxpYmF2Zm9ybWF0L2ZsdmVuYy5j IHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPiAgMyBmaWxl cyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9NYWtlZmlsZSBiL2xpYmF2Zm9ybWF0L01ha2VmaWxlCj4gaW5kZXgg ZjhhZDdjNmExMS4uMWVmM2QxNTQ2NyAxMDA2NDQKPiAtLS0gYS9saWJhdmZvcm1hdC9NYWtlZmls ZQo+ICsrKyBiL2xpYmF2Zm9ybWF0L01ha2VmaWxlCj4gQEAgLTIxNCw3ICsyMTQsNyBAQCBPQkpT LSQoQ09ORklHX0ZMQUNfTVVYRVIpICAgICAgICAgICAgICAgICs9IGZsYWNlbmMubwo+IGZsYWNl bmNfaGVhZGVyLm8gXAo+ICBPQkpTLSQoQ09ORklHX0ZMSUNfREVNVVhFUikgICAgICAgICAgICAg ICs9IGZsaWMubwo+ICBPQkpTLSQoQ09ORklHX0ZMVl9ERU1VWEVSKSAgICAgICAgICAgICAgICs9 IGZsdmRlYy5vCj4gIE9CSlMtJChDT05GSUdfTElWRV9GTFZfREVNVVhFUikgICAgICAgICAgKz0g Zmx2ZGVjLm8KPiAtT0JKUy0kKENPTkZJR19GTFZfTVVYRVIpICAgICAgICAgICAgICAgICArPSBm bHZlbmMubyBhdmMubwo+ICtPQkpTLSQoQ09ORklHX0ZMVl9NVVhFUikgICAgICAgICAgICAgICAg ICs9IGZsdmVuYy5vIGF2Yy5vIGhldmMubwo+ICBPQkpTLSQoQ09ORklHX0ZPVVJYTV9ERU1VWEVS KSAgICAgICAgICAgICs9IDR4bS5vCj4gIE9CSlMtJChDT05GSUdfRlJBTUVDUkNfTVVYRVIpICAg ICAgICAgICAgKz0gZnJhbWVjcmNlbmMubyBmcmFtZWhhc2gubwo+ICBPQkpTLSQoQ09ORklHX0ZS QU1FSEFTSF9NVVhFUikgICAgICAgICAgICs9IGhhc2hlbmMubyBmcmFtZWhhc2gubwo+IGRpZmYg LS1naXQgYS9saWJhdmZvcm1hdC9mbHYuaCBiL2xpYmF2Zm9ybWF0L2Zsdi5oCj4gaW5kZXggMzU3 MWI5MDI3OS4uOTFlMGE0MTQwYyAxMDA2NDQKPiAtLS0gYS9saWJhdmZvcm1hdC9mbHYuaAo+ICsr KyBiL2xpYmF2Zm9ybWF0L2Zsdi5oCj4gQEAgLTM1LDYgKzM1LDEyIEBACj4KPiAgI2RlZmluZSBG TFZfVklERU9fRlJBTUVUWVBFX09GRlNFVCAgIDQKPgo+ICsvKiBFeHRlbmRlZCBWaWRlb1RhZ0hl YWRlcgo+ICsgKiBkZWZpbmVkIGluIHJlZmVyZW5jZSBsaW5rOgo+ICsgKgo+IGh0dHBzOi8vZ2l0 aHViLmNvbS92ZW92ZXJhL2VuaGFuY2VkLXJ0bXAvYmxvYi9tYWluL2VuaGFuY2VkLXJ0bXAtdjEu cGRmCj4gKyAqICovCj4gKyNkZWZpbmUgRkxWX0lTX0VYX0hFQURFUiAgICAgICAgICAweDgwCj4g Kwo+ICAvKiBiaXRtYXNrcyB0byBpc29sYXRlIHNwZWNpZmljIHZhbHVlcyAqLwo+ICAjZGVmaW5l IEZMVl9BVURJT19DSEFOTkVMX01BU0sgICAgMHgwMQo+ICAjZGVmaW5lIEZMVl9BVURJT19TQU1Q TEVTSVpFX01BU0sgMHgwMgo+IEBAIC0xMTIsNiArMTE4LDE1IEBAIGVudW0gewo+ICAgICAgRkxW X0NPREVDSURfTVBFRzQgICA9IDksCj4gIH07Cj4KPiArZW51bSB7Cj4gKyAgICBQYWNrZXRUeXBl U2VxdWVuY2VTdGFydCAgICAgICAgID0gMCwKPiArICAgIFBhY2tldFR5cGVDb2RlZEZyYW1lcyAg ICAgICAgICAgPSAxLAo+ICsgICAgUGFja2V0VHlwZVNlcXVlbmNlRW5kICAgICAgICAgICA9IDIs Cj4gKyAgICBQYWNrZXRUeXBlQ29kZWRGcmFtZXNYICAgICAgICAgID0gMywKPiArICAgIFBhY2tl dFR5cGVNZXRhZGF0YSAgICAgICAgICAgICAgPSA0LAo+ICsgICAgUGFja2V0VHlwZU1QRUcyVFNT ZXF1ZW5jZVN0YXJ0ICA9IDUsCj4gK307Cj4gKwo+Cgpmb3JtYXQgYW5kIGFsaWduIHRoZSAiPSI/ CgoKCj4gIGVudW0gewo+ICAgICAgRkxWX0ZSQU1FX0tFWSAgICAgICAgICAgID0gMSA8PCBGTFZf VklERU9fRlJBTUVUWVBFX09GRlNFVCwgLy8vPCBrZXkKPiBmcmFtZSAoZm9yIEFWQywgYSBzZWVr YWJsZSBmcmFtZSkKPiAgICAgIEZMVl9GUkFNRV9JTlRFUiAgICAgICAgICA9IDIgPDwgRkxWX1ZJ REVPX0ZSQU1FVFlQRV9PRkZTRVQsIC8vLzwKPiBpbnRlciBmcmFtZSAoZm9yIEFWQywgYSBub24t c2Vla2FibGUgZnJhbWUpCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIvbGli YXZmb3JtYXQvZmx2ZW5jLmMKPiBpbmRleCA3MjFmMDYyODExLi5hZWQwOTQ2YTJlIDEwMDY0NAo+ IC0tLSBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCj4gKysrIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMK PiBAQCAtMjgsNiArMjgsNyBAQAo+ICAjaW5jbHVkZSAibGliYXZjb2RlYy9tcGVnNGF1ZGlvLmgi Cj4gICNpbmNsdWRlICJhdmlvLmgiCj4gICNpbmNsdWRlICJhdmMuaCIKPiArI2luY2x1ZGUgImhl dmMuaCIKPiAgI2luY2x1ZGUgImF2Zm9ybWF0LmgiCj4gICNpbmNsdWRlICJmbHYuaCIKPiAgI2lu Y2x1ZGUgImludGVybmFsLmgiCj4gQEAgLTQ2LDYgKzQ3LDcgQEAgc3RhdGljIGNvbnN0IEFWQ29k ZWNUYWcgZmx2X3ZpZGVvX2NvZGVjX2lkc1tdID0gewo+ICAgICAgeyBBVl9DT0RFQ19JRF9WUDYs ICAgICAgRkxWX0NPREVDSURfVlA2IH0sCj4gICAgICB7IEFWX0NPREVDX0lEX1ZQNkEsICAgICBG TFZfQ09ERUNJRF9WUDZBIH0sCj4gICAgICB7IEFWX0NPREVDX0lEX0gyNjQsICAgICBGTFZfQ09E RUNJRF9IMjY0IH0sCj4gKyAgICB7IEFWX0NPREVDX0lEX0hFVkMsICAgICBNS0JFVEFHKCdoJywg J3YnLCAnYycsICcxJykgfSwKPiAgICAgIHsgQVZfQ09ERUNfSURfTk9ORSwgICAgIDAgfQo+ICB9 Owo+Cj4gQEAgLTQ4OSw3ICs0OTEsNyBAQCBzdGF0aWMgdm9pZCBmbHZfd3JpdGVfY29kZWNfaGVh ZGVyKEFWRm9ybWF0Q29udGV4dCogcywKPiBBVkNvZGVjUGFyYW1ldGVycyogcGFyLCBpCj4gICAg ICBGTFZDb250ZXh0ICpmbHYgPSBzLT5wcml2X2RhdGE7Cj4KPiAgICAgIGlmIChwYXItPmNvZGVj X2lkID09IEFWX0NPREVDX0lEX0FBQyB8fCBwYXItPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURf SDI2NAo+IC0gICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX01QRUc0 KSB7Cj4gKyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQg fHwgcGFyLT5jb2RlY19pZCA9PQo+IEFWX0NPREVDX0lEX0hFVkMpIHsKPiAgICAgICAgICBpbnQ2 NF90IHBvczsKPiAgICAgICAgICBhdmlvX3c4KHBiLAo+ICAgICAgICAgICAgICAgICAgcGFyLT5j b2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyA/Cj4gQEAgLTUzMiwxMCArNTM0LDE5IEBA IHN0YXRpYyB2b2lkIGZsdl93cml0ZV9jb2RlY19oZWFkZXIoQVZGb3JtYXRDb250ZXh0Kgo+IHMs IEFWQ29kZWNQYXJhbWV0ZXJzKiBwYXIsIGkKPiAgICAgICAgICAgICAgfQo+ICAgICAgICAgICAg ICBhdmlvX3dyaXRlKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSk7Cj4g ICAgICAgICAgfSBlbHNlIHsKPiAtICAgICAgICAgICAgYXZpb193OChwYiwgcGFyLT5jb2RlY190 YWcgfCBGTFZfRlJBTUVfS0VZKTsgLy8gZmxhZ3MKPiAtICAgICAgICAgICAgYXZpb193OChwYiwg MCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIKPiAtICAgICAgICAgICAgYXZpb193YjI0KHBiLCAw KTsgLy8gY29tcG9zaXRpb24gdGltZQo+IC0gICAgICAgICAgICBmZl9pc29tX3dyaXRlX2F2Y2Mo cGIsIHBhci0+ZXh0cmFkYXRhLCBwYXItPmV4dHJhZGF0YV9zaXplKTsKPiArICAgICAgICAgICAg aWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+ICsgICAgICAgICAgICAg ICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hFQURFUiB8IFBhY2tldFR5cGVTZXF1ZW5jZVN0YXJ0 IHwKPiBGTFZfRlJBTUVfS0VZKTsgLy8gRXhWaWRlb1RhZ0hlYWRlciBtb2RlIHdpdGggUGFja2V0 VHlwZVNlcXVlbmNlU3RhcnQKPiArICAgICAgICAgICAgICAgIGF2aW9fd3JpdGUocGIsICJodmMx IiwgNCk7Cj4KIGZmX2lzb21fd3JpdGVfaHZjYyhwYiwgcGFyLT5leHRyYWRhdGEsIHBhci0+ZXh0 cmFkYXRhX3NpemUsIDApOwoKCj4gKyAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAg ICAgICBhdmlvX3c4KHBiLCBwYXItPmNvZGVjX3RhZyB8IEZMVl9GUkFNRV9LRVkpOyAvLyBmbGFn cwo+ICsgICAgICAgICAgICAgICAgYXZpb193OChwYiwgMCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFk ZXIKPiArICAgICAgICAgICAgICAgIGF2aW9fd2IyNChwYiwgMCk7IC8vIGNvbXBvc2l0aW9uIHRp bWUKPgoKZmZfaXNvbV93cml0ZV9hdmNjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRh dGFfc2l6ZSk7CgoKPiArICAgICAgICAgICAgfQo+ICsKPiArICAgICAgICAgICAgaWYgKHBhci0+ Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykKPiArICAgICAgICAgICAgICAgIGZmX2lzb21f d3JpdGVfaHZjYyhwYiwgcGFyLT5leHRyYWRhdGEsCj4gcGFyLT5leHRyYWRhdGFfc2l6ZSwgMCk7 Cj4gKyAgICAgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfYXZj YyhwYiwgcGFyLT5leHRyYWRhdGEsCj4gcGFyLT5leHRyYWRhdGFfc2l6ZSk7Cj4KCm1lcmdlIHRo ZSBpZiBlbHNlPwoKICAgICAgICAgfQo+ICAgICAgICAgIGRhdGFfc2l6ZSA9IGF2aW9fdGVsbChw YikgLSBwb3M7Cj4gICAgICAgICAgYXZpb19zZWVrKHBiLCAtZGF0YV9zaXplIC0gMTAsIFNFRUtf Q1VSKTsKPiBAQCAtODIxLDYgKzgzMiw3IEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChB VkZvcm1hdENvbnRleHQgKnMsCj4gQVZQYWNrZXQgKnBrdCkKPiAgICAgIHVuc2lnbmVkIHRzOwo+ ICAgICAgaW50IHNpemUgPSBwa3QtPnNpemU7Cj4gICAgICB1aW50OF90ICpkYXRhID0gTlVMTDsK PiArICAgIHVpbnQ4X3QgZnJhbWV0eXBlID0gcGt0LT5mbGFncyAmIEFWX1BLVF9GTEFHX0tFWSA/ IEZMVl9GUkFNRV9LRVkgOgo+IEZMVl9GUkFNRV9JTlRFUjsKPiAgICAgIGludCBmbGFncyA9IC0x LCBmbGFnc19zaXplLCByZXQgPSAwOwo+ICAgICAgaW50NjRfdCBjdXJfb2Zmc2V0ID0gYXZpb190 ZWxsKHBiKTsKPgo+IEBAIC04MzIsMTMgKzg0NCwxMyBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9w YWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+IEFWUGFja2V0ICpwa3QpCj4gICAgICBpZiAocGFy LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDZGIHx8IHBhci0+Y29kZWNfaWQgPT0KPiBBVl9D T0RFQ19JRF9WUDZBIHx8Cj4gICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9W UDYgIHx8IHBhci0+Y29kZWNfaWQgPT0KPiBBVl9DT0RFQ19JRF9BQUMpCj4gICAgICAgICAgZmxh Z3Nfc2l6ZSA9IDI7Cj4gLSAgICBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PQo+IEFWX0NPREVDX0lEX01QRUc0KQo+ICsgICAgZWxz ZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQg PT0KPiBBVl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hF VkMpCj4gICAgICAgICAgZmxhZ3Nfc2l6ZSA9IDU7Cj4gICAgICBlbHNlCj4gICAgICAgICAgZmxh Z3Nfc2l6ZSA9IDE7Cj4KPiAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FB QyB8fCBwYXItPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURfSDI2NAo+IC0gICAgICAgICAgICB8 fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX01QRUc0KSB7Cj4gKyAgICAgICAgICAgIHx8 IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PQo+ IEFWX0NPREVDX0lEX0hFVkMpIHsKPiAgICAgICAgICBzaXplX3Qgc2lkZV9zaXplOwo+ICAgICAg ICAgIHVpbnQ4X3QgKnNpZGUgPSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YShwa3QsCj4gQVZfUEtU X0RBVEFfTkVXX0VYVFJBREFUQSwgJnNpZGVfc2l6ZSk7Cj4gICAgICAgICAgaWYgKHNpZGUgJiYg c2lkZV9zaXplID4gMCAmJiAoc2lkZV9zaXplICE9IHBhci0+ZXh0cmFkYXRhX3NpemUgfHwKPiBt ZW1jbXAoc2lkZSwgcGFyLT5leHRyYWRhdGEsIHNpZGVfc2l6ZSkpKSB7Cj4gQEAgLTg1OCw3ICs4 NzAsNyBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+ IEFWUGFja2V0ICpwa3QpCj4gICAgICAgICAgICAgICAgICJQYWNrZXRzIGFyZSBub3QgaW4gdGhl IHByb3BlciBvcmRlciB3aXRoIHJlc3BlY3QgdG8KPiBEVFNcbiIpOwo+ICAgICAgICAgIHJldHVy biBBVkVSUk9SKEVJTlZBTCk7Cj4gICAgICB9Cj4gLSAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQgPT0KPiBBVl9DT0RFQ19JRF9NUEVHNCkg ewo+ICsgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXItPmNv ZGVjX2lkID09Cj4gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9IRVZDKSB7Cj4gICAgICAgICAgaWYgKHBrdC0+cHRzID09IEFWX05PUFRTX1ZBTFVFKSB7 Cj4gICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJQYWNrZXQgaXMgbWlzc2lu ZyBQVFNcbiIpOwo+ICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwo+IEBAIC04 ODEsNyArODkzLDcgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4 dCAqcywKPiBBVlBhY2tldCAqcGt0KQo+Cj4gICAgICAgICAgZmxhZ3MgPSBmZl9jb2RlY19nZXRf dGFnKGZsdl92aWRlb19jb2RlY19pZHMsIHBhci0+Y29kZWNfaWQpOwo+Cj4gLSAgICAgICAgZmxh Z3MgfD0gcGt0LT5mbGFncyAmIEFWX1BLVF9GTEFHX0tFWSA/IEZMVl9GUkFNRV9LRVkgOgo+IEZM Vl9GUkFNRV9JTlRFUjsKPiArICAgICAgICBmbGFncyB8PSBmcmFtZXR5cGU7Cj4gICAgICAgICAg YnJlYWs7Cj4gICAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKPiAgICAgICAgICBmbGFncyA9 IGdldF9hdWRpb19mbGFncyhzLCBwYXIpOwo+IEBAIC05MDMsNiArOTE1LDEwIEBAIHN0YXRpYyBp bnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4gQVZQYWNrZXQgKnBrdCkK PiAgICAgICAgICBpZiAocGFyLT5leHRyYWRhdGFfc2l6ZSA+IDAgJiYgKih1aW50OF90KilwYXIt PmV4dHJhZGF0YSAhPSAxKQo+ICAgICAgICAgICAgICBpZiAoKHJldCA9IGZmX2F2Y19wYXJzZV9u YWxfdW5pdHNfYnVmKHBrdC0+ZGF0YSwgJmRhdGEsCj4gJnNpemUpKSA8IDApCj4gICAgICAgICAg ICAgICAgICByZXR1cm4gcmV0Owo+ICsgICAgfSBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFW X0NPREVDX0lEX0hFVkMpIHsKPiArICAgICAgICBpZiAocGFyLT5leHRyYWRhdGFfc2l6ZSA+IDAg JiYgKih1aW50OF90KilwYXItPmV4dHJhZGF0YSAhPSAxKQo+CgpGb3IgdGhlIGFubmV4YiBmb3Jt YXQsIHN0cmljdGVyIGNoZWNrcyBhcmUgYXMgZm9sbG93cyBpZiBmb2xsb3cgYnkgc3RhbmRhcmQK SU1POgpBVl9SQjI0KHBhci0+ZXh0cmFkYXRhKSA9PSAxIHx8IEFWX1JCMzIocGFyLT5leHRyYWRh dGEpID09IDEpCgoKCj4gKyAgICAgICAgICAgIGlmICgocmV0ID0gZmZfaGV2Y19hbm5leGIybXA0 X2J1Zihwa3QtPmRhdGEsICZkYXRhLCAmc2l6ZSwgMCwKPiBOVUxMKSkgPCAwKQo+ICsgICAgICAg ICAgICAgICAgcmV0dXJuIHJldDsKPiAgICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9BQUMgJiYgcGt0LT5zaXplID4gMiAmJgo+ICAgICAgICAgICAgICAgICAoQVZf UkIxNihwa3QtPmRhdGEpICYgMHhmZmYwKSA9PSAweGZmZjApIHsKPiAgICAgICAgICBpZiAoIXMt PnN0cmVhbXNbcGt0LT5zdHJlYW1faW5kZXhdLT5uYl9mcmFtZXMpIHsKPiBAQCAtOTY0LDcgKzk4 MCwxMiBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+ IEFWUGFja2V0ICpwa3QpCj4gICAgICAgICAgYXZpb193YjMyKHBiLCBkYXRhX3NpemUgKyAxMSk7 Cj4gICAgICB9IGVsc2Ugewo+ICAgICAgICAgIGF2X2Fzc2VydDEoZmxhZ3M+PTApOwo+IC0gICAg ICAgIGF2aW9fdzgocGIsZmxhZ3MpOwo+ICsgICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFW X0NPREVDX0lEX0hFVkMpIHsKPiArICAgICAgICAgICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hF QURFUiB8IFBhY2tldFR5cGVDb2RlZEZyYW1lc1ggfAo+IGZyYW1ldHlwZSk7IC8vIEV4VmlkZW9U YWdIZWFkZXIgbW9kZSB3aXRoIFBhY2tldFR5cGVDb2RlZEZyYW1lc1gKPgoKZnJhbWV0eXBlIHdp bGwgPDwgMiwgc28gaXQncyBiZXR0ZXIgdG8gdXNlIGJlbG93IG9yZGVyOgpGTFZfSVNfRVhfSEVB REVSIHwgZnJhbWV0eXBlIHwgUGFja2V0VHlwZUNvZGVkRnJhbWVzWAoKCgo+ICsgICAgICAgICAg ICBhdmlvX3dyaXRlKHBiLCAiaHZjMSIsIDQpOwo+ICsgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAg ICAgICAgIGF2aW9fdzgocGIsIGZsYWdzKTsKPiArICAgICAgICB9Cj4gICAgICAgICAgaWYgKHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2KQo+ICAgICAgICAgICAgICBhdmlvX3c4KHBi LDApOwo+ICAgICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNkYgfHwg cGFyLT5jb2RlY19pZCA9PQo+IEFWX0NPREVDX0lEX1ZQNkEpIHsKPiAtLQo+IDIuNDAuMAo+Cj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWct ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2Zm bXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBl Zy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1w ZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9m Zm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo=