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 55B52434FE for ; Tue, 14 Jun 2022 14:42:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 20C2A68B688; Tue, 14 Jun 2022 17:42:52 +0300 (EEST) Received: from mail.acc.umu.se (mail.acc.umu.se [130.239.18.156]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F18768B687 for ; Tue, 14 Jun 2022 17:42:45 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id CB59A44DCB for ; Tue, 14 Jun 2022 16:42:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1655217764; bh=b4c+1QRz9dKYeSX40b1XucNA7CiFZubDDjdCTzK0vpw=; h=Subject:From:To:Date:In-Reply-To:References:From; b=v3qz1xiuGKV8Hg9hs0b/mUlQM0JB08+jDmQ85oeLSwaNuDR33COI+GaNP67XywPQ+ XB/o1PXznpK9x2NoVG0QgtktYTtZ9Fh+g6L6GN5TcBqrrIVaEKWjSAoTsHY/WFpgIz NGdh7A9xbHdwqCmq0jDm7o3GOngJRiMGS/KX5kIZ3uyJmZvPlZkHY/bQiyMBCLRFvY Ut4y08vToOV1NiqCS8qt0aCKpyxwflU5Ce/XLYbpRrqquMrzCIKw6V72uChZzGl4h0 CsOIRKinF62j82QZVBhaBrItVivSIwcZUS6eboaII62LGed5hy/z4JJxubjCMOuE+Z 46Zp0p19GYPZA== Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: tjoppen) by mail.acc.umu.se (Postfix) with ESMTPSA id E6BCC44DC6 for ; Tue, 14 Jun 2022 16:42:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1655217764; bh=b4c+1QRz9dKYeSX40b1XucNA7CiFZubDDjdCTzK0vpw=; h=Subject:From:To:Date:In-Reply-To:References:From; b=v3qz1xiuGKV8Hg9hs0b/mUlQM0JB08+jDmQ85oeLSwaNuDR33COI+GaNP67XywPQ+ XB/o1PXznpK9x2NoVG0QgtktYTtZ9Fh+g6L6GN5TcBqrrIVaEKWjSAoTsHY/WFpgIz NGdh7A9xbHdwqCmq0jDm7o3GOngJRiMGS/KX5kIZ3uyJmZvPlZkHY/bQiyMBCLRFvY Ut4y08vToOV1NiqCS8qt0aCKpyxwflU5Ce/XLYbpRrqquMrzCIKw6V72uChZzGl4h0 CsOIRKinF62j82QZVBhaBrItVivSIwcZUS6eboaII62LGed5hy/z4JJxubjCMOuE+Z 46Zp0p19GYPZA== Message-ID: From: Tomas =?ISO-8859-1?Q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 14 Jun 2022 16:42:43 +0200 In-Reply-To: <10ec51ef44325c2de6d5de7b994a9b6c8eb5e3a2.camel@acc.umu.se> References: <10ec51ef44325c2de6d5de7b994a9b6c8eb5e3a2.camel@acc.umu.se> Content-Type: multipart/mixed; boundary="=-08ZSA3oYaZJuj/IyklLs" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 07/13] lavc/jpeg2000*: Use ff_fast_recalloc() to eliminate lots of allocations 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --=-08ZSA3oYaZJuj/IyklLs Content-Type: text/plain Content-Transfer-Encoding: 7bit --=-08ZSA3oYaZJuj/IyklLs Content-Disposition: attachment; filename*0=0007-lavc-jpeg2000-Use-ff_fast_recalloc-to-eliminate-lots.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0007-lavc-jpeg2000-Use-ff_fast_recalloc-to-eliminate-lots.patch"; charset="UTF-8" RnJvbSA3MmE1ZjQ3NTAzMzM4YTRmZmY4MTY0NDBhZDY0YmM2MmNjMjNhNzM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9tYXM9MjBIPUMzPUE0cmRpbj89IDxnaXRA aGFlcmRpbi5zZT4KRGF0ZTogTW9uLCAxMyBKdW4gMjAyMiAxNzowNDoxMCArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDcvMTNdIGxhdmMvanBlZzIwMDAqOiBVc2UgZmZfZmFzdF9yZWNhbGxvYygpIHRv IGVsaW1pbmF0ZQogbG90cyBvZiBhbGxvY2F0aW9ucwoKLS0tCiBsaWJhdmNvZGVjL2pwZWcyMDAw LmMgICAgfCA3MiArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWJh dmNvZGVjL2pwZWcyMDAwLmggICAgfCAgOSArKysrKwogbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5j IHwgMjggKysrKysrKystLS0tLS0tLQogbGliYXZjb2RlYy9qcGVnMjAwMGR3dC5jIHwgIDkgKysr LS0KIGxpYmF2Y29kZWMvanBlZzIwMDBkd3QuaCB8ICAyICsrCiA1IGZpbGVzIGNoYW5nZWQsIDcw IGluc2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv anBlZzIwMDAuYyBiL2xpYmF2Y29kZWMvanBlZzIwMDAuYwppbmRleCA5NDViNzg3NTY1Li43ZWM1 OTg2ODc1IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2pwZWcyMDAwLmMKKysrIGIvbGliYXZjb2Rl Yy9qcGVnMjAwMC5jCkBAIC01MiwxNyArNTIsMjMgQEAgc3RhdGljIGludDMyX3QgdGFnX3RyZWVf c2l6ZShpbnQgdywgaW50IGgpCiB9CiAKIC8qIGFsbG9jYXRlIHRoZSBtZW1vcnkgZm9yIHRhZyB0 cmVlICovCi1zdGF0aWMgSnBlZzIwMDBUZ3ROb2RlICpmZl9qcGVnMjAwMF90YWdfdHJlZV9pbml0 KGludCB3LCBpbnQgaCkKK3N0YXRpYyBpbnQgZmZfanBlZzIwMDBfdGFnX3RyZWVfaW5pdChKcGVn MjAwMFRndE5vZGUgKipvbGQsIHVuc2lnbmVkIGludCAqc2l6ZSwgaW50IHcsIGludCBoKQogewog ICAgIGludCBwdyA9IHcsIHBoID0gaDsKLSAgICBKcGVnMjAwMFRndE5vZGUgKnJlcywgKnQsICp0 MjsKKyAgICBKcGVnMjAwMFRndE5vZGUgKnQsICp0MjsKICAgICBpbnQzMl90IHR0X3NpemU7Cisg ICAgc2l6ZV90IHByb2Q7CiAKICAgICB0dF9zaXplID0gdGFnX3RyZWVfc2l6ZSh3LCBoKTsKIAot ICAgIHQgPSByZXMgPSBhdl9jYWxsb2ModHRfc2l6ZSwgc2l6ZW9mKCp0KSk7Ci0gICAgaWYgKCFy ZXMpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChhdl9zaXplX211bHQodHRfc2l6ZSwg c2l6ZW9mKCp0KSwgJnByb2QpKQorICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworCisg ICAgYXZfZmFzdF9tYWxsb2Mob2xkLCBzaXplLCBwcm9kKTsKKyAgICBpZiAoISpvbGQpCisgICAg ICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisgICAgdCA9ICpvbGQ7CisgICAgbWVtc2V0KCpv bGQsIDAsIHByb2QpOwogCiAgICAgd2hpbGUgKHcgPiAxIHx8IGggPiAxKSB7CiAgICAgICAgIGlu dCBpLCBqOwpAQCAtODAsNyArODYsNyBAQCBzdGF0aWMgSnBlZzIwMDBUZ3ROb2RlICpmZl9qcGVn MjAwMF90YWdfdHJlZV9pbml0KGludCB3LCBpbnQgaCkKICAgICAgICAgdCA9IHQyOwogICAgIH0K ICAgICB0WzBdLnBhcmVudCA9IE5VTEw7Ci0gICAgcmV0dXJuIHJlczsKKyAgICByZXR1cm4gMDsK IH0KIAogdm9pZCBmZl90YWdfdHJlZV96ZXJvKEpwZWcyMDAwVGd0Tm9kZSAqdCwgaW50IHcsIGlu dCBoLCBpbnQgdmFsKQpAQCAtMzE2LDE2ICszMjIsMTQgQEAgc3RhdGljIGludCBpbml0X3ByZWMo QVZDb2RlY0NvbnRleHQgKmF2Y3R4LAogCiAKICAgICAvKiBUYWcgdHJlZXMgaW5pdGlhbGl6YXRp b24gKi8KLSAgICBwcmVjLT5jYmxraW5jbCA9Ci0gICAgICAgIGZmX2pwZWcyMDAwX3RhZ190cmVl X2luaXQocHJlYy0+bmJfY29kZWJsb2Nrc193aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwcmVjLT5uYl9jb2RlYmxvY2tzX2hlaWdodCk7Ci0gICAgaWYgKCFwcmVjLT5j YmxraW5jbCkKLSAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKLQotICAgIHByZWMtPnpl cm9iaXRzID0KLSAgICAgICAgZmZfanBlZzIwMDBfdGFnX3RyZWVfaW5pdChwcmVjLT5uYl9jb2Rl YmxvY2tzX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWMtPm5i X2NvZGVibG9ja3NfaGVpZ2h0KTsKLSAgICBpZiAoIXByZWMtPnplcm9iaXRzKQorICAgIGlmIChm Zl9qcGVnMjAwMF90YWdfdHJlZV9pbml0KCZwcmVjLT5jYmxraW5jbCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmcHJlYy0+Y2Jsa2luY2xfc2l6ZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcmVjLT5uYl9jb2RlYmxvY2tzX3dpZHRoLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHByZWMtPm5iX2NvZGVibG9ja3NfaGVpZ2h0KSB8fAor ICAgICAgICBmZl9qcGVnMjAwMF90YWdfdHJlZV9pbml0KCZwcmVjLT56ZXJvYml0cywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJlYy0+emVyb2JpdHNfc2l6ZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVjLT5uYl9jb2RlYmxvY2tzX3dpZHRoLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWMtPm5iX2NvZGVibG9ja3NfaGVp Z2h0KSkKICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKIAogICAgIGlmIChwcmVjLT5u Yl9jb2RlYmxvY2tzX3dpZHRoICogKHVpbnQ2NF90KXByZWMtPm5iX2NvZGVibG9ja3NfaGVpZ2h0 ID4gSU5UX01BWCkgewpAQCAtMzMzLDggKzMzNyw3IEBAIHN0YXRpYyBpbnQgaW5pdF9wcmVjKEFW Q29kZWNDb250ZXh0ICphdmN0eCwKICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKICAg ICB9CiAgICAgbmJfY29kZWJsb2NrcyA9IHByZWMtPm5iX2NvZGVibG9ja3Nfd2lkdGggKiBwcmVj LT5uYl9jb2RlYmxvY2tzX2hlaWdodDsKLSAgICBwcmVjLT5jYmxrID0gYXZfY2FsbG9jKG5iX2Nv ZGVibG9ja3MsIHNpemVvZigqcHJlYy0+Y2JsaykpOwotICAgIGlmICghcHJlYy0+Y2JsaykKKyAg ICBpZiAoZmZfZmFzdF9yZWNhbGxvYygmcHJlYy0+Y2JsaywgJnByZWMtPmNibGtfc2l6ZSwgbmJf Y29kZWJsb2Nrcywgc2l6ZW9mKCpwcmVjLT5jYmxrKSkpCiAgICAgICAgIHJldHVybiBBVkVSUk9S KEVOT01FTSk7CiAgICAgZm9yIChjYmxrbm8gPSAwOyBjYmxrbm8gPCBuYl9jb2RlYmxvY2tzOyBj Ymxrbm8rKykgewogICAgICAgICBKcGVnMjAwMENibGsgKmNibGsgPSBwcmVjLT5jYmxrICsgY2Js a25vOwpAQCAtMzc2LDYgKzM3OSw3IEBAIHN0YXRpYyBpbnQgaW5pdF9wcmVjKEFWQ29kZWNDb250 ZXh0ICphdmN0eCwKICAgICAgICAgY2Jsay0+bGVuZ3RoICAgID0gMDsKICAgICAgICAgY2Jsay0+ bnBhc3NlcyAgID0gMDsKICAgICAgICAgaWYgKGF2X2NvZGVjX2lzX2VuY29kZXIoYXZjdHgtPmNv ZGVjKSkgeworICAgICAgICAgICAgYXZfZnJlZXAoJmNibGstPmxheWVycyk7CiAgICAgICAgICAg ICBjYmxrLT5sYXllcnMgPSBhdl9jYWxsb2MoY29kc3R5LT5ubGF5ZXJzLCBzaXplb2YoKmNibGst PmxheWVycykpOwogICAgICAgICAgICAgaWYgKCFjYmxrLT5sYXllcnMpCiAgICAgICAgICAgICAg ICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKQEAgLTQ0OCw4ICs0NTIsNyBAQCBzdGF0aWMgaW50 IGluaXRfYmFuZChBVkNvZGVjQ29udGV4dCAqYXZjdHgsCiAgICAgICAgIHJldHVybiBBVkVSUk9S KEVOT01FTSk7CiAgICAgfQogICAgIG5iX3ByZWNpbmN0cyA9IHJlc2xldmVsLT5udW1fcHJlY2lu Y3RzX3ggKiByZXNsZXZlbC0+bnVtX3ByZWNpbmN0c195OwotICAgIGJhbmQtPnByZWMgPSBhdl9j YWxsb2MobmJfcHJlY2luY3RzLCBzaXplb2YoKmJhbmQtPnByZWMpKTsKLSAgICBpZiAoIWJhbmQt PnByZWMpCisgICAgaWYgKGZmX2Zhc3RfcmVjYWxsb2MoJmJhbmQtPnByZWMsICZiYW5kLT5wcmVj X3NpemUsIG5iX3ByZWNpbmN0cywgc2l6ZW9mKCpiYW5kLT5wcmVjKSkpCiAgICAgICAgIHJldHVy biBBVkVSUk9SKEVOT01FTSk7CiAKICAgICBmb3IgKHByZWNubyA9IDA7IHByZWNubyA8IG5iX3By ZWNpbmN0czsgcHJlY25vKyspIHsKQEAgLTQ3MSw2ICs0NzQsNyBAQCBpbnQgZmZfanBlZzIwMDBf aW5pdF9jb21wb25lbnQoSnBlZzIwMDBDb21wb25lbnQgKmNvbXAsCiB7CiAgICAgaW50IHJlc2xl dmVsbm8sIGJhbmRubywgZ2JhbmRubyA9IDAsIHJldCwgaSwgajsKICAgICB1aW50MzJfdCBjc2l6 ZTsKKyAgICBzaXplX3QgcHJvZDsKIAogICAgIGlmIChjb2RzdHktPm5yZXNsZXZlbHMyZGVjb2Rl IDw9IDApIHsKICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJucmVzbGV2ZWxz MmRlY29kZSAlZCBpbnZhbGlkIG9yIHVuaW5pdGlhbGl6ZWRcbiIsIGNvZHN0eS0+bnJlc2xldmVs czJkZWNvZGUpOwpAQCAtNDk2LDE5ICs1MDAsMjIgQEAgaW50IGZmX2pwZWcyMDAwX2luaXRfY29t cG9uZW50KEpwZWcyMDAwQ29tcG9uZW50ICpjb21wLAogCiAgICAgaWYgKGNvZHN0eS0+dHJhbnNm b3JtID09IEZGX0RXVDk3KSB7CiAgICAgICAgIGNzaXplICs9IEFWX0lOUFVUX0JVRkZFUl9QQURE SU5HX1NJWkUgLyBzaXplb2YoKmNvbXAtPmZfZGF0YSk7Ci0gICAgICAgIGNvbXAtPmlfZGF0YSA9 IE5VTEw7Ci0gICAgICAgIGNvbXAtPmZfZGF0YSA9IGF2X2NhbGxvYyhjc2l6ZSwgc2l6ZW9mKCpj b21wLT5mX2RhdGEpKTsKKyAgICAgICAgaWYgKGF2X3NpemVfbXVsdChjc2l6ZSwgc2l6ZW9mKCpj b21wLT5mX2RhdGEpLCAmcHJvZCkpCisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0p OworICAgICAgICBhdl9mYXN0X21hbGxvYygmY29tcC0+Zl9kYXRhLCAmY29tcC0+Zl9kYXRhX3Np emUsIHByb2QpOwogICAgICAgICBpZiAoIWNvbXAtPmZfZGF0YSkKICAgICAgICAgICAgIHJldHVy biBBVkVSUk9SKEVOT01FTSk7CisgICAgICAgIG1lbXNldChjb21wLT5mX2RhdGEsIDAsIHByb2Qp OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGNzaXplICs9IEFWX0lOUFVUX0JVRkZFUl9QQURESU5H X1NJWkUgLyBzaXplb2YoKmNvbXAtPmlfZGF0YSk7Ci0gICAgICAgIGNvbXAtPmZfZGF0YSA9IE5V TEw7Ci0gICAgICAgIGNvbXAtPmlfZGF0YSA9IGF2X2NhbGxvYyhjc2l6ZSwgc2l6ZW9mKCpjb21w LT5pX2RhdGEpKTsKKyAgICAgICAgaWYgKGF2X3NpemVfbXVsdChjc2l6ZSwgc2l6ZW9mKCpjb21w LT5pX2RhdGEpLCAmcHJvZCkpCisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwor ICAgICAgICBhdl9mYXN0X21hbGxvYygmY29tcC0+aV9kYXRhLCAmY29tcC0+aV9kYXRhX3NpemUs IHByb2QpOwogICAgICAgICBpZiAoIWNvbXAtPmlfZGF0YSkKICAgICAgICAgICAgIHJldHVybiBB VkVSUk9SKEVOT01FTSk7CisgICAgICAgIG1lbXNldChjb21wLT5pX2RhdGEsIDAsIHByb2QpOwog ICAgIH0KLSAgICBjb21wLT5yZXNsZXZlbCA9IGF2X2NhbGxvYyhjb2RzdHktPm5yZXNsZXZlbHMs IHNpemVvZigqY29tcC0+cmVzbGV2ZWwpKTsKLSAgICBpZiAoIWNvbXAtPnJlc2xldmVsKQorICAg IGlmIChmZl9mYXN0X3JlY2FsbG9jKCZjb21wLT5yZXNsZXZlbCwgJmNvbXAtPnJlc2xldmVsX3Np emUsIGNvZHN0eS0+bnJlc2xldmVscywgc2l6ZW9mKCpjb21wLT5yZXNsZXZlbCkpKQogICAgICAg ICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogICAgIC8qIExPT1Agb24gcmVzb2x1dGlvbiBsZXZl bHMgKi8KICAgICBmb3IgKHJlc2xldmVsbm8gPSAwOyByZXNsZXZlbG5vIDwgY29kc3R5LT5ucmVz bGV2ZWxzOyByZXNsZXZlbG5vKyspIHsKQEAgLTU1NSw4ICs1NjIsNyBAQCBpbnQgZmZfanBlZzIw MDBfaW5pdF9jb21wb25lbnQoSnBlZzIwMDBDb21wb25lbnQgKmNvbXAsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzbGV2ZWwtPmxvZzJfcHJlY19oZWlnaHQpIC0K ICAgICAgICAgICAgICAgICAocmVzbGV2ZWwtPmNvb3JkWzFdWzBdID4+IHJlc2xldmVsLT5sb2cy X3ByZWNfaGVpZ2h0KTsKIAotICAgICAgICByZXNsZXZlbC0+YmFuZCA9IGF2X2NhbGxvYyhyZXNs ZXZlbC0+bmJhbmRzLCBzaXplb2YoKnJlc2xldmVsLT5iYW5kKSk7Ci0gICAgICAgIGlmICghcmVz bGV2ZWwtPmJhbmQpCisgICAgICAgIGlmIChmZl9mYXN0X3JlY2FsbG9jKCZyZXNsZXZlbC0+YmFu ZCwgJnJlc2xldmVsLT5iYW5kX3NpemUsIHJlc2xldmVsLT5uYmFuZHMsIHNpemVvZigqcmVzbGV2 ZWwtPmJhbmQpKSkKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAKICAgICAg ICAgaWYgKHJlc2xldmVsLT5udW1fcHJlY2luY3RzX3ggKiAodWludDY0X3QpcmVzbGV2ZWwtPm51 bV9wcmVjaW5jdHNfeSAqIHJlc2xldmVsLT5uYmFuZHMgPiBhdmN0eC0+bWF4X3BpeGVscyAvIHNp emVvZigqcmVzbGV2ZWwtPmJhbmQtPnByZWMpKQpAQCAtNTk5LDcgKzYwNSw3IEBAIHZvaWQgZmZf anBlZzIwMDBfY2xlYW51cChKcGVnMjAwMENvbXBvbmVudCAqY29tcCwgSnBlZzIwMDBDb2RpbmdT dHlsZSAqY29kc3R5KQogewogICAgIGludCByZXNsZXZlbG5vLCBiYW5kbm8sIHByZWNubzsKICAg ICBmb3IgKHJlc2xldmVsbm8gPSAwOwotICAgICAgICAgY29tcC0+cmVzbGV2ZWwgJiYgcmVzbGV2 ZWxubyA8IGNvZHN0eS0+bnJlc2xldmVsczsKKyAgICAgICAgIGNvbXAtPnJlc2xldmVsICYmIHJl c2xldmVsbm8gPCBjb21wLT5yZXNsZXZlbF9zaXplL3NpemVvZigqY29tcC0+cmVzbGV2ZWwpOwog ICAgICAgICAgcmVzbGV2ZWxubysrKSB7CiAgICAgICAgIEpwZWcyMDAwUmVzTGV2ZWwgKnJlc2xl dmVsOwogCkBAIC02MDcsMjMgKzYxMywyMSBAQCB2b2lkIGZmX2pwZWcyMDAwX2NsZWFudXAoSnBl ZzIwMDBDb21wb25lbnQgKmNvbXAsIEpwZWcyMDAwQ29kaW5nU3R5bGUgKmNvZHN0eSkKICAgICAg ICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHJlc2xldmVsID0gY29tcC0+cmVzbGV2ZWwgKyBy ZXNsZXZlbG5vOwotICAgICAgICBmb3IgKGJhbmRubyA9IDA7IGJhbmRubyA8IHJlc2xldmVsLT5u YmFuZHM7IGJhbmRubysrKSB7CisgICAgICAgIGZvciAoYmFuZG5vID0gMDsgYmFuZG5vIDwgcmVz bGV2ZWwtPmJhbmRfc2l6ZS9zaXplb2YoKnJlc2xldmVsLT5iYW5kKTsgYmFuZG5vKyspIHsKICAg ICAgICAgICAgIEpwZWcyMDAwQmFuZCAqYmFuZDsKIAogICAgICAgICAgICAgaWYgKCFyZXNsZXZl bC0+YmFuZCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgYmFuZCA9 IHJlc2xldmVsLT5iYW5kICsgYmFuZG5vOwotICAgICAgICAgICAgZm9yIChwcmVjbm8gPSAwOyBw cmVjbm8gPCByZXNsZXZlbC0+bnVtX3ByZWNpbmN0c194ICogcmVzbGV2ZWwtPm51bV9wcmVjaW5j dHNfeTsgcHJlY25vKyspIHsKKyAgICAgICAgICAgIGZvciAocHJlY25vID0gMDsgcHJlY25vIDwg YmFuZC0+cHJlY19zaXplL3NpemVvZigqYmFuZC0+cHJlYyk7IHByZWNubysrKSB7CiAgICAgICAg ICAgICAgICAgaWYgKGJhbmQtPnByZWMpIHsKICAgICAgICAgICAgICAgICAgICAgSnBlZzIwMDBQ cmVjICpwcmVjID0gYmFuZC0+cHJlYyArIHByZWNubzsKLSAgICAgICAgICAgICAgICAgICAgaW50 IG5iX2NvZGVfYmxvY2tzID0gcHJlYy0+bmJfY29kZWJsb2Nrc19oZWlnaHQgKiBwcmVjLT5uYl9j b2RlYmxvY2tzX3dpZHRoOwotCiAgICAgICAgICAgICAgICAgICAgIGF2X2ZyZWVwKCZwcmVjLT56 ZXJvYml0cyk7CiAgICAgICAgICAgICAgICAgICAgIGF2X2ZyZWVwKCZwcmVjLT5jYmxraW5jbCk7 CiAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVjLT5jYmxrKSB7CiAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgY2Jsa25vOwotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjYmxrbm8g PSAwOyBjYmxrbm8gPCBuYl9jb2RlX2Jsb2NrczsgY2Jsa25vICsrKSB7CisgICAgICAgICAgICAg ICAgICAgICAgICBmb3IgKGNibGtubyA9IDA7IGNibGtubyA8IHByZWMtPmNibGtfc2l6ZS9zaXpl b2YoKnByZWMtPmNibGspOyBjYmxrbm8gKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBKcGVnMjAwMENibGsgKmNibGsgPSAmcHJlYy0+Y2Jsa1tjYmxrbm9dOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGF2X2ZyZWVwKCZjYmxrLT5kYXRhKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhdl9mcmVlcCgmY2Jsay0+cGFzc2VzKTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvanBlZzIwMDAuaCBiL2xpYmF2Y29kZWMvanBlZzIwMDAuaAppbmRleCBjYmI4ZTBkOTUxLi4z YmY4NWE2NjY5IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2pwZWcyMDAwLmgKKysrIGIvbGliYXZj b2RlYy9qcGVnMjAwMC5oCkBAIC0xNzcsNiArMTc3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSnBlZzIw MDBDYmxrIHsKICAgICB1aW50OF90IGluY2w7CiAgICAgdWludDE2X3QgbGVuZ3RoOwogICAgIHVp bnQxNl90ICpsZW5ndGhpbmM7CisgICAgdW5zaWduZWQgaW50IGxlbmd0aGluY19zaXplOwogICAg IHVpbnQ4X3QgbmJfbGVuZ3RoaW5jOwogICAgIHVpbnQ4X3QgbGJsb2NrOwogICAgIHVpbnQ4X3Qg KmRhdGE7CkBAIC0xOTMsOCArMTk0LDExIEBAIHR5cGVkZWYgc3RydWN0IEpwZWcyMDAwUHJlYyB7 CiAgICAgaW50IG5iX2NvZGVibG9ja3Nfd2lkdGg7CiAgICAgaW50IG5iX2NvZGVibG9ja3NfaGVp Z2h0OwogICAgIEpwZWcyMDAwVGd0Tm9kZSAqemVyb2JpdHM7CisgICAgdW5zaWduZWQgaW50IHpl cm9iaXRzX3NpemU7CiAgICAgSnBlZzIwMDBUZ3ROb2RlICpjYmxraW5jbDsKKyAgICB1bnNpZ25l ZCBpbnQgY2Jsa2luY2xfc2l6ZTsKICAgICBKcGVnMjAwMENibGsgKmNibGs7CisgICAgdW5zaWdu ZWQgaW50IGNibGtfc2l6ZTsKICAgICBpbnQgZGVjb2RlZF9sYXllcnM7CiAgICAgaW50IGNvb3Jk WzJdWzJdOyAvLyBib3JkZXIgY29vcmRpbmF0ZXMge3t4MCwgeDF9LCB7eTAsIHkxfX0KIH0gSnBl ZzIwMDBQcmVjOyAvLyBwcmVjaW5jdApAQCAtMjA1LDYgKzIwOSw3IEBAIHR5cGVkZWYgc3RydWN0 IEpwZWcyMDAwQmFuZCB7CiAgICAgaW50IGlfc3RlcHNpemU7IC8vIHF1YW50aXphdGlvbiBzdGVw c2l6ZQogICAgIGZsb2F0IGZfc3RlcHNpemU7IC8vIHF1YW50aXphdGlvbiBzdGVwc2l6ZQogICAg IEpwZWcyMDAwUHJlYyAqcHJlYzsKKyAgICB1bnNpZ25lZCBpbnQgcHJlY19zaXplOwogfSBKcGVn MjAwMEJhbmQ7IC8vIHN1YmJhbmQKIAogdHlwZWRlZiBzdHJ1Y3QgSnBlZzIwMDBSZXNMZXZlbCB7 CkBAIC0yMTMsMTMgKzIxOCwxNyBAQCB0eXBlZGVmIHN0cnVjdCBKcGVnMjAwMFJlc0xldmVsIHsK ICAgICBpbnQgbnVtX3ByZWNpbmN0c194LCBudW1fcHJlY2luY3RzX3k7IC8vIG51bWJlciBvZiBw cmVjaW5jdHMgaW4geC95IGRpcmVjdGlvbgogICAgIHVpbnQ4X3QgbG9nMl9wcmVjX3dpZHRoLCBs b2cyX3ByZWNfaGVpZ2h0OyAvLyBleHBvbmVudCBvZiBwcmVjaW5jdCBzaXplCiAgICAgSnBlZzIw MDBCYW5kICpiYW5kOworICAgIHVuc2lnbmVkIGludCBiYW5kX3NpemU7CiB9IEpwZWcyMDAwUmVz TGV2ZWw7IC8vIHJlc29sdXRpb24gbGV2ZWwKIAogdHlwZWRlZiBzdHJ1Y3QgSnBlZzIwMDBDb21w b25lbnQgewogICAgIEpwZWcyMDAwUmVzTGV2ZWwgKnJlc2xldmVsOworICAgIHVuc2lnbmVkIGlu dCByZXNsZXZlbF9zaXplOwogICAgIERXVENvbnRleHQgZHd0OwogICAgIGZsb2F0ICpmX2RhdGE7 CisgICAgdW5zaWduZWQgaW50IGZfZGF0YV9zaXplOwogICAgIGludCAqaV9kYXRhOworICAgIHVu c2lnbmVkIGludCBpX2RhdGFfc2l6ZTsKICAgICBpbnQgY29vcmRbMl1bMl07ICAgLy8gYm9yZGVy IGNvb3JkaW5hdGVzIHt7eDAsIHgxfSwge3kwLCB5MX19IC0tIGNhbiBiZSByZWR1Y2VkIHdpdGgg bG93cmVzIG9wdGlvbgogICAgIGludCBjb29yZF9vWzJdWzJdOyAvLyBib3JkZXIgY29vcmRpbmF0 ZXMge3t4MCwgeDF9LCB7eTAsIHkxfX0gLS0gb3JpZ2luYWwgdmFsdWVzIGZyb20ganBlZzIwMDAg aGVhZGVycwogICAgIHVpbnQ4X3Qgcm9pX3NoaWZ0OyAvLyBST0kgc2NhbGluZyB2YWx1ZSBmb3Ig dGhlIGNvbXBvbmVudApkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jIGIvbGli YXZjb2RlYy9qcGVnMjAwMGRlYy5jCmluZGV4IGVmNTE2N2MyOWUuLmEzZmMwNWVhOTcgMTAwNjQ0 Ci0tLSBhL2xpYmF2Y29kZWMvanBlZzIwMDBkZWMuYworKysgYi9saWJhdmNvZGVjL2pwZWcyMDAw ZGVjLmMKQEAgLTc5LDYgKzc5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSnBlZzIwMDBUaWxlUGFydCB7 CiAgKiBvbmUgcGVyIGNvbXBvbmVudCwgc28gdGlsZV9wYXJ0IGVsZW1lbnRzIGhhdmUgYSBzaXpl IG9mIDMgKi8KIHR5cGVkZWYgc3RydWN0IEpwZWcyMDAwVGlsZSB7CiAgICAgSnBlZzIwMDBDb21w b25lbnQgICAqY29tcDsKKyAgICB1bnNpZ25lZCBpbnQgICAgICAgIGNvbXBfc2l6ZTsKICAgICB1 aW50OF90ICAgICAgICAgICAgIHByb3BlcnRpZXNbNF07CiAgICAgSnBlZzIwMDBDb2RpbmdTdHls ZSBjb2RzdHlbNF07CiAgICAgSnBlZzIwMDBRdWFudFN0eWxlICBxbnRzdHlbNF07CkBAIC0xNDEs NiArMTQyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSnBlZzIwMDBEZWNvZGVyQ29udGV4dCB7CiAgICAg aW50ICAgICAgICAgICAgIGN1cnRpbGVubzsKIAogICAgIEpwZWcyMDAwVGlsZSAgICAqdGlsZTsK KyAgICB1bnNpZ25lZCBpbnQgICAgdGlsZV9zaXplOwogICAgIEpwZWcyMDAwRFNQQ29udGV4dCBk c3A7CiAKICAgICAvKm9wdGlvbnMgcGFyYW1ldGVycyovCkBAIC0zODAsOCArMzgyLDcgQEAgc3Rh dGljIGludCBnZXRfc2l6KEpwZWcyMDAwRGVjb2RlckNvbnRleHQgKnMpCiAgICAgICAgIHJldHVy biBBVkVSUk9SKEVJTlZBTCk7CiAgICAgfQogCi0gICAgcy0+dGlsZSA9IGF2X2NhbGxvYyhzLT5u dW1YdGlsZXMgKiBzLT5udW1ZdGlsZXMsIHNpemVvZigqcy0+dGlsZSkpOwotICAgIGlmICghcy0+ dGlsZSkgeworICAgIGlmIChmZl9mYXN0X3JlY2FsbG9jKCZzLT50aWxlLCAmcy0+dGlsZV9zaXpl LCBzLT5udW1YdGlsZXMgKiBzLT5udW1ZdGlsZXMsIHNpemVvZigqcy0+dGlsZSkpKSB7CiAgICAg ICAgIHMtPm51bVh0aWxlcyA9IHMtPm51bVl0aWxlcyA9IDA7CiAgICAgICAgIHJldHVybiBBVkVS Uk9SKEVOT01FTSk7CiAgICAgfQpAQCAtMzg5LDggKzM5MCw3IEBAIHN0YXRpYyBpbnQgZ2V0X3Np eihKcGVnMjAwMERlY29kZXJDb250ZXh0ICpzKQogICAgIGZvciAoaSA9IDA7IGkgPCBzLT5udW1Y dGlsZXMgKiBzLT5udW1ZdGlsZXM7IGkrKykgewogICAgICAgICBKcGVnMjAwMFRpbGUgKnRpbGUg PSBzLT50aWxlICsgaTsKIAotICAgICAgICB0aWxlLT5jb21wID0gYXZfbWFsbG9jeihzLT5uY29t cG9uZW50cyAqIHNpemVvZigqdGlsZS0+Y29tcCkpOwotICAgICAgICBpZiAoIXRpbGUtPmNvbXAp CisgICAgICAgIGlmIChmZl9mYXN0X3JlY2FsbG9jKCZ0aWxlLT5jb21wLCAmdGlsZS0+Y29tcF9z aXplLCBzLT5uY29tcG9uZW50cywgc2l6ZW9mKCp0aWxlLT5jb21wKSkpCiAgICAgICAgICAgICBy ZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogICAgIH0KIApAQCAtMTE5Niw5ICsxMTk2LDcgQEAgc3Rh dGljIGludCBqcGVnMjAwMF9kZWNvZGVfcGFja2V0KEpwZWcyMDAwRGVjb2RlckNvbnRleHQgKnMs IEpwZWcyMDAwVGlsZSAqdGlsZSwKIAogICAgICAgICAgICAgY2Jsay0+bmJfbGVuZ3RoaW5jID0g MDsKICAgICAgICAgICAgIGNibGstPm5iX3Rlcm1pbmF0aW9uc2luYyA9IDA7Ci0gICAgICAgICAg ICBhdl9mcmVlKGNibGstPmxlbmd0aGluYyk7Ci0gICAgICAgICAgICBjYmxrLT5sZW5ndGhpbmMg PSBhdl9jYWxsb2MobmV3cGFzc2VzLCBzaXplb2YoKmNibGstPmxlbmd0aGluYykpOwotICAgICAg ICAgICAgaWYgKCFjYmxrLT5sZW5ndGhpbmMpCisgICAgICAgICAgICBpZiAoZmZfZmFzdF9yZWNh bGxvYygmY2Jsay0+bGVuZ3RoaW5jLCAmY2Jsay0+bGVuZ3RoaW5jX3NpemUsIG5ld3Bhc3Nlcywg c2l6ZW9mKCpjYmxrLT5sZW5ndGhpbmMpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJP UihFTk9NRU0pOwogICAgICAgICAgICAgdG1wID0gYXZfcmVhbGxvY19hcnJheShjYmxrLT5kYXRh X3N0YXJ0LCBjYmxrLT5uYl90ZXJtaW5hdGlvbnMgKyBuZXdwYXNzZXMgKyAxLCBzaXplb2YoKmNi bGstPmRhdGFfc3RhcnQpKTsKICAgICAgICAgICAgIGlmICghdG1wKQpAQCAtMTI5Miw3ICsxMjkw LDYgQEAgc3RhdGljIGludCBqcGVnMjAwMF9kZWNvZGVfcGFja2V0KEpwZWcyMDAwRGVjb2RlckNv bnRleHQgKnMsIEpwZWcyMDAwVGlsZSAqdGlsZSwKICAgICAgICAgICAgICAgICAgICAgY2Jsay0+ ZGF0YV9zdGFydFtjYmxrLT5uYl90ZXJtaW5hdGlvbnNdID0gY2Jsay0+bGVuZ3RoOwogICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGF2X2ZyZWVwKCZjYmxrLT5s ZW5ndGhpbmMpOwogICAgICAgICB9CiAgICAgfQogICAgIC8vIFNhdmUgc3RhdGUgb2Ygc3RyZWFt CkBAIC0yMTY2LDEyICsyMTYzLDEzIEBAIHN0YXRpYyBpbnQganBlZzIwMDBfbWN0X3dyaXRlX2Zy YW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgdm9pZCAqdGQsCiAgICAgcmV0dXJuIDA7CiB9CiAK LXN0YXRpYyB2b2lkIGpwZWcyMDAwX2RlY19jbGVhbnVwKEpwZWcyMDAwRGVjb2RlckNvbnRleHQg KnMpCitzdGF0aWMgdm9pZCBqcGVnMjAwMF9kZWNfY2xlYW51cChKcGVnMjAwMERlY29kZXJDb250 ZXh0ICpzLCBpbnQgY2xvc2UpCiB7CiAgICAgaW50IHRpbGVubywgY29tcG5vOwotICAgIGZvciAo dGlsZW5vID0gMDsgdGlsZW5vIDwgcy0+bnVtWHRpbGVzICogcy0+bnVtWXRpbGVzOyB0aWxlbm8r KykgeworICAgIGlmIChjbG9zZSkgeworICAgIGZvciAodGlsZW5vID0gMDsgdGlsZW5vIDwgcy0+ dGlsZV9zaXplL3NpemVvZigqcy0+dGlsZSk7IHRpbGVubysrKSB7CiAgICAgICAgIGlmIChzLT50 aWxlW3RpbGVub10uY29tcCkgewotICAgICAgICAgICAgZm9yIChjb21wbm8gPSAwOyBjb21wbm8g PCBzLT5uY29tcG9uZW50czsgY29tcG5vKyspIHsKKyAgICAgICAgICAgIGZvciAoY29tcG5vID0g MDsgY29tcG5vIDwgcy0+dGlsZVt0aWxlbm9dLmNvbXBfc2l6ZS9zaXplb2YoKnMtPnRpbGVbdGls ZW5vXS5jb21wKTsgY29tcG5vKyspIHsKICAgICAgICAgICAgICAgICBKcGVnMjAwMENvbXBvbmVu dCAqY29tcCAgICAgPSBzLT50aWxlW3RpbGVub10uY29tcCAgICsgY29tcG5vOwogICAgICAgICAg ICAgICAgIEpwZWcyMDAwQ29kaW5nU3R5bGUgKmNvZHN0eSA9IHMtPnRpbGVbdGlsZW5vXS5jb2Rz dHkgKyBjb21wbm87CiAKQEAgLTIxODIsMTAgKzIxODAsMTEgQEAgc3RhdGljIHZvaWQganBlZzIw MDBfZGVjX2NsZWFudXAoSnBlZzIwMDBEZWNvZGVyQ29udGV4dCAqcykKICAgICAgICAgICAgIHMt PnRpbGVbdGlsZW5vXS5wYWNrZWRfaGVhZGVyc19zaXplID0gMDsKICAgICAgICAgfQogICAgIH0K KyAgICBhdl9mcmVlcCgmcy0+dGlsZSk7CisgICAgfQogICAgIGF2X2ZyZWVwKCZzLT5wYWNrZWRf aGVhZGVycyk7CiAgICAgcy0+cGFja2VkX2hlYWRlcnNfc2l6ZSA9IDA7CiAgICAgbWVtc2V0KCZz LT5wYWNrZWRfaGVhZGVyc19zdHJlYW0sIDAsIHNpemVvZihzLT5wYWNrZWRfaGVhZGVyc19zdHJl YW0pKTsKLSAgICBhdl9mcmVlcCgmcy0+dGlsZSk7CiAgICAgbWVtc2V0KHMtPmNvZHN0eSwgMCwg c2l6ZW9mKHMtPmNvZHN0eSkpOwogICAgIG1lbXNldChzLT5xbnRzdHksIDAsIHNpemVvZihzLT5x bnRzdHkpKTsKICAgICBtZW1zZXQocy0+cHJvcGVydGllcywgMCwgc2l6ZW9mKHMtPnByb3BlcnRp ZXMpKTsKQEAgLTI2ODksNyArMjY4OCw3IEBAIHN0YXRpYyBpbnQganBlZzIwMDBfZGVjb2RlX2Zy YW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqcGljdHVyZSwKIAogICAgIGF2Y3R4 LT5leGVjdXRlMihhdmN0eCwganBlZzIwMDBfbWN0X3dyaXRlX2ZyYW1lLCBwaWN0dXJlLCBOVUxM LCBzLT5udW1YdGlsZXMgKiBzLT5udW1ZdGlsZXMpOwogCi0gICAganBlZzIwMDBfZGVjX2NsZWFu dXAocyk7CisgICAganBlZzIwMDBfZGVjX2NsZWFudXAocywgMCk7CiAKICAgICAqZ290X2ZyYW1l ID0gMTsKIApAQCAtMjcwMiw3ICsyNzAxLDcgQEAgc3RhdGljIGludCBqcGVnMjAwMF9kZWNvZGVf ZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpwaWN0dXJlLAogICAgIHJldHVy biBieXRlc3RyZWFtMl90ZWxsKCZzLT5nKTsKIAogZW5kOgotICAgIGpwZWcyMDAwX2RlY19jbGVh bnVwKHMpOworICAgIGpwZWcyMDAwX2RlY19jbGVhbnVwKHMsIDApOwogICAgIHJldHVybiByZXQ7 CiB9CiAKQEAgLTI3MTIsNiArMjcxMSw3IEBAIHN0YXRpYyBhdl9jb2xkIGludCBqcGVnMjAwMF9k ZWNvZGVfY2xvc2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogCiAgICAgYXZfZnJlZXAoJnMtPmlk d3QpOwogICAgIGF2X2ZyZWVwKCZzLT5jYik7CisgICAganBlZzIwMDBfZGVjX2NsZWFudXAocywg MSk7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvanBlZzIwMDBk d3QuYyBiL2xpYmF2Y29kZWMvanBlZzIwMDBkd3QuYwppbmRleCA5MjE0NjFiNmQ3Li5mM2RkZWZl NDhmIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2pwZWcyMDAwZHd0LmMKKysrIGIvbGliYXZjb2Rl Yy9qcGVnMjAwMGR3dC5jCkBAIC01MzEsNiArNTMxLDcgQEAgaW50IGZmX2pwZWcyMDAwX2R3dF9p bml0KERXVENvbnRleHQgKnMsIGludCBib3JkZXJbMl1bMl0sCiB7CiAgICAgaW50IGksIGosIGxl diA9IGRlY29tcF9sZXZlbHMsCiAgICAgICAgIGJbMl1bMl07CisgICAgc2l6ZV90IHByb2Q7CiAK ICAgICBzLT5uZGVjbGV2ZWxzID0gZGVjb21wX2xldmVsczsKICAgICBzLT50eXBlICAgICAgID0g dHlwZTsKQEAgLTU1NiwxMSArNTU3LDE1IEBAIGludCBmZl9qcGVnMjAwMF9kd3RfaW5pdChEV1RD b250ZXh0ICpzLCBpbnQgYm9yZGVyWzJdWzJdLAogICAgICAgICB9CiAKICAgICBpZiAodHlwZSA9 PSBGRl9EV1Q5NykgewotICAgICAgICBzLT5mX2xpbmVidWYgPSBhdl9tYWxsb2NfYXJyYXkocy0+ bGluZXNpemUsIHMtPm1heF9zbGljZXMqc2l6ZW9mKCpzLT5mX2xpbmVidWYpKTsKKyAgICAgICAg aWYgKGF2X3NpemVfbXVsdChzLT5saW5lc2l6ZSwgcy0+bWF4X3NsaWNlcypzaXplb2YoKnMtPmZf bGluZWJ1ZiksICZwcm9kKSkKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Cisg ICAgICAgIGF2X2Zhc3RfbWFsbG9jKCZzLT5mX2xpbmVidWYsICZzLT5mX2xpbmVidWZfc2l6ZSwg cHJvZCk7CiAgICAgICAgIGlmICghcy0+Zl9saW5lYnVmKQogICAgICAgICAgICAgcmV0dXJuIEFW RVJST1IoRU5PTUVNKTsKICAgICB9IGVsc2UgewotICAgICAgICBzLT5pX2xpbmVidWYgPSBhdl9t YWxsb2NfYXJyYXkocy0+bGluZXNpemUsIHMtPm1heF9zbGljZXMqc2l6ZW9mKCpzLT5pX2xpbmVi dWYpKTsKKyAgICAgICAgaWYgKGF2X3NpemVfbXVsdChzLT5saW5lc2l6ZSwgcy0+bWF4X3NsaWNl cypzaXplb2YoKnMtPmlfbGluZWJ1ZiksICZwcm9kKSkKKyAgICAgICAgICAgIHJldHVybiBBVkVS Uk9SKEVOT01FTSk7CisgICAgICAgIGF2X2Zhc3RfbWFsbG9jKCZzLT5pX2xpbmVidWYsICZzLT5p X2xpbmVidWZfc2l6ZSwgcHJvZCk7CiAgICAgICAgIGlmICghcy0+aV9saW5lYnVmKQogICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKICAgICB9CmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2pwZWcyMDAwZHd0LmggYi9saWJhdmNvZGVjL2pwZWcyMDAwZHd0LmgKaW5kZXggZDVlOTRj OTkxNi4uZmI2ZmM4ZjEyMSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9qcGVnMjAwMGR3dC5oCisr KyBiL2xpYmF2Y29kZWMvanBlZzIwMDBkd3QuaApAQCAtNDgsNyArNDgsOSBAQCB0eXBlZGVmIHN0 cnVjdCBEV1RDb250ZXh0IHsKICAgICB1aW50OF90IG5kZWNsZXZlbHM7ICAgICAgICAgICAgICAg ICAgLy8vPCBudW1iZXIgb2YgZGVjb21wb3NpdGlvbiBsZXZlbHMKICAgICB1aW50OF90IHR5cGU7 ICAgICAgICAgICAgICAgICAgICAgICAgLy8vPCAwIGZvciA5Lzc7IDEgZm9yIDUvMwogICAgIGlu dDMyX3QgKmlfbGluZWJ1ZjsgICAgICAgICAgICAgICAgICAvLy88IGludCBidWZmZXIgdXNlZCBi eSB0cmFuc2Zvcm0KKyAgICB1bnNpZ25lZCBpbnQgaV9saW5lYnVmX3NpemU7CiAgICAgZmxvYXQg ICAqZl9saW5lYnVmOyAgICAgICAgICAgICAgICAgIC8vLzwgZmxvYXQgYnVmZmVyIHVzZWQgYnkg dHJhbnNmb3JtCisgICAgdW5zaWduZWQgaW50IGZfbGluZWJ1Zl9zaXplOwogICAgIGludCBtYXhf c2xpY2VzOwogICAgIGludCBsaW5lc2l6ZTsKIH0gRFdUQ29udGV4dDsKLS0gCjIuMzAuMgoK --=-08ZSA3oYaZJuj/IyklLs 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". --=-08ZSA3oYaZJuj/IyklLs--