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 75AFC430FA for ; Fri, 20 May 2022 19:44:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BAFDB68B480; Fri, 20 May 2022 22:44:29 +0300 (EEST) Received: from tytanium.xyz (82-64-195-121.subs.proxad.net [82.64.195.121]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2421C68B234 for ; Fri, 20 May 2022 22:44:23 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tytanium.xyz; s=mail; t=1653075862; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references; bh=TBne3mXpdiTdNIZAP/4LRl3tB5rM2FDEIZFbEWN+WJc=; b=BwDQvTQZcGlp+//+TZJkc5EvE9W5Gu3wftBAzTcOgI384oV761XBAU5UBU239akn0qcNnn icC1Yl+iC/1HbILG6PeA/mboy0J6QoGljdJjlQjOZ6ziiLcguCaBTNJ+gkrap7CVIKkFux 3VdluvGWmnQllD3fsrKWjVqtAcJ1i90= Message-ID: Date: Fri, 20 May 2022 21:44:18 +0200 MIME-Version: 1.0 From: Trystan Mata To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH v3] avcodec/mfenc: Dynamically load MFPlat.DLL 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: multipart/mixed; boundary="===============4211719687927997513==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --===============4211719687927997513== Content-Language: en-US Content-Type: text/x-patch; charset=UTF-8; name="0001-avcodec-mfenc-Dynamically-load-MFPlat.DLL.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-avcodec-mfenc-Dynamically-load-MFPlat.DLL.patch" RnJvbSAyYmRlZjFiZGI5M2VmYTQwYjdkM2ZlMjEyNzBmOWYyMzQ2NWJlZTkwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUcnlzdGFuIE1hdGEgPHRyeXN0YW4ubWF0YUB0eXRh bml1bS54eXo+CkRhdGU6IEZyaSwgMjAgTWF5IDIwMjIgMTQ6MjY6NDkgKzAyMDAKU3ViamVj dDogW1BBVENIXSBhdmNvZGVjL21mZW5jOiBEeW5hbWljYWxseSBsb2FkIE1GUGxhdC5ETEwK CkFsbG93IGJ1aWxkcyBvZiBGRm1wZWcgd2l0aCBNZWRpYUZvdW5kYXRpb24gdG8gd29yayB1 bmRlciBOIGVkaXRpb25zIG9mCldpbmRvd3Mgd2hpY2ggYXJlIHdpdGhvdXQgTWVkaWFGb3Vu ZGF0aW9uIGJ5IGRlZmF1bHQuCgpTaWduZWQtb2ZmLWJ5OiBUcnlzdGFuIE1hdGEgPHRyeXN0 YW4ubWF0YUB0eXRhbml1bS54eXo+Ci0tLQogY29uZmlndXJlICAgICAgICAgICAgIHwgIDQg Ky0KIGxpYmF2Y29kZWMvbWZfdXRpbHMuYyB8IDI2ICsrKysrKystLS0tLS0KIGxpYmF2Y29k ZWMvbWZfdXRpbHMuaCB8IDE2ICsrKysrKy0tCiBsaWJhdmNvZGVjL21mZW5jLmMgICAgfCA5 MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiA0IGZpbGVz IGNoYW5nZWQsIDEwNyBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggZjExNWIyMTA2NC4uZjE2ZmJiMzIw YSAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMzEyOSw4ICsz MTI5LDggQEAgd212M192YWFwaV9od2FjY2VsX3NlbGVjdD0idmMxX3ZhYXBpX2h3YWNjZWwi CiB3bXYzX3ZkcGF1X2h3YWNjZWxfc2VsZWN0PSJ2YzFfdmRwYXVfaHdhY2NlbCIKIAogIyBo YXJkd2FyZS1hY2NlbGVyYXRlZCBjb2RlY3MKLW1lZGlhZm91bmRhdGlvbl9kZXBzPSJtZnRy YW5zZm9ybV9oIE1GQ3JlYXRlQWxpZ25lZE1lbW9yeUJ1ZmZlciIKLW1lZGlhZm91bmRhdGlv bl9leHRyYWxpYnM9Ii1sbWZwbGF0IC1sbWZ1dWlkIC1sb2xlMzIgLWxzdHJtaWlkcyIKK21l ZGlhZm91bmRhdGlvbl9kZXBzPSJMb2FkTGlicmFyeSBtZnRyYW5zZm9ybV9oIE1GQ3JlYXRl QWxpZ25lZE1lbW9yeUJ1ZmZlciIKK21lZGlhZm91bmRhdGlvbl9leHRyYWxpYnM9Ii1sb2xl MzIgLWxzdHJtaWlkcyIKIG9teF9kZXBzPSJsaWJkbCBwdGhyZWFkcyIKIG9teF9ycGlfc2Vs ZWN0PSJvbXgiCiBxc3ZfZGVwcz0ibGlibWZ4IgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9t Zl91dGlscy5jIGIvbGliYXZjb2RlYy9tZl91dGlscy5jCmluZGV4IGVlYWJkMGNlMGIuLjlh ODNmNzE2OTIgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWZfdXRpbHMuYworKysgYi9saWJh dmNvZGVjL21mX3V0aWxzLmMKQEAgLTEwNiwxOSArMTA2LDIwIEBAIGNoYXIgKmZmX2hyX3N0 cl9idWYoY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSwgSFJFU1VMVCBocikKIC8vIElmIGZpbGxf ZGF0YSE9TlVMTCwgaW5pdGlhbGl6ZSB0aGUgYnVmZmVyIGFuZCBzZXQgdGhlIGxlbmd0aC4g KFRoaXMgaXMgYQogLy8gc3VidGxlIGJ1dCBpbXBvcnRhbnQgZGlmZmVyZW5jZTogc29tZSBk ZWNvZGVycyB3YW50IEN1cnJlbnRMZW5ndGg9PTAgb24KIC8vIHByb3ZpZGVkIG91dHB1dCBi dWZmZXJzLikKLUlNRlNhbXBsZSAqZmZfY3JlYXRlX21lbW9yeV9zYW1wbGUodm9pZCAqZmls bF9kYXRhLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IGFsaWduKQorSU1GU2FtcGxlICpmZl9jcmVh dGVfbWVtb3J5X3NhbXBsZShjb25zdCBNRlN5bWJvbHMgKnN5bWJvbHMsIHZvaWQgKmZpbGxf ZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUs IHNpemVfdCBhbGlnbikKIHsKICAgICBIUkVTVUxUIGhyOwogICAgIElNRlNhbXBsZSAqc2Ft cGxlOwogICAgIElNRk1lZGlhQnVmZmVyICpidWZmZXI7CiAKLSAgICBociA9IE1GQ3JlYXRl U2FtcGxlKCZzYW1wbGUpOworICAgIGhyID0gc3ltYm9scy0+TUZDcmVhdGVTYW1wbGUoJnNh bXBsZSk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAg ICAgYWxpZ24gPSBGRk1BWChhbGlnbiwgMTYpOyAvLyAxNiBpcyAicmVjb21tZW5kZWQiLCBl dmVuIGlmIG5vdCByZXF1aXJlZAogCi0gICAgaHIgPSBNRkNyZWF0ZUFsaWduZWRNZW1vcnlC dWZmZXIoc2l6ZSwgYWxpZ24gLSAxLCAmYnVmZmVyKTsKKyAgICBociA9IHN5bWJvbHMtPk1G Q3JlYXRlQWxpZ25lZE1lbW9yeUJ1ZmZlcihzaXplLCBhbGlnbiAtIDEsICZidWZmZXIpOwog ICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtNTQ4LDcg KzU0OSw3IEBAIGNvbnN0IENMU0lEICpmZl9jb2RlY190b19tZl9zdWJ0eXBlKGVudW0gQVZD b2RlY0lEIGNvZGVjKQogICAgIH0KIH0KIAotc3RhdGljIGludCBpbml0X2NvbV9tZih2b2lk ICpsb2cpCitzdGF0aWMgaW50IGluaXRfY29tX21mKGNvbnN0IE1GU3ltYm9scyAqc3ltYm9s cywgdm9pZCAqbG9nKQogewogICAgIEhSRVNVTFQgaHI7CiAKQEAgLTU2MSw3ICs1NjIsNyBA QCBzdGF0aWMgaW50IGluaXRfY29tX21mKHZvaWQgKmxvZykKICAgICAgICAgcmV0dXJuIEFW RVJST1IoRU5PU1lTKTsKICAgICB9CiAKLSAgICBociA9IE1GU3RhcnR1cChNRl9WRVJTSU9O LCBNRlNUQVJUVVBfRlVMTCk7CisgICAgaHIgPSBzeW1ib2xzLT5NRlN0YXJ0dXAoTUZfVkVS U0lPTiwgTUZTVEFSVFVQX0ZVTEwpOwogICAgIGlmIChGQUlMRUQoaHIpKSB7CiAgICAgICAg IGF2X2xvZyhsb2csIEFWX0xPR19FUlJPUiwgImNvdWxkIG5vdCBpbml0aWFsaXplIE1lZGlh Rm91bmRhdGlvblxuIik7CiAgICAgICAgIENvVW5pbml0aWFsaXplKCk7CkBAIC01NzEsMTUg KzU3MiwxNiBAQCBzdGF0aWMgaW50IGluaXRfY29tX21mKHZvaWQgKmxvZykKICAgICByZXR1 cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgdW5pbml0X2NvbV9tZih2b2lkKQorc3RhdGljIHZv aWQgdW5pbml0X2NvbV9tZihjb25zdCBNRlN5bWJvbHMgKnN5bWJvbHMpCiB7Ci0gICAgTUZT aHV0ZG93bigpOworICAgIHN5bWJvbHMtPk1GU2h1dGRvd24oKTsKICAgICBDb1VuaW5pdGlh bGl6ZSgpOwogfQogCiAvLyBGaW5kIGFuZCBjcmVhdGUgYSBJTUZUcmFuc2Zvcm0gd2l0aCB0 aGUgZ2l2ZW4gaW5wdXQvb3V0cHV0IHR5cGVzLiBXaGVuIGRvbmUsCiAvLyB5b3Ugc2hvdWxk IHVzZSBmZl9mcmVlX21mKCkgdG8gZGVzdHJveSBpdCwgd2hpY2ggd2lsbCBhbHNvIHVuaW5p dCBDT00uCi1pbnQgZmZfaW5zdGFudGlhdGVfbWYodm9pZCAqbG9nLAoraW50IGZmX2luc3Rh bnRpYXRlX21mKGNvbnN0IE1GU3ltYm9scyAqc3ltYm9scywKKyAgICAgICAgICAgICAgICAg ICAgICB2b2lkICpsb2csCiAgICAgICAgICAgICAgICAgICAgICAgR1VJRCBjYXRlZ29yeSwK ICAgICAgICAgICAgICAgICAgICAgICBNRlRfUkVHSVNURVJfVFlQRV9JTkZPICppbl90eXBl LAogICAgICAgICAgICAgICAgICAgICAgIE1GVF9SRUdJU1RFUl9UWVBFX0lORk8gKm91dF90 eXBlLApAQCAtNTk0LDcgKzU5Niw3IEBAIGludCBmZl9pbnN0YW50aWF0ZV9tZih2b2lkICps b2csCiAgICAgSU1GQWN0aXZhdGUgKndpbm5lciA9IDA7CiAgICAgVUlOVDMyIGZsYWdzOwog Ci0gICAgcmV0ID0gaW5pdF9jb21fbWYobG9nKTsKKyAgICByZXQgPSBpbml0X2NvbV9tZihz eW1ib2xzLCBsb2cpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0Owog CkBAIC02NjcsMTQgKzY2OSwxNCBAQCBpbnQgZmZfaW5zdGFudGlhdGVfbWYodm9pZCAqbG9n LAogICAgIHJldHVybiAwOwogCiBlcnJvcl91bmluaXRfbWY6Ci0gICAgdW5pbml0X2NvbV9t ZigpOworICAgIHVuaW5pdF9jb21fbWYoc3ltYm9scyk7CiAgICAgcmV0dXJuIEFWRVJST1Io RU5PU1lTKTsKIH0KIAotdm9pZCBmZl9mcmVlX21mKElNRlRyYW5zZm9ybSAqKm1mdCkKK3Zv aWQgZmZfZnJlZV9tZihjb25zdCBNRlN5bWJvbHMgKnN5bWJvbHMsIElNRlRyYW5zZm9ybSAq Km1mdCkKIHsKICAgICBpZiAoKm1mdCkKICAgICAgICAgSU1GVHJhbnNmb3JtX1JlbGVhc2Uo Km1mdCk7CiAgICAgKm1mdCA9IE5VTEw7Ci0gICAgdW5pbml0X2NvbV9tZigpOworICAgIHVu aW5pdF9jb21fbWYoc3ltYm9scyk7CiB9CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21mX3V0 aWxzLmggYi9saWJhdmNvZGVjL21mX3V0aWxzLmgKaW5kZXggZDUxNDcyM2MzYi4uMWIxMDQx YmIyOSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9tZl91dGlscy5oCisrKyBiL2xpYmF2Y29k ZWMvbWZfdXRpbHMuaApAQCAtNDEsNiArNDEsMTUgQEAKIAogI2luY2x1ZGUgImF2Y29kZWMu aCIKIAordHlwZWRlZiBzdHJ1Y3QgTUZTeW1ib2xzIHsKKyAgICBIUkVTVUxUICgqTUZDcmVh dGVTYW1wbGUpIChJTUZTYW1wbGUgKipwcElNRlNhbXBsZSk7CisgICAgSFJFU1VMVCAoKk1G Q3JlYXRlQWxpZ25lZE1lbW9yeUJ1ZmZlcikgKERXT1JEIGNiTWF4TGVuZ3RoLCBEV09SRCBj YkFsaWdtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTUZNZWRpYUJ1ZmZlciAqKnBwQnVmZmVyKTsKKyAgICBIUkVTVUxUICgqTUZTdGFydHVw KSAoVUxPTkcgVmVyc2lvbiwgRFdPUkQgZHdGbGFncyk7CisgICAgSFJFU1VMVCAoKk1GU2h1 dGRvd24pICh2b2lkKTsKKyAgICBIUkVTVUxUICgqTUZDcmVhdGVNZWRpYVR5cGUpIChJTUZN ZWRpYVR5cGUgKipwcE1GVHlwZSk7Cit9IE1GU3ltYm9sczsKKwogLy8gVGhlc2UgZnVuY3Rp b25zIGRvIGV4aXN0IGluIG1mYXBpLmgsIGJ1dCBhcmUgb25seSBhdmFpbGFibGUgd2l0aGlu CiAvLyBfX2NwbHVzcGx1cyBpZmRlZnMuCiBIUkVTVUxUIGZmX01GR2V0QXR0cmlidXRlU2l6 ZShJTUZBdHRyaWJ1dGVzICpwYXR0ciwgUkVGR1VJRCBndWlkLApAQCAtMTUwLDcgKzE1OSw4 IEBAIGNoYXIgKmZmX2hyX3N0cl9idWYoY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSwgSFJFU1VM VCBocik7CiAjZGVmaW5lIEZGX1ZBTF9WVF9VSTQodikgRkZfVkFSSUFOVF9WQUxVRShWVF9V STQsIC51bFZhbCA9ICh2KSkKICNkZWZpbmUgRkZfVkFMX1ZUX0JPT0wodikgRkZfVkFSSUFO VF9WQUxVRShWVF9CT09MLCAuYm9vbFZhbCA9ICh2KSkKIAotSU1GU2FtcGxlICpmZl9jcmVh dGVfbWVtb3J5X3NhbXBsZSh2b2lkICpmaWxsX2RhdGEsIHNpemVfdCBzaXplLCBzaXplX3Qg YWxpZ24pOworSU1GU2FtcGxlICpmZl9jcmVhdGVfbWVtb3J5X3NhbXBsZShjb25zdCBNRlN5 bWJvbHMgKnN5bWJvbHMsIHZvaWQgKmZpbGxfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2l6ZV90IHNpemUsIHNpemVfdCBhbGlnbik7CiBlbnVtIEFWU2Ft cGxlRm9ybWF0IGZmX21lZGlhX3R5cGVfdG9fc2FtcGxlX2ZtdChJTUZBdHRyaWJ1dGVzICp0 eXBlKTsKIGVudW0gQVZQaXhlbEZvcm1hdCBmZl9tZWRpYV90eXBlX3RvX3BpeF9mbXQoSU1G QXR0cmlidXRlcyAqdHlwZSk7CiBjb25zdCBHVUlEICpmZl9waXhfZm10X3RvX2d1aWQoZW51 bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXQpOwpAQCAtMTYwLDEwICsxNzAsMTAgQEAgY2hhciAq ZmZfZ3VpZF9zdHJfYnVmKGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zl9zaXplLCBjb25zdCBHVUlE ICpndWlkKTsKIHZvaWQgZmZfYXR0cmlidXRlc19kdW1wKHZvaWQgKmxvZywgSU1GQXR0cmli dXRlcyAqYXR0cnMpOwogdm9pZCBmZl9tZWRpYV90eXBlX2R1bXAodm9pZCAqbG9nLCBJTUZN ZWRpYVR5cGUgKnR5cGUpOwogY29uc3QgQ0xTSUQgKmZmX2NvZGVjX3RvX21mX3N1YnR5cGUo ZW51bSBBVkNvZGVjSUQgY29kZWMpOwotaW50IGZmX2luc3RhbnRpYXRlX21mKHZvaWQgKmxv ZywgR1VJRCBjYXRlZ29yeSwKK2ludCBmZl9pbnN0YW50aWF0ZV9tZihjb25zdCBNRlN5bWJv bHMgKnN5bWJvbHMsIHZvaWQgKmxvZywgR1VJRCBjYXRlZ29yeSwKICAgICAgICAgICAgICAg ICAgICAgICBNRlRfUkVHSVNURVJfVFlQRV9JTkZPICppbl90eXBlLAogICAgICAgICAgICAg ICAgICAgICAgIE1GVF9SRUdJU1RFUl9UWVBFX0lORk8gKm91dF90eXBlLAogICAgICAgICAg ICAgICAgICAgICAgIGludCB1c2VfaHcsIElNRlRyYW5zZm9ybSAqKnJlcyk7Ci12b2lkIGZm X2ZyZWVfbWYoSU1GVHJhbnNmb3JtICoqbWZ0KTsKK3ZvaWQgZmZfZnJlZV9tZihjb25zdCBN RlN5bWJvbHMgKnN5bWJvbHMsIElNRlRyYW5zZm9ybSAqKm1mdCk7CiAKICNlbmRpZgpkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy9tZmVuYy5jIGIvbGliYXZjb2RlYy9tZmVuYy5jCmluZGV4 IDI4MDk0MWNmMmUuLjA0NDRkNWFmMzggMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWZlbmMu YworKysgYi9saWJhdmNvZGVjL21mZW5jLmMKQEAgLTI5LDkgKzI5LDEyIEBACiAjaW5jbHVk ZSAibGliYXZ1dGlsL3RpbWUuaCIKICNpbmNsdWRlICJjb2RlY19pbnRlcm5hbC5oIgogI2lu Y2x1ZGUgImludGVybmFsLmgiCisjaW5jbHVkZSAiY29tcGF0L3czMmRsZmNuLmgiCiAKIHR5 cGVkZWYgc3RydWN0IE1GQ29udGV4dCB7CiAgICAgQVZDbGFzcyAqYXZfY2xhc3M7CisgICAg dm9pZCAqbGlicmFyeTsKKyAgICBNRlN5bWJvbHMgc3ltYm9sczsKICAgICBBVkZyYW1lICpm cmFtZTsKICAgICBpbnQgaXNfdmlkZW8sIGlzX2F1ZGlvOwogICAgIEdVSUQgbWFpbl9zdWJ0 eXBlOwpAQCAtMjkyLDcgKzI5NSw3IEBAIHN0YXRpYyBJTUZTYW1wbGUgKm1mX2FfYXZmcmFt ZV90b19zYW1wbGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBjb25zdCBBVkZyYW1lICpmCiAg ICAgYnBzID0gYXZfZ2V0X2J5dGVzX3Blcl9zYW1wbGUoYXZjdHgtPnNhbXBsZV9mbXQpICog YXZjdHgtPmNoX2xheW91dC5uYl9jaGFubmVsczsKICAgICBsZW4gPSBmcmFtZS0+bmJfc2Ft cGxlcyAqIGJwczsKIAotICAgIHNhbXBsZSA9IGZmX2NyZWF0ZV9tZW1vcnlfc2FtcGxlKGZy YW1lLT5kYXRhWzBdLCBsZW4sIGMtPmluX2luZm8uY2JBbGlnbm1lbnQpOworICAgIHNhbXBs ZSA9IGZmX2NyZWF0ZV9tZW1vcnlfc2FtcGxlKCZjLT5zeW1ib2xzLCBmcmFtZS0+ZGF0YVsw XSwgbGVuLCBjLT5pbl9pbmZvLmNiQWxpZ25tZW50KTsKICAgICBpZiAoc2FtcGxlKQogICAg ICAgICBJTUZTYW1wbGVfU2V0U2FtcGxlRHVyYXRpb24oc2FtcGxlLCBtZl90b19tZl90aW1l KGF2Y3R4LCBmcmFtZS0+bmJfc2FtcGxlcykpOwogICAgIHJldHVybiBzYW1wbGU7CkBAIC0z MTIsNyArMzE1LDcgQEAgc3RhdGljIElNRlNhbXBsZSAqbWZfdl9hdmZyYW1lX3RvX3NhbXBs ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIGNvbnN0IEFWRnJhbWUgKmYKICAgICBpZiAoc2l6 ZSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgc2FtcGxlID0gZmZfY3JlYXRl X21lbW9yeV9zYW1wbGUoTlVMTCwgc2l6ZSwgYy0+aW5faW5mby5jYkFsaWdubWVudCk7Cisg ICAgc2FtcGxlID0gZmZfY3JlYXRlX21lbW9yeV9zYW1wbGUoJmMtPnN5bWJvbHMsIE5VTEws IHNpemUsIGMtPmluX2luZm8uY2JBbGlnbm1lbnQpOwogICAgIGlmICghc2FtcGxlKQogICAg ICAgICByZXR1cm4gTlVMTDsKIApAQCAtNDIyLDcgKzQyNSw3IEBAIHN0YXRpYyBpbnQgbWZf cmVjZWl2ZV9zYW1wbGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBJTUZTYW1wbGUgKipvdXRf c2FtcGxlKQogICAgICAgICB9CiAKICAgICAgICAgaWYgKCFjLT5vdXRfc3RyZWFtX3Byb3Zp ZGVzX3NhbXBsZXMpIHsKLSAgICAgICAgICAgIHNhbXBsZSA9IGZmX2NyZWF0ZV9tZW1vcnlf c2FtcGxlKE5VTEwsIGMtPm91dF9pbmZvLmNiU2l6ZSwgYy0+b3V0X2luZm8uY2JBbGlnbm1l bnQpOworICAgICAgICAgICAgc2FtcGxlID0gZmZfY3JlYXRlX21lbW9yeV9zYW1wbGUoJmMt PnN5bWJvbHMsIE5VTEwsIGMtPm91dF9pbmZvLmNiU2l6ZSwgYy0+b3V0X2luZm8uY2JBbGln bm1lbnQpOwogICAgICAgICAgICAgaWYgKCFzYW1wbGUpCiAgICAgICAgICAgICAgICAgcmV0 dXJuIEFWRVJST1IoRU5PTUVNKTsKICAgICAgICAgfQpAQCAtNzc3LDcgKzc4MCw3IEBAIHN0 YXRpYyBpbnQgbWZfY2hvb3NlX291dHB1dF90eXBlKEFWQ29kZWNDb250ZXh0ICphdmN0eCkK ICAgICBpZiAob3V0X3R5cGUpIHsKICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfVkVS Qk9TRSwgInBpY2tpbmcgb3V0cHV0IHR5cGUgJWQuXG4iLCBvdXRfdHlwZV9pbmRleCk7CiAg ICAgfSBlbHNlIHsKLSAgICAgICAgaHIgPSBNRkNyZWF0ZU1lZGlhVHlwZSgmb3V0X3R5cGUp OworICAgICAgICBociA9IGMtPnN5bWJvbHMuTUZDcmVhdGVNZWRpYVR5cGUoJm91dF90eXBl KTsKICAgICAgICAgaWYgKEZBSUxFRChocikpIHsKICAgICAgICAgICAgIHJldCA9IEFWRVJS T1IoRU5PTUVNKTsKICAgICAgICAgICAgIGdvdG8gZG9uZTsKQEAgLTEwMDUsNyArMTAwOCw3 IEBAIGVycjoKICAgICByZXR1cm4gcmVzOwogfQogCi1zdGF0aWMgaW50IG1mX2NyZWF0ZSh2 b2lkICpsb2csIElNRlRyYW5zZm9ybSAqKm1mdCwgY29uc3QgQVZDb2RlYyAqY29kZWMsIGlu dCB1c2VfaHcpCitzdGF0aWMgaW50IG1mX2NyZWF0ZShjb25zdCBNRlN5bWJvbHMgKnN5bWJv bHMsIHZvaWQgKmxvZywgSU1GVHJhbnNmb3JtICoqbWZ0LCBjb25zdCBBVkNvZGVjICpjb2Rl YywgaW50IHVzZV9odykKIHsKICAgICBpbnQgaXNfYXVkaW8gPSBjb2RlYy0+dHlwZSA9PSBB Vk1FRElBX1RZUEVfQVVESU87CiAgICAgY29uc3QgQ0xTSUQgKnN1YnR5cGUgPSBmZl9jb2Rl Y190b19tZl9zdWJ0eXBlKGNvZGVjLT5pZCk7CkBAIC0xMDI4LDEzICsxMDMxLDU3IEBAIHN0 YXRpYyBpbnQgbWZfY3JlYXRlKHZvaWQgKmxvZywgSU1GVHJhbnNmb3JtICoqbWZ0LCBjb25z dCBBVkNvZGVjICpjb2RlYywgaW50IHVzCiAgICAgICAgIGNhdGVnb3J5ID0gTUZUX0NBVEVH T1JZX1ZJREVPX0VOQ09ERVI7CiAgICAgfQogCi0gICAgaWYgKChyZXQgPSBmZl9pbnN0YW50 aWF0ZV9tZihsb2csIGNhdGVnb3J5LCBOVUxMLCAmcmVnLCB1c2VfaHcsIG1mdCkpIDwgMCkK KyAgICBpZiAoKHJldCA9IGZmX2luc3RhbnRpYXRlX21mKHN5bWJvbHMsIGxvZywgY2F0ZWdv cnksIE5VTEwsICZyZWcsIHVzZV9odywgbWZ0KSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0 OwogCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbWZfaW5pdChBVkNvZGVjQ29u dGV4dCAqYXZjdHgpCitzdGF0aWMgaW50IG1mX2xvYWRfbGlicmFyeShBVkNvZGVjQ29udGV4 dCAqYXZjdHgpCit7CisgICAgTUZDb250ZXh0ICpjID0gYXZjdHgtPnByaXZfZGF0YTsKKwor ICAgIGMtPmxpYnJhcnkgPSBkbG9wZW4oIk1GUGxhdC5ETEwiLCBSVExEX05PVyB8IFJUTERf TE9DQUwpOworCisgICAgaWYgKGMtPmxpYnJhcnkgPT0gTlVMTCkgeworICAgICAgICBhdl9s b2coYywgQVZfTE9HX0VSUk9SLCAiRExMIE1GUGxhdC5ETEwgZmFpbGVkIHRvIG9wZW5cbiIp OworICAgICAgICByZXR1cm4gQVZFUlJPUl9VTktOT1dOOworICAgIH0KKworICAgIGMtPnN5 bWJvbHMuTUZDcmVhdGVTYW1wbGUgPSBkbHN5bShjLT5saWJyYXJ5LCAiTUZDcmVhdGVTYW1w bGUiKTsKKyAgICBpZiAoYy0+c3ltYm9scy5NRkNyZWF0ZVNhbXBsZSA9PSBOVUxMKSB7Cisg ICAgICAgIGF2X2xvZyhjLCBBVl9MT0dfRVJST1IsICJETEwgTUZQbGF0LkRMTCBmYWlsZWQg dG8gZmluZCBmdW5jdGlvbiBNRkNyZWF0ZVNhbXBsZVxuIik7CisgICAgICAgIHJldHVybiBB VkVSUk9SX1VOS05PV047CisgICAgfQorCisgICAgYy0+c3ltYm9scy5NRkNyZWF0ZUFsaWdu ZWRNZW1vcnlCdWZmZXIgPSBkbHN5bShjLT5saWJyYXJ5LCAiTUZDcmVhdGVBbGlnbmVkTWVt b3J5QnVmZmVyIik7CisgICAgaWYgKGMtPnN5bWJvbHMuTUZDcmVhdGVBbGlnbmVkTWVtb3J5 QnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgYXZfbG9nKGMsIEFWX0xPR19FUlJPUiwgIkRM TCBNRlBsYXQuRExMIGZhaWxlZCB0byBmaW5kIGZ1bmN0aW9uIE1GQ3JlYXRlQWxpZ25lZE1l bW9yeUJ1ZmZlclxuIik7CisgICAgICAgIHJldHVybiBBVkVSUk9SX1VOS05PV047CisgICAg fQorCisgICAgYy0+c3ltYm9scy5NRlN0YXJ0dXAgPSBkbHN5bShjLT5saWJyYXJ5LCAiTUZT dGFydHVwIik7CisgICAgaWYgKGMtPnN5bWJvbHMuTUZTdGFydHVwID09IE5VTEwpIHsKKyAg ICAgICAgYXZfbG9nKGMsIEFWX0xPR19FUlJPUiwgIkRMTCBNRlBsYXQuRExMIGZhaWxlZCB0 byBmaW5kIGZ1bmN0aW9uIE1GU3RhcnR1cFxuIik7CisgICAgICAgIHJldHVybiBBVkVSUk9S X1VOS05PV047CisgICAgfQorCisgICAgYy0+c3ltYm9scy5NRlNodXRkb3duID0gZGxzeW0o Yy0+bGlicmFyeSwgIk1GU2h1dGRvd24iKTsKKyAgICBpZiAoYy0+c3ltYm9scy5NRlNodXRk b3duID09IE5VTEwpIHsKKyAgICAgICAgYXZfbG9nKGMsIEFWX0xPR19FUlJPUiwgIkRMTCBN RlBsYXQuRExMIGZhaWxlZCB0byBmaW5kIGZ1bmN0aW9uIE1GU2h1dGRvd25cbiIpOworICAg ICAgICByZXR1cm4gQVZFUlJPUl9VTktOT1dOOworICAgIH0KKworICAgIGMtPnN5bWJvbHMu TUZDcmVhdGVNZWRpYVR5cGUgPSBkbHN5bShjLT5saWJyYXJ5LCAiTUZDcmVhdGVNZWRpYVR5 cGUiKTsKKyAgICBpZiAoYy0+c3ltYm9scy5NRkNyZWF0ZU1lZGlhVHlwZSA9PSBOVUxMKSB7 CisgICAgICAgIGF2X2xvZyhjLCBBVl9MT0dfRVJST1IsICJETEwgTUZQbGF0LkRMTCBmYWls ZWQgdG8gZmluZCBmdW5jdGlvbiBNRkNyZWF0ZU1lZGlhVHlwZVxuIik7CisgICAgICAgIHJl dHVybiBBVkVSUk9SX1VOS05PV047CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9OworCitz dGF0aWMgaW50IG1mX2luaXRfZW5jb2RlcihBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiB7CiAg ICAgTUZDb250ZXh0ICpjID0gYXZjdHgtPnByaXZfZGF0YTsKICAgICBIUkVTVUxUIGhyOwpA QCAtMTA1OCw3ICsxMTA1LDcgQEAgc3RhdGljIGludCBtZl9pbml0KEFWQ29kZWNDb250ZXh0 ICphdmN0eCkKIAogICAgIGMtPm1haW5fc3VidHlwZSA9ICpzdWJ0eXBlOwogCi0gICAgaWYg KChyZXQgPSBtZl9jcmVhdGUoYXZjdHgsICZjLT5tZnQsIGF2Y3R4LT5jb2RlYywgdXNlX2h3 KSkgPCAwKQorICAgIGlmICgocmV0ID0gbWZfY3JlYXRlKCZjLT5zeW1ib2xzLCBhdmN0eCwg JmMtPm1mdCwgYXZjdHgtPmNvZGVjLCB1c2VfaHcpKSA8IDApCiAgICAgICAgIHJldHVybiBy ZXQ7CiAKICAgICBpZiAoKHJldCA9IG1mX3VubG9ja19hc3luYyhhdmN0eCkpIDwgMCkKQEAg LTExMjYsMTMgKzExNzMsMTggQEAgc3RhdGljIGludCBtZl9jbG9zZShBVkNvZGVjQ29udGV4 dCAqYXZjdHgpCiB7CiAgICAgTUZDb250ZXh0ICpjID0gYXZjdHgtPnByaXZfZGF0YTsKIAot ICAgIGlmIChjLT5jb2RlY19hcGkpCi0gICAgICAgIElDb2RlY0FQSV9SZWxlYXNlKGMtPmNv ZGVjX2FwaSk7CisgICAgaWYgKGMtPmxpYnJhcnkpIHsKKyAgICAgICAgaWYgKGMtPmNvZGVj X2FwaSkKKyAgICAgICAgICAgIElDb2RlY0FQSV9SZWxlYXNlKGMtPmNvZGVjX2FwaSk7CiAK LSAgICBpZiAoYy0+YXN5bmNfZXZlbnRzKQotICAgICAgICBJTUZNZWRpYUV2ZW50R2VuZXJh dG9yX1JlbGVhc2UoYy0+YXN5bmNfZXZlbnRzKTsKKyAgICAgICAgaWYgKGMtPmFzeW5jX2V2 ZW50cykKKyAgICAgICAgICAgIElNRk1lZGlhRXZlbnRHZW5lcmF0b3JfUmVsZWFzZShjLT5h c3luY19ldmVudHMpOwogCi0gICAgZmZfZnJlZV9tZigmYy0+bWZ0KTsKKyAgICAgICAgZmZf ZnJlZV9tZigmYy0+c3ltYm9scywgJmMtPm1mdCk7CisKKyAgICAgICAgZGxjbG9zZShjLT5s aWJyYXJ5KTsKKyAgICAgICAgYy0+bGlicmFyeSA9IE5VTEw7CisgICAgfQogCiAgICAgYXZf ZnJhbWVfZnJlZSgmYy0+ZnJhbWUpOwogCkBAIC0xMTQyLDYgKzExOTQsMTkgQEAgc3RhdGlj IGludCBtZl9jbG9zZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgcmV0dXJuIDA7CiB9 CiAKK3N0YXRpYyBpbnQgbWZfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCit7CisgICAg aW50IHJldDsKKworICAgIGlmICgocmV0ID0gbWZfbG9hZF9saWJyYXJ5KGF2Y3R4KSkgPT0g MCkgeworICAgICAgICAgICBpZiAoKHJldCA9IG1mX2luaXRfZW5jb2RlcihhdmN0eCkpID09 IDApIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgIH0KKyAg ICBtZl9jbG9zZShhdmN0eCk7CisgICAgcmV0dXJuIHJldDsKK30KKwogI2RlZmluZSBPRkZT RVQoeCkgb2Zmc2V0b2YoTUZDb250ZXh0LCB4KQogCiAjZGVmaW5lIE1GX0VOQ09ERVIoTUVE SUFUWVBFLCBOQU1FLCBJRCwgT1BUUywgRVhUUkEpIFwKLS0gCjIuMzMuMS53aW5kb3dzLjEK Cg== --===============4211719687927997513== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --===============4211719687927997513==--