From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id A8B9E4D9C5 for <ffmpegdev@gitmailbox.com>; Mon, 21 Apr 2025 16:59:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 84B5B687DDD; Mon, 21 Apr 2025 19:59:55 +0300 (EEST) Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8CE88687C89 for <ffmpeg-devel@ffmpeg.org>; Mon, 21 Apr 2025 19:59:48 +0300 (EEST) Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-3014678689aso3252496a91.0 for <ffmpeg-devel@ffmpeg.org>; Mon, 21 Apr 2025 09:59:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=emma-gg.20230601.gappssmtp.com; s=20230601; t=1745254786; x=1745859586; 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=Ft8UpCiOAbFkS1aJ1X1ad74jCX+sLfCTy4LV6sFvgjY=; b=s/DcXLB/UKSeThOzIY7CVfkLJGtEslAKV8rvvfIjqHzr6TaTRyLQ4OG63gBwTYTi9d 9W5LwMqLFwIGAviCzNyar7jStZmYm5dSdVnUjNevHJDkeLSjVwHZ2COP6yQqoeAA3/x8 gro5nafFa9kEglOnLk+lvc9dGV0R+YrEm8dGxdDDcEqeUYhn8MztrtsANWvXkuCQzFUi 65a1g8OQ80lqefos0GGyk+5mbhUyj3633HuACPZCkseNsnaVqNK0BWYwHFB46loi4clT ZsgW+zbmzZdOtxRJptFeL2dj6HKLBv1cpzqC3+PBLL9mVOgNaMCvopFsNkfx2eupaqui zlsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745254786; x=1745859586; 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=Ft8UpCiOAbFkS1aJ1X1ad74jCX+sLfCTy4LV6sFvgjY=; b=p/Q1kYar6PjTcZIqCu0A3MZmhLV3Ga4tUeSiO9BJ8t23zQ81py9lsgY79QvVtsTnXu iiYOfT+7tWYR7MXkXfWxBlxi0ip6ruo1NmCE5eVaWCvBdIohYo2wXGb8E69zHh9mPUv0 czlw4kDWac14gLHaGr1CBOA5i7jTTNbethvSvdOtwPWKHYVZYQYgLbt+oZw6xIXZl+VF OSngUwNe4tprGNrNzn4aqAcnIWxngjCYQ3WOZpxRdaLXeaYKhsMfPo4wzmSbVbXoVONI /8eNqDJebR7uDe9iONqjMC6UOUuX/9CxQs4eZ64EjYEqSLrFBDt2wuAShl9towXSHcXq 8itw== X-Gm-Message-State: AOJu0YxHhpFzXDAzq+RvkriO3EuKIRtyAUPx+xsKPzhl4p0zNDm9TRO/ q5JNh9ivru7oNVzdXBaXckTO00sg5sM80zeCpqDLSmVBqLqCvn0yFO392Xn95+crYZx6e6+2CF+ irwpdNP9HHEqP9HxAC8eFbD42xbGcimjjPip3POYoz28l189wyzU= X-Gm-Gg: ASbGncsLdVhFdtq9YMcWJyy7qR40uAn6448IS9quxgbPFihisQaMKl8jrczIiRbMBxJ ksv9MVaa9FxRd0AyX3eDwtLtEzfIoP264qN2b05MBdmqu2FZtq4tHeYG62WdZlQ3k1p16kk8WN/ GphE5Utr2kDvo2fissaop0ExqJLzRqZMW7BZP9cQUD3/m5TJ1mFMLgiUXd X-Google-Smtp-Source: AGHT+IFagrqz7H8J7c5NjpfQQonY/WKgfJ6rnquJ0hG63QY7Hz1UbAre8ohkkK7JdSUdqDyYR22YSdEf2WNTwEW6Bto= X-Received: by 2002:a17:90b:1f8d:b0:2ee:af31:a7bd with SMTP id 98e67ed59e1d1-3087bb3965bmr20001544a91.5.1745254786258; Mon, 21 Apr 2025 09:59:46 -0700 (PDT) MIME-Version: 1.0 References: <20250421023345.7558-1-emma@emma.gg> <20250421023345.7558-3-emma@emma.gg> <GV1P250MB07370626849AC5D7858CC85B8FB82@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM> In-Reply-To: <GV1P250MB07370626849AC5D7858CC85B8FB82@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM> From: Emma Worley <emma@emma.gg> Date: Mon, 21 Apr 2025 09:59:33 -0700 X-Gm-Features: ATxdqUFwSZjTVNKZEL2K2WEJtp3xJeJeMEjrL9ZYYIPwVa7PIyTQAhMlKT3nsWA Message-ID: <CAFQzNw4M_skp=b1aMePuxAeDd6z6CLhR-vhJ532bVD7iGO0TBg@mail.gmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v3 3/3] lavc/dxvenc: improve compatibility with Resolume products X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/CAFQzNw4M_skp=b1aMePuxAeDd6z6CLhR-vhJ532bVD7iGO0TBg@mail.gmail.com/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> T24gTW9uLCBBcHIgMjEsIDIwMjUgYXQgNDoxOeKAr0FNIEFuZHJlYXMgUmhlaW5oYXJkdCA8CmFu ZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cgo+IEVtbWEgV29ybGV5Ogo+ID4g SW1wcm92ZXMgY29tcGF0aWJpbGl0eSB3aXRoIFJlc29sdW1lIHByb2R1Y3RzIGJ5IGFkZGluZyBh biBhZGRpdGlvbmFsCj4gaGFzaHRhYmxlCj4gPiBmb3IgRFhUIGNvbG9yK0xVVCBjb21iaW5hdGlv bnMsIGFuZCBwYWRkaW5nIHRoZSBEWFQgdGV4dHVyZSB0byB0aGUgbmV4dAo+IGxhcmdlc3QKPiA+ IDE2eDE2IG11bHRpcGxlLiBQcm9kdWNlcyBpZGVudGljYWwgcGFja2V0cyB0byBSZXNvbHVtZSBB bGxleSBpbiBtYW51YWwKPiB0ZXN0cy4KPiA+Cj4KPiBBcmUgdGhlIGZpbGVzIHRoYXQgdGhpcyBl bmNvZGVyIGN1cnJlbnRseSBwcm9kdWNlcyBpbnZhbGlkPwo+ClllcywgaWYgdGhleSBhcmUgdW5h bGlnbmVkLgoKPgo+ID4gU2lnbmVkLW9mZi1ieTogRW1tYSBXb3JsZXkgPGVtbWFAZW1tYS5nZz4K PiA+IC0tLQo+ID4gIGxpYmF2Y29kZWMvZHh2ZW5jLmMgICAgICAgICB8IDEwNSArKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiA+ICB0ZXN0cy9yZWYvZmF0ZS9keHYzZW5jLWR4 dDEgfCAgIDIgKy0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDQ3IGRl bGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2R4dmVuYy5jIGIvbGli YXZjb2RlYy9keHZlbmMuYwo+ID4gaW5kZXggYzY0YjRkNWYxNS4uNzM3Y2NmZmYzZSAxMDA2NDQK PiA+IC0tLSBhL2xpYmF2Y29kZWMvZHh2ZW5jLmMKPiA+ICsrKyBiL2xpYmF2Y29kZWMvZHh2ZW5j LmMKPiA+IEBAIC0zNCw2ICszNCwxMSBAQAo+ID4KPiA+ICAjZGVmaW5lIERYVl9IRUFERVJfTEVO R1RIIDEyCj4gPgo+ID4gKy8qCj4gPiArICogUmVzb2x1bWUgd2lsbCByZWZ1c2UgdG8gZGlzcGxh eSBmcmFtZXMgdGhhdCBhcmUgbm90IHBhZGRlZCB0byAxNngxNgo+IHBpeGVscy4KPiA+ICsgKi8K PiA+ICsjZGVmaW5lIERYVl9BTElHTih4KSBGRkFMSUdOKHgsIDE2KQo+ID4gKwo+ID4gIC8qCj4g PiAgICogRFhWIHVzZXMgTFotbGlrZSBiYWNrLXJlZmVyZW5jZXMgdG8gYXZvaWQgY29weWluZyB3 b3JkcyB0aGF0IGhhdmUKPiBhbHJlYWR5Cj4gPiAgICogYXBwZWFyZWQgaW4gdGhlIGRlY29tcHJl c3NlZCBzdHJlYW0uIFVzaW5nIGEgc2ltcGxlIGhhc2ggdGFibGUgKEhUKQo+ID4gQEAgLTYwLDYg KzY1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgRFhWRW5jQ29udGV4dCB7Cj4gPgo+ID4gICAgICBzdHJ1 Y3QgQVZIYXNodGFibGVDb250ZXh0ICpjb2xvcl9odDsKPiA+ICAgICAgc3RydWN0IEFWSGFzaHRh YmxlQ29udGV4dCAqbHV0X2h0Owo+ID4gKyAgICBzdHJ1Y3QgQVZIYXNodGFibGVDb250ZXh0ICpj b21ib19odDsKPiA+ICB9IERYVkVuY0NvbnRleHQ7Cj4gPgo+ID4gIC8qIENvbnZlcnRzIGFuIGlu ZGV4IG9mZnNldCB2YWx1ZSB0byBhIDItYml0IG9wY29kZSBhbmQgcHVzaGVzIGl0IHRvIGEKPiBz dHJlYW0uCj4gPiBAQCAtOTQsMTAgKzEwMCwxNCBAQCBzdGF0aWMgaW50IGR4dl9jb21wcmVzc19k eHQxKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKPiA+ICAgICAgRFhWRW5jQ29udGV4dCAqY3R4ID0g YXZjdHgtPnByaXZfZGF0YTsKPiA+ICAgICAgUHV0Qnl0ZUNvbnRleHQgKnBiYyA9ICZjdHgtPnBi YzsKPiA+ICAgICAgdm9pZCAqdmFsdWU7Cj4gPiAtICAgIHVpbnQzMl90IGNvbG9yLCBsdXQsIGlk eCwgY29sb3JfaWR4LCBsdXRfaWR4LCBwcmV2X3Bvcywgc3RhdGUgPSAxNiwKPiBwb3MgPSAwLCBv cCA9IDA7Cj4gPiArICAgIHVpbnQ2NF90IGNvbWJvOwo+ID4gKyAgICB1aW50MzJfdCBjb2xvciwg bHV0LCBpZHgsIGNvbWJvX2lkeCwgcHJldl9wb3MsIG9sZF9wb3MsIHN0YXRlID0gMTYsCj4gcG9z ID0gMCwgb3AgPSAwOwo+ID4KPiA+ICAgICAgYXZfaGFzaHRhYmxlX2NsZWFyKGN0eC0+Y29sb3Jf aHQpOwo+ID4gICAgICBhdl9oYXNodGFibGVfY2xlYXIoY3R4LT5sdXRfaHQpOwo+ID4gKyAgICBh dl9oYXNodGFibGVfY2xlYXIoY3R4LT5jb21ib19odCk7Cj4gPiArCj4gPiArICAgIGF2X2hhc2h0 YWJsZV9zZXQoY3R4LT5jb21ib19odCwgY3R4LT50ZXhfZGF0YSwgJnBvcyk7Cj4gPgo+ID4gICAg ICBieXRlc3RyZWFtMl9wdXRfbGUzMihwYmMsIEFWX1JMMzIoY3R4LT50ZXhfZGF0YSkpOwo+ID4g ICAgICBhdl9oYXNodGFibGVfc2V0KGN0eC0+Y29sb3JfaHQsIGN0eC0+dGV4X2RhdGEsICZwb3Mp Owo+ID4gQEAgLTEwNyw1MSArMTE3LDQ2IEBAIHN0YXRpYyBpbnQgZHh2X2NvbXByZXNzX2R4dDEo QVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4gICAgICBwb3MrKzsKPiA+Cj4gPiAgICAgIHdoaWxl IChwb3MgKyAyIDw9IGN0eC0+dGV4X3NpemUgLyA0KSB7Cj4gPiAtICAgICAgICBpZHggPSAwOwo+ ID4gLSAgICAgICAgY29sb3JfaWR4ID0gMDsKPiA+IC0gICAgICAgIGx1dF9pZHggPSAwOwo+ID4g KyAgICAgICAgY29tYm8gPSBBVl9STDY0KGN0eC0+dGV4X2RhdGEgKyBwb3MgKiA0KTsKPiA+ICsg ICAgICAgIGNvbWJvX2lkeCA9IGF2X2hhc2h0YWJsZV9nZXQoY3R4LT5jb21ib19odCwgJmNvbWJv LCAmcHJldl9wb3MpCj4gPyBwb3MgLSBwcmV2X3BvcyA6IDA7Cj4gPiArICAgICAgICBpZHggPSBj b21ib19pZHg7Cj4gPiArICAgICAgICBQVVNIX09QKDIpOwo+ID4gKyAgICAgICAgaWYgKHBvcyA+ PSBMT09LQkFDS19XT1JEUykgewo+ID4gKyAgICAgICAgICAgIG9sZF9wb3MgPSBwb3MgLSBMT09L QkFDS19XT1JEUzsKPiA+ICsgICAgICAgICAgICBpZiAoYXZfaGFzaHRhYmxlX2dldChjdHgtPmNv bWJvX2h0LCBjdHgtPnRleF9kYXRhICsgb2xkX3Bvcwo+ICogNCwgJnByZXZfcG9zKSAmJiBwcmV2 X3BvcyA8PSBvbGRfcG9zKQo+ID4gKyAgICAgICAgICAgICAgICBhdl9oYXNodGFibGVfZGVsZXRl KGN0eC0+Y29tYm9faHQsIGN0eC0+dGV4X2RhdGEgKwo+IG9sZF9wb3MgKiA0KTsKPiA+ICsgICAg ICAgIH0KPiA+ICsgICAgICAgIGF2X2hhc2h0YWJsZV9zZXQoY3R4LT5jb21ib19odCwgJmNvbWJv LCAmcG9zKTsKPiA+Cj4gPiAgICAgICAgICBjb2xvciA9IEFWX1JMMzIoY3R4LT50ZXhfZGF0YSAr IHBvcyAqIDQpOwo+ID4gLSAgICAgICAgaWYgKGF2X2hhc2h0YWJsZV9nZXQoY3R4LT5jb2xvcl9o dCwgJmNvbG9yLCAmcHJldl9wb3MpKQo+ID4gLSAgICAgICAgICAgIGNvbG9yX2lkeCA9IHBvcyAt IHByZXZfcG9zOwo+ID4gLSAgICAgICAgYXZfaGFzaHRhYmxlX3NldChjdHgtPmNvbG9yX2h0LCAm Y29sb3IsICZwb3MpOwo+ID4gLQo+ID4gKyAgICAgICAgaWYgKCFjb21ib19pZHgpIHsKPiA+ICsg ICAgICAgICAgICBpZHggPSBhdl9oYXNodGFibGVfZ2V0KGN0eC0+Y29sb3JfaHQsICZjb2xvciwg JnByZXZfcG9zKSA/Cj4gcG9zIC0gcHJldl9wb3MgOiAwOwo+ID4gKyAgICAgICAgICAgIFBVU0hf T1AoMik7Cj4gPiArICAgICAgICAgICAgaWYgKCFpZHgpCj4gPiArICAgICAgICAgICAgICAgIGJ5 dGVzdHJlYW0yX3B1dF9sZTMyKHBiYywgY29sb3IpOwo+ID4gKyAgICAgICAgfQo+ID4gICAgICAg ICAgaWYgKHBvcyA+PSBMT09LQkFDS19XT1JEUykgewo+ID4gLSAgICAgICAgICAgIHVpbnQzMl90 IG9sZF9wb3MgPSBwb3MgLSBMT09LQkFDS19XT1JEUzsKPiA+ICsgICAgICAgICAgICBvbGRfcG9z ID0gcG9zIC0gTE9PS0JBQ0tfV09SRFM7Cj4gPiAgICAgICAgICAgICAgaWYgKGF2X2hhc2h0YWJs ZV9nZXQoY3R4LT5jb2xvcl9odCwgY3R4LT50ZXhfZGF0YSArIG9sZF9wb3MKPiAqIDQsICZwcmV2 X3BvcykgJiYgcHJldl9wb3MgPD0gb2xkX3BvcykKPiA+ICAgICAgICAgICAgICAgICAgYXZfaGFz aHRhYmxlX2RlbGV0ZShjdHgtPmNvbG9yX2h0LCBjdHgtPnRleF9kYXRhICsKPiBvbGRfcG9zICog NCk7Cj4gPiAgICAgICAgICB9Cj4gPiArICAgICAgICBhdl9oYXNodGFibGVfc2V0KGN0eC0+Y29s b3JfaHQsICZjb2xvciwgJnBvcyk7Cj4gPiAgICAgICAgICBwb3MrKzsKPiA+Cj4gPiAgICAgICAg ICBsdXQgPSBBVl9STDMyKGN0eC0+dGV4X2RhdGEgKyBwb3MgKiA0KTsKPiA+IC0gICAgICAgIGlm IChjb2xvcl9pZHggJiYgbHV0ID09IEFWX1JMMzIoY3R4LT50ZXhfZGF0YSArIChwb3MgLQo+IGNv bG9yX2lkeCkgKiA0KSkgewo+ID4gLSAgICAgICAgICAgIGlkeCA9IGNvbG9yX2lkeDsKPiA+IC0g ICAgICAgIH0gZWxzZSB7Cj4gPiAtICAgICAgICAgICAgaWR4ID0gMDsKPiA+IC0gICAgICAgICAg ICBpZiAoYXZfaGFzaHRhYmxlX2dldChjdHgtPmx1dF9odCwgJmx1dCwgJnByZXZfcG9zKSkKPiA+ IC0gICAgICAgICAgICAgICAgbHV0X2lkeCA9IHBvcyAtIHByZXZfcG9zOwo+ID4gLSAgICAgICAg ICAgIGF2X2hhc2h0YWJsZV9zZXQoY3R4LT5sdXRfaHQsICZsdXQsICZwb3MpOwo+ID4gKyAgICAg ICAgaWYgKCFjb21ib19pZHgpIHsKPiA+ICsgICAgICAgICAgICBpZHggPSBhdl9oYXNodGFibGVf Z2V0KGN0eC0+bHV0X2h0LCAmbHV0LCAmcHJldl9wb3MpID8gcG9zCj4gLSBwcmV2X3BvcyA6IDA7 Cj4gPiArICAgICAgICAgICAgUFVTSF9PUCgyKTsKPiA+ICsgICAgICAgICAgICBpZiAoIWlkeCkK PiA+ICsgICAgICAgICAgICAgICAgYnl0ZXN0cmVhbTJfcHV0X2xlMzIocGJjLCBsdXQpOwo+ID4g ICAgICAgICAgfQo+ID4gICAgICAgICAgaWYgKHBvcyA+PSBMT09LQkFDS19XT1JEUykgewo+ID4g LSAgICAgICAgICAgIHVpbnQzMl90IG9sZF9wb3MgPSBwb3MgLSBMT09LQkFDS19XT1JEUzsKPiA+ ICsgICAgICAgICAgICBvbGRfcG9zID0gcG9zIC0gTE9PS0JBQ0tfV09SRFM7Cj4gPiAgICAgICAg ICAgICAgaWYgKGF2X2hhc2h0YWJsZV9nZXQoY3R4LT5sdXRfaHQsIGN0eC0+dGV4X2RhdGEgKyBv bGRfcG9zICoKPiA0LCAmcHJldl9wb3MpICYmIHByZXZfcG9zIDw9IG9sZF9wb3MpCj4gPiAgICAg ICAgICAgICAgICAgIGF2X2hhc2h0YWJsZV9kZWxldGUoY3R4LT5sdXRfaHQsIGN0eC0+dGV4X2Rh dGEgKwo+IG9sZF9wb3MgKiA0KTsKPiA+ICAgICAgICAgIH0KPiA+ICsgICAgICAgIGF2X2hhc2h0 YWJsZV9zZXQoY3R4LT5sdXRfaHQsICZsdXQsICZwb3MpOwo+ID4gICAgICAgICAgcG9zKys7Cj4g PiAtCj4gPiAtICAgICAgICBQVVNIX09QKDIpOwo+ID4gLQo+ID4gLSAgICAgICAgaWYgKCFpZHgp IHsKPiA+IC0gICAgICAgICAgICBpZHggPSBjb2xvcl9pZHg7Cj4gPiAtICAgICAgICAgICAgUFVT SF9PUCgyKTsKPiA+IC0gICAgICAgICAgICBpZiAoIWlkeCkKPiA+IC0gICAgICAgICAgICAgICAg Ynl0ZXN0cmVhbTJfcHV0X2xlMzIocGJjLCAgY29sb3IpOwo+ID4gLQo+ID4gLSAgICAgICAgICAg IGlkeCA9IGx1dF9pZHg7Cj4gPiAtICAgICAgICAgICAgUFVTSF9PUCgyKTsKPiA+IC0gICAgICAg ICAgICBpZiAoIWlkeCkKPiA+IC0gICAgICAgICAgICAgICAgYnl0ZXN0cmVhbTJfcHV0X2xlMzIo cGJjLCAgbHV0KTsKPiA+IC0gICAgICAgIH0KPiA+ICAgICAgfQo+ID4KPiA+ICAgICAgcmV0dXJu IDA7Cj4gPiBAQCAtMTcyLDExICsxNzcsMjMgQEAgc3RhdGljIGludCBkeHZfZW5jb2RlKEFWQ29k ZWNDb250ZXh0ICphdmN0eCwKPiBBVlBhY2tldCAqcGt0LAo+ID4gICAgICAgICAgcmV0dXJuIHJl dDsKPiA+Cj4gPiAgICAgIGlmIChjdHgtPmVuYy50ZXhfZnVuY3QpIHsKPiA+ICsgICAgICAgIHVp bnQ4X3QgKmRzdF9kYXRhWzRdID0ge2F2X21hbGxvY3ooRFhWX0FMSUdOKGF2Y3R4LT53aWR0aCkg Kgo+IERYVl9BTElHTihhdmN0eC0+aGVpZ2h0KSAqIDQpLCAwLCAwLCAwfTsKPiA+ICsgICAgICAg IGludCBkc3RfbGluZXNpemVbNF0gPSB7RFhWX0FMSUdOKGF2Y3R4LT53aWR0aCkgKiA0LCAwLCAw LCAwfTsKPiA+ICsKPiA+ICsgICAgICAgIGF2X2ltYWdlX2NvcHkyKAo+ID4gKyAgICAgICAgICAg IGRzdF9kYXRhLAo+ID4gKyAgICAgICAgICAgIGRzdF9saW5lc2l6ZSwKPiA+ICsgICAgICAgICAg ICBmcmFtZS0+ZGF0YSwKPiA+ICsgICAgICAgICAgICBmcmFtZS0+bGluZXNpemUsCj4gPiArICAg ICAgICAgICAgZnJhbWUtPmZvcm1hdCwKPiA+ICsgICAgICAgICAgICBhdmN0eC0+d2lkdGgsCj4g PiArICAgICAgICAgICAgYXZjdHgtPmhlaWdodCk7Cj4KPiAxLiBVbmNoZWNrZWQgYWxsb2NhdGlv bi4KPiAyLiBUaGUgYnVmZmVyIGxlYWtzIHVuY29uZGl0aW9uYWxseS4KPiAzLiBUaGUgY29weSBp cyBkZWZpbml0ZWx5IHVubmVjZXNzYXJ5IGlmIHRoZSBpbnB1dCBpcyBhbHJlYWR5IHByb3Blcmx5 Cj4gYWxpZ25lZC4KPiA0LiBDYW4ndCB3ZSBhdm9pZCB0aGUgY29weSBpbiBjYXNlIHRoZSBpbnB1 dCBpcyBub3QgcHJvcGVybHkgYWxpZ25lZD8KCjUuIE1vc3Qgb2YgZHN0X2RhdGEgd2lsbCBiZSBp bml0aWFsbHkgemVyb2VkIG9ubHkgdG8gYmUgb3ZlcndyaXR0ZW4gd2l0aAo+IHRoZSBmaW5hbCB2 YWx1ZSBhZ2Fpbi4gVGhpcyBpcyB3YXN0ZWZ1bC4KPgogSXMgdGhlcmUgYW4gaWRpb21hdGljIHdh eSB0byBkbyBhIHBhcnRpYWwgZmlsbCBoZXJlPwoKPiA+ICsKPiA+ICAgICAgICAgIGN0eC0+ZW5j LnRleF9kYXRhLm91dCA9IGN0eC0+dGV4X2RhdGE7Cj4gPiAtICAgICAgICBjdHgtPmVuYy5mcmFt ZV9kYXRhLmluID0gZnJhbWUtPmRhdGFbMF07Cj4gPiAtICAgICAgICBjdHgtPmVuYy5zdHJpZGUg PSBmcmFtZS0+bGluZXNpemVbMF07Cj4gPiAtICAgICAgICBjdHgtPmVuYy53aWR0aCAgPSBhdmN0 eC0+d2lkdGg7Cj4gPiAtICAgICAgICBjdHgtPmVuYy5oZWlnaHQgPSBhdmN0eC0+aGVpZ2h0Owo+ ID4gKyAgICAgICAgY3R4LT5lbmMuZnJhbWVfZGF0YS5pbiA9IGRzdF9kYXRhWzBdOwo+ID4gKyAg ICAgICAgY3R4LT5lbmMuc3RyaWRlID0gZHN0X2xpbmVzaXplWzBdOwo+ID4gKyAgICAgICAgY3R4 LT5lbmMud2lkdGggID0gRFhWX0FMSUdOKGF2Y3R4LT53aWR0aCk7Cj4gPiArICAgICAgICBjdHgt PmVuYy5oZWlnaHQgPSBEWFZfQUxJR04oYXZjdHgtPmhlaWdodCk7Cj4gPiAgICAgICAgICBmZl90 ZXh0dXJlZHNwX2V4ZWNfY29tcHJlc3NfdGhyZWFkcyhhdmN0eCwgJmN0eC0+ZW5jKTsKPiA+ICAg ICAgfSBlbHNlIHsKPiA+ICAgICAgICAgIC8qIHVuaW1wbGVtZW50ZWQ6IFlDb0NnIGZvcm1hdHMg Ki8KPiA+IEBAIC0yMTYsMTQgKzIzMyw2IEBAIHN0YXRpYyBhdl9jb2xkIGludCBkeHZfaW5pdChB VkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gPiAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gICAgICB9 Cj4gPgo+ID4gLSAgICBpZiAoYXZjdHgtPndpZHRoICUgVEVYVFVSRV9CTE9DS19XIHx8IGF2Y3R4 LT5oZWlnaHQgJQo+IFRFWFRVUkVfQkxPQ0tfSCkgewo+ID4gLSAgICAgICAgYXZfbG9nKGF2Y3R4 LAo+ID4gLSAgICAgICAgICAgICAgIEFWX0xPR19FUlJPUiwKPiA+IC0gICAgICAgICAgICAgICAi VmlkZW8gc2l6ZSAlZHglZCBpcyBub3QgbXVsdGlwbGUgb2YKPiAiQVZfU1RSSU5HSUZZKFRFWFRV UkVfQkxPQ0tfVykieCJBVl9TVFJJTkdJRlkoVEVYVFVSRV9CTE9DS19IKSIuXG4iLAo+ID4gLSAg ICAgICAgICAgICAgIGF2Y3R4LT53aWR0aCwgYXZjdHgtPmhlaWdodCk7Cj4gPiAtICAgICAgICBy ZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKPiA+IC0gICAgfQo+ID4gLQo+ID4gICAgICBmZl90 ZXh0dXJlZHNwZW5jX2luaXQoJnRleGRzcCk7Cj4gPgo+ID4gICAgICBzd2l0Y2ggKGN0eC0+dGV4 X2ZtdCkgewo+ID4gQEAgLTIzNywxMCArMjQ2LDEwIEBAIHN0YXRpYyBhdl9jb2xkIGludCBkeHZf aW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gPiAgICAgICAgICByZXR1cm4gQVZFUlJPUl9J TlZBTElEREFUQTsKPiA+ICAgICAgfQo+ID4gICAgICBjdHgtPmVuYy5yYXdfcmF0aW8gPSAxNjsK PiA+IC0gICAgY3R4LT50ZXhfc2l6ZSA9IGF2Y3R4LT53aWR0aCAgLyBURVhUVVJFX0JMT0NLX1cg Kgo+ID4gLSAgICAgICAgICAgICAgICAgICAgYXZjdHgtPmhlaWdodCAvIFRFWFRVUkVfQkxPQ0tf SCAqCj4gPiArICAgIGN0eC0+dGV4X3NpemUgPSBEWFZfQUxJR04oYXZjdHgtPndpZHRoKSAvIFRF WFRVUkVfQkxPQ0tfVyAqCj4gPiArICAgICAgICAgICAgICAgICAgICBEWFZfQUxJR04oYXZjdHgt PmhlaWdodCkgLyBURVhUVVJFX0JMT0NLX0ggKgo+ID4gICAgICAgICAgICAgICAgICAgICAgY3R4 LT5lbmMudGV4X3JhdGlvOwo+ID4gLSAgICBjdHgtPmVuYy5zbGljZV9jb3VudCA9IGF2X2NsaXAo YXZjdHgtPnRocmVhZF9jb3VudCwgMSwKPiBhdmN0eC0+aGVpZ2h0IC8gVEVYVFVSRV9CTE9DS19I KTsKPiA+ICsgICAgY3R4LT5lbmMuc2xpY2VfY291bnQgPSBhdl9jbGlwKGF2Y3R4LT50aHJlYWRf Y291bnQsIDEsCj4gRFhWX0FMSUdOKGF2Y3R4LT5oZWlnaHQpIC8gVEVYVFVSRV9CTE9DS19IKTsK PiA+Cj4gPiAgICAgIGN0eC0+dGV4X2RhdGEgPSBhdl9tYWxsb2MoY3R4LT50ZXhfc2l6ZSk7Cj4g PiAgICAgIGlmICghY3R4LT50ZXhfZGF0YSkgewo+ID4gQEAgLTI1MSw2ICsyNjAsOSBAQCBzdGF0 aWMgYXZfY29sZCBpbnQgZHh2X2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4gICAgICBp ZiAocmV0IDwgMCkKPiA+ICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiAgICAgIHJldCA9IGF2X2hh c2h0YWJsZV9hbGxvYygmY3R4LT5sdXRfaHQsIHNpemVvZih1aW50MzJfdCksCj4gc2l6ZW9mKHVp bnQzMl90KSwgTE9PS0JBQ0tfSFRfRUxFTVMpOwo+ID4gKyAgICBpZiAocmV0IDwgMCkKPiA+ICsg ICAgICAgIHJldHVybiByZXQ7Cj4gPiArICAgIHJldCA9IGF2X2hhc2h0YWJsZV9hbGxvYygmY3R4 LT5jb21ib19odCwgc2l6ZW9mKHVpbnQ2NF90KSwKPiBzaXplb2YodWludDMyX3QpLCBMT09LQkFD S19IVF9FTEVNUyk7Cj4gPiAgICAgIGlmIChyZXQgPCAwKQo+ID4gICAgICAgICAgcmV0dXJuIHJl dDsKPiA+Cj4gPiBAQCAtMjY1LDYgKzI3Nyw3IEBAIHN0YXRpYyBhdl9jb2xkIGludCBkeHZfY2xv c2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4KPiA+ICAgICAgYXZfaGFzaHRhYmxlX2ZyZWVw KCZjdHgtPmNvbG9yX2h0KTsKPiA+ICAgICAgYXZfaGFzaHRhYmxlX2ZyZWVwKCZjdHgtPmx1dF9o dCk7Cj4gPiArICAgIGF2X2hhc2h0YWJsZV9mcmVlcCgmY3R4LT5jb21ib19odCk7Cj4gPgo+ID4g ICAgICByZXR1cm4gMDsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmL2ZhdGUvZHh2 M2VuYy1keHQxIGIvdGVzdHMvcmVmL2ZhdGUvZHh2M2VuYy1keHQxCj4gPiBpbmRleCA3NDg0OWE4 MDMxLi5lMDkwMDBlMTgxIDEwMDY0NAo+ID4gLS0tIGEvdGVzdHMvcmVmL2ZhdGUvZHh2M2VuYy1k eHQxCj4gPiArKysgYi90ZXN0cy9yZWYvZmF0ZS9keHYzZW5jLWR4dDEKPiA+IEBAIC0zLDQgKzMs NCBAQAo+ID4gICNjb2RlY19pZCAwOiBkeHYKPiA+ICAjZGltZW5zaW9ucyAwOiAxOTIweDEwODAK PiA+ICAjc2FyIDA6IDEvMQo+ID4gLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAx LCAgICA3NjUyMSwgMHhlZDM4N2E1ZQo+ID4gKzAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAxLCAgICA3NjE5MCwgMHgwZTZmMDMyNgo+Cj4gSXMgcGFkZGluZyB0aGUgcmVhc29uIGZv ciB0aGlzIGNoYW5nZSBvciBpcyBpdCB0aGUgbmV3IGhhc2h0YWJsZT8gT3IgYm90aD8KPgpCb3Ro LiBGb3IgbW9yZSBjb250ZXh0LCB0aGUgcGFkZGluZyBpcyBzb2xlbHkgZm9yIHBsYXllciBjb21w YXRpYmlsaXR5CndoaWxlIHRoZSBuZXcgaGFzaHRhYmxlIG9wdGltaXplIG91dHB1dCBmaWxlIHNp emUuCldpdGggYm90aCBJIHNlZSBpZGVudGljYWwgcGFja2V0cyB0byB0aGUgZGUgZmFjdG8gY2xv c2VkIHNvdXJjZSBlbmNvZGVyCihSZXNvbHVtZSBBbGxleSkgZ2l2ZW4gdGhlIHNhbWUgRFhUMSB0 ZXh0dXJlIGdvaW5nIGludG8gZHh2X2NvbXByZXNzX2R4dDEuCgo+Cj4gLSBBbmRyZWFzCj4KPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1k ZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZt cGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVn Lm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBl Zy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zm bXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZm bXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIu Cg==