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 DF4B445D37 for ; Thu, 6 Apr 2023 14:45:03 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7C10268BDA6; Thu, 6 Apr 2023 17:45:00 +0300 (EEST) Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B91F068BBA7 for ; Thu, 6 Apr 2023 17:44:54 +0300 (EEST) Received: by mail-pf1-f170.google.com with SMTP id y2so25924323pfw.9 for ; Thu, 06 Apr 2023 07:44:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680792293; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=44nCOSGAZNbqk5AsRC5zsHuaK6/arDNq0tMvTp2OrDc=; b=C1nK4o1C80rVE+aDyCQAhx1vaKK+Zm2SM0EfK82nMziqVe1Eh6w/Sd23FZnawIbylR 9Rws3z7GZKR4R6tZujX8GmCG+IwHxLPTKWbAeo9njgEcfnm02ZIjG++48/TF+INftkL4 vFOKCdzs5qnYfP1kKxxVylZOHbZOIVojxF43JG4mQzTGUIqOMu1RY4GSlOhz1W3eok2K JZEbUXF6Cl0UyEGK9AJjvwh+qDPuMiPQEjinYO5qncgMyz3DviybSRi0wAPqbCtkBBBz EvN+opQjnpQ4CPm4fTjLMmbR94RVIHhqEDatoCulkQuIVgn1FGulucVRSvlvsvOScJ83 YV2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680792293; 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=44nCOSGAZNbqk5AsRC5zsHuaK6/arDNq0tMvTp2OrDc=; b=27B2Kr2wyZFTyn0oMcIp2SDdHUlFnuK83i93FSOzuc0hoUER7oKFKuHQfG6GQj58fj scSBSqzXlYQ/q4uFU9vfw+79dCr2TdC0FOmFQ02qiq+BHgUuN8J8AlqPoLIVk8a/VAkI OCFSUXry3tThGvnItJCmlbUCjTy6vF/DV+X7BbgHGNIuZcWl0SE2PDC3t+s9RwuUR+TQ +mQpMLUHfn/pz1P+SmAsTQLHOe9halGe/lz4gVnlLN2OHxpKyhCfVUMueummg+Ijq0mJ qpROWIB0kZMVwfMtOH9ivbTs6R/F8dHbsxFk9WL0Gv8hMAVd4RRSij0FYoLWarMtF+BM dRCg== X-Gm-Message-State: AAQBX9cndMurQvKs0xmPSf7rlLiIABuwJ/3uwmfIuxmjQZ9jkKDdGz2S AyQuyu2foq421nRnYb1xjYlivXswCFRsbBSwIw6r9jItvp5uhFbXOWykKA== X-Google-Smtp-Source: AKy350YZK7xRNU6kIDXZO1j7OpMhMVpiopDghXeTw4Hor1e92FBP/pTtTCiQPwc+4CtsxcLp/F8B6m5MiZo1Iq+uT4k= X-Received: by 2002:a63:c14d:0:b0:513:429a:1389 with SMTP id p13-20020a63c14d000000b00513429a1389mr3195052pgi.0.1680792292588; Thu, 06 Apr 2023 07:44:52 -0700 (PDT) MIME-Version: 1.0 References: <20230406121241.86114-1-lq@chinaffmpeg.org> In-Reply-To: <20230406121241.86114-1-lq@chinaffmpeg.org> From: Lance Wang Date: Thu, 6 Apr 2023 22:44:41 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH 1/2] avformat/flvenc: Add support for HEVC over flv in muxer 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: T24gVGh1LCBBcHIgNiwgMjAyMyBhdCA4OjE04oCvUE0gU3RldmVuIExpdSA8bHFAY2hpbmFmZm1w ZWcub3JnPiB3cm90ZToKCj4gSW1wbGVtZW50cyBIRVZDIGFjY29yZGluZyB0byBlbmhhbmNlZCBS VE1QIHNwZWMgZm91bmQgYXQKPiBodHRwczovL2dpdGh1Yi5jb20vdmVvdmVyYS9lbmhhbmNlZC1y dG1wCj4KPgpJIHRoaW5rIEl0J3MgZG9jdW1lbnQgb3IgZHJhZnQgYW5kIG5vdCBzcGVjcywgSSBo YXZlbid0IGhlYXJkIGFueQppbmZvcm1hdGlvbiBmb3IgdGhlCnZlb3ZlcmEgc29mdHdhcmUgb3Jn YW5pemF0aW9uLiBTbyBiZWZvcmUgaW1wbGVtZW50YXRpb24sIHBsZWFzZSBwcm92ZSBpdCdzCnJl Y29nbml6ZWQgYXV0aG9yaXR5LiAgUGxlYXNlIHNlZSByZmMyMDI2LgoKCgo+IEFuZCBpdCBoYXMg YmVlZCBzdXBwb3J0ZWQgYnkgT0JTLCBTaW1wbGUgUmVhbHRpbWUgU2VydmVyLgo+IEFuZCB0aGUg RW5oYW5jaW5nIEZMViBkb2N1bWVudGF0aW9uIENvbnRyaWJ1dG9ycyBpbmNsdWRlCj4gSmVhbi1C YXB0aXN0ZSBLZW1wZiAoRkZtcGVnLCBWaWRlb0xBTikuCj4gU28gdGhpcyBzaG91bGQgYmUgc3Vw cG9ydCBieSBmZm1wZWcgdG9vLgo+Cj4gU2lnbmVkLW9mZi1ieTogU3RldmVuIExpdSA8bHFAY2hp bmFmZm1wZWcub3JnPgo+IC0tLQo+ICBsaWJhdmZvcm1hdC9mbHYuaCAgICB8IDE2ICsrKysrKysr KysrKysrCj4gIGxpYmF2Zm9ybWF0L2ZsdmVuYy5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25z KCspLCAxMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9mbHYuaCBi L2xpYmF2Zm9ybWF0L2Zsdi5oCj4gaW5kZXggMzU3MWI5MDI3OS4uNDRkM2IwNGZmOSAxMDA2NDQK PiAtLS0gYS9saWJhdmZvcm1hdC9mbHYuaAo+ICsrKyBiL2xpYmF2Zm9ybWF0L2Zsdi5oCj4gQEAg LTM1LDYgKzM1LDEyIEBACj4KPiAgI2RlZmluZSBGTFZfVklERU9fRlJBTUVUWVBFX09GRlNFVCAg IDQKPgo+ICsvKiBFeHRlbmRlZCBWaWRlb1RhZ0hlYWRlcgo+ICsgKiBkZWZpbmVkIGluIHJlZmVy ZW5jZSBsaW5rOgo+ICsgKgo+IGh0dHBzOi8vZ2l0aHViLmNvbS92ZW92ZXJhL2VuaGFuY2VkLXJ0 bXAvYmxvYi9tYWluL2VuaGFuY2VkLXJ0bXAtdjEucGRmCj4gKyAqICovCj4gKyNkZWZpbmUgRkxW X0lTX0VYX0hFQURFUiAgICAgICAgICAweDgwCj4gKwo+ICAvKiBiaXRtYXNrcyB0byBpc29sYXRl IHNwZWNpZmljIHZhbHVlcyAqLwo+ICAjZGVmaW5lIEZMVl9BVURJT19DSEFOTkVMX01BU0sgICAg MHgwMQo+ICAjZGVmaW5lIEZMVl9BVURJT19TQU1QTEVTSVpFX01BU0sgMHgwMgo+IEBAIC0xMTAs NiArMTE2LDE2IEBAIGVudW0gewo+ICAgICAgRkxWX0NPREVDSURfSDI2NCAgICA9IDcsCj4gICAg ICBGTFZfQ09ERUNJRF9SRUFMSDI2Mz0gOCwKPiAgICAgIEZMVl9DT0RFQ0lEX01QRUc0ICAgPSA5 LAo+ICsgICAgRkxWX0NPREVDSURfSEVWQyAgICA9IDEwLAo+ICt9Owo+ICsKPiArZW51bSB7Cj4g KyAgICBQYWNrZXRUeXBlU2VxdWVuY2VTdGFydCAgICAgICAgID0gMCwKPiArICAgIFBhY2tldFR5 cGVDb2RlZEZyYW1lcyAgICAgICAgICAgPSAxLAo+ICsgICAgUGFja2V0VHlwZVNlcXVlbmNlRW5k ICAgICAgICAgICA9IDIsCj4gKyAgICBQYWNrZXRUeXBlQ29kZWRGcmFtZXNYICAgICAgICAgID0g MywKPiArICAgIFBhY2tldFR5cGVNZXRhZGF0YSAgICAgICAgICAgICAgPSA0LAo+ICsgICAgUGFj a2V0VHlwZU1QRUcyVFNTZXF1ZW5jZVN0YXJ0ICA9IDUsCj4gIH07Cj4KPiAgZW51bSB7Cj4gZGlm ZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPiBp bmRleCA2NGVhNTU0ZGFkLi4xNWEwZjU3M2YzIDEwMDY0NAo+IC0tLSBhL2xpYmF2Zm9ybWF0L2Zs dmVuYy5jCj4gKysrIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPiBAQCAtMjgsNiArMjgsNyBAQAo+ ICAjaW5jbHVkZSAibGliYXZjb2RlYy9tcGVnNGF1ZGlvLmgiCj4gICNpbmNsdWRlICJhdmlvLmgi Cj4gICNpbmNsdWRlICJhdmMuaCIKPiArI2luY2x1ZGUgImhldmMuaCIKPiAgI2luY2x1ZGUgImF2 Zm9ybWF0LmgiCj4gICNpbmNsdWRlICJmbHYuaCIKPiAgI2luY2x1ZGUgImludGVybmFsLmgiCj4g QEAgLTQ2LDYgKzQ3LDcgQEAgc3RhdGljIGNvbnN0IEFWQ29kZWNUYWcgZmx2X3ZpZGVvX2NvZGVj X2lkc1tdID0gewo+ICAgICAgeyBBVl9DT0RFQ19JRF9WUDYsICAgICAgRkxWX0NPREVDSURfVlA2 IH0sCj4gICAgICB7IEFWX0NPREVDX0lEX1ZQNkEsICAgICBGTFZfQ09ERUNJRF9WUDZBIH0sCj4g ICAgICB7IEFWX0NPREVDX0lEX0gyNjQsICAgICBGTFZfQ09ERUNJRF9IMjY0IH0sCj4gKyAgICB7 IEFWX0NPREVDX0lEX0hFVkMsICAgICBGTFZfQ09ERUNJRF9IRVZDIH0sCj4gICAgICB7IEFWX0NP REVDX0lEX05PTkUsICAgICAwIH0KPiAgfTsKPgo+IEBAIC00OTIsNyArNDk0LDcgQEAgc3RhdGlj IHZvaWQgZmx2X3dyaXRlX2NvZGVjX2hlYWRlcihBVkZvcm1hdENvbnRleHQqIHMsCj4gQVZDb2Rl Y1BhcmFtZXRlcnMqIHBhciwgaQo+ICAgICAgRkxWQ29udGV4dCAqZmx2ID0gcy0+cHJpdl9kYXRh Owo+Cj4gICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMgfHwgcGFyLT5j b2RlY19pZCA9PQo+IEFWX0NPREVDX0lEX0gyNjQKPiAtICAgICAgICAgICAgfHwgcGFyLT5jb2Rl Y19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCkgewo+ICsgICAgICAgICAgICB8fCBwYXItPmNvZGVj X2lkID09IEFWX0NPREVDX0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQgPT0KPiBBVl9DT0RFQ19J RF9IRVZDKSB7Cj4gICAgICAgICAgaW50NjRfdCBwb3M7Cj4gICAgICAgICAgYXZpb193OChwYiwK PiAgICAgICAgICAgICAgICAgIHBhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8g Pwo+IEBAIC01MzUsMTAgKzUzNywxOSBAQCBzdGF0aWMgdm9pZCBmbHZfd3JpdGVfY29kZWNfaGVh ZGVyKEFWRm9ybWF0Q29udGV4dCoKPiBzLCBBVkNvZGVjUGFyYW1ldGVycyogcGFyLCBpCj4gICAg ICAgICAgICAgIH0KPiAgICAgICAgICAgICAgYXZpb193cml0ZShwYiwgcGFyLT5leHRyYWRhdGEs IHBhci0+ZXh0cmFkYXRhX3NpemUpOwo+ICAgICAgICAgIH0gZWxzZSB7Cj4gLSAgICAgICAgICAg IGF2aW9fdzgocGIsIHBhci0+Y29kZWNfdGFnIHwgRkxWX0ZSQU1FX0tFWSk7IC8vIGZsYWdzCj4g LSAgICAgICAgICAgIGF2aW9fdzgocGIsIDApOyAvLyBBVkMgc2VxdWVuY2UgaGVhZGVyCj4gLSAg ICAgICAgICAgIGF2aW9fd2IyNChwYiwgMCk7IC8vIGNvbXBvc2l0aW9uIHRpbWUKPiAtICAgICAg ICAgICAgZmZfaXNvbV93cml0ZV9hdmNjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRh dGFfc2l6ZSk7Cj4gKyAgICAgICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X0hFVkMpIHsKPiArICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIg fCBQYWNrZXRUeXBlU2VxdWVuY2VTdGFydCk7Cj4gLy8gRXhWaWRlb1RhZ0hlYWRlciBtb2RlIHdp dGggUGFja2V0VHlwZVNlcXVlbmNlU3RhcnQKPiArICAgICAgICAgICAgICAgIGF2aW9fd3JpdGUo cGIsICJodmMxIiwgNCk7Cj4gKyAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAg ICBhdmlvX3c4KHBiLCBwYXItPmNvZGVjX3RhZyB8IEZMVl9GUkFNRV9LRVkpOyAvLyBmbGFncwo+ ICsgICAgICAgICAgICAgICAgYXZpb193OChwYiwgMCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIK PiArICAgICAgICAgICAgICAgIGF2aW9fd2IyNChwYiwgMCk7IC8vIGNvbXBvc2l0aW9uIHRpbWUK PiArICAgICAgICAgICAgfQo+ICsKPiArICAgICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0g QVZfQ09ERUNfSURfSEVWQykKPiArICAgICAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfaHZjYyhw YiwgcGFyLT5leHRyYWRhdGEsCj4gcGFyLT5leHRyYWRhdGFfc2l6ZSwgMCk7Cj4gKyAgICAgICAg ICAgIGVsc2UKPiArICAgICAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfYXZjYyhwYiwgcGFyLT5l eHRyYWRhdGEsCj4gcGFyLT5leHRyYWRhdGFfc2l6ZSk7Cj4gICAgICAgICAgfQo+ICAgICAgICAg IGRhdGFfc2l6ZSA9IGF2aW9fdGVsbChwYikgLSBwb3M7Cj4gICAgICAgICAgYXZpb19zZWVrKHBi LCAtZGF0YV9zaXplIC0gMTAsIFNFRUtfQ1VSKTsKPiBAQCAtNjI4LDcgKzYzOSw4IEBAIHN0YXRp YyBpbnQgZmx2X2luaXQoc3RydWN0IEFWRm9ybWF0Q29udGV4dCAqcykKPiAgICAgICAgICAgICAg ICAgIHJldHVybiB1bnN1cHBvcnRlZF9jb2RlYyhzLCAiVmlkZW8iLCBwYXItPmNvZGVjX2lkKTsK Pgo+ICAgICAgICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8 fAo+IC0gICAgICAgICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjYzKSB7 Cj4gKyAgICAgICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjMgfHwK PiArICAgICAgICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+ ICAgICAgICAgICAgICAgICAgaW50IGVycm9yID0gcy0+c3RyaWN0X3N0ZF9jb21wbGlhbmNlID4K PiBGRl9DT01QTElBTkNFX1VOT0ZGSUNJQUw7Cj4gICAgICAgICAgICAgICAgICBhdl9sb2cocywg ZXJyb3IgPyBBVl9MT0dfRVJST1IgOiBBVl9MT0dfV0FSTklORywKPiAgICAgICAgICAgICAgICAg ICAgICAgICAiQ29kZWMgJXMgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgb2ZmaWNpYWwgRkxWCj4g c3BlY2lmaWNhdGlvbixcbiIsIGF2Y29kZWNfZ2V0X25hbWUocGFyLT5jb2RlY19pZCkpOwo+IEBA IC03ODQsOCArNzk2LDExIEBAIGVuZDoKPiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcy0+bmJf c3RyZWFtczsgaSsrKSB7Cj4gICAgICAgICAgICAgIEFWQ29kZWNQYXJhbWV0ZXJzICpwYXIgPSBz LT5zdHJlYW1zW2ldLT5jb2RlY3BhcjsKPiAgICAgICAgICAgICAgRkxWU3RyZWFtQ29udGV4dCAq c2MgPSBzLT5zdHJlYW1zW2ldLT5wcml2X2RhdGE7Cj4gLSAgICAgICAgICAgIGlmIChwYXItPmNv ZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPICYmCj4gLSAgICAgICAgICAgICAgICAgICAg KHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXItPmNvZGVjX2lkCj4gPT0g QVZfQ09ERUNfSURfTVBFRzQpKQo+ICsgICAgICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9IRVZDKSB7Cj4gKyAgICAgICAgICAgICAgICBhdmlvX3c4KHBiLCAweDgyKTsK PiArICAgICAgICAgICAgICAgIGF2aW9fd3JpdGUocGIsICJodmMxIiwgNCk7Cj4gKyAgICAgICAg ICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyAmJgo+ ICsgICAgICAgICAgICAgICAgICAgIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQg fHwgcGFyLT5jb2RlY19pZAo+ID09IEFWX0NPREVDX0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQg PT0gQVZfQ09ERUNfSURfSEVWQykpCj4gICAgICAgICAgICAgICAgICBwdXRfZW9zX3RhZyhwYiwg c2MtPmxhc3RfdHMsIHBhci0+Y29kZWNfaWQpOwo+ICAgICAgICAgIH0KPiAgICAgIH0KPiBAQCAt ODM2LDEzICs4NTEsMTMgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29u dGV4dCAqcywKPiBBVlBhY2tldCAqcGt0KQo+ICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfVlA2RiB8fCBwYXItPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURfVlA2QSB8fAo+ ICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2ICB8fCBwYXItPmNvZGVj X2lkID09Cj4gQVZfQ09ERUNfSURfQUFDKQo+ICAgICAgICAgIGZsYWdzX3NpemUgPSAyOwo+IC0g ICAgZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29k ZWNfaWQgPT0KPiBBVl9DT0RFQ19JRF9NUEVHNCkKPiArICAgIGVsc2UgaWYgKHBhci0+Y29kZWNf aWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXItPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURf TVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKQo+ICAgICAgICAgIGZs YWdzX3NpemUgPSA1Owo+ICAgICAgZWxzZQo+ICAgICAgICAgIGZsYWdzX3NpemUgPSAxOwo+Cj4g ICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMgfHwgcGFyLT5jb2RlY19p ZCA9PQo+IEFWX0NPREVDX0lEX0gyNjQKPiAtICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9 PSBBVl9DT0RFQ19JRF9NUEVHNCkgewo+ICsgICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09 IEFWX0NPREVDX0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQgPT0KPiBBVl9DT0RFQ19JRF9IRVZD KSB7Cj4gICAgICAgICAgc2l6ZV90IHNpZGVfc2l6ZTsKPiAgICAgICAgICB1aW50OF90ICpzaWRl ID0gYXZfcGFja2V0X2dldF9zaWRlX2RhdGEocGt0LAo+IEFWX1BLVF9EQVRBX05FV19FWFRSQURB VEEsICZzaWRlX3NpemUpOwo+ICAgICAgICAgIGlmIChzaWRlICYmIHNpZGVfc2l6ZSA+IDAgJiYg KHNpZGVfc2l6ZSAhPSBwYXItPmV4dHJhZGF0YV9zaXplIHx8Cj4gbWVtY21wKHNpZGUsIHBhci0+ ZXh0cmFkYXRhLCBzaWRlX3NpemUpKSkgewo+IEBAIC04NjIsNyArODc3LDcgQEAgc3RhdGljIGlu dCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPiBBVlBhY2tldCAqcGt0KQo+ ICAgICAgICAgICAgICAgICAiUGFja2V0cyBhcmUgbm90IGluIHRoZSBwcm9wZXIgb3JkZXIgd2l0 aCByZXNwZWN0IHRvCj4gRFRTXG4iKTsKPiAgICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwp Owo+ICAgICAgfQo+IC0gICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8 fCBwYXItPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURfTVBFRzQpIHsKPiArICAgIGlmIChwYXIt PmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PQo+IEFWX0NP REVDX0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+ICAg ICAgICAgIGlmIChwa3QtPnB0cyA9PSBBVl9OT1BUU19WQUxVRSkgewo+ICAgICAgICAgICAgICBh dl9sb2cocywgQVZfTE9HX0VSUk9SLCAiUGFja2V0IGlzIG1pc3NpbmcgUFRTXG4iKTsKPiAgICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKPiBAQCAtOTA3LDYgKzkyMiwxMCBAQCBz dGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+IEFWUGFja2V0 ICpwa3QpCj4gICAgICAgICAgaWYgKHBhci0+ZXh0cmFkYXRhX3NpemUgPiAwICYmICoodWludDhf dCopcGFyLT5leHRyYWRhdGEgIT0gMSkKPiAgICAgICAgICAgICAgaWYgKChyZXQgPSBmZl9hdmNf cGFyc2VfbmFsX3VuaXRzX2J1Zihwa3QtPmRhdGEsICZkYXRhLAo+ICZzaXplKSkgPCAwKQo+ICAg ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiArICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY19p ZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gKyAgICAgICAgaWYgKHBhci0+ZXh0cmFkYXRhX3Np emUgPiAwICYmICoodWludDhfdCopcGFyLT5leHRyYWRhdGEgIT0gMSkKPiArICAgICAgICAgICAg aWYgKChyZXQgPSBmZl9oZXZjX2FubmV4YjJtcDRfYnVmKHBrdC0+ZGF0YSwgJmRhdGEsICZzaXpl LCAwLAo+IE5VTEwpKSA8IDApCj4gKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICAgICAg fSBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FBQyAmJiBwa3QtPnNpemUg PiAyICYmCj4gICAgICAgICAgICAgICAgIChBVl9SQjE2KHBrdC0+ZGF0YSkgJiAweGZmZjApID09 IDB4ZmZmMCkgewo+ICAgICAgICAgIGlmICghcy0+c3RyZWFtc1twa3QtPnN0cmVhbV9pbmRleF0t Pm5iX2ZyYW1lcykgewo+IEBAIC05NjgsNyArOTg3LDEyIEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRl X3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4gQVZQYWNrZXQgKnBrdCkKPiAgICAgICAgICBh dmlvX3diMzIocGIsIGRhdGFfc2l6ZSArIDExKTsKPiAgICAgIH0gZWxzZSB7Cj4gICAgICAgICAg YXZfYXNzZXJ0MShmbGFncz49MCk7Cj4gLSAgICAgICAgYXZpb193OChwYixmbGFncyk7Cj4gKyAg ICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+ICsgICAgICAg ICAgICBhdmlvX3c4KHBiLCBGTFZfSVNfRVhfSEVBREVSIHwgUGFja2V0VHlwZUNvZGVkRnJhbWVz KTsgLy8KPiBFeFZpZGVvVGFnSGVhZGVyIG1vZGUgd2l0aCBQYWNrZXRUeXBlQ29kZWRGcmFtZXMK PiArICAgICAgICAgICAgYXZpb193cml0ZShwYiwgImh2YzEiLCA0KTsKPiArICAgICAgICB9IGVs c2Ugewo+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBmbGFncyk7Cj4gKyAgICAgICAgfQo+ICAg ICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNikKPiAgICAgICAgICAg ICAgYXZpb193OChwYiwwKTsKPiAgICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9WUDZGIHx8IHBhci0+Y29kZWNfaWQgPT0KPiBBVl9DT0RFQ19JRF9WUDZBKSB7Cj4gQEAg LTk4Miw2ICsxMDA2LDggQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29u dGV4dCAqcywKPiBBVlBhY2tldCAqcGt0KQo+ICAgICAgICAgIGVsc2UgaWYgKHBhci0+Y29kZWNf aWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXItPmNvZGVjX2lkID09Cj4gQVZfQ09ERUNfSURf TVBFRzQpIHsKPiAgICAgICAgICAgICAgYXZpb193OChwYiwgMSk7IC8vIEFWQyBOQUxVCj4gICAg ICAgICAgICAgIGF2aW9fd2IyNChwYiwgcGt0LT5wdHMgLSBwa3QtPmR0cyk7Cj4gKyAgICAgICAg fSBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpIHsKPiArICAgICAg ICAgICAgYXZpb193YjI0KHBiLCBwa3QtPnB0cyAtIHBrdC0+ZHRzKTsKPiAgICAgICAgICB9Cj4K PiAgICAgICAgICBhdmlvX3dyaXRlKHBiLCBkYXRhID8gZGF0YSA6IHBrdC0+ZGF0YSwgc2l6ZSk7 Cj4gLS0KPiAyLjQwLjAKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs Cj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWct ZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZl bCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3Jn L21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGlu ayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1 YmplY3QgInVuc3Vic2NyaWJlIi4K