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 C846A455AF for ; Mon, 6 Feb 2023 14:12:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 99B4868B9DB; Mon, 6 Feb 2023 16:12:20 +0200 (EET) Received: from mail-vs1-f54.google.com (mail-vs1-f54.google.com [209.85.217.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E201268B9DB for ; Mon, 6 Feb 2023 16:12:13 +0200 (EET) Received: by mail-vs1-f54.google.com with SMTP id p10so12778008vsu.5 for ; Mon, 06 Feb 2023 06:12:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=gJmp+lwRz/F/V3j6qWa+Ea3aoiScFvM/NJd2oUYzUSA=; b=GMCR/CdWghrONBNtVzF4T2ttM6ASzrHKV3LljzLjSZpBI6tpfZVqx9KV2KVK29HHSk mYbcJGJoV+m5BILfitJMhZk23NVJwX076XSWVjoPu7Ost1PrDBB83kf21hGdtWfg5nir kU0fC7hkh7E22bufDJPkhxOVAJM08lzbT8NGFG5R0q85QpUu7HuNbU9r06psG5PGFtn2 FntULcgdpkzwgkjj6Qu0eAEDOe5VvbPoInO2NTuuPsrUPCHDmHTbvDl1ucjYEotJRPwy O8vEdyiwx+FbL7vMLqYRYK7EJUEE/oCS/jqEtaMtzeFOK1UL4wKX/Q9bzN9M6McccITy MV4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=gJmp+lwRz/F/V3j6qWa+Ea3aoiScFvM/NJd2oUYzUSA=; b=JG+yTR1eB16nMLjaDvUegsi/pKTmrVvsWmRZkkk01ao9NQaiWl7dgPnmYV2yJRyfrK ssDmttwvfoxQri2WBMojyhioZISVd2otBSn72RB8xosAK7/yKTRy/d1K2Eq/8xGEz55c kJ0ELcth4SeBmG671vu4MtackJehqojUvJmfUA7fmAVudlgh6/ITpyELc8A9kziGG+CN k0/rfkvIBPpDhCHFwn7kZ+KXuIE2aWXboLv+bH/ARN4ZYrpGSCVL+z5wMos5TFIML/6O s+SUxngMcQRNFUip+hor0/mJ8IY+ekqb9w4lrSgPIn3ARfoukDOffxJ3/wxmZXFQW3pZ oz/w== X-Gm-Message-State: AO0yUKVFB3YHMUljuM8BopYfC6LSSXJw6xk+om42WH39XRfQ73r5d+v5 QF5WVzWLHEcDOiPLqN6kHUpB9etNbsbbTmB6OnbmXp8/ X-Google-Smtp-Source: AK7set//8mHcms0+eFK+Tdl7DxGKsnCifxd8sefJbrUKEgfpgsGDtZeFuCSYCuYaoJ95Lkr0KJ0BVg0JK4ky0ye2U/w= X-Received: by 2002:a05:6102:441f:b0:403:7f25:badc with SMTP id df31-20020a056102441f00b004037f25badcmr2066935vsb.36.1675692732384; Mon, 06 Feb 2023 06:12:12 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:612c:2428:b0:32a:5eaa:92e4 with HTTP; Mon, 6 Feb 2023 06:12:11 -0800 (PST) From: Paul B Mahol Date: Mon, 6 Feb 2023 15:12:11 +0100 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000112a8c05f4089e30" Subject: [FFmpeg-devel] [PATCH] avfilter: use ff_inlink_make_frame_writable() 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: --000000000000112a8c05f4089e30 Content-Type: text/plain; charset="UTF-8" Patch attached. --000000000000112a8c05f4089e30 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avfilter-use-ff_inlink_make_frame_writable.patch" Content-Disposition: attachment; filename="0001-avfilter-use-ff_inlink_make_frame_writable.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 RnJvbSA4ZDJkNGQzNWE1NGQwYTNkZGYzMDBlZjcxOTY0ODk4OThjM2VmYzRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgNiBGZWIgMjAyMyAxNDo1Nzo1MCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGF2ZmlsdGVy OiB1c2UgZmZfaW5saW5rX21ha2VfZnJhbWVfd3JpdGFibGUoKQoKU2lnbmVkLW9mZi1ieTogUGF1 bCBCIE1haG9sIDxvbmVtZGFAZ21haWwuY29tPgotLS0KIGxpYmF2ZmlsdGVyL2F2Zl9hYml0c2Nv cGUuYyAgICAgICB8IDExICsrKysrKysrKy0tCiBsaWJhdmZpbHRlci9hdmZfYWhpc3RvZ3JhbS5j ICAgICAgfCAgOSArKysrKysrLS0KIGxpYmF2ZmlsdGVyL2F2Zl9hcGhhc2VtZXRlci5jICAgICB8 ICA5ICsrKysrKystLQogbGliYXZmaWx0ZXIvYXZmX2F2ZWN0b3JzY29wZS5jICAgIHwgIDcgKysr KysrLQogbGliYXZmaWx0ZXIvYXZmX3Nob3dzcGVjdHJ1bS5jICAgIHwgIDUgKysrKy0KIGxpYmF2 ZmlsdGVyL2F2Zl9zaG93dm9sdW1lLmMgICAgICB8ICA2ICsrKystLQogbGliYXZmaWx0ZXIvZl9l YnVyMTI4LmMgICAgICAgICAgIHwgMTAgKysrKysrKystLQogbGliYXZmaWx0ZXIvZl9wZXJtcy5j ICAgICAgICAgICAgIHwgIDMgKystCiBsaWJhdmZpbHRlci9mcmFtZXN5bmMuYyAgICAgICAgICAg fCAgMiArLQogbGliYXZmaWx0ZXIvdmZfY292ZXJfcmVjdC5jICAgICAgIHwgIDcgKysrKystLQog bGliYXZmaWx0ZXIvdmZfZGVkb3QuYyAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2ZmlsdGVyL3Zm X2Zsb29kZmlsbC5jICAgICAgICB8ICAzICsrLQogbGliYXZmaWx0ZXIvdmZfbGVuc2Z1bi5jICAg ICAgICAgIHwgIDYgKysrKystCiBsaWJhdmZpbHRlci92Zl9vdmVybGF5X2N1ZGEuYyAgICAgfCAg MyArKy0KIGxpYmF2ZmlsdGVyL3ZmX3BhbGV0dGV1c2UuYyAgICAgICB8ICAyICstCiBsaWJhdmZp bHRlci92Zl9waG90b3NlbnNpdGl2aXR5LmMgfCAgMyArKy0KIGxpYmF2ZmlsdGVyL3ZmX3JlcGVh dGZpZWxkcy5jICAgICB8IDEzICsrKysrKysrKystLS0KIGxpYmF2ZmlsdGVyL3ZmX3NpZ25hbHN0 YXRzLmMgICAgICB8IDEzICsrKysrKysrKy0tLS0KIGxpYmF2ZmlsdGVyL3ZmX3RlbGVjaW5lLmMg ICAgICAgICB8IDEzICsrKysrKysrKysrLS0KIGxpYmF2ZmlsdGVyL3ZmX3ZpZHN0YWJkZXRlY3Qu YyAgICB8IDEwICsrKysrKystLS0KIDIwIGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCsp LCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfYWJpdHNjb3Bl LmMgYi9saWJhdmZpbHRlci9hdmZfYWJpdHNjb3BlLmMKaW5kZXggNGZjM2MwNmVjYi4uNzgyZDU3 ZTAzYSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZmX2FiaXRzY29wZS5jCisrKyBiL2xpYmF2 ZmlsdGVyL2F2Zl9hYml0c2NvcGUuYwpAQCAtMjEzLDYgKzIxMyw3IEBAIHN0YXRpYyBpbnQgZmls dGVyX2ZyYW1lKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbnNhbXBsZXMpCiAgICAg QVZGaWx0ZXJMaW5rICpvdXRsaW5rID0gY3R4LT5vdXRwdXRzWzBdOwogICAgIEF1ZGlvQml0U2Nv cGVDb250ZXh0ICpzID0gY3R4LT5wcml2OwogICAgIEFWRnJhbWUgKm91dHBpY3JlZjsKKyAgICBp bnQgcmV0OwogCiAgICAgaWYgKHMtPm1vZGUgPT0gMCB8fCAhcy0+b3V0cGljcmVmKSB7CiAgICAg ICAgIG91dHBpY3JlZiA9IGZmX2dldF92aWRlb19idWZmZXIob3V0bGluaywgb3V0bGluay0+dywg b3V0bGluay0+aCk7CkBAIC0yMjgsMTAgKzIyOSwxNiBAQCBzdGF0aWMgaW50IGZpbHRlcl9mcmFt ZShBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqaW5zYW1wbGVzKQogICAgIH0KIAogICAg IGlmIChzLT5tb2RlID09IDEpIHsKLSAgICAgICAgYXZfZnJhbWVfbWFrZV93cml0YWJsZShzLT5v dXRwaWNyZWYpOworICAgICAgICByZXQgPSBmZl9pbmxpbmtfbWFrZV9mcmFtZV93cml0YWJsZShv dXRsaW5rLCAmcy0+b3V0cGljcmVmKTsKKyAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAg ICAgIGF2X2ZyYW1lX2ZyZWUoJmluc2FtcGxlcyk7CisgICAgICAgICAgICByZXR1cm4gcmV0Owor ICAgICAgICB9CiAgICAgICAgIG91dHBpY3JlZiA9IGF2X2ZyYW1lX2Nsb25lKHMtPm91dHBpY3Jl Zik7Ci0gICAgICAgIGlmICghb3V0cGljcmVmKQorICAgICAgICBpZiAoIW91dHBpY3JlZikgewor ICAgICAgICAgICAgYXZfZnJhbWVfZnJlZSgmaW5zYW1wbGVzKTsKICAgICAgICAgICAgIHJldHVy biBBVkVSUk9SKEVOT01FTSk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBvdXRwaWNyZWYtPnB0 cyA9IGF2X3Jlc2NhbGVfcShpbnNhbXBsZXMtPnB0cywgaW5saW5rLT50aW1lX2Jhc2UsIG91dGxp bmstPnRpbWVfYmFzZSk7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfYWhpc3RvZ3JhbS5j IGIvbGliYXZmaWx0ZXIvYXZmX2FoaXN0b2dyYW0uYwppbmRleCBjNDU0OTM3MzBkLi4wNjQ5MDE5 MmE1IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hdmZfYWhpc3RvZ3JhbS5jCisrKyBiL2xpYmF2 ZmlsdGVyL2F2Zl9haGlzdG9ncmFtLmMKQEAgLTIwOSw3ICsyMDksNyBAQCBzdGF0aWMgaW50IGZp bHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqaW4pCiAgICAgQXVkaW9I aXN0b2dyYW1Db250ZXh0ICpzID0gY3R4LT5wcml2OwogICAgIGNvbnN0IGludCBIID0gcy0+aGlz dG9ncmFtX2g7CiAgICAgY29uc3QgaW50IHcgPSBzLT53OwotICAgIGludCBjLCB5LCBuLCBwLCBi aW47CisgICAgaW50IGMsIHksIG4sIHAsIGJpbiwgcmV0OwogICAgIHVpbnQ2NF90IGFjbWF4ID0g MTsKICAgICBBVkZyYW1lICpjbG9uZTsKIApAQCAtMjI5LDcgKzIyOSwxMiBAQCBzdGF0aWMgaW50 IGZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqaW4pCiAgICAgICAg IH0KICAgICB9CiAKLSAgICBhdl9mcmFtZV9tYWtlX3dyaXRhYmxlKHMtPm91dCk7CisgICAgcmV0 ID0gZmZfaW5saW5rX21ha2VfZnJhbWVfd3JpdGFibGUob3V0bGluaywgJnMtPm91dCk7CisgICAg aWYgKHJldCA8IDApIHsKKyAgICAgICAgYXZfZnJhbWVfZnJlZSgmaW4pOworICAgICAgICByZXR1 cm4gcmV0OworICAgIH0KKwogICAgIGlmIChzLT5kbW9kZSA9PSBTRVBBUkFURSkgewogICAgICAg ICBmb3IgKHkgPSAwOyB5IDwgdzsgeSsrKSB7CiAgICAgICAgICAgICBzLT5jb21iaW5lX2J1ZmZl clszICogeSAgICBdID0gMDsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2F2Zl9hcGhhc2VtZXRl ci5jIGIvbGliYXZmaWx0ZXIvYXZmX2FwaGFzZW1ldGVyLmMKaW5kZXggMGY3NjkyOTgyYy4uYmY5 ZjkyMjYzOSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZmX2FwaGFzZW1ldGVyLmMKKysrIGIv bGliYXZmaWx0ZXIvYXZmX2FwaGFzZW1ldGVyLmMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl ICJsaWJhdnV0aWwvcGFyc2V1dGlscy5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC90aW1lc3RhbXAu aCIKICNpbmNsdWRlICJhdmZpbHRlci5oIgorI2luY2x1ZGUgImZpbHRlcnMuaCIKICNpbmNsdWRl ICJmb3JtYXRzLmgiCiAjaW5jbHVkZSAiYXVkaW8uaCIKICNpbmNsdWRlICJ2aWRlby5oIgpAQCAt MjQ2LDcgKzI0Nyw3IEBAIHN0YXRpYyBpbnQgZmlsdGVyX2ZyYW1lKEFWRmlsdGVyTGluayAqaW5s aW5rLCBBVkZyYW1lICppbikKICAgICBmbG9hdCBmcGhhc2UgPSAwOwogICAgIEFWRnJhbWUgKm91 dDsKICAgICB1aW50OF90ICpkc3Q7Ci0gICAgaW50IGk7CisgICAgaW50IGksIHJldDsKICAgICBp bnQgbW9ub19tZWFzdXJlbWVudDsKICAgICBpbnQgb3V0X3BoYXNlX21lYXN1cmVtZW50OwogICAg IGZsb2F0IHRvbGVyYW5jZSA9IDEuMGYgLSBzLT50b2xlcmFuY2U7CkBAIC0yNjUsOCArMjY2LDEy IEBAIHN0YXRpYyBpbnQgZmlsdGVyX2ZyYW1lKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1l ICppbikKICAgICAgICAgZm9yIChpID0gMDsgaSA8IG91dGxpbmstPmg7IGkrKykKICAgICAgICAg ICAgIG1lbXNldChvdXQtPmRhdGFbMF0gKyBpICogb3V0LT5saW5lc2l6ZVswXSwgMCwgb3V0bGlu ay0+dyAqIDQpOwogICAgIH0gZWxzZSBpZiAocy0+ZG9fdmlkZW8pIHsKKyAgICAgICAgcmV0ID0g ZmZfaW5saW5rX21ha2VfZnJhbWVfd3JpdGFibGUob3V0bGluaywgJnMtPm91dCk7CisgICAgICAg IGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICBhdl9mcmFtZV9mcmVlKCZpbik7CisgICAgICAg ICAgICByZXR1cm4gcmV0OworICAgICAgICB9CiAgICAgICAgIG91dCA9IHMtPm91dDsKLSAgICAg ICAgYXZfZnJhbWVfbWFrZV93cml0YWJsZShzLT5vdXQpOwogICAgICAgICBmb3IgKGkgPSBvdXRs aW5rLT5oIC0gMTsgaSA+PSAxMDsgaS0tKQogICAgICAgICAgICAgbWVtbW92ZShvdXQtPmRhdGFb MF0gKyAoaSAgKSAqIG91dC0+bGluZXNpemVbMF0sCiAgICAgICAgICAgICAgICAgICAgIG91dC0+ ZGF0YVswXSArIChpLTEpICogb3V0LT5saW5lc2l6ZVswXSwKZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL2F2Zl9hdmVjdG9yc2NvcGUuYyBiL2xpYmF2ZmlsdGVyL2F2Zl9hdmVjdG9yc2NvcGUuYwpp bmRleCAzOTI3ZDgwYjQyLi42ZTQ1ZmQ5NTc1IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hdmZf YXZlY3RvcnNjb3BlLmMKKysrIGIvbGliYXZmaWx0ZXIvYXZmX2F2ZWN0b3JzY29wZS5jCkBAIC0y OTcsNiArMjk3LDcgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxp bmssIEFWRnJhbWUgKmluc2FtcGxlcykKICAgICB1bnNpZ25lZCB4LCB5OwogICAgIHVuc2lnbmVk IHByZXZfeCA9IHMtPnByZXZfeCwgcHJldl95ID0gcy0+cHJldl95OwogICAgIGRvdWJsZSB6b29t ID0gcy0+em9vbTsKKyAgICBpbnQgcmV0OwogCiAgICAgaWYgKCFzLT5vdXRwaWNyZWYgfHwgcy0+ b3V0cGljcmVmLT53aWR0aCAgIT0gb3V0bGluay0+dyB8fAogICAgICAgICAgICAgICAgICAgICAg ICAgIHMtPm91dHBpY3JlZi0+aGVpZ2h0ICE9IG91dGxpbmstPmgpIHsKQEAgLTMxNCw3ICszMTUs MTEgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJh bWUgKmluc2FtcGxlcykKICAgICBzLT5vdXRwaWNyZWYtPnB0cyA9IGF2X3Jlc2NhbGVfcShpbnNh bXBsZXMtPnB0cywgaW5saW5rLT50aW1lX2Jhc2UsIG91dGxpbmstPnRpbWVfYmFzZSk7CiAgICAg cy0+b3V0cGljcmVmLT5kdXJhdGlvbiA9IDE7CiAKLSAgICBhdl9mcmFtZV9tYWtlX3dyaXRhYmxl KHMtPm91dHBpY3JlZik7CisgICAgcmV0ID0gZmZfaW5saW5rX21ha2VfZnJhbWVfd3JpdGFibGUo b3V0bGluaywgJnMtPm91dHBpY3JlZik7CisgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgYXZf ZnJhbWVfZnJlZSgmaW5zYW1wbGVzKTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CiAgICAg ZmZfZmlsdGVyX2V4ZWN1dGUoY3R4LCBmYWRlLCBOVUxMLCBOVUxMLCBGRk1JTihvdXRsaW5rLT5o LCBmZl9maWx0ZXJfZ2V0X25iX3RocmVhZHMoY3R4KSkpOwogCiAgICAgaWYgKHpvb20gPCAxKSB7 CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfc2hvd3NwZWN0cnVtLmMgYi9saWJhdmZpbHRl ci9hdmZfc2hvd3NwZWN0cnVtLmMKaW5kZXggMjRhNDI0YTM0YS4uNGNlOTY0NzA2ZiAxMDA2NDQK LS0tIGEvbGliYXZmaWx0ZXIvYXZmX3Nob3dzcGVjdHJ1bS5jCisrKyBiL2xpYmF2ZmlsdGVyL2F2 Zl9zaG93c3BlY3RydW0uYwpAQCAtMTQ0MSw3ICsxNDQxLDEwIEBAIHN0YXRpYyBpbnQgcGxvdF9z cGVjdHJ1bV9jb2x1bW4oQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluc2FtcGxlcykK ICAgICAgICAgfQogICAgIH0KIAotICAgIGF2X2ZyYW1lX21ha2Vfd3JpdGFibGUocy0+b3V0cGlj cmVmKTsKKyAgICByZXQgPSBmZl9pbmxpbmtfbWFrZV9mcmFtZV93cml0YWJsZShvdXRsaW5rLCAm cy0+b3V0cGljcmVmKTsKKyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgcmV0dXJuIHJldDsKKyAg ICBvdXRwaWNyZWYgPSBzLT5vdXRwaWNyZWY7CiAgICAgLyogY29weSB0byBvdXRwdXQgKi8KICAg ICBpZiAocy0+b3JpZW50YXRpb24gPT0gVkVSVElDQUwpIHsKICAgICAgICAgaWYgKHMtPnNsaWRp bmcgPT0gU0NST0xMKSB7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfc2hvd3ZvbHVtZS5j IGIvbGliYXZmaWx0ZXIvYXZmX3Nob3d2b2x1bWUuYwppbmRleCAyNGQ0MmQwMzBkLi42NDVmYzY4 Y2IwIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hdmZfc2hvd3ZvbHVtZS5jCisrKyBiL2xpYmF2 ZmlsdGVyL2F2Zl9zaG93dm9sdW1lLmMKQEAgLTMyNCw3ICszMjQsNyBAQCBzdGF0aWMgaW50IGZp bHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqaW5zYW1wbGVzKQogICAg IEFWRmlsdGVyTGluayAqb3V0bGluayA9IGN0eC0+b3V0cHV0c1swXTsKICAgICBTaG93Vm9sdW1l Q29udGV4dCAqcyA9IGN0eC0+cHJpdjsKICAgICBjb25zdCBpbnQgc3RlcCA9IHMtPnN0ZXA7Ci0g ICAgaW50IGMsIGosIGssIG1heF9kcmF3OworICAgIGludCBjLCBqLCBrLCBtYXhfZHJhdywgcmV0 OwogICAgIGNoYXIgY2hhbm5lbF9uYW1lWzY0XTsKICAgICBBVkZyYW1lICpvdXQ7CiAKQEAgLTQz NCw3ICs0MzQsOSBAQCBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGlu aywgQVZGcmFtZSAqaW5zYW1wbGVzKQogICAgIG91dCA9IGF2X2ZyYW1lX2Nsb25lKHMtPm91dCk7 CiAgICAgaWYgKCFvdXQpCiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Ci0gICAgYXZf ZnJhbWVfbWFrZV93cml0YWJsZShvdXQpOworICAgIHJldCA9IGZmX2lubGlua19tYWtlX2ZyYW1l X3dyaXRhYmxlKG91dGxpbmssICZvdXQpOworICAgIGlmIChyZXQgPCAwKQorICAgICAgICByZXR1 cm4gcmV0OwogCiAgICAgLyogZHJhdyB2b2x1bWUgbGV2ZWwgKi8KICAgICBmb3IgKGMgPSAwOyBj IDwgaW5saW5rLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgJiYgcy0+aCA+PSA4ICYmIHMtPmRyYXdf dm9sdW1lOyBjKyspIHsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2ZfZWJ1cjEyOC5jIGIvbGli YXZmaWx0ZXIvZl9lYnVyMTI4LmMKaW5kZXggOGFmYWIzN2ZkYi4uZWYwZmI0YTUyYSAxMDA2NDQK LS0tIGEvbGliYXZmaWx0ZXIvZl9lYnVyMTI4LmMKKysrIGIvbGliYXZmaWx0ZXIvZl9lYnVyMTI4 LmMKQEAgLTYxOCw3ICs2MTgsNyBAQCBzdGF0aWMgaW50IGdhdGVfdXBkYXRlKHN0cnVjdCBpbnRl Z3JhdG9yICppbnRlZywgZG91YmxlIHBvd2VyLAogCiBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShB VkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqaW5zYW1wbGVzKQogewotICAgIGludCBpLCBj aCwgaWR4X2luc2FtcGxlOworICAgIGludCBpLCBjaCwgaWR4X2luc2FtcGxlLCByZXQ7CiAgICAg QVZGaWx0ZXJDb250ZXh0ICpjdHggPSBpbmxpbmstPmRzdDsKICAgICBFQlVSMTI4Q29udGV4dCAq ZWJ1cjEyOCA9IGN0eC0+cHJpdjsKICAgICBjb25zdCBpbnQgbmJfY2hhbm5lbHMgPSBlYnVyMTI4 LT5uYl9jaGFubmVsczsKQEAgLTgyMSw3ICs4MjEsMTMgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJh bWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluc2FtcGxlcykKICAgICAgICAgICAg ICAgICB5X2xvdWRuZXNzX2x1X2dyYXBoID0gbHVfdG9feShlYnVyMTI4LCBsb3VkbmVzc18zMDAw IC0gZWJ1cjEyOC0+dGFyZ2V0KTsKICAgICAgICAgICAgICAgICB5X2xvdWRuZXNzX2x1X2dhdWdl ID0gbHVfdG9feShlYnVyMTI4LCBnYXVnZV92YWx1ZSk7CiAKLSAgICAgICAgICAgICAgICBhdl9m cmFtZV9tYWtlX3dyaXRhYmxlKHBpYyk7CisgICAgICAgICAgICAgICAgcmV0ID0gZmZfaW5saW5r X21ha2VfZnJhbWVfd3JpdGFibGUob3V0bGluaywgJmVidXIxMjgtPm91dHBpY3JlZik7CisgICAg ICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgYXZfZnJhbWVf ZnJlZSgmaW5zYW1wbGVzKTsKKyAgICAgICAgICAgICAgICAgICAgZWJ1cjEyOC0+aW5zYW1wbGVz ID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgcGljID0gZWJ1cjEyOC0+b3V0cGljcmVmOwogICAgICAgICAg ICAgICAgIC8qIGRyYXcgdGhlIGdyYXBoIHVzaW5nIHRoZSBzaG9ydC10ZXJtIGxvdWRuZXNzICov CiAgICAgICAgICAgICAgICAgcCA9IHBpYy0+ZGF0YVswXSArIGVidXIxMjgtPmdyYXBoLnkqcGlj LT5saW5lc2l6ZVswXSArIGVidXIxMjgtPmdyYXBoLngqMzsKICAgICAgICAgICAgICAgICBmb3Ig KHkgPSAwOyB5IDwgZWJ1cjEyOC0+Z3JhcGguaDsgeSsrKSB7CmRpZmYgLS1naXQgYS9saWJhdmZp bHRlci9mX3Blcm1zLmMgYi9saWJhdmZpbHRlci9mX3Blcm1zLmMKaW5kZXggZTI2YTE1ZmQwNi4u OTVmYjk3ZjIwMSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvZl9wZXJtcy5jCisrKyBiL2xpYmF2 ZmlsdGVyL2ZfcGVybXMuYwpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgImxpYmF2dXRpbC9v cHQuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvcmFuZG9tX3NlZWQuaCIKICNpbmNsdWRlICJhdWRp by5oIgorI2luY2x1ZGUgImZpbHRlcnMuaCIKICNpbmNsdWRlICJ2aWRlby5oIgogCiBlbnVtIG1v ZGUgewpAQCAtOTYsNyArOTcsNyBAQCBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShBVkZpbHRlckxp bmsgKmlubGluaywgQVZGcmFtZSAqZnJhbWUpCiAgICAgICAgICAgIGluX3Blcm0gPT0gb3V0X3Bl cm0gPyAiIChuby1vcCkiIDogIiIpOwogCiAgICAgaWYgKGluX3Blcm0gPT0gUk8gJiYgb3V0X3Bl cm0gPT0gUlcpIHsKLSAgICAgICAgaWYgKChyZXQgPSBhdl9mcmFtZV9tYWtlX3dyaXRhYmxlKGZy YW1lKSkgPCAwKQorICAgICAgICBpZiAoKHJldCA9IGZmX2lubGlua19tYWtlX2ZyYW1lX3dyaXRh YmxlKGlubGluaywgJmZyYW1lKSkgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICB9 IGVsc2UgaWYgKGluX3Blcm0gPT0gUlcgJiYgb3V0X3Blcm0gPT0gUk8pIHsKICAgICAgICAgb3V0 ID0gYXZfZnJhbWVfY2xvbmUoZnJhbWUpOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvZnJhbWVz eW5jLmMgYi9saWJhdmZpbHRlci9mcmFtZXN5bmMuYwppbmRleCBlZTkxZTRjZjY4Li40MjJmNGY3 YWQxIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9mcmFtZXN5bmMuYworKysgYi9saWJhdmZpbHRl ci9mcmFtZXN5bmMuYwpAQCAtMjg4LDcgKzI4OCw3IEBAIGludCBmZl9mcmFtZXN5bmNfZ2V0X2Zy YW1lKEZGRnJhbWVTeW5jICpmcywgdW5zaWduZWQgaW4sIEFWRnJhbWUgKipyZnJhbWUsCiAgICAg ICAgIGlmIChuZWVkX2NvcHkpIHsKICAgICAgICAgICAgIGlmICghKGZyYW1lID0gYXZfZnJhbWVf Y2xvbmUoZnJhbWUpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwot ICAgICAgICAgICAgaWYgKChyZXQgPSBhdl9mcmFtZV9tYWtlX3dyaXRhYmxlKGZyYW1lKSkgPCAw KSB7CisgICAgICAgICAgICBpZiAoKHJldCA9IGZmX2lubGlua19tYWtlX2ZyYW1lX3dyaXRhYmxl KGZzLT5wYXJlbnQtPmlucHV0c1swXSwgJmZyYW1lKSA8IDApKSB7CiAgICAgICAgICAgICAgICAg YXZfZnJhbWVfZnJlZSgmZnJhbWUpOwogICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAg ICAgICAgICB9CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9jb3Zlcl9yZWN0LmMgYi9saWJh dmZpbHRlci92Zl9jb3Zlcl9yZWN0LmMKaW5kZXggMDFjOWYyYWJiYi4uMmZjNWZjOTY5MyAxMDA2 NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfY292ZXJfcmVjdC5jCisrKyBiL2xpYmF2ZmlsdGVyL3Zm X2NvdmVyX3JlY3QuYwpAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSAibGliYXZ1dGlsL2lt Z3V0aWxzLmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIgorI2luY2x1ZGUgImZpbHRlcnMu aCIKICNpbmNsdWRlICJpbnRlcm5hbC5oIgogCiAjaW5jbHVkZSAibGF2ZnV0aWxzLmgiCkBAIC0x MjUsNyArMTI2LDcgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxp bmssIEFWRnJhbWUgKmluKQogICAgIEFWRmlsdGVyQ29udGV4dCAqY3R4ID0gaW5saW5rLT5kc3Q7 CiAgICAgQ292ZXJDb250ZXh0ICpjb3ZlciA9IGN0eC0+cHJpdjsKICAgICBBVkRpY3Rpb25hcnlF bnRyeSAqZXgsICpleSwgKmV3LCAqZWg7Ci0gICAgaW50IHggPSAtMSwgeSA9IC0xLCB3ID0gLTEs IGggPSAtMTsKKyAgICBpbnQgcmV0LCB4ID0gLTEsIHkgPSAtMSwgdyA9IC0xLCBoID0gLTE7CiAg ICAgY2hhciAqeGVuZHB0ciA9IE5VTEwsICp5ZW5kcHRyID0gTlVMTCwgKndlbmRwdHIgPSBOVUxM LCAqaGVuZHB0ciA9IE5VTEw7CiAKICAgICBleCA9IGF2X2RpY3RfZ2V0KGluLT5tZXRhZGF0YSwg ImxhdmZpLnJlY3QueCIsIE5VTEwsIEFWX0RJQ1RfTUFUQ0hfQ0FTRSk7CkBAIC0xNzAsNyArMTcx LDkgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJh bWUgKmluKQogICAgIHggPSBhdl9jbGlwKHgsIDAsIGluLT53aWR0aCAgLSB3KTsKICAgICB5ID0g YXZfY2xpcCh5LCAwLCBpbi0+aGVpZ2h0IC0gaCk7CiAKLSAgICBhdl9mcmFtZV9tYWtlX3dyaXRh YmxlKGluKTsKKyAgICByZXQgPSBmZl9pbmxpbmtfbWFrZV9mcmFtZV93cml0YWJsZShpbmxpbmss ICZpbik7CisgICAgaWYgKHJldCA8IDApCisgICAgICAgIHJldHVybiByZXQ7CiAKICAgICBpZiAo Y292ZXItPm1vZGUgPT0gTU9ERV9CTFVSKSB7CiAgICAgICAgIGJsdXIgKGNvdmVyLCBpbiwgeCwg eSk7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9kZWRvdC5jIGIvbGliYXZmaWx0ZXIvdmZf ZGVkb3QuYwppbmRleCBhMDYzOGY0NWI0Li42Y2E0N2MyNjJhIDEwMDY0NAotLS0gYS9saWJhdmZp bHRlci92Zl9kZWRvdC5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2RlZG90LmMKQEAgLTI4OSw3ICsy ODksNyBAQCBzdGF0aWMgaW50IGFjdGl2YXRlKEFWRmlsdGVyQ29udGV4dCAqY3R4KQogICAgICAg ICAgICAgcy0+ZnJhbWVzWzRdKSB7CiAgICAgICAgICAgICBvdXQgPSBhdl9mcmFtZV9jbG9uZShz LT5mcmFtZXNbMl0pOwogICAgICAgICAgICAgaWYgKG91dCAmJiAhY3R4LT5pc19kaXNhYmxlZCkg ewotICAgICAgICAgICAgICAgIHJldCA9IGF2X2ZyYW1lX21ha2Vfd3JpdGFibGUob3V0KTsKKyAg ICAgICAgICAgICAgICByZXQgPSBmZl9pbmxpbmtfbWFrZV9mcmFtZV93cml0YWJsZShpbmxpbmss ICZvdXQpOwogICAgICAgICAgICAgICAgIGlmIChyZXQgPj0gMCkgewogICAgICAgICAgICAgICAg ICAgICBpZiAocy0+bSAmIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICBmZl9maWx0ZXJfZXhl Y3V0ZShjdHgsIHMtPmRlZG90Y3Jhd2wsIG91dCwgTlVMTCwKZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL3ZmX2Zsb29kZmlsbC5jIGIvbGliYXZmaWx0ZXIvdmZfZmxvb2RmaWxsLmMKaW5kZXggZGE3 NDdjOWY5Zi4uOTUyZjFkMTVmMSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfZmxvb2RmaWxs LmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfZmxvb2RmaWxsLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNp bmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvaW50cmVh ZHdyaXRlLmgiCiAjaW5jbHVkZSAiYXZmaWx0ZXIuaCIKKyNpbmNsdWRlICJmaWx0ZXJzLmgiCiAj aW5jbHVkZSAiZm9ybWF0cy5oIgogI2luY2x1ZGUgImludGVybmFsLmgiCiAjaW5jbHVkZSAidmlk ZW8uaCIKQEAgLTMxNSw3ICszMTYsNyBAQCBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShBVkZpbHRl ckxpbmsgKmxpbmssIEFWRnJhbWUgKmZyYW1lKQogICAgICAgICAgICAgcy0+ZnJvbnQrKzsKICAg ICAgICAgfQogCi0gICAgICAgIGlmIChyZXQgPSBhdl9mcmFtZV9tYWtlX3dyaXRhYmxlKGZyYW1l KSkKKyAgICAgICAgaWYgKHJldCA9IGZmX2lubGlua19tYWtlX2ZyYW1lX3dyaXRhYmxlKGxpbmss ICZmcmFtZSkpCiAgICAgICAgICAgICByZXR1cm4gcmV0OwogCiAgICAgICAgIHdoaWxlIChzLT5m cm9udCA+IHMtPmJhY2spIHsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2xlbnNmdW4uYyBi L2xpYmF2ZmlsdGVyL3ZmX2xlbnNmdW4uYwppbmRleCAzNWM1MjJhNzIzLi41MjY1MmUwYzliIDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9sZW5zZnVuLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZf bGVuc2Z1bi5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIgog I2luY2x1ZGUgImxpYnN3c2NhbGUvc3dzY2FsZS5oIgogI2luY2x1ZGUgImF2ZmlsdGVyLmgiCisj aW5jbHVkZSAiZmlsdGVycy5oIgogI2luY2x1ZGUgImZvcm1hdHMuaCIKICNpbmNsdWRlICJpbnRl cm5hbC5oIgogI2luY2x1ZGUgInZpZGVvLmgiCkBAIC00NDMsOSArNDQ0LDEyIEBAIHN0YXRpYyBp bnQgZmlsdGVyX2ZyYW1lKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbikKICAgICBB VkZyYW1lICpvdXQ7CiAgICAgVmlnbmV0dGluZ1RocmVhZERhdGEgdmlnbmV0dGluZ190aHJlYWRf ZGF0YTsKICAgICBEaXN0b3J0aW9uQ29ycmVjdGlvblRocmVhZERhdGEgZGlzdG9ydGlvbl9jb3Jy ZWN0aW9uX3RocmVhZF9kYXRhOworICAgIGludCByZXQ7CiAKICAgICBpZiAobGVuc2Z1bi0+bW9k ZSAmIFZJR05FVFRJTkcpIHsKLSAgICAgICAgYXZfZnJhbWVfbWFrZV93cml0YWJsZShpbik7Cisg ICAgICAgIHJldCA9IGZmX2lubGlua19tYWtlX2ZyYW1lX3dyaXRhYmxlKGlubGluaywgJmluKTsK KyAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICByZXR1cm4gcmV0OwogCiAgICAgICAg IHZpZ25ldHRpbmdfdGhyZWFkX2RhdGEgPSAoVmlnbmV0dGluZ1RocmVhZERhdGEpIHsKICAgICAg ICAgICAgIC53aWR0aCA9IGlubGluay0+dywKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX292 ZXJsYXlfY3VkYS5jIGIvbGliYXZmaWx0ZXIvdmZfb3ZlcmxheV9jdWRhLmMKaW5kZXggNjhjMDA0 MDVmYi4uYjJjYmI5YzYyNSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfb3ZlcmxheV9jdWRh LmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfb3ZlcmxheV9jdWRhLmMKQEAgLTMyLDYgKzMyLDcgQEAK ICNpbmNsdWRlICJsaWJhdnV0aWwvZXZhbC5oIgogCiAjaW5jbHVkZSAiYXZmaWx0ZXIuaCIKKyNp bmNsdWRlICJmaWx0ZXJzLmgiCiAjaW5jbHVkZSAiZnJhbWVzeW5jLmgiCiAjaW5jbHVkZSAiaW50 ZXJuYWwuaCIKIApAQCAtMjUyLDcgKzI1Myw3IEBAIHN0YXRpYyBpbnQgb3ZlcmxheV9jdWRhX2Js ZW5kKEZGRnJhbWVTeW5jICpmcykKICAgICBpZiAoIWlucHV0X292ZXJsYXkpCiAgICAgICAgIHJl dHVybiBmZl9maWx0ZXJfZnJhbWUob3V0bGluaywgaW5wdXRfbWFpbik7CiAKLSAgICByZXQgPSBh dl9mcmFtZV9tYWtlX3dyaXRhYmxlKGlucHV0X21haW4pOworICAgIHJldCA9IGZmX2lubGlua19t YWtlX2ZyYW1lX3dyaXRhYmxlKGlubGluaywgJmlucHV0X21haW4pOwogICAgIGlmIChyZXQgPCAw KSB7CiAgICAgICAgIGF2X2ZyYW1lX2ZyZWUoJmlucHV0X21haW4pOwogICAgICAgICByZXR1cm4g cmV0OwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfcGFsZXR0ZXVzZS5jIGIvbGliYXZmaWx0 ZXIvdmZfcGFsZXR0ZXVzZS5jCmluZGV4IDk0NGZmNWM3NGQuLjVmYTdhNjA1Y2UgMTAwNjQ0Ci0t LSBhL2xpYmF2ZmlsdGVyL3ZmX3BhbGV0dGV1c2UuYworKysgYi9saWJhdmZpbHRlci92Zl9wYWxl dHRldXNlLmMKQEAgLTc4Myw3ICs3ODMsNyBAQCBzdGF0aWMgaW50IGFwcGx5X3BhbGV0dGUoQVZG aWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluLCBBVkZyYW1lICoqb3V0ZikKICAgICBhdl9m cmFtZV91bnJlZihzLT5sYXN0X291dCk7CiAgICAgaWYgKChyZXQgPSBhdl9mcmFtZV9yZWYocy0+ bGFzdF9pbiwgaW4pKSAgICAgICA8IDAgfHwKICAgICAgICAgKHJldCA9IGF2X2ZyYW1lX3JlZihz LT5sYXN0X291dCwgb3V0KSkgICAgIDwgMCB8fAotICAgICAgICAocmV0ID0gYXZfZnJhbWVfbWFr ZV93cml0YWJsZShzLT5sYXN0X2luKSkgPCAwKSB7CisgICAgICAgIChyZXQgPSBmZl9pbmxpbmtf bWFrZV9mcmFtZV93cml0YWJsZShpbmxpbmssICZzLT5sYXN0X2luKSkgPCAwKSB7CiAgICAgICAg IGF2X2ZyYW1lX2ZyZWUoJm91dCk7CiAgICAgICAgICpvdXRmID0gTlVMTDsKICAgICAgICAgcmV0 dXJuIHJldDsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX3Bob3Rvc2Vuc2l0aXZpdHkuYyBi L2xpYmF2ZmlsdGVyL3ZmX3Bob3Rvc2Vuc2l0aXZpdHkuYwppbmRleCAxYmI5ODRjYzkzLi5lMDVk NGQwMjYyIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9waG90b3NlbnNpdGl2aXR5LmMKKysr IGIvbGliYXZmaWx0ZXIvdmZfcGhvdG9zZW5zaXRpdml0eS5jCkBAIC0yNSw2ICsyNSw3IEBACiAj aW5jbHVkZSAibGliYXZ1dGlsL3BpeGRlc2MuaCIKICNpbmNsdWRlICJhdmZpbHRlci5oIgogCisj aW5jbHVkZSAiZmlsdGVycy5oIgogI2luY2x1ZGUgImZvcm1hdHMuaCIKICNpbmNsdWRlICJpbnRl cm5hbC5oIgogI2luY2x1ZGUgInZpZGVvLmgiCkBAIC0yNDMsNyArMjQ0LDcgQEAgc3RhdGljIGlu dCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluKQogICAgICAg ICAgICAgLyoganVzdCBkdXBsaWNhdGUgdGhlIGZyYW1lICovCiAgICAgICAgICAgICBzLT5oaXN0 b3J5W3MtPmhpc3RvcnlfcG9zXSA9IDA7IC8qIGZyYW1lIHdhcyBkdXBsaWNhdGVkLCB0aHVzLCBk ZWx0YSBpcyB6ZXJvICovCiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICByZXMgPSBhdl9m cmFtZV9tYWtlX3dyaXRhYmxlKHMtPmxhc3RfZnJhbWVfYXYpOworICAgICAgICAgICAgcmVzID0g ZmZfaW5saW5rX21ha2VfZnJhbWVfd3JpdGFibGUoaW5saW5rLCAmcy0+bGFzdF9mcmFtZV9hdik7 CiAgICAgICAgICAgICBpZiAocmVzKSB7CiAgICAgICAgICAgICAgICAgYXZfZnJhbWVfZnJlZSgm aW4pOwogICAgICAgICAgICAgICAgIHJldHVybiByZXM7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRl ci92Zl9yZXBlYXRmaWVsZHMuYyBiL2xpYmF2ZmlsdGVyL3ZmX3JlcGVhdGZpZWxkcy5jCmluZGV4 IDljMDJjNjE2MzEuLjRhY2U1YTE4ZjcgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX3JlcGVh dGZpZWxkcy5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX3JlcGVhdGZpZWxkcy5jCkBAIC0yMCw2ICsy MCw3IEBACiAKICNpbmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKICNpbmNsdWRlICJhdmZp bHRlci5oIgorI2luY2x1ZGUgImZpbHRlcnMuaCIKICNpbmNsdWRlICJpbnRlcm5hbC5oIgogCiB0 eXBlZGVmIHN0cnVjdCBSZXBlYXRGaWVsZHNDb250ZXh0IHsKQEAgLTExMCw3ICsxMTEsOSBAQCBz dGF0aWMgaW50IGZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqaW4p IHsKICAgICAgICAgcmV0ID0gZmZfZmlsdGVyX2ZyYW1lKG91dGxpbmssIG5ldyk7CiAKICAgICAg ICAgaWYgKGluLT5yZXBlYXRfcGljdCkgewotICAgICAgICAgICAgYXZfZnJhbWVfbWFrZV93cml0 YWJsZShvdXQpOworICAgICAgICAgICAgcmV0ID0gZmZfaW5saW5rX21ha2VfZnJhbWVfd3JpdGFi bGUoaW5saW5rLCAmb3V0KTsKKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAg ICAgIHJldHVybiByZXQ7CiAgICAgICAgICAgICB1cGRhdGVfcHRzKG91dGxpbmssIG91dCwgaW4t PnB0cywgMik7CiAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcy0+bmJfcGxhbmVzOyBpKysp IHsKICAgICAgICAgICAgICAgICBhdl9pbWFnZV9jb3B5X3BsYW5lKG91dC0+ZGF0YVtpXSwgb3V0 LT5saW5lc2l6ZVtpXSAqIDIsCkBAIC0xMjEsNyArMTI0LDkgQEAgc3RhdGljIGludCBmaWx0ZXJf ZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluKSB7CiAgICAgICAgIH0KICAg ICB9IGVsc2UgewogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcy0+bmJfcGxhbmVzOyBpKyspIHsK LSAgICAgICAgICAgIGF2X2ZyYW1lX21ha2Vfd3JpdGFibGUob3V0KTsKKyAgICAgICAgICAgIHJl dCA9IGZmX2lubGlua19tYWtlX2ZyYW1lX3dyaXRhYmxlKGlubGluaywgJm91dCk7CisgICAgICAg ICAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0OwogICAgICAgICAg ICAgYXZfaW1hZ2VfY29weV9wbGFuZShvdXQtPmRhdGFbaV0gKyBvdXQtPmxpbmVzaXplW2ldLCBv dXQtPmxpbmVzaXplW2ldICogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4t PmRhdGFbaV0gKyBpbi0+bGluZXNpemVbaV0sIGluLT5saW5lc2l6ZVtpXSAqIDIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmxpbmVzaXplW2ldLCBzLT5wbGFuZWhlaWdodFtp XSAvIDIpOwpAQCAtMTM5LDcgKzE0NCw5IEBAIHN0YXRpYyBpbnQgZmlsdGVyX2ZyYW1lKEFWRmls dGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbikgewogICAgICAgICAgICAgcmV0ID0gZmZfZmls dGVyX2ZyYW1lKG91dGxpbmssIG5ldyk7CiAgICAgICAgICAgICBzdGF0ZSA9IDA7CiAgICAgICAg IH0gZWxzZSB7Ci0gICAgICAgICAgICBhdl9mcmFtZV9tYWtlX3dyaXRhYmxlKG91dCk7CisgICAg ICAgICAgICByZXQgPSBmZl9pbmxpbmtfbWFrZV9mcmFtZV93cml0YWJsZShpbmxpbmssICZvdXQp OworICAgICAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsK ICAgICAgICAgICAgIHVwZGF0ZV9wdHMob3V0bGluaywgb3V0LCBpbi0+cHRzLCAxKTsKICAgICAg ICAgICAgIGZvciAoaSA9IDA7IGkgPCBzLT5uYl9wbGFuZXM7IGkrKykgewogICAgICAgICAgICAg ICAgIGF2X2ltYWdlX2NvcHlfcGxhbmUob3V0LT5kYXRhW2ldLCBvdXQtPmxpbmVzaXplW2ldICog MiwKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX3NpZ25hbHN0YXRzLmMgYi9saWJhdmZpbHRl ci92Zl9zaWduYWxzdGF0cy5jCmluZGV4IGU2Zjg0YmU5YmEuLjkzZmYzNzhiMzEgMTAwNjQ0Ci0t LSBhL2xpYmF2ZmlsdGVyL3ZmX3NpZ25hbHN0YXRzLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfc2ln bmFsc3RhdHMuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImxpYmF2dXRpbC9pbnRyZWFk d3JpdGUuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCiAjaW5jbHVkZSAibGliYXZ1dGls L3BpeGRlc2MuaCIKKyNpbmNsdWRlICJmaWx0ZXJzLmgiCiAjaW5jbHVkZSAiaW50ZXJuYWwuaCIK IAogZW51bSBGaWx0ZXJNb2RlIHsKQEAgLTU2NSw3ICs1NjYsNyBAQCBzdGF0aWMgaW50IGZpbHRl cl9mcmFtZTgoQVZGaWx0ZXJMaW5rICpsaW5rLCBBVkZyYW1lICppbikKICAgICBpbnQgdG90aHVl ID0gMDsKICAgICBpbnQgZGlmeSA9IDAsIGRpZnUgPSAwLCBkaWZ2ID0gMDsKICAgICB1aW50MTZf dCBtYXNreSA9IDAsIG1hc2t1ID0gMCwgbWFza3YgPSAwOwotCisgICAgaW50IHJldDsKICAgICBp bnQgZmlsdG90W0ZJTFRfTlVNQl0gPSB7MH07CiAgICAgQVZGcmFtZSAqcHJldjsKIApAQCAtNTg4 LDcgKzU4OSw5IEBAIHN0YXRpYyBpbnQgZmlsdGVyX2ZyYW1lOChBVkZpbHRlckxpbmsgKmxpbmss IEFWRnJhbWUgKmluKQogCiAgICAgaWYgKHMtPm91dGZpbHRlciAhPSBGSUxURVJfTk9ORSkgewog ICAgICAgICBvdXQgPSBhdl9mcmFtZV9jbG9uZShpbik7Ci0gICAgICAgIGF2X2ZyYW1lX21ha2Vf d3JpdGFibGUob3V0KTsKKyAgICAgICAgcmV0ID0gZmZfaW5saW5rX21ha2VfZnJhbWVfd3JpdGFi bGUobGluaywgJm91dCk7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJu IHJldDsKICAgICB9CiAKICAgICBmZl9maWx0ZXJfZXhlY3V0ZShjdHgsIGNvbXB1dGVfc2F0X2h1 ZV9tZXRyaWNzOCwgJnRkX2h1ZXNhdCwKQEAgLTc5MCw3ICs3OTMsNyBAQCBzdGF0aWMgaW50IGZp bHRlcl9mcmFtZTE2KEFWRmlsdGVyTGluayAqbGluaywgQVZGcmFtZSAqaW4pCiAKICAgICBpbnQg ZmlsdG90W0ZJTFRfTlVNQl0gPSB7MH07CiAgICAgQVZGcmFtZSAqcHJldjsKLQorICAgIGludCBy ZXQ7CiAgICAgQVZGcmFtZSAqc2F0ID0gcy0+ZnJhbWVfc2F0OwogICAgIEFWRnJhbWUgKmh1ZSA9 IHMtPmZyYW1lX2h1ZTsKICAgICBjb25zdCB1aW50MTZfdCAqcF9zYXQgPSAodWludDE2X3QgKilz YXQtPmRhdGFbMF07CkBAIC04MTAsNyArODEzLDkgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUx NihBVkZpbHRlckxpbmsgKmxpbmssIEFWRnJhbWUgKmluKQogCiAgICAgaWYgKHMtPm91dGZpbHRl ciAhPSBGSUxURVJfTk9ORSkgewogICAgICAgICBvdXQgPSBhdl9mcmFtZV9jbG9uZShpbik7Ci0g ICAgICAgIGF2X2ZyYW1lX21ha2Vfd3JpdGFibGUob3V0KTsKKyAgICAgICAgcmV0ID0gZmZfaW5s aW5rX21ha2VfZnJhbWVfd3JpdGFibGUobGluaywgJm91dCk7CisgICAgICAgIGlmIChyZXQgPCAw KQorICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICB9CiAKICAgICBmZl9maWx0ZXJfZXhlY3V0 ZShjdHgsIGNvbXB1dGVfc2F0X2h1ZV9tZXRyaWNzMTYsICZ0ZF9odWVzYXQsCmRpZmYgLS1naXQg YS9saWJhdmZpbHRlci92Zl90ZWxlY2luZS5jIGIvbGliYXZmaWx0ZXIvdmZfdGVsZWNpbmUuYwpp bmRleCBlOGRlNjNiYmNmLi4yMjdkZTZmNzMzIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl90 ZWxlY2luZS5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX3RlbGVjaW5lLmMKQEAgLTI5LDYgKzI5LDcg QEAKICNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL3BpeGRl c2MuaCIKICNpbmNsdWRlICJhdmZpbHRlci5oIgorI2luY2x1ZGUgImZpbHRlcnMuaCIKICNpbmNs dWRlICJmb3JtYXRzLmgiCiAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKICNpbmNsdWRlICJ2aWRlby5o IgpAQCAtMTgyLDcgKzE4MywxMSBAQCBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShBVkZpbHRlckxp bmsgKmlubGluaywgQVZGcmFtZSAqaW5waWNyZWYpCiAgICAgfQogCiAgICAgaWYgKHMtPm9jY3Vw aWVkKSB7Ci0gICAgICAgIGF2X2ZyYW1lX21ha2Vfd3JpdGFibGUocy0+ZnJhbWVbbm91dF0pOwor ICAgICAgICByZXQgPSBmZl9pbmxpbmtfbWFrZV9mcmFtZV93cml0YWJsZShpbmxpbmssICZzLT5m cmFtZVtub3V0XSk7CisgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICBhdl9mcmFt ZV9mcmVlKCZpbnBpY3JlZik7CisgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICB9CiAg ICAgICAgIGZvciAoaSA9IDA7IGkgPCBzLT5uYl9wbGFuZXM7IGkrKykgewogICAgICAgICAgICAg Ly8gZmlsbCBpbiB0aGUgRUFSTElFUiBmaWVsZCBmcm9tIHRoZSBidWZmZXJlZCBwaWMKICAgICAg ICAgICAgIGF2X2ltYWdlX2NvcHlfcGxhbmUocy0+ZnJhbWVbbm91dF0tPmRhdGFbaV0gKyBzLT5m cmFtZVtub3V0XS0+bGluZXNpemVbaV0gKiBzLT5maXJzdF9maWVsZCwKQEAgLTIwOCw3ICsyMTMs MTEgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJh bWUgKmlucGljcmVmKQogCiAgICAgd2hpbGUgKGxlbiA+PSAyKSB7CiAgICAgICAgIC8vIG91dHB1 dCBUSElTIGltYWdlIGFzLWlzCi0gICAgICAgIGF2X2ZyYW1lX21ha2Vfd3JpdGFibGUocy0+ZnJh bWVbbm91dF0pOworICAgICAgICByZXQgPSBmZl9pbmxpbmtfbWFrZV9mcmFtZV93cml0YWJsZShp bmxpbmssICZzLT5mcmFtZVtub3V0XSk7CisgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAg ICAgICBhdl9mcmFtZV9mcmVlKCZpbnBpY3JlZik7CisgICAgICAgICAgICByZXR1cm4gcmV0Owor ICAgICAgICB9CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzLT5uYl9wbGFuZXM7IGkrKykKICAg ICAgICAgICAgIGF2X2ltYWdlX2NvcHlfcGxhbmUocy0+ZnJhbWVbbm91dF0tPmRhdGFbaV0sIHMt PmZyYW1lW25vdXRdLT5saW5lc2l6ZVtpXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW5waWNyZWYtPmRhdGFbaV0sIGlucGljcmVmLT5saW5lc2l6ZVtpXSwKZGlmZiAtLWdpdCBh L2xpYmF2ZmlsdGVyL3ZmX3ZpZHN0YWJkZXRlY3QuYyBiL2xpYmF2ZmlsdGVyL3ZmX3ZpZHN0YWJk ZXRlY3QuYwppbmRleCA2MmI5OThlMTcxLi4zZWIxYWJhYjQ2IDEwMDY0NAotLS0gYS9saWJhdmZp bHRlci92Zl92aWRzdGFiZGV0ZWN0LmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfdmlkc3RhYmRldGVj dC5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIgogI2luY2x1 ZGUgImxpYmF2dXRpbC9waXhkZXNjLmgiCiAjaW5jbHVkZSAiYXZmaWx0ZXIuaCIKKyNpbmNsdWRl ICJmaWx0ZXJzLmgiCiAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKIAogI2luY2x1ZGUgInZpZHN0YWJ1 dGlscy5oIgpAQCAtMTQ5LDEwICsxNTAsMTMgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZG aWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluKQogCiAgICAgQVZGaWx0ZXJMaW5rICpvdXRs aW5rID0gaW5saW5rLT5kc3QtPm91dHB1dHNbMF07CiAgICAgVlNGcmFtZSBmcmFtZTsKLSAgICBp bnQgcGxhbmU7CisgICAgaW50IHBsYW5lLCByZXQ7CiAKLSAgICBpZiAocy0+Y29uZi5zaG93ID4g MCAmJiAhYXZfZnJhbWVfaXNfd3JpdGFibGUoaW4pKQotICAgICAgICBhdl9mcmFtZV9tYWtlX3dy aXRhYmxlKGluKTsKKyAgICBpZiAocy0+Y29uZi5zaG93ID4gMCAmJiAhYXZfZnJhbWVfaXNfd3Jp dGFibGUoaW4pKSB7CisgICAgICAgIHJldCA9IGZmX2lubGlua19tYWtlX2ZyYW1lX3dyaXRhYmxl KGlubGluaywgJmluKTsKKyAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICByZXR1cm4g cmV0OworICAgIH0KIAogICAgIGZvciAocGxhbmUgPSAwOyBwbGFuZSA8IG1kLT5maS5wbGFuZXM7 IHBsYW5lKyspIHsKICAgICAgICAgZnJhbWUuZGF0YVtwbGFuZV0gPSBpbi0+ZGF0YVtwbGFuZV07 Ci0tIAoyLjM5LjEKCg== --000000000000112a8c05f4089e30 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". --000000000000112a8c05f4089e30--