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 E343444589 for ; Fri, 16 Sep 2022 18:21:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DD2E868BC5E; Fri, 16 Sep 2022 21:20:25 +0300 (EEST) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F286268BC4F for ; Fri, 16 Sep 2022 21:20:16 +0300 (EEST) Received: by mail-qk1-f169.google.com with SMTP id d15so16335046qka.9 for ; Fri, 16 Sep 2022 11:20:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=OZG+38/taxoWLn6M5z3ejPbiIbNKmtBIXLBQx+qsbPI=; b=dNEMv8krf+a6nT4oZmFwXFMdXotC88fPOU0U6Yox3MugEgDkICNbD4u4aPFzV2mkc7 J3aVXaOqETMJU3Txccy29Ik6YkajphnZA8ElkcQ+huwcus/ranENOOACsFg3F7eIjqwm MrYEsRWEV3pH6PUDK3r/bYKz9IfIDjPi54QJgbZNeZxK/5cuMkYKWNdnsa3thPxm3E/N rIbeEbofKqxIdso4cHFpZuTiCEo2Be3m5lqQP6XT8LsJ2hqIFw693LXDinuJK/xvQsVR HHF0E+Q7oJGCgt+A2TxoAd+Y7jZ+eK8dyRqX1S5jSYrNp1oFnnV6me+/yIuwkgLpnnDP 25bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=OZG+38/taxoWLn6M5z3ejPbiIbNKmtBIXLBQx+qsbPI=; b=pdy/W3p+NOtIfLvknhtukcypkF/1BrqQSrPPwFrSnqvALHeCBfUg1lyIZZNL86WMkj yYcMhNR/wHmZpUjUYhfN7XM41Za3IahD8ZJrwYtvUva5LdeLDJaMytQkzTP7L2Sa3q79 hviutgxZS20HJfkhmLp/JuC5bnhebf0qd9XWg1wGQF8/2hz8gkEByGjGW7qJ2FIESZuz iHbvEUo5EJSCzb6KWegDfHTR7Agnq6szfeXFKT0JmUa4paQEjeF1p00ideQWa5ZoHpN+ f+CchewDsriMepVeZ71cY1c7xfKsMrMWWDIj+pyk39k43ZWdadz9BNad85Blm+VMtsR1 8dcw== X-Gm-Message-State: ACrzQf2N420wOoS8EdBH7+N4f64phOeSdJI7vkWjIX1HH0l4uJRiL4Gd gysZWwm82VIAZUdkQfeiCrTTPjt6ZpA= X-Google-Smtp-Source: AMsMyM5Ws7niy4gJUAQ9c988yH9V1VuYWIiQUTE58Uq2aLRHwo66JSEpRswhc4e5OtV/J/bqESJxiA== X-Received: by 2002:a05:620a:129b:b0:6ce:6ba5:74fa with SMTP id w27-20020a05620a129b00b006ce6ba574famr4888656qki.85.1663352415470; Fri, 16 Sep 2022 11:20:15 -0700 (PDT) Received: from scott-desktop.. (pool-71-114-80-52.washdc.fios.verizon.net. [71.114.80.52]) by smtp.gmail.com with ESMTPSA id l10-20020ac8724a000000b0035cb9531851sm5148098qtp.65.2022.09.16.11.20.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Sep 2022 11:20:14 -0700 (PDT) From: Scott Theisen To: ffmpeg-devel@ffmpeg.org Date: Fri, 16 Sep 2022 14:20:02 -0400 Message-Id: <20220916182002.122699-9-scott.the.elm@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220916182002.122699-1-scott.the.elm@gmail.com> References: <20220201212056.29712-1-scott.the.elm@gmail.com> <20220916182002.122699-1-scott.the.elm@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 8/8] avpriv_find_start_code(): make start_code output only 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 Cc: Scott Theisen 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: VGhlIGlucHV0L291dHB1dCBmdW5jdGlvbmFsaXR5IHdhcyB1c2VkIGJ5IG9ubHkKKGZmXyltcGVn MV9maW5kX2ZyYW1lX2VuZCgpLgoKSWYgdGhlIHN0YXRlL3N0YXJ0X2NvZGUgaW5wdXQgaXMgYSBs b2NhbCB2YXJpYWJsZSBhbmQgb25seSBvbmUgYnVmZmVyIGlzIHVzZWQsCnRoZW4gbm8gaGlzdG9y eSBpcyBuZWVkZWQuCgpJbiBsb29wcyBhbmQgaW5saW5lIGZ1bmN0aW9uczogaWYgaWdub3Jpbmcg aGlzdG9yeSwgZG9uJ3QgaW5pdGlhbGl6ZSBzdGFydF9jb2RlLApzbyBpdCBpc24ndCByZXNldCB0 d2ljZSBlYWNoIHRpbWUuCgpUaGVyZSBpcyBhIHNsaWdodCBmdW5jdGlvbmFsIGNoYW5nZToKMDAg MDAgMDEgMDAgMDEgWFggbm8gbG9uZ2VyIGluY29ycmVjdGx5IHJldHVybnMgYSBzdGFydCBjb2Rl IGF0Cm9mZnNldCA3IHRoYXQgb3ZlcmxhcHMgdGhlIHN0YXJ0IGNvZGUgYXQgb2Zmc2V0IDQgaWYg dGhlIHN0YXJ0X2NvZGUKaW5wdXQgaXMgbm90IG1vZGlmaWVkIGJldHdlZW4gdGhlIHR3byBjYWxs cy4KLS0tCiBsaWJhdmNvZGVjL2Nic19tcGVnMi5jICAgICAgICAgICAgICAgIHwgIDUgLS0tLQog bGliYXZjb2RlYy9oMjY0X3BhcnNlci5jICAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmNvZGVj L21wZWcxMi5jICAgICAgICAgICAgICAgICAgIHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysr Ky0KIGxpYmF2Y29kZWMvbXBlZzRfdW5wYWNrX2JmcmFtZXNfYnNmLmMgfCAgMSAtCiBsaWJhdmNv ZGVjL21wZWd2aWRlb19wYXJzZXIuYyAgICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysr KysrKy0tCiBsaWJhdmNvZGVjL3N0YXJ0Y29kZS5oICAgICAgICAgICAgICAgIHwgMTQgKysrLS0t LS0tCiBsaWJhdmNvZGVjL3V0aWxzLmMgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKy0tLS0t LQogbGliYXZjb2RlYy92YzFfY29tbW9uLmggICAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmZv cm1hdC9ydHBlbmNfbXB2LmMgICAgICAgICAgICAgIHwgIDIgKy0KIDkgZmlsZXMgY2hhbmdlZCwg OTIgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2Rl Yy9jYnNfbXBlZzIuYyBiL2xpYmF2Y29kZWMvY2JzX21wZWcyLmMKaW5kZXggMjM4MzljYTQ3Yi4u ZmQyMzVhNDNhNyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9jYnNfbXBlZzIuYworKysgYi9saWJh dmNvZGVjL2Nic19tcGVnMi5jCkBAIC0xNjAsMTEgKzE2MCw2IEBAIHN0YXRpYyBpbnQgY2JzX21w ZWcyX3NwbGl0X2ZyYWdtZW50KENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LAogICAgICAgICBj b25zdCB1aW50OF90ICplbmQ7CiAgICAgICAgIHNpemVfdCB1bml0X3NpemU7CiAKLSAgICAgICAg Ly8gUmVzZXQgc3RhcnRfY29kZSB0byBlbnN1cmUgdGhhdCBhdnByaXZfZmluZF9zdGFydF9jb2Rl KCkKLSAgICAgICAgLy8gcmVhbGx5IHJlYWRzIGEgbmV3IHN0YXJ0IGNvZGUgYW5kIGRvZXMgbm90 IHJldXNlIHRoZSBvbGQKLSAgICAgICAgLy8gc3RhcnQgY29kZSBpbiBhbnkgd2F5IChhcyBlLmcu IGhhcHBlbnMgd2hlbiB0aGVyZSBpcyBhCi0gICAgICAgIC8vIFNlcXVlbmNlIEVuZCB1bml0IGF0 IHRoZSB2ZXJ5IGVuZCBvZiBhIHBhY2tldCkuCi0gICAgICAgIHN0YXJ0X2NvZGUgPSBVSU5UMzJf TUFYOwogICAgICAgICBlbmQgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHN0YXJ0LS0sIGZyYWct PmRhdGEgKyBmcmFnLT5kYXRhX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJnN0YXJ0X2NvZGUpOwogCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2gyNjRfcGFyc2Vy LmMgYi9saWJhdmNvZGVjL2gyNjRfcGFyc2VyLmMKaW5kZXggNTA4MTBmMTc4OS4uYjY3ODMwZDQw ZSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9oMjY0X3BhcnNlci5jCisrKyBiL2xpYmF2Y29kZWMv aDI2NF9wYXJzZXIuYwpAQCAtNjksNyArNjksNyBAQCB0eXBlZGVmIHN0cnVjdCBIMjY0UGFyc2VD b250ZXh0IHsKIHN0YXRpYyBpbnQgZmluZF9zdGFydF9jb2RlKGNvbnN0IHVpbnQ4X3QgKmJ1Ziwg aW50IGJ1Zl9zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBidWZf aW5kZXgsIGludCBuZXh0X2F2YykKIHsKLSAgICB1aW50MzJfdCBzdGF0ZSA9IC0xOworICAgIHVp bnQzMl90IHN0YXRlOwogCiAgICAgYnVmX2luZGV4ID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShi dWYgKyBidWZfaW5kZXgsIGJ1ZiArIG5leHRfYXZjICsgMSwgJnN0YXRlKSAtIGJ1ZiAtIDE7CiAK ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXBlZzEyLmMgYi9saWJhdmNvZGVjL21wZWcxMi5jCmlu ZGV4IDVmZjE4MzA0OTYuLjllM2M3ZTU4MTQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbXBlZzEy LmMKKysrIGIvbGliYXZjb2RlYy9tcGVnMTIuYwpAQCAtMTY2LDYgKzE2Niw0NSBAQCBhdl9jb2xk IHZvaWQgZmZfbXBlZzEyX2luaXRfdmxjcyh2b2lkKQogfQogCiAjaWYgRkZfQVBJX0ZMQUdfVFJV TkNBVEVECisvKioKKyAqIEJ5IHByZXNlcnZpbmcgdGhlIDxiPkBwIHN0YXJ0X2NvZGU8L2I+IHZh bHVlIGJldHdlZW4gc3Vic2VxdWVudCBjYWxscywgdGhlIGNhbGxlciBjYW4KKyAqIGRldGVjdCBz dGFydCBjb2RlcyBhY3Jvc3MgYnVmZmVyIGJvdW5kYXJpZXMuCisgKgorICogQHBhcmFtW2luLG91 dF0gc3RhcnRfY29kZSBBIHBvaW50ZXIgdG8gYSBtdXRhYmxlIEBjIHVpbnQzMl90Ljxicj4KKyAq ICAgICAgICAgIEFzIGlucHV0OiBGb3Igbm8gaGlzdG9yeSBwcmVzZXQgdG8gPGI+QGMgfjAgPC9i Piwgb3RoZXJ3aXNlIHByZXNldCB0byB0aGUgbGFzdAorICogICAgICAgICAgICAgICAgICAgIHJl dHVybmVkIHN0YXJ0IGNvZGUgdG8gZW5hYmxlIGRldGVjdGluZyBzdGFydCBjb2RlcyBhY3Jvc3MK KyAqICAgICAgICAgICAgICAgICAgICBidWZmZXIgYm91bmRhcmllcy48YnI+CisgKiAgICAgICAg ICBPbiBvdXRwdXQ6IFNldCB0byB0aGUgZm91bmQgc3RhcnQgY29kZSBpZiBpdCBleGlzdHMgb3Ig YW4gaW52YWxpZAorICogICAgICAgICAgICAgICAgICAgICBzdGFydCBjb2RlICh0aGUgNCBieXRl cyBwcmlvciB0byB0aGUgcmV0dXJuZWQgdmFsdWUsCisgKiAgICAgICAgICAgICAgICAgICAgIHVz aW5nIHRoZSBpbnB1dCBoaXN0b3J5IGlmIEBmJCBlbmQgLSBwIDwgNCBAZiQpLgorICoKKyAqIEBz YSBhdnByaXZfZmluZF9zdGFydF9jb2RlKCkKKyAqLworc3RhdGljIGNvbnN0IHVpbnQ4X3QgKmZp bmRfc3RhcnRfY29kZV90cnVuY2F0ZWQoY29uc3QgdWludDhfdCAqYXZfcmVzdHJpY3QgcCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqIGNvbnN0 IGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKiBj b25zdCBhdl9yZXN0cmljdCBzdGFydF9jb2RlKQoreworICAgIGF2X2Fzc2VydDAocCA8PSBlbmQp OworICAgIGlmIChwID49IGVuZCkKKyAgICAgICAgcmV0dXJuIGVuZDsKKworICAgIGlmICgqc3Rh cnRfY29kZSA9PSAweDEwMCkKKyAgICAgICAgKnN0YXJ0X2NvZGUgPSB+MDsKKyAgICAvLyBpbnZh bGlkYXRlIGJ5dGUgMCBzbyBvdmVybGFwcGluZyBzdGFydCBjb2RlcyBhcmUgbm90IGVycm9uZW91 c2x5IGRldGVjdGVkCisKKyAgICAvLyByZWFkIHVwIHRvIHRoZSBmaXJzdCB0aHJlZSBieXRlcyBp biBwIHRvIGVuYWJsZSByZWFkaW5nIGEgc3RhcnQgY29kZSBhY3Jvc3MKKyAgICAvLyB0d28gKHRv IGZvdXIpIGJ1ZmZlcnMKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykgeworICAgICAg ICAqc3RhcnRfY29kZSA8PD0gODsKKyAgICAgICAgKnN0YXJ0X2NvZGUgKz0gKnA7CisgICAgICAg IHArKzsKKyAgICAgICAgaWYgKHN0YXJ0X2NvZGVfaXNfdmFsaWQoKnN0YXJ0X2NvZGUpIHx8IHAg PT0gZW5kKQorICAgICAgICAgICAgcmV0dXJuIHA7CisgICAgfQorICAgIC8vIGJ1ZmZlciBsZW5n dGggaXMgYXQgbGVhc3QgNAorICAgIHJldHVybiBhdnByaXZfZmluZF9zdGFydF9jb2RlKHAgLSAz LCBlbmQsIHN0YXJ0X2NvZGUpOworfQorCiAvKioKICAqIEZpbmQgdGhlIGVuZCBvZiB0aGUgY3Vy cmVudCBmcmFtZSBpbiB0aGUgYml0c3RyZWFtLgogICogQHJldHVybiB0aGUgcG9zaXRpb24gb2Yg dGhlIGZpcnN0IGJ5dGUgb2YgdGhlIG5leHQgZnJhbWUsIG9yIC0xCkBAIC0yMDAsNyArMjM5LDcg QEAgaW50IGZmX21wZWcxX2ZpbmRfZnJhbWVfZW5kKFBhcnNlQ29udGV4dCAqcGMsIGNvbnN0IHVp bnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAogICAgICAgICAgICAgfQogICAgICAgICAgICAgc3Rh dGUrKzsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGkgPSBhdnByaXZfZmluZF9zdGFy dF9jb2RlKGJ1ZiArIGksIGJ1ZiArIGJ1Zl9zaXplLCAmc3RhdGUpIC0gYnVmIC0gMTsKKyAgICAg ICAgICAgIGkgPSBmaW5kX3N0YXJ0X2NvZGVfdHJ1bmNhdGVkKGJ1ZiArIGksIGJ1ZiArIGJ1Zl9z aXplLCAmc3RhdGUpIC0gYnVmIC0gMTsKICAgICAgICAgICAgIGlmIChwYy0+ZnJhbWVfc3RhcnRf Zm91bmQgPT0gMCAmJiBzdGF0ZSA+PSBTTElDRV9NSU5fU1RBUlRfQ09ERSAmJiBzdGF0ZSA8PSBT TElDRV9NQVhfU1RBUlRfQ09ERSkgewogICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAg ICAgICBwYy0+ZnJhbWVfc3RhcnRfZm91bmQgPSA0OwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9t cGVnNF91bnBhY2tfYmZyYW1lc19ic2YuYyBiL2xpYmF2Y29kZWMvbXBlZzRfdW5wYWNrX2JmcmFt ZXNfYnNmLmMKaW5kZXggM2EzYWFkNzk1Zi4uZGQzNTFkOWQwZiAxMDA2NDQKLS0tIGEvbGliYXZj b2RlYy9tcGVnNF91bnBhY2tfYmZyYW1lc19ic2YuYworKysgYi9saWJhdmNvZGVjL21wZWc0X3Vu cGFja19iZnJhbWVzX2JzZi5jCkBAIC0zNiw3ICszNiw2IEBAIHN0YXRpYyB2b2lkIHNjYW5fYnVm ZmVyKGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAogICAgIGNvbnN0IHVpbnQ4X3Qg KmVuZCA9IGJ1ZiArIGJ1Zl9zaXplLCAqcG9zID0gYnVmOwogCiAgICAgd2hpbGUgKHBvcyA8IGVu ZCkgewotICAgICAgICBzdGFydGNvZGUgPSAtMTsKICAgICAgICAgcG9zID0gYXZwcml2X2ZpbmRf c3RhcnRfY29kZShwb3MsIGVuZCwgJnN0YXJ0Y29kZSk7CiAKICAgICAgICAgaWYgKHN0YXJ0Y29k ZSA9PSBVU0VSX0RBVEFfU1RBUlRDT0RFICYmIHBvc19wKSB7CmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL21wZWd2aWRlb19wYXJzZXIuYyBiL2xpYmF2Y29kZWMvbXBlZ3ZpZGVvX3BhcnNlci5jCmlu ZGV4IGY1YWZhOTU5ODEuLmQ3NmU4YmEwNjkgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbXBlZ3Zp ZGVvX3BhcnNlci5jCisrKyBiL2xpYmF2Y29kZWMvbXBlZ3ZpZGVvX3BhcnNlci5jCkBAIC0zNCw2 ICszNCw0NSBAQCBzdHJ1Y3QgTXB2UGFyc2VDb250ZXh0IHsKIH07CiAKICNpZiAhRkZfQVBJX0ZM QUdfVFJVTkNBVEVECisvKioKKyAqIEJ5IHByZXNlcnZpbmcgdGhlIDxiPkBwIHN0YXJ0X2NvZGU8 L2I+IHZhbHVlIGJldHdlZW4gc3Vic2VxdWVudCBjYWxscywgdGhlIGNhbGxlciBjYW4KKyAqIGRl dGVjdCBzdGFydCBjb2RlcyBhY3Jvc3MgYnVmZmVyIGJvdW5kYXJpZXMuCisgKgorICogQHBhcmFt W2luLG91dF0gc3RhcnRfY29kZSBBIHBvaW50ZXIgdG8gYSBtdXRhYmxlIEBjIHVpbnQzMl90Ljxi cj4KKyAqICAgICAgICAgIEFzIGlucHV0OiBGb3Igbm8gaGlzdG9yeSBwcmVzZXQgdG8gPGI+QGMg fjAgPC9iPiwgb3RoZXJ3aXNlIHByZXNldCB0byB0aGUgbGFzdAorICogICAgICAgICAgICAgICAg ICAgIHJldHVybmVkIHN0YXJ0IGNvZGUgdG8gZW5hYmxlIGRldGVjdGluZyBzdGFydCBjb2RlcyBh Y3Jvc3MKKyAqICAgICAgICAgICAgICAgICAgICBidWZmZXIgYm91bmRhcmllcy48YnI+CisgKiAg ICAgICAgICBPbiBvdXRwdXQ6IFNldCB0byB0aGUgZm91bmQgc3RhcnQgY29kZSBpZiBpdCBleGlz dHMgb3IgYW4gaW52YWxpZAorICogICAgICAgICAgICAgICAgICAgICBzdGFydCBjb2RlICh0aGUg NCBieXRlcyBwcmlvciB0byB0aGUgcmV0dXJuZWQgdmFsdWUsCisgKiAgICAgICAgICAgICAgICAg ICAgIHVzaW5nIHRoZSBpbnB1dCBoaXN0b3J5IGlmIEBmJCBlbmQgLSBwIDwgNCBAZiQpLgorICoK KyAqIEBzYSBhdnByaXZfZmluZF9zdGFydF9jb2RlKCkKKyAqLworc3RhdGljIGNvbnN0IHVpbnQ4 X3QgKmZpbmRfc3RhcnRfY29kZV90cnVuY2F0ZWQoY29uc3QgdWludDhfdCAqYXZfcmVzdHJpY3Qg cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAq IGNvbnN0IGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgKiBjb25zdCBhdl9yZXN0cmljdCBzdGFydF9jb2RlKQoreworICAgIGF2X2Fzc2VydDAocCA8 PSBlbmQpOworICAgIGlmIChwID49IGVuZCkKKyAgICAgICAgcmV0dXJuIGVuZDsKKworICAgIGlm ICgqc3RhcnRfY29kZSA9PSAweDEwMCkKKyAgICAgICAgKnN0YXJ0X2NvZGUgPSB+MDsKKyAgICAv LyBpbnZhbGlkYXRlIGJ5dGUgMCBzbyBvdmVybGFwcGluZyBzdGFydCBjb2RlcyBhcmUgbm90IGVy cm9uZW91c2x5IGRldGVjdGVkCisKKyAgICAvLyByZWFkIHVwIHRvIHRoZSBmaXJzdCB0aHJlZSBi eXRlcyBpbiBwIHRvIGVuYWJsZSByZWFkaW5nIGEgc3RhcnQgY29kZSBhY3Jvc3MKKyAgICAvLyB0 d28gKHRvIGZvdXIpIGJ1ZmZlcnMKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykgewor ICAgICAgICAqc3RhcnRfY29kZSA8PD0gODsKKyAgICAgICAgKnN0YXJ0X2NvZGUgKz0gKnA7Cisg ICAgICAgIHArKzsKKyAgICAgICAgaWYgKHN0YXJ0X2NvZGVfaXNfdmFsaWQoKnN0YXJ0X2NvZGUp IHx8IHAgPT0gZW5kKQorICAgICAgICAgICAgcmV0dXJuIHA7CisgICAgfQorICAgIC8vIGJ1ZmZl ciBsZW5ndGggaXMgYXQgbGVhc3QgNAorICAgIHJldHVybiBhdnByaXZfZmluZF9zdGFydF9jb2Rl KHAgLSAzLCBlbmQsIHN0YXJ0X2NvZGUpOworfQorCiAvKioKICAqIEZpbmQgdGhlIGVuZCBvZiB0 aGUgY3VycmVudCBmcmFtZSBpbiB0aGUgYml0c3RyZWFtLgogICogQHJldHVybiB0aGUgcG9zaXRp b24gb2YgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIG5leHQgZnJhbWUsIG9yIC0xCkBAIC02OSw3ICsx MDgsNyBAQCBzdGF0aWMgaW50IG1wZWcxX2ZpbmRfZnJhbWVfZW5kKFBhcnNlQ29udGV4dCAqcGMs IGNvbnN0IHVpbnQ4X3QgKmJ1ZiwKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN0YXRlKys7 CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpID0gYXZwcml2X2ZpbmRfc3RhcnRfY29k ZShidWYgKyBpLCBidWYgKyBidWZfc2l6ZSwgJnN0YXRlKSAtIGJ1ZiAtIDE7CisgICAgICAgICAg ICBpID0gZmluZF9zdGFydF9jb2RlX3RydW5jYXRlZChidWYgKyBpLCBidWYgKyBidWZfc2l6ZSwg JnN0YXRlKSAtIGJ1ZiAtIDE7CiAgICAgICAgICAgICBpZiAocGMtPmZyYW1lX3N0YXJ0X2ZvdW5k ID09IDAgJiYgc3RhdGUgPj0gU0xJQ0VfTUlOX1NUQVJUX0NPREUgJiYgc3RhdGUgPD0gU0xJQ0Vf TUFYX1NUQVJUX0NPREUpIHsKICAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgICAg cGMtPmZyYW1lX3N0YXJ0X2ZvdW5kID0gNDsKQEAgLTEyMSw3ICsxNjAsNiBAQCBzdGF0aWMgdm9p ZCBtcGVndmlkZW9fZXh0cmFjdF9oZWFkZXJzKEFWQ29kZWNQYXJzZXJDb250ZXh0ICpzLAogICAg IHMtPnJlcGVhdF9waWN0ID0gMDsKIAogICAgIHdoaWxlIChidWYgPCBidWZfZW5kKSB7Ci0gICAg ICAgIHN0YXJ0X2NvZGU9IC0xOwogICAgICAgICBidWY9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUo YnVmLCBidWZfZW5kLCAmc3RhcnRfY29kZSk7CiAgICAgICAgIGJ5dGVzX2xlZnQgPSBidWZfZW5k IC0gYnVmOwogICAgICAgICBzd2l0Y2goc3RhcnRfY29kZSkgewpkaWZmIC0tZ2l0IGEvbGliYXZj b2RlYy9zdGFydGNvZGUuaCBiL2xpYmF2Y29kZWMvc3RhcnRjb2RlLmgKaW5kZXggNjkzODljNzI5 Yy4uN2UxZGY2OGEzYiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9zdGFydGNvZGUuaAorKysgYi9s aWJhdmNvZGVjL3N0YXJ0Y29kZS5oCkBAIC01MCwyMCArNTAsMTQgQEAgc3RhdGljIGF2X2Fsd2F5 c19pbmxpbmUgaW50IHN0YXJ0X2NvZGVfaXNfdmFsaWQodWludDMyX3Qgc3RhcnRfY29kZSkgewog ICogQSBzdGFydCBjb2RlIGlzIGEgc2VxdWVuY2Ugb2YgNCBieXRlcyB3aXRoIHRoZSBoZXhhZGVj aW1hbCB2YWx1ZSA8Yj48dHQ+IDAwIDAwIDAxIFhYIDwvdHQ+PC9iPiwKICAqIHdoZXJlIDxiPjx0 dD4gWFggPC90dD48L2I+IHJlcHJlc2VudHMgYW55IHZhbHVlIGFuZCBtZW1vcnkgYWRkcmVzcyBp bmNyZWFzZXMgbGVmdCB0byByaWdodC4KICAqCi0gKiBCeSBwcmVzZXJ2aW5nIHRoZSA8Yj5AcCBz dGFydF9jb2RlPC9iPiB2YWx1ZSBiZXR3ZWVuIHN1YnNlcXVlbnQgY2FsbHMsIHRoZSBjYWxsZXIg Y2FuCi0gKiBkZXRlY3Qgc3RhcnQgY29kZXMgYWNyb3NzIGJ1ZmZlciBib3VuZGFyaWVzLgotICoK ICAqIEBwYXJhbVtpbl0gcCAgICAgQSBwb2ludGVyIHRvIHRoZSBzdGFydCBvZiB0aGUgbWVtb3J5 IGJ1ZmZlciB0byBzY2FuLgogICogQHBhcmFtW2luXSBlbmQgICBBIHBvaW50ZXIgdG8gdGhlIHBh c3QtdGhlLWVuZCBtZW1vcnkgYWRkcmVzcyBmb3IgdGhlIGJ1ZmZlcgogICogICAgICAgICAgICAg ICAgICBnaXZlbiBieSBAcCBwLiAgPGI+QHAgcDwvYj4gbXVzdCBiZSDiiaQgPGI+QHAgZW5kPC9i Pi4KICAqCi0gKiBAcGFyYW1baW4sb3V0XSBzdGFydF9jb2RlIEEgcG9pbnRlciB0byBhIG11dGFi bGUgQGMgdWludDMyX3QuPGJyPgotICogICAgICAgICAgQXMgaW5wdXQ6IEZvciBubyBoaXN0b3J5 IHByZXNldCB0byA8Yj5AYyB+MCA8L2I+LCBvdGhlcndpc2UgcHJlc2V0IHRvIHRoZSBsYXN0Ci0g KiAgICAgICAgICAgICAgICAgICAgcmV0dXJuZWQgc3RhcnQgY29kZSB0byBlbmFibGUgZGV0ZWN0 aW5nIHN0YXJ0IGNvZGVzIGFjcm9zcwotICogICAgICAgICAgICAgICAgICAgIGJ1ZmZlciBib3Vu ZGFyaWVzLjxicj4KLSAqICAgICAgICAgIE9uIG91dHB1dDogU2V0IHRvIHRoZSBmb3VuZCBzdGFy dCBjb2RlIGlmIGl0IGV4aXN0cyBvciBhbiBpbnZhbGlkCi0gKiAgICAgICAgICAgICAgICAgICAg IHN0YXJ0IGNvZGUgKHRoZSA0IGJ5dGVzIHByaW9yIHRvIHRoZSByZXR1cm5lZCB2YWx1ZSwKLSAq ICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGlucHV0IGhpc3RvcnkgaWYgQGYkIGVuZCAt IHAgPCA0IEBmJCkuCisgKiBAcGFyYW1bb3V0XSBzdGFydF9jb2RlIEEgcG9pbnRlciB0byBhIG11 dGFibGUgQGMgdWludDMyX3QuPGJyPgorICogICAgICAgICAgICAgU2V0IHRvIHRoZSBmb3VuZCBz dGFydCBjb2RlIGlmIGl0IGV4aXN0cyBvciBhbiBpbnZhbGlkIHN0YXJ0IGNvZGUKKyAqICAgICAg ICAgICAgICh0aGUgNCBieXRlcyBwcmlvciB0byB0aGUgcmV0dXJuZWQgdmFsdWUgb3IgPGI+QGMg fjAgPC9iPiBpZgorICogICAgICAgICAgICAgQGYkIGVuZCAtIHAgPCA0IEBmJCkuCiAgKgogICog QHJldHVybiBBIHBvaW50ZXIgdG8gdGhlIG1lbW9yeSBhZGRyZXNzIGZvbGxvd2luZyB0aGUgZm91 bmQgc3RhcnQgY29kZSwgb3IgPGI+QHAgZW5kPC9iPgogICogICAgICAgICBpZiBubyBzdGFydCBj b2RlIHdhcyBmb3VuZC4KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdXRpbHMuYyBiL2xpYmF2Y29k ZWMvdXRpbHMuYwppbmRleCAwNjM1YzVkY2FhLi4yYTYwNjdjYTRlIDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL3V0aWxzLmMKKysrIGIvbGliYXZjb2RlYy91dGlscy5jCkBAIC05ODQsMTkgKzk4NCwx MyBAQCBjb25zdCB1aW50OF90ICphdnByaXZfZmluZF9zdGFydF9jb2RlKGNvbnN0IHVpbnQ4X3Qg KmF2X3Jlc3RyaWN0IHAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90ICogY29uc3QgYXZfcmVzdHJpY3Qgc3RhcnRfY29kZSkKIHsKICAgICBhdl9hc3NlcnQw KHAgPD0gZW5kKTsKLSAgICBpZiAocCA+PSBlbmQpCisgICAgLy8gbWluaW11bSBsZW5ndGggZm9y IGEgc3RhcnQgY29kZQorICAgIGlmIChwICsgNCA+IGVuZCkgeworICAgICAgICAqc3RhcnRfY29k ZSA9IH4wOyAvLyBzZXQgdG8gYW4gaW52YWxpZCBzdGFydCBjb2RlCiAgICAgICAgIHJldHVybiBl bmQ7Ci0KLSAgICAvLyByZWFkIHVwIHRvIHRoZSBmaXJzdCB0aHJlZSBieXRlcyBpbiBwIHRvIGVu YWJsZSByZWFkaW5nIGEgc3RhcnQgY29kZSBhY3Jvc3MKLSAgICAvLyB0d28gKHRvIGZvdXIpIGJ1 ZmZlcnMKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykgewotICAgICAgICAqc3RhcnRf Y29kZSA8PD0gODsKLSAgICAgICAgKnN0YXJ0X2NvZGUgKz0gKnA7Ci0gICAgICAgIHArKzsKLSAg ICAgICAgaWYgKHN0YXJ0X2NvZGVfaXNfdmFsaWQoKnN0YXJ0X2NvZGUpIHx8IHAgPT0gZW5kKQot ICAgICAgICAgICAgcmV0dXJuIHA7CiAgICAgfQotICAgIC8vIHAgaXMgbm93IHByb3Blcmx5IGlu Y3JlbWVudGVkIGZvciB0aGUgbmVnYXRpdmUgaW5kaWNlcyBpbiB0aGUgd2hpbGUgbG9vcAorCisg ICAgcCArPSAzOyAvLyBvZmZzZXQgZm9yIG5lZ2F0aXZlIGluZGljZXMgaW4gd2hpbGUgbG9vcAog CiAgICAgLyogd2l0aCBtZW1vcnkgYWRkcmVzcyBpbmNyZWFzaW5nIGxlZnQgdG8gcmlnaHQsIHdl IGFyZSBsb29raW5nIGZvciAoaW4gaGV4YWRlY2ltYWwpOgogICAgICAqIDAwIDAwIDAxIFhYCmRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZjMV9jb21tb24uaCBiL2xpYmF2Y29kZWMvdmMxX2NvbW1v bi5oCmluZGV4IDhmZjk4MDJhNTEuLmFjOGRiZTNmYjYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMv dmMxX2NvbW1vbi5oCisrKyBiL2xpYmF2Y29kZWMvdmMxX2NvbW1vbi5oCkBAIC01Nyw3ICs1Nyw3 IEBAIGVudW0gUHJvZmlsZSB7CiBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBjb25zdCB1aW50OF90 KiBmaW5kX25leHRfbWFya2VyKGNvbnN0IHVpbnQ4X3QgKnNyYywgY29uc3QgdWludDhfdCAqZW5k KQogewogICAgIGlmIChlbmQgLSBzcmMgPj0gNCkgewotICAgICAgICB1aW50MzJfdCBtcmsgPSAw eEZGRkZGRkZGOworICAgICAgICB1aW50MzJfdCBtcms7CiAgICAgICAgIHNyYyA9IGF2cHJpdl9m aW5kX3N0YXJ0X2NvZGUoc3JjLCBlbmQsICZtcmspOwogICAgICAgICBpZiAoc3RhcnRfY29kZV9p c192YWxpZChtcmspKQogICAgICAgICAgICAgcmV0dXJuIHNyYyAtIDQ7CmRpZmYgLS1naXQgYS9s aWJhdmZvcm1hdC9ydHBlbmNfbXB2LmMgYi9saWJhdmZvcm1hdC9ydHBlbmNfbXB2LmMKaW5kZXgg OWMwODE2ZWY5NS4uZGJkNGFjZDQ3NCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvcnRwZW5jX21w di5jCisrKyBiL2xpYmF2Zm9ybWF0L3J0cGVuY19tcHYuYwpAQCAtNTQsNyArNTQsNyBAQCB2b2lk IGZmX3J0cF9zZW5kX21wZWd2aWRlbyhBVkZvcm1hdENvbnRleHQgKnMxLCBjb25zdCB1aW50OF90 ICpidWYxLCBpbnQgc2l6ZSkKIAogICAgICAgICAgICAgcjEgPSBidWYxOwogICAgICAgICAgICAg d2hpbGUgKDEpIHsKLSAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9jb2RlID0gfjA7Cisg ICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfY29kZTsKICAgICAgICAgICAgICAgICByID0g YXZwcml2X2ZpbmRfc3RhcnRfY29kZShyMSwgZW5kLCAmc3RhcnRfY29kZSk7CiAgICAgICAgICAg ICAgICAgaWYgKHN0YXJ0X2NvZGVfaXNfdmFsaWQoc3RhcnRfY29kZSkpIHsKICAgICAgICAgICAg ICAgICAgICAgLyogTmV3IHN0YXJ0IGNvZGUgZm91bmQgKi8KLS0gCjIuMzQuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxp bmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1h bi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3Zl LCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAi dW5zdWJzY3JpYmUiLgo=