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 3EF18466E5 for ; Fri, 2 Jun 2023 23:44:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C932E68C36C; Sat, 3 Jun 2023 02:44:53 +0300 (EEST) Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 59E3F68C2B9 for ; Sat, 3 Jun 2023 02:44:47 +0300 (EEST) Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-5664b14966bso29491467b3.1 for ; Fri, 02 Jun 2023 16:44:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685749485; x=1688341485; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=fnrnnb0vmxZETAaKjrhfBrvhOgw0Y/1E4SRVQHn1PdE=; b=AU1drxcDS/yNMy3vyU+P3gjlT6zzET8ceYE80P4I1VEPrZkuD+JU6adaWoxPbtSUgz Q7vSZ0ZEovNnsd/OECoTqVrA+FDvh50hMeRuKayUjD8MIJ1Nk1RxtDXgMPDfHpPqCxdH eAlXs+mLuwAI2PpmnZoPlnFKfJQ3xn7A+hsjkzcgTod0/sM+CCBqIEc31FeI/IOWc1ON W+tCiPIOwZMvyJodmJeiOZrY3HUpWAscU+HqbL56AWPBv+IUiqdNTasUvK7hP5TJDYaK LUn4xBSYq3RuStutbdwUiuV449RjVTwLqjvFuPXFZwNQbg6C+npHt4m/5VWaknyXfVjn Z9Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685749485; x=1688341485; h=content-transfer-encoding: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=fnrnnb0vmxZETAaKjrhfBrvhOgw0Y/1E4SRVQHn1PdE=; b=N0mt+Qfxpy7+EE6HyyrWMx76kwcad9paW4QFlIUf9AU7NAGoQeavalNUpa855qFKKq 2AOj4oneIN1EIsc4qdQ58VJ94NnWPwObynb6BQExqb30vvW8QlopqzwkvQygr3Fzunip ZJa9UvQF4vrjkXrpxxwAEqMlSi491r36YTWH2DWONEaQjG32ymcHMVUEkwKKIaE/1Fdx CNTQKJuC3b0LNmB8SamusCmHgc0sdgZ04RI1UtUxiYH5stNlNWbVKcgejy0VAB5PqzRR i5EKvVXBflmPyIE7IOv6oFJKNZMTCf1H81IF74pY2a8Sr2Dh6C7XIfEvHbOOsz10BcMp q0sA== X-Gm-Message-State: AC+VfDx85gxqldQ3iWQiuC2e0B7JaArXgV2Dr6UMIsfFjjiURclSIDED oZEz1bTNOwaiKwgav68bqUt9HCkLqB5HSG4pJvL0n4WI08MpJg== X-Google-Smtp-Source: ACHHUZ43RS/iNHVAQ9PzWxPJO2CBb8kgIaUwLp7zfdq6wlKHJAMn2riAq2WbTxE3uh+mx5UkETlhQTviFX5qk0un/yg= X-Received: by 2002:a0d:ca89:0:b0:561:dd1b:e516 with SMTP id m131-20020a0dca89000000b00561dd1be516mr1531809ywd.35.1685749485378; Fri, 02 Jun 2023 16:44:45 -0700 (PDT) MIME-Version: 1.0 References: <20230602073109.14086-1-lq@chinaffmpeg.org> <20230602073109.14086-2-lq@chinaffmpeg.org> In-Reply-To: From: Steven Liu Date: Sat, 3 Jun 2023 07:44:34 +0800 Message-ID: To: FFmpeg development discussions and patches 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: TGFuY2UgV2FuZyA8bGFuY2UubG13YW5nQGdtYWlsLmNvbT4g5LqOMjAyM+W5tDbmnIgy5pel5ZGo 5LqUIDIzOjUy5YaZ6YGT77yaCj4KPiBPbiBGcmksIEp1biAyLCAyMDIzIGF0IDc6MjnigK9QTSBT dGV2ZW4gTGl1IDxsaW5naml1amlhbmtlQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiA+IExhbmNlIFdh bmcgPGxhbmNlLmxtd2FuZ0BnbWFpbC5jb20+IOS6jjIwMjPlubQ25pyIMuaXpeWRqOS6lCAxOTow OeWGmemBk++8mgo+ID4gPgo+ID4gPiBPbiBGcmksIEp1biAyLCAyMDIzIGF0IDM6MzHigK9QTSBT dGV2ZW4gTGl1IDxscUBjaGluYWZmbXBlZy5vcmc+IHdyb3RlOgo+ID4gPgo+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IFN0ZXZlbiBMaXUgPGxxQGNoaW5hZmZtcGVnLm9yZz4KPiA+ID4gPiAtLS0KPiA+ ID4gPiAgbGliYXZmb3JtYXQvTWFrZWZpbGUgfCAgMiArLQo+ID4gPiA+ICBsaWJhdmZvcm1hdC9m bHYuaCAgICB8IDE1ICsrKysrKysrKysrKysrKwo+ID4gPiA+ICBsaWJhdmZvcm1hdC9mbHZlbmMu YyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCj4gPiA+ID4g IDMgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCj4gPiA+ ID4KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvTWFrZWZpbGUgYi9saWJhdmZvcm1h dC9NYWtlZmlsZQo+ID4gPiA+IGluZGV4IGY4YWQ3YzZhMTEuLjFlZjNkMTU0NjcgMTAwNjQ0Cj4g PiA+ID4gLS0tIGEvbGliYXZmb3JtYXQvTWFrZWZpbGUKPiA+ID4gPiArKysgYi9saWJhdmZvcm1h dC9NYWtlZmlsZQo+ID4gPiA+IEBAIC0yMTQsNyArMjE0LDcgQEAgT0JKUy0kKENPTkZJR19GTEFD X01VWEVSKSAgICAgICAgICAgICAgICArPQo+ID4gZmxhY2VuYy5vCj4gPiA+ID4gZmxhY2VuY19o ZWFkZXIubyBcCj4gPiA+ID4gIE9CSlMtJChDT05GSUdfRkxJQ19ERU1VWEVSKSAgICAgICAgICAg ICAgKz0gZmxpYy5vCj4gPiA+ID4gIE9CSlMtJChDT05GSUdfRkxWX0RFTVVYRVIpICAgICAgICAg ICAgICAgKz0gZmx2ZGVjLm8KPiA+ID4gPiAgT0JKUy0kKENPTkZJR19MSVZFX0ZMVl9ERU1VWEVS KSAgICAgICAgICArPSBmbHZkZWMubwo+ID4gPiA+IC1PQkpTLSQoQ09ORklHX0ZMVl9NVVhFUikg ICAgICAgICAgICAgICAgICs9IGZsdmVuYy5vIGF2Yy5vCj4gPiA+ID4gK09CSlMtJChDT05GSUdf RkxWX01VWEVSKSAgICAgICAgICAgICAgICAgKz0gZmx2ZW5jLm8gYXZjLm8gaGV2Yy5vCj4gPiA+ ID4gIE9CSlMtJChDT05GSUdfRk9VUlhNX0RFTVVYRVIpICAgICAgICAgICAgKz0gNHhtLm8KPiA+ ID4gPiAgT0JKUy0kKENPTkZJR19GUkFNRUNSQ19NVVhFUikgICAgICAgICAgICArPSBmcmFtZWNy Y2VuYy5vIGZyYW1laGFzaC5vCj4gPiA+ID4gIE9CSlMtJChDT05GSUdfRlJBTUVIQVNIX01VWEVS KSAgICAgICAgICAgKz0gaGFzaGVuYy5vIGZyYW1laGFzaC5vCj4gPiA+ID4gZGlmZiAtLWdpdCBh L2xpYmF2Zm9ybWF0L2Zsdi5oIGIvbGliYXZmb3JtYXQvZmx2LmgKPiA+ID4gPiBpbmRleCAzNTcx YjkwMjc5Li45MWUwYTQxNDBjIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2xpYmF2Zm9ybWF0L2Zsdi5o Cj4gPiA+ID4gKysrIGIvbGliYXZmb3JtYXQvZmx2LmgKPiA+ID4gPiBAQCAtMzUsNiArMzUsMTIg QEAKPiA+ID4gPgo+ID4gPiA+ICAjZGVmaW5lIEZMVl9WSURFT19GUkFNRVRZUEVfT0ZGU0VUICAg NAo+ID4gPiA+Cj4gPiA+ID4gKy8qIEV4dGVuZGVkIFZpZGVvVGFnSGVhZGVyCj4gPiA+ID4gKyAq IGRlZmluZWQgaW4gcmVmZXJlbmNlIGxpbms6Cj4gPiA+ID4gKyAqCj4gPiA+ID4KPiA+IGh0dHBz Oi8vZ2l0aHViLmNvbS92ZW92ZXJhL2VuaGFuY2VkLXJ0bXAvYmxvYi9tYWluL2VuaGFuY2VkLXJ0 bXAtdjEucGRmCj4gPiA+ID4gKyAqICovCj4gPiA+ID4gKyNkZWZpbmUgRkxWX0lTX0VYX0hFQURF UiAgICAgICAgICAweDgwCj4gPiA+ID4gKwo+ID4gPiA+ICAvKiBiaXRtYXNrcyB0byBpc29sYXRl IHNwZWNpZmljIHZhbHVlcyAqLwo+ID4gPiA+ICAjZGVmaW5lIEZMVl9BVURJT19DSEFOTkVMX01B U0sgICAgMHgwMQo+ID4gPiA+ICAjZGVmaW5lIEZMVl9BVURJT19TQU1QTEVTSVpFX01BU0sgMHgw Mgo+ID4gPiA+IEBAIC0xMTIsNiArMTE4LDE1IEBAIGVudW0gewo+ID4gPiA+ICAgICAgRkxWX0NP REVDSURfTVBFRzQgICA9IDksCj4gPiA+ID4gIH07Cj4gPiA+ID4KPiA+ID4gPiArZW51bSB7Cj4g PiA+ID4gKyAgICBQYWNrZXRUeXBlU2VxdWVuY2VTdGFydCAgICAgICAgID0gMCwKPiA+ID4gPiAr ICAgIFBhY2tldFR5cGVDb2RlZEZyYW1lcyAgICAgICAgICAgPSAxLAo+ID4gPiA+ICsgICAgUGFj a2V0VHlwZVNlcXVlbmNlRW5kICAgICAgICAgICA9IDIsCj4gPiA+ID4gKyAgICBQYWNrZXRUeXBl Q29kZWRGcmFtZXNYICAgICAgICAgID0gMywKPiA+ID4gPiArICAgIFBhY2tldFR5cGVNZXRhZGF0 YSAgICAgICAgICAgICAgPSA0LAo+ID4gPiA+ICsgICAgUGFja2V0VHlwZU1QRUcyVFNTZXF1ZW5j ZVN0YXJ0ICA9IDUsCj4gPiA+ID4gK307Cj4gPiA+ID4gKwo+ID4gPiA+Cj4gPiA+Cj4gPiA+IGZv cm1hdCBhbmQgYWxpZ24gdGhlICI9Ij8KPiA+IHllcyBpdCBpcyBhbGlnbmVkIGluIHBhdGNoLCB5 b3UgY2FuIHJlZmVyZW5jZSBpbgo+ID4KPiA+IGh0dHBzOi8vcGF0Y2h3b3JrLmZmbXBlZy5vcmcv cHJvamVjdC9mZm1wZWcvcGF0Y2gvMjAyMzA2MDIwNzMxMDkuMTQwODYtMi1scUBjaGluYWZmbXBl Zy5vcmcvCj4gPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+ID4gIGVudW0gewo+ID4gPiA+ICAgICAgRkxW X0ZSQU1FX0tFWSAgICAgICAgICAgID0gMSA8PCBGTFZfVklERU9fRlJBTUVUWVBFX09GRlNFVCwg Ly8vPAo+ID4ga2V5Cj4gPiA+ID4gZnJhbWUgKGZvciBBVkMsIGEgc2Vla2FibGUgZnJhbWUpCj4g PiA+ID4gICAgICBGTFZfRlJBTUVfSU5URVIgICAgICAgICAgPSAyIDw8IEZMVl9WSURFT19GUkFN RVRZUEVfT0ZGU0VULCAvLy88Cj4gPiA+ID4gaW50ZXIgZnJhbWUgKGZvciBBVkMsIGEgbm9uLXNl ZWthYmxlIGZyYW1lKQo+ID4gPiA+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9mbHZlbmMuYyBi L2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCj4gPiA+ID4gaW5kZXggNzIxZjA2MjgxMS4uYWVkMDk0NmEy ZSAxMDA2NDQKPiA+ID4gPiAtLS0gYS9saWJhdmZvcm1hdC9mbHZlbmMuYwo+ID4gPiA+ICsrKyBi L2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCj4gPiA+ID4gQEAgLTI4LDYgKzI4LDcgQEAKPiA+ID4gPiAg I2luY2x1ZGUgImxpYmF2Y29kZWMvbXBlZzRhdWRpby5oIgo+ID4gPiA+ICAjaW5jbHVkZSAiYXZp by5oIgo+ID4gPiA+ICAjaW5jbHVkZSAiYXZjLmgiCj4gPiA+ID4gKyNpbmNsdWRlICJoZXZjLmgi Cj4gPiA+ID4gICNpbmNsdWRlICJhdmZvcm1hdC5oIgo+ID4gPiA+ICAjaW5jbHVkZSAiZmx2Lmgi Cj4gPiA+ID4gICNpbmNsdWRlICJpbnRlcm5hbC5oIgo+ID4gPiA+IEBAIC00Niw2ICs0Nyw3IEBA IHN0YXRpYyBjb25zdCBBVkNvZGVjVGFnIGZsdl92aWRlb19jb2RlY19pZHNbXSA9IHsKPiA+ID4g PiAgICAgIHsgQVZfQ09ERUNfSURfVlA2LCAgICAgIEZMVl9DT0RFQ0lEX1ZQNiB9LAo+ID4gPiA+ ICAgICAgeyBBVl9DT0RFQ19JRF9WUDZBLCAgICAgRkxWX0NPREVDSURfVlA2QSB9LAo+ID4gPiA+ ICAgICAgeyBBVl9DT0RFQ19JRF9IMjY0LCAgICAgRkxWX0NPREVDSURfSDI2NCB9LAo+ID4gPiA+ ICsgICAgeyBBVl9DT0RFQ19JRF9IRVZDLCAgICAgTUtCRVRBRygnaCcsICd2JywgJ2MnLCAnMScp IH0sCj4gPiA+ID4gICAgICB7IEFWX0NPREVDX0lEX05PTkUsICAgICAwIH0KPiA+ID4gPiAgfTsK PiA+ID4gPgo+ID4gPiA+IEBAIC00ODksNyArNDkxLDcgQEAgc3RhdGljIHZvaWQKPiA+IGZsdl93 cml0ZV9jb2RlY19oZWFkZXIoQVZGb3JtYXRDb250ZXh0KiBzLAo+ID4gPiA+IEFWQ29kZWNQYXJh bWV0ZXJzKiBwYXIsIGkKPiA+ID4gPiAgICAgIEZMVkNvbnRleHQgKmZsdiA9IHMtPnByaXZfZGF0 YTsKPiA+ID4gPgo+ID4gPiA+ICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf QUFDIHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+ID4gPiBBVl9DT0RFQ19JRF9IMjY0Cj4gPiA+ID4g LSAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQpIHsKPiA+ ID4gPiArICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8 fCBwYXItPmNvZGVjX2lkID09Cj4gPiA+ID4gQVZfQ09ERUNfSURfSEVWQykgewo+ID4gPiA+ICAg ICAgICAgIGludDY0X3QgcG9zOwo+ID4gPiA+ICAgICAgICAgIGF2aW9fdzgocGIsCj4gPiA+ID4g ICAgICAgICAgICAgICAgICBwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPID8K PiA+ID4gPiBAQCAtNTMyLDEwICs1MzQsMTkgQEAgc3RhdGljIHZvaWQKPiA+IGZsdl93cml0ZV9j b2RlY19oZWFkZXIoQVZGb3JtYXRDb250ZXh0Kgo+ID4gPiA+IHMsIEFWQ29kZWNQYXJhbWV0ZXJz KiBwYXIsIGkKPiA+ID4gPiAgICAgICAgICAgICAgfQo+ID4gPiA+ICAgICAgICAgICAgICBhdmlv X3dyaXRlKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSk7Cj4gPiA+ID4g ICAgICAgICAgfSBlbHNlIHsKPiA+ID4gPiAtICAgICAgICAgICAgYXZpb193OChwYiwgcGFyLT5j b2RlY190YWcgfCBGTFZfRlJBTUVfS0VZKTsgLy8gZmxhZ3MKPiA+ID4gPiAtICAgICAgICAgICAg YXZpb193OChwYiwgMCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIKPiA+ID4gPiAtICAgICAgICAg ICAgYXZpb193YjI0KHBiLCAwKTsgLy8gY29tcG9zaXRpb24gdGltZQo+ID4gPiA+IC0gICAgICAg ICAgICBmZl9pc29tX3dyaXRlX2F2Y2MocGIsIHBhci0+ZXh0cmFkYXRhLAo+ID4gcGFyLT5leHRy YWRhdGFfc2l6ZSk7Cj4gPiA+ID4gKyAgICAgICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFW X0NPREVDX0lEX0hFVkMpIHsKPiA+ID4gPiArICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIEZM Vl9JU19FWF9IRUFERVIgfAo+ID4gUGFja2V0VHlwZVNlcXVlbmNlU3RhcnQgfAo+ID4gPiA+IEZM Vl9GUkFNRV9LRVkpOyAvLyBFeFZpZGVvVGFnSGVhZGVyIG1vZGUgd2l0aCBQYWNrZXRUeXBlU2Vx dWVuY2VTdGFydAo+ID4gPiA+ICsgICAgICAgICAgICAgICAgYXZpb193cml0ZShwYiwgImh2YzEi LCA0KTsKPiA+ID4gPgo+ID4gPiAgZmZfaXNvbV93cml0ZV9odmNjKHBiLCBwYXItPmV4dHJhZGF0 YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSwgMCk7Cj4gPiA+Cj4gPiA+Cj4gPiA+ID4gKyAgICAgICAg ICAgIH0gZWxzZSB7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICBhdmlvX3c4KHBiLCBwYXItPmNv ZGVjX3RhZyB8IEZMVl9GUkFNRV9LRVkpOyAvLyBmbGFncwo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgYXZpb193OChwYiwgMCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIKPiA+ID4gPiArICAgICAg ICAgICAgICAgIGF2aW9fd2IyNChwYiwgMCk7IC8vIGNvbXBvc2l0aW9uIHRpbWUKPiA+ID4gPgo+ ID4gPgo+ID4gPiBmZl9pc29tX3dyaXRlX2F2Y2MocGIsIHBhci0+ZXh0cmFkYXRhLCBwYXItPmV4 dHJhZGF0YV9zaXplKTsKPiA+ID4KPiA+ID4KPiA+ID4gPiArICAgICAgICAgICAgfQo+ID4gPiA+ ICsKPiA+ID4gPiArICAgICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf SEVWQykKPiA+ID4gPiArICAgICAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfaHZjYyhwYiwgcGFy LT5leHRyYWRhdGEsCj4gPiA+ID4gcGFyLT5leHRyYWRhdGFfc2l6ZSwgMCk7Cj4gPiA+ID4gKyAg ICAgICAgICAgIGVsc2UKPiA+ID4gPiArICAgICAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfYXZj YyhwYiwgcGFyLT5leHRyYWRhdGEsCj4gPiA+ID4gcGFyLT5leHRyYWRhdGFfc2l6ZSk7Cj4gPiA+ ID4KPiA+ID4KPiA+ID4gbWVyZ2UgdGhlIGlmIGVsc2U/Cj4gPiBObywgdGhlc2UgbW9kaWZ5IHdp bGwgYmUgdXNlZCBhdCB0aGUgcGF0Y2hlcyBhZnRlciB0aGlzIHBhdGNoLAo+ID4gPgo+ID4gPiAg ICAgICAgICB9Cj4gPiA+ID4gICAgICAgICAgZGF0YV9zaXplID0gYXZpb190ZWxsKHBiKSAtIHBv czsKPiA+ID4gPiAgICAgICAgICBhdmlvX3NlZWsocGIsIC1kYXRhX3NpemUgLSAxMCwgU0VFS19D VVIpOwo+ID4gPiA+IEBAIC04MjEsNiArODMyLDcgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFj a2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPiA+ID4gPiBBVlBhY2tldCAqcGt0KQo+ID4gPiA+ICAg ICAgdW5zaWduZWQgdHM7Cj4gPiA+ID4gICAgICBpbnQgc2l6ZSA9IHBrdC0+c2l6ZTsKPiA+ID4g PiAgICAgIHVpbnQ4X3QgKmRhdGEgPSBOVUxMOwo+ID4gPiA+ICsgICAgdWludDhfdCBmcmFtZXR5 cGUgPSBwa3QtPmZsYWdzICYgQVZfUEtUX0ZMQUdfS0VZID8gRkxWX0ZSQU1FX0tFWSA6Cj4gPiA+ ID4gRkxWX0ZSQU1FX0lOVEVSOwo+ID4gPiA+ICAgICAgaW50IGZsYWdzID0gLTEsIGZsYWdzX3Np emUsIHJldCA9IDA7Cj4gPiA+ID4gICAgICBpbnQ2NF90IGN1cl9vZmZzZXQgPSBhdmlvX3RlbGwo cGIpOwo+ID4gPiA+Cj4gPiA+ID4gQEAgLTgzMiwxMyArODQ0LDEzIEBAIHN0YXRpYyBpbnQgZmx2 X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4gPiA+ID4gQVZQYWNrZXQgKnBrdCkK PiA+ID4gPiAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNkYgfHwgcGFy LT5jb2RlY19pZCA9PQo+ID4gPiA+IEFWX0NPREVDX0lEX1ZQNkEgfHwKPiA+ID4gPiAgICAgICAg ICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNiAgfHwgcGFyLT5jb2RlY19pZCA9PQo+ ID4gPiA+IEFWX0NPREVDX0lEX0FBQykKPiA+ID4gPiAgICAgICAgICBmbGFnc19zaXplID0gMjsK PiA+ID4gPiAtICAgIGVsc2UgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8 fCBwYXItPmNvZGVjX2lkID09Cj4gPiA+ID4gQVZfQ09ERUNfSURfTVBFRzQpCj4gPiA+ID4gKyAg ICBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2Rl Y19pZCA9PQo+ID4gPiA+IEFWX0NPREVDX0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfSEVWQykKPiA+ID4gPiAgICAgICAgICBmbGFnc19zaXplID0gNTsKPiA+ID4gPiAg ICAgIGVsc2UKPiA+ID4gPiAgICAgICAgICBmbGFnc19zaXplID0gMTsKPiA+ID4gPgo+ID4gPiA+ ICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQUFDIHx8IHBhci0+Y29kZWNf aWQgPT0KPiA+ID4gPiBBVl9DT0RFQ19JRF9IMjY0Cj4gPiA+ID4gLSAgICAgICAgICAgIHx8IHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQpIHsKPiA+ID4gPiArICAgICAgICAgICAg fHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09 Cj4gPiA+ID4gQVZfQ09ERUNfSURfSEVWQykgewo+ID4gPiA+ICAgICAgICAgIHNpemVfdCBzaWRl X3NpemU7Cj4gPiA+ID4gICAgICAgICAgdWludDhfdCAqc2lkZSA9IGF2X3BhY2tldF9nZXRfc2lk ZV9kYXRhKHBrdCwKPiA+ID4gPiBBVl9QS1RfREFUQV9ORVdfRVhUUkFEQVRBLCAmc2lkZV9zaXpl KTsKPiA+ID4gPiAgICAgICAgICBpZiAoc2lkZSAmJiBzaWRlX3NpemUgPiAwICYmIChzaWRlX3Np emUgIT0KPiA+IHBhci0+ZXh0cmFkYXRhX3NpemUgfHwKPiA+ID4gPiBtZW1jbXAoc2lkZSwgcGFy LT5leHRyYWRhdGEsIHNpZGVfc2l6ZSkpKSB7Cj4gPiA+ID4gQEAgLTg1OCw3ICs4NzAsNyBAQCBz dGF0aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+ID4gPiA+IEFW UGFja2V0ICpwa3QpCj4gPiA+ID4gICAgICAgICAgICAgICAgICJQYWNrZXRzIGFyZSBub3QgaW4g dGhlIHByb3BlciBvcmRlciB3aXRoIHJlc3BlY3QgdG8KPiA+ID4gPiBEVFNcbiIpOwo+ID4gPiA+ ICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gPiA+ID4gICAgICB9Cj4gPiA+ID4g LSAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNf aWQgPT0KPiA+ID4gPiBBVl9DT0RFQ19JRF9NUEVHNCkgewo+ID4gPiA+ICsgICAgaWYgKHBhci0+ Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXItPmNvZGVjX2lkID09Cj4gPiA+ID4g QVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7 Cj4gPiA+ID4gICAgICAgICAgaWYgKHBrdC0+cHRzID09IEFWX05PUFRTX1ZBTFVFKSB7Cj4gPiA+ ID4gICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJQYWNrZXQgaXMgbWlzc2lu ZyBQVFNcbiIpOwo+ID4gPiA+ICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwo+ ID4gPiA+IEBAIC04ODEsNyArODkzLDcgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFW Rm9ybWF0Q29udGV4dCAqcywKPiA+ID4gPiBBVlBhY2tldCAqcGt0KQo+ID4gPiA+Cj4gPiA+ID4g ICAgICAgICAgZmxhZ3MgPSBmZl9jb2RlY19nZXRfdGFnKGZsdl92aWRlb19jb2RlY19pZHMsIHBh ci0+Y29kZWNfaWQpOwo+ID4gPiA+Cj4gPiA+ID4gLSAgICAgICAgZmxhZ3MgfD0gcGt0LT5mbGFn cyAmIEFWX1BLVF9GTEFHX0tFWSA/IEZMVl9GUkFNRV9LRVkgOgo+ID4gPiA+IEZMVl9GUkFNRV9J TlRFUjsKPiA+ID4gPiArICAgICAgICBmbGFncyB8PSBmcmFtZXR5cGU7Cj4gPiA+ID4gICAgICAg ICAgYnJlYWs7Cj4gPiA+ID4gICAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKPiA+ID4gPiAg ICAgICAgICBmbGFncyA9IGdldF9hdWRpb19mbGFncyhzLCBwYXIpOwo+ID4gPiA+IEBAIC05MDMs NiArOTE1LDEwIEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQg KnMsCj4gPiA+ID4gQVZQYWNrZXQgKnBrdCkKPiA+ID4gPiAgICAgICAgICBpZiAocGFyLT5leHRy YWRhdGFfc2l6ZSA+IDAgJiYgKih1aW50OF90KilwYXItPmV4dHJhZGF0YSAhPSAxKQo+ID4gPiA+ ICAgICAgICAgICAgICBpZiAoKHJldCA9IGZmX2F2Y19wYXJzZV9uYWxfdW5pdHNfYnVmKHBrdC0+ ZGF0YSwgJmRhdGEsCj4gPiA+ID4gJnNpemUpKSA8IDApCj4gPiA+ID4gICAgICAgICAgICAgICAg ICByZXR1cm4gcmV0Owo+ID4gPiA+ICsgICAgfSBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFW X0NPREVDX0lEX0hFVkMpIHsKPiA+ID4gPiArICAgICAgICBpZiAocGFyLT5leHRyYWRhdGFfc2l6 ZSA+IDAgJiYgKih1aW50OF90KilwYXItPmV4dHJhZGF0YSAhPSAxKQo+ID4gPiA+Cj4gPiA+Cj4g PiA+IEZvciB0aGUgYW5uZXhiIGZvcm1hdCwgc3RyaWN0ZXIgY2hlY2tzIGFyZSBhcyBmb2xsb3dz IGlmIGZvbGxvdyBieQo+ID4gc3RhbmRhcmQKPiA+ID4gSU1POgo+ID4gPiBBVl9SQjI0KHBhci0+ ZXh0cmFkYXRhKSA9PSAxIHx8IEFWX1JCMzIocGFyLT5leHRyYWRhdGEpID09IDEpCj4gPiBBcmUg dGhlcmUgaGF2ZSBzb21lIHByb2JsZW1zIGlmIGkgdXNlIHRoZSBjb2RlICBpZgo+ID4gKHBhci0+ ZXh0cmFkYXRhX3NpemUgPiAwICYmICoodWludDhfdCopcGFyLT5leHRyYWRhdGEgIT0gMSkgPwo+ ID4KPiA+Cj4gdGhlIHBhdHRlcm4gaXMgdmVyeSBzaW1wbGUgYW5kIHdpbGwgYmUgbWlzZGV0ZWN0 ZWQgaWYgZXh0cmFkYXRhIGlzIGNvcnJ1cHQKPiBldGMuCj4gTm93IHRoZSBleHRyYWRhdGEgaXMg aHZjYyBvciBhbm5leGIsICBmb3IgaHZjYywgdGhlCj4gKih1aW50OF90KilwYXItPmV4dHJhZGF0 YSA9PSAxLAo+IHNvIHRoZSBjb25kaXRpb24gaXMgYXNzdW1pbmcgaWYgaXQncyBub3QgaHZjYywg dGhlbiBpdCdzIGFubmV4Yi4gaXNuJ3QgMTAwJQo+IGNvcnJlY3Q/Ck5vLCBpdCB3aWxsIGNyYXNo IGlmIGV4dHJhZGF0YSBpcyBudWxsLCBzbyBpIGNoZWNrIHRoZSBleHRyYWRhdGFfc2l6ZSBmaXJz dC4KPgo+Cj4KPgo+ID4gPgo+ID4gPgo+ID4gPiA+ICsgICAgICAgICAgICBpZiAoKHJldCA9IGZm X2hldmNfYW5uZXhiMm1wNF9idWYocGt0LT5kYXRhLCAmZGF0YSwKPiA+ICZzaXplLCAwLAo+ID4g PiA+IE5VTEwpKSA8IDApCj4gPiA+ID4gKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4g PiA+ICAgICAgfSBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FBQyAmJiBw a3QtPnNpemUgPiAyICYmCj4gPiA+ID4gICAgICAgICAgICAgICAgIChBVl9SQjE2KHBrdC0+ZGF0 YSkgJiAweGZmZjApID09IDB4ZmZmMCkgewo+ID4gPiA+ICAgICAgICAgIGlmICghcy0+c3RyZWFt c1twa3QtPnN0cmVhbV9pbmRleF0tPm5iX2ZyYW1lcykgewo+ID4gPiA+IEBAIC05NjQsNyArOTgw LDEyIEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4g PiA+ID4gQVZQYWNrZXQgKnBrdCkKPiA+ID4gPiAgICAgICAgICBhdmlvX3diMzIocGIsIGRhdGFf c2l6ZSArIDExKTsKPiA+ID4gPiAgICAgIH0gZWxzZSB7Cj4gPiA+ID4gICAgICAgICAgYXZfYXNz ZXJ0MShmbGFncz49MCk7Cj4gPiA+ID4gLSAgICAgICAgYXZpb193OChwYixmbGFncyk7Cj4gPiA+ ID4gKyAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+ID4g PiA+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBGTFZfSVNfRVhfSEVBREVSIHwgUGFja2V0VHlw ZUNvZGVkRnJhbWVzWCB8Cj4gPiA+ID4gZnJhbWV0eXBlKTsgLy8gRXhWaWRlb1RhZ0hlYWRlciBt b2RlIHdpdGggUGFja2V0VHlwZUNvZGVkRnJhbWVzWAo+ID4gPiA+Cj4gPiA+Cj4gPiA+IGZyYW1l dHlwZSB3aWxsIDw8IDIsIHNvIGl0J3MgYmV0dGVyIHRvIHVzZSBiZWxvdyBvcmRlcjoKPiA+ID4g RkxWX0lTX0VYX0hFQURFUiB8IGZyYW1ldHlwZSB8IFBhY2tldFR5cGVDb2RlZEZyYW1lc1gKPiA+ IGZpeGVkIGxvY2FsbHkuCj4gPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+ID4gKyAgICAgICAgICAgIGF2 aW9fd3JpdGUocGIsICJodmMxIiwgNCk7Cj4gPiA+ID4gKyAgICAgICAgfSBlbHNlIHsKPiA+ID4g PiArICAgICAgICAgICAgYXZpb193OChwYiwgZmxhZ3MpOwo+ID4gPiA+ICsgICAgICAgIH0KPiA+ ID4gPiAgICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDYpCj4gPiA+ ID4gICAgICAgICAgICAgIGF2aW9fdzgocGIsMCk7Cj4gPiA+ID4gICAgICAgICAgaWYgKHBhci0+ Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2RiB8fCBwYXItPmNvZGVjX2lkID09Cj4gPiA+ID4g QVZfQ09ERUNfSURfVlA2QSkgewo+ID4gPiA+IC0tCj4gPiA+ID4gMi40MC4wCj4gPiA+ID4KPiA+ Cj4gPgo+ID4gVGhhbmtzCj4gPiBTdGV2ZW4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBm Zm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ID4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlz dGluZm8vZmZtcGVnLWRldmVsCj4gPgo+ID4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJv dmUsIG9yIGVtYWlsCj4gPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3Vi amVjdCAidW5zdWJzY3JpYmUiLgo+ID4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2 ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBl Zy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4g ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVn LWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBl Zy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNp dCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdp dGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=