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 346D146035 for ; Mon, 1 May 2023 12:30:37 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 82E9A68C07B; Mon, 1 May 2023 15:30:34 +0300 (EEST) Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7821268BF9E for ; Mon, 1 May 2023 15:30:28 +0300 (EEST) Received: by mail-vk1-f175.google.com with SMTP id 71dfb90a1353d-4403aef7f1fso789578e0c.2 for ; Mon, 01 May 2023 05:30:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682944227; x=1685536227; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=v7nsaIMeeLvg8LpFC+tMixgkknSwcThWQIOEyNktH/g=; b=cJ5BhasDrVmd9U6As6qBTKb0DeMsNPh2p69wbpeh8kV68BrrLZqCoNgesa/J4VR9Rf cCsf0U67TW/nNX5IeP6Ys3QaEGn3ErCpxm3N2bvcqb9gWcC6G7ZalRikTwACVt5LUCEI 37EimHQOEHc8cGjMbE/dDsp4Doak+WMIQ9sm/+maeSDdHbbaSRGP0z8gfZ8jX72OJJMV Heu5adVPuDlRl8DNl6REqFHeQB3DIm7n19ZLhOkfOphWO8jYkwFDGoCSm228Ybb6F2ZU 5NN4D6M+EeFuVNja77dRBiT141EOXyf+0JNR23hU47r9fbYgWafql60W+eE7/+o9LaDP ykmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682944227; x=1685536227; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=v7nsaIMeeLvg8LpFC+tMixgkknSwcThWQIOEyNktH/g=; b=IT+Mm/e2ar0QbOnU1qUVtcYLICvJQHBvh8e6VizlG1jSE4o3qPEwQchfO7+cASgMxb vmJzXJqw/l4ZEaA8UfGOux7pYYa0h/Js066x/491MiVZ/SjCS3A2DWSF2WzCXKwe6eNt 8gNh9FJKnvv3NpyND/02xgts354Ixy04LRnA75idaljrAp2U3lVS77BdVtUwmMe/dulN HPwOplkV80IsucqHibHfVoNEGwLUC5GEJ6G53y7V4TfglBoEjNUrZyM5imhuH+TVM3bF swKm0cKTyaKfmbCO+IoJRFMU6eqlJHR9U7eKU7jyJXdjh+a1Wkh/7Rb7WZ4jWKxsB9UO 0iBQ== X-Gm-Message-State: AC+VfDyBeYl//oY2mmF4KO7w5rE8PL+NWpbUxJy9jCHNQUsKfdNzh4+5 6XHGGYKxuhfDpD3UWoYGeHgSTivCNjD91/xeA2pnd2+2 X-Google-Smtp-Source: ACHHUZ63oAXhMA0G0GnmdCCq5nRhhizmOV5UrutFdT6MwSCEMAMDFYkhf2q03UjUQr1BtB60Ifk6VKNa5eR8f5sGdOw= X-Received: by 2002:a1f:c1d3:0:b0:43f:e858:e948 with SMTP id r202-20020a1fc1d3000000b0043fe858e948mr3889661vkf.6.1682944226624; Mon, 01 May 2023 05:30:26 -0700 (PDT) MIME-Version: 1.0 From: Paul B Mahol Date: Mon, 1 May 2023 14:30:04 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000ce28ae05faa0fc84" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avfilter: add Affine Projection adaptive audio filter 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: --000000000000ce28ae05faa0fc84 Content-Type: text/plain; charset="UTF-8" Attached patch. --000000000000ce28ae05faa0fc84 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avfilter-add-Affine-Projection-adaptive-audio-filter.patch" Content-Disposition: attachment; filename="0001-avfilter-add-Affine-Projection-adaptive-audio-filter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lh4tipkz0 RnJvbSAzOTEyMTZmNTVjOGUyMjY5NzRmYjJlOGEwZTcyNWIyNTQ4MTFjMmI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgMzAgQXByIDIwMjMgMTc6MDY6MDAgKzAyMDAKU3ViamVjdDogW1BBVENIXSBhdmZpbHRl cjogYWRkIEFmZmluZSBQcm9qZWN0aW9uIGFkYXB0aXZlIGF1ZGlvIGZpbHRlcgoKU2lnbmVkLW9m Zi1ieTogUGF1bCBCIE1haG9sIDxvbmVtZGFAZ21haWwuY29tPgotLS0KIGxpYmF2ZmlsdGVyL01h a2VmaWxlICAgICB8ICAgMSArCiBsaWJhdmZpbHRlci9hZl9hYXAuYyAgICAgfCA0NTIgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWJhdmZpbHRlci9hbGxmaWx0ZXJz LmMgfCAgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA0NTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpYmF2ZmlsdGVyL2FmX2FhcC5jCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIv TWFrZWZpbGUgYi9saWJhdmZpbHRlci9NYWtlZmlsZQppbmRleCAwZWVlNWZjY2JlLi5kN2M3OWZh YmQ2IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9NYWtlZmlsZQorKysgYi9saWJhdmZpbHRlci9N YWtlZmlsZQpAQCAtMzQsNiArMzQsNyBAQCBPQkpTLSQoQ09ORklHX0ROTikgICAgICAgICAgICAg ICAgICAgICAgICAgICArPSBkbm5fZmlsdGVyX2NvbW1vbi5vCiBpbmNsdWRlICQoU1JDX1BBVEgp L2xpYmF2ZmlsdGVyL2Rubi9NYWtlZmlsZQogCiAjIGF1ZGlvIGZpbHRlcnMKK09CSlMtJChDT05G SUdfQUFQX0ZJTFRFUikgICAgICAgICAgICAgICAgICAgICs9IGFmX2FhcC5vCiBPQkpTLSQoQ09O RklHX0FCRU5DSF9GSUxURVIpICAgICAgICAgICAgICAgICArPSBmX2JlbmNoLm8KIE9CSlMtJChD T05GSUdfQUNPTVBSRVNTT1JfRklMVEVSKSAgICAgICAgICAgICs9IGFmX3NpZGVjaGFpbmNvbXBy ZXNzLm8KIE9CSlMtJChDT05GSUdfQUNPTlRSQVNUX0ZJTFRFUikgICAgICAgICAgICAgICs9IGFm X2Fjb250cmFzdC5vCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl9hYXAuYyBiL2xpYmF2Zmls dGVyL2FmX2FhcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjJlZTJi NjE1NTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmZpbHRlci9hZl9hYXAuYwpAQCAtMCwwICsx LDQ1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAyMyBQYXVsIEIgTWFob2wKKyAqCisgKiBU aGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCisgKgorICogRkZtcGVnIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz aW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKyAqCisgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNl bnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC b3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworI2luY2x1ZGUgImxpYmF2dXRpbC9jaGFu bmVsX2xheW91dC5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9jb21tb24uaCIKKyNpbmNsdWRlICJs aWJhdnV0aWwvZmxvYXRfZHNwLmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIgorCisjaW5j bHVkZSAiYXVkaW8uaCIKKyNpbmNsdWRlICJhdmZpbHRlci5oIgorI2luY2x1ZGUgImZvcm1hdHMu aCIKKyNpbmNsdWRlICJmaWx0ZXJzLmgiCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKworZW51bSBP dXRNb2RlcyB7CisgICAgSU5fTU9ERSwKKyAgICBERVNJUkVEX01PREUsCisgICAgT1VUX01PREUs CisgICAgTk9JU0VfTU9ERSwKKyAgICBOQl9PTU9ERVMKK307CisKK3R5cGVkZWYgc3RydWN0IEF1 ZGlvQVBDb250ZXh0IHsKKyAgICBjb25zdCBBVkNsYXNzICpjbGFzczsKKworICAgIGludCBvcmRl cjsKKyAgICBpbnQgcHJvamVjdGlvbjsKKyAgICBmbG9hdCBtdTsKKyAgICBmbG9hdCBkZWx0YTsK KyAgICBpbnQgb3V0cHV0X21vZGU7CisKKyAgICBpbnQga2VybmVsX3NpemU7CisgICAgQVZGcmFt ZSAqb2Zmc2V0OworICAgIEFWRnJhbWUgKmRlbGF5OworICAgIEFWRnJhbWUgKmNvZWZmczsKKyAg ICBBVkZyYW1lICplOworICAgIEFWRnJhbWUgKnA7CisgICAgQVZGcmFtZSAqeDsKKyAgICBBVkZy YW1lICp3OworICAgIEFWRnJhbWUgKmRjb2VmZnM7CisgICAgQVZGcmFtZSAqdG1wOworICAgIEFW RnJhbWUgKnRtcG07CisgICAgQVZGcmFtZSAqaXRtcG07CisKKyAgICBmbG9hdCAqKnRtcG1wOwor ICAgIGZsb2F0ICoqaXRtcG1wOworCisgICAgQVZGcmFtZSAqZnJhbWVbMl07CisKKyAgICBBVkZs b2F0RFNQQ29udGV4dCAqZmRzcDsKK30gQXVkaW9BUENvbnRleHQ7CisKKyNkZWZpbmUgT0ZGU0VU KHgpIG9mZnNldG9mKEF1ZGlvQVBDb250ZXh0LCB4KQorI2RlZmluZSBBIEFWX09QVF9GTEFHX0FV RElPX1BBUkFNfEFWX09QVF9GTEFHX0ZJTFRFUklOR19QQVJBTQorI2RlZmluZSBBVCBBVl9PUFRf RkxBR19BVURJT19QQVJBTXxBVl9PUFRfRkxBR19GSUxURVJJTkdfUEFSQU18QVZfT1BUX0ZMQUdf UlVOVElNRV9QQVJBTQorCitzdGF0aWMgY29uc3QgQVZPcHRpb24gYWFwX29wdGlvbnNbXSA9IHsK KyAgICB7ICJvcmRlciIsICAgICAgInNldCB0aGUgZmlsdGVyIG9yZGVyIiwgICAgICBPRkZTRVQo b3JkZXIpLCAgICAgICBBVl9PUFRfVFlQRV9JTlQsICAgey5pNjQ9MTZ9LCAgIDEsIElOVDE2X01B WCwgQSB9LAorICAgIHsgInByb2plY3Rpb24iLCAic2V0IHRoZSBmaWx0ZXIgcHJvamVjdGlvbiIs IE9GRlNFVChwcm9qZWN0aW9uKSwgIEFWX09QVF9UWVBFX0lOVCwgICB7Lmk2ND0yfSwgICAgMSwg MjU2LCBBIH0sCisgICAgeyAibXUiLCAgICAgICAgICJzZXQgdGhlIGZpbHRlciBtdSIsICAgICAg ICAgT0ZGU0VUKG11KSwgICAgICAgICAgQVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJsPTAuMDAwMX0s MCwxLCBBVCB9LAorICAgIHsgImRlbHRhIiwgICAgICAic2V0IHRoZSBmaWx0ZXIgZGVsdGEiLCAg ICAgIE9GRlNFVChkZWx0YSksICAgICAgIEFWX09QVF9UWVBFX0ZMT0FULCB7LmRibD0wLjAwMX0s MCwgMSwgQVQgfSwKKyAgICB7ICJvdXRfbW9kZSIsICAgInNldCBvdXRwdXQgbW9kZSIsICAgICAg ICAgICBPRkZTRVQob3V0cHV0X21vZGUpLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0PU9VVF9NT0RF fSwgMCwgTkJfT01PREVTLTEsIEFULCAibW9kZSIgfSwKKyAgICB7ICAiaSIsICJpbnB1dCIsICAg MCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0PUlOX01PREV9LCAgICAgIDAsIDAsIEFULCAibW9k ZSIgfSwKKyAgICB7ICAiZCIsICJkZXNpcmVkIiwgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0 PURFU0lSRURfTU9ERX0sIDAsIDAsIEFULCAibW9kZSIgfSwKKyAgICB7ICAibyIsICJvdXRwdXQi LCAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0PU9VVF9NT0RFfSwgICAgIDAsIDAsIEFULCAi bW9kZSIgfSwKKyAgICB7ICAibiIsICJub2lzZSIsICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsu aTY0PU5PSVNFX01PREV9LCAgIDAsIDAsIEFULCAibW9kZSIgfSwKKyAgICB7IE5VTEwgfQorfTsK KworQVZGSUxURVJfREVGSU5FX0NMQVNTKGFhcCk7CisKK3N0YXRpYyBmbG9hdCBmaXJfc2FtcGxl KEF1ZGlvQVBDb250ZXh0ICpzLCBmbG9hdCBzYW1wbGUsIGZsb2F0ICpkZWxheSwKKyAgICAgICAg ICAgICAgICAgICAgICAgIGZsb2F0ICpjb2VmZnMsIGZsb2F0ICp0bXAsIGludCAqb2Zmc2V0KQor eworICAgIGNvbnN0IGludCBvcmRlciA9IHMtPm9yZGVyOworICAgIGZsb2F0IG91dHB1dDsKKwor ICAgIGRlbGF5WypvZmZzZXRdID0gc2FtcGxlOworCisgICAgbWVtY3B5KHRtcCwgY29lZmZzICsg b3JkZXIgLSAqb2Zmc2V0LCBvcmRlciAqIHNpemVvZihmbG9hdCkpOworICAgIG91dHB1dCA9IHMt PmZkc3AtPnNjYWxhcnByb2R1Y3RfZmxvYXQoZGVsYXksIHRtcCwgcy0+a2VybmVsX3NpemUpOwor CisgICAgaWYgKC0tKCpvZmZzZXQpIDwgMCkKKyAgICAgICAgKm9mZnNldCA9IG9yZGVyIC0gMTsK KworICAgIHJldHVybiBvdXRwdXQ7Cit9CisKK3N0YXRpYyBpbnQgbHVwX2RlY29tcG9zZShmbG9h dCAqKk1BLCBpbnQgTiwgZmxvYXQgdG9sLCBpbnQgKlApCit7CisgICAgZmxvYXQgbWF4QSwgKnB0 ciwgYWJzQTsKKyAgICBpbnQgaSwgaiwgaywgaW1heDsKKworICAgIGZvciAoaSA9IDA7IGkgPD0g TjsgaSsrKQorICAgICAgICBQW2ldID0gaTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBOOyBpKysp IHsKKyAgICAgICAgbWF4QSA9IDAuZjsKKyAgICAgICAgaW1heCA9IGk7CisKKyAgICAgICAgZm9y IChrID0gaTsgayA8IE47IGsrKykKKyAgICAgICAgICAgIGlmICgoYWJzQSA9IGZhYnMoTUFba11b aV0pKSA+IG1heEEpIHsKKyAgICAgICAgICAgICAgICBtYXhBID0gYWJzQTsKKyAgICAgICAgICAg ICAgICBpbWF4ID0gazsKKyAgICAgICAgICAgIH0KKworICAgICAgICBpZiAobWF4QSA8IHRvbCkK KyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGlmIChpbWF4ICE9IGkpIHsKKyAgICAg ICAgICAgIGogPSBQW2ldOworICAgICAgICAgICAgUFtpXSA9IFBbaW1heF07CisgICAgICAgICAg ICBQW2ltYXhdID0gajsKKworICAgICAgICAgICAgcHRyID0gTUFbaV07CisgICAgICAgICAgICBN QVtpXSA9IE1BW2ltYXhdOworICAgICAgICAgICAgTUFbaW1heF0gPSBwdHI7CisKKyAgICAgICAg ICAgIFBbTl0rKzsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAoaiA9IGkgKyAxOyBqIDwgTjsg aisrKSB7CisgICAgICAgICAgICBNQVtqXVtpXSAvPSBNQVtpXVtpXTsKKworICAgICAgICAgICAg Zm9yIChrID0gaSArIDE7IGsgPCBOOyBrKyspCisgICAgICAgICAgICAgICAgTUFbal1ba10gLT0g TUFbal1baV0gKiBNQVtpXVtrXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAxOwor fQorCitzdGF0aWMgdm9pZCBsdXBfaW52ZXJ0KGZsb2F0ICoqTUEsIGludCAqUCwgaW50IE4sIGZs b2F0ICoqSUEpCit7CisgICAgZm9yIChpbnQgaiA9IDA7IGogPCBOOyBqKyspIHsKKyAgICAgICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKKyAgICAgICAgICAgIElBW2ldW2pdID0gUFtp XSA9PSBqID8gMS5mIDogMC5mOworCisgICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IGk7 IGsrKykKKyAgICAgICAgICAgICAgICBJQVtpXVtqXSAtPSBNQVtpXVtrXSAqIElBW2tdW2pdOwor ICAgICAgICB9CisKKyAgICAgICAgZm9yIChpbnQgaSA9IE4gLSAxOyBpID49IDA7IGktLSkgewor ICAgICAgICAgICAgZm9yIChpbnQgayA9IGkgKyAxOyBrIDwgTjsgaysrKQorICAgICAgICAgICAg ICAgIElBW2ldW2pdIC09IE1BW2ldW2tdICogSUFba11bal07CisKKyAgICAgICAgICAgIElBW2ld W2pdIC89IE1BW2ldW2ldOworICAgICAgICB9CisgICAgfQorfQorCitzdGF0aWMgZmxvYXQgcHJv Y2Vzc19zYW1wbGUoQXVkaW9BUENvbnRleHQgKnMsIGZsb2F0IGlucHV0LCBmbG9hdCBkZXNpcmVk LCBpbnQgY2gpCit7CisgICAgZmxvYXQgKmRjb2VmZnMgPSAoZmxvYXQgKilzLT5kY29lZmZzLT5l eHRlbmRlZF9kYXRhW2NoXTsKKyAgICBmbG9hdCAqY29lZmZzID0gKGZsb2F0ICopcy0+Y29lZmZz LT5leHRlbmRlZF9kYXRhW2NoXTsKKyAgICBmbG9hdCAqZGVsYXkgPSAoZmxvYXQgKilzLT5kZWxh eS0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgZmxvYXQgKippdG1wbXAgPSAmcy0+aXRtcG1wW3Mt PnByb2plY3Rpb24gKiBjaF07CisgICAgZmxvYXQgKip0bXBtcCA9ICZzLT50bXBtcFtzLT5wcm9q ZWN0aW9uICogY2hdOworICAgIGZsb2F0ICp0bXBtID0gKGZsb2F0ICopcy0+dG1wbS0+ZXh0ZW5k ZWRfZGF0YVtjaF07CisgICAgZmxvYXQgKnRtcCA9IChmbG9hdCAqKXMtPnRtcC0+ZXh0ZW5kZWRf ZGF0YVtjaF07CisgICAgZmxvYXQgKmUgPSAoZmxvYXQgKilzLT5lLT5leHRlbmRlZF9kYXRhW2No XTsKKyAgICBmbG9hdCAqeCA9IChmbG9hdCAqKXMtPngtPmV4dGVuZGVkX2RhdGFbY2hdOworICAg IGZsb2F0ICp3ID0gKGZsb2F0ICopcy0+dy0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgaW50ICpw ID0gKGludCAqKXMtPnAtPmV4dGVuZGVkX2RhdGFbY2hdOworICAgIGludCAqb2Zmc2V0ID0gKGlu dCAqKXMtPm9mZnNldC0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgY29uc3QgaW50IHByb2plY3Rp b24gPSBzLT5wcm9qZWN0aW9uOworICAgIGNvbnN0IGZsb2F0IGRlbHRhID0gcy0+ZGVsdGE7Cisg ICAgY29uc3QgaW50IG9yZGVyID0gcy0+b3JkZXI7CisgICAgY29uc3QgaW50IGxlbmd0aCA9IHBy b2plY3Rpb24gKyBvcmRlcjsKKyAgICBjb25zdCBmbG9hdCBtdSA9IHMtPm11OworICAgIGNvbnN0 IGZsb2F0IHRvbCA9IDAuMDAwMDFmOworICAgIGZsb2F0IG91dHB1dDsKKworICAgIHhbb2Zmc2V0 WzJdICsgbGVuZ3RoXSA9IHhbb2Zmc2V0WzJdXSA9IGlucHV0OworICAgIGRlbGF5W29mZnNldFsw XSArIG9yZGVyXSA9IGlucHV0OworCisgICAgb3V0cHV0ID0gZmlyX3NhbXBsZShzLCBpbnB1dCwg ZGVsYXksIGNvZWZmcywgdG1wLCBvZmZzZXQpOworICAgIGVbb2Zmc2V0WzFdXSA9IGVbb2Zmc2V0 WzFdICsgcHJvamVjdGlvbl0gPSBkZXNpcmVkIC0gb3V0cHV0OworCisgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBwcm9qZWN0aW9uOyBpKyspIHsKKyAgICAgICAgY29uc3QgaW50IGlwcm9qZWN0aW9u ID0gaSAqIHByb2plY3Rpb247CisKKyAgICAgICAgZm9yIChpbnQgaiA9IGk7IGogPCBwcm9qZWN0 aW9uOyBqKyspIHsKKyAgICAgICAgICAgIHRtcG1baXByb2plY3Rpb24gKyBqXSA9IDAuZjsKKyAg ICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgb3JkZXI7IGsrKykKKyAgICAgICAgICAgICAg ICB0bXBtW2lwcm9qZWN0aW9uICsgal0gKz0geFtvZmZzZXRbMl0gKyBpICsga10gKiB4W29mZnNl dFsyXSArIGogKyBrXTsKKyAgICAgICAgICAgIGlmIChpICE9IGopCisgICAgICAgICAgICAgICAg dG1wbVtqICogcHJvamVjdGlvbiArIGldID0gdG1wbVtpcHJvamVjdGlvbiArIGpdOworICAgICAg ICB9CisKKyAgICAgICAgdG1wbVtpcHJvamVjdGlvbiArIGldICs9IGRlbHRhOworICAgIH0KKwor ICAgIGx1cF9kZWNvbXBvc2UodG1wbXAsIHByb2plY3Rpb24sIHRvbCwgcCk7CisgICAgbHVwX2lu dmVydCh0bXBtcCwgcCwgcHJvamVjdGlvbiwgaXRtcG1wKTsKKworICAgIGZvciAoaW50IGkgPSAw OyBpIDwgcHJvamVjdGlvbjsgaSsrKSB7CisgICAgICAgIHdbaV0gPSAwLmY7CisgICAgICAgIGZv ciAoaW50IGogPSAwOyBqIDwgcHJvamVjdGlvbjsgaisrKQorICAgICAgICAgICAgd1tpXSArPSBp dG1wbXBbaV1bal0gKiBlW2ogKyBvZmZzZXRbMV1dOworICAgIH0KKworICAgIGZvciAoaW50IGkg PSAwOyBpIDwgb3JkZXI7IGkrKykgeworICAgICAgICBkY29lZmZzW2ldID0gMC5mOworICAgICAg ICBmb3IgKGludCBqID0gMDsgaiA8IHByb2plY3Rpb247IGorKykKKyAgICAgICAgICAgIGRjb2Vm ZnNbaV0gKz0geFtvZmZzZXRbMl0gKyBpICsgal0gKiB3W2pdOworICAgIH0KKworICAgIGZvciAo aW50IGkgPSAwOyBpIDwgb3JkZXI7IGkrKykKKyAgICAgICAgY29lZmZzW2ldID0gY29lZmZzW2kg KyBvcmRlcl0gPSBjb2VmZnNbaV0gKyBtdSAqIGRjb2VmZnNbaV07CisKKyAgICBpZiAoLS1vZmZz ZXRbMV0gPCAwKQorICAgICAgICBvZmZzZXRbMV0gPSBwcm9qZWN0aW9uIC0gMTsKKworICAgIGlm ICgtLW9mZnNldFsyXSA8IDApCisgICAgICAgIG9mZnNldFsyXSA9IGxlbmd0aCAtIDE7CisKKyAg ICBzd2l0Y2ggKHMtPm91dHB1dF9tb2RlKSB7CisgICAgY2FzZSBJTl9NT0RFOiAgICAgIG91dHB1 dCA9IGlucHV0OyAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgREVTSVJFRF9NT0RFOiBvdXRw dXQgPSBkZXNpcmVkOyAgICAgICAgICBicmVhazsKKyAgICBjYXNlIE9VVF9NT0RFOiAgICAgb3V0 cHV0ID0gZGVzaXJlZCAtIG91dHB1dDsgYnJlYWs7CisgICAgY2FzZSBOT0lTRV9NT0RFOiAgIG91 dHB1dCA9IGlucHV0IC0gb3V0cHV0OyAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gb3V0cHV0 OworfQorCitzdGF0aWMgaW50IHByb2Nlc3NfY2hhbm5lbHMoQVZGaWx0ZXJDb250ZXh0ICpjdHgs IHZvaWQgKmFyZywgaW50IGpvYm5yLCBpbnQgbmJfam9icykKK3sKKyAgICBBdWRpb0FQQ29udGV4 dCAqcyA9IGN0eC0+cHJpdjsKKyAgICBBVkZyYW1lICpvdXQgPSBhcmc7CisgICAgY29uc3QgaW50 IHN0YXJ0ID0gKG91dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICogam9ibnIpIC8gbmJfam9iczsK KyAgICBjb25zdCBpbnQgZW5kID0gKG91dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICogKGpvYm5y KzEpKSAvIG5iX2pvYnM7CisKKyAgICBmb3IgKGludCBjID0gc3RhcnQ7IGMgPCBlbmQ7IGMrKykg eworICAgICAgICBjb25zdCBmbG9hdCAqaW5wdXQgPSAoY29uc3QgZmxvYXQgKilzLT5mcmFtZVsw XS0+ZXh0ZW5kZWRfZGF0YVtjXTsKKyAgICAgICAgY29uc3QgZmxvYXQgKmRlc2lyZWQgPSAoY29u c3QgZmxvYXQgKilzLT5mcmFtZVsxXS0+ZXh0ZW5kZWRfZGF0YVtjXTsKKyAgICAgICAgZmxvYXQg Km91dHB1dCA9IChmbG9hdCAqKW91dC0+ZXh0ZW5kZWRfZGF0YVtjXTsKKworICAgICAgICBmb3Ig KGludCBuID0gMDsgbiA8IG91dC0+bmJfc2FtcGxlczsgbisrKSB7CisgICAgICAgICAgICBvdXRw dXRbbl0gPSBwcm9jZXNzX3NhbXBsZShzLCBpbnB1dFtuXSwgZGVzaXJlZFtuXSwgYyk7CisgICAg ICAgICAgICBpZiAoY3R4LT5pc19kaXNhYmxlZCkKKyAgICAgICAgICAgICAgICBvdXRwdXRbbl0g PSBpbnB1dFtuXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAwOworfQorCitzdGF0 aWMgaW50IGFjdGl2YXRlKEFWRmlsdGVyQ29udGV4dCAqY3R4KQoreworICAgIEF1ZGlvQVBDb250 ZXh0ICpzID0gY3R4LT5wcml2OworICAgIGludCBpLCByZXQsIHN0YXR1czsKKyAgICBpbnQgbmJf c2FtcGxlczsKKyAgICBpbnQ2NF90IHB0czsKKworICAgIEZGX0ZJTFRFUl9GT1JXQVJEX1NUQVRV U19CQUNLX0FMTChjdHgtPm91dHB1dHNbMF0sIGN0eCk7CisKKyAgICBuYl9zYW1wbGVzID0gRkZN SU4oZmZfaW5saW5rX3F1ZXVlZF9zYW1wbGVzKGN0eC0+aW5wdXRzWzBdKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgZmZfaW5saW5rX3F1ZXVlZF9zYW1wbGVzKGN0eC0+aW5wdXRzWzFdKSk7Cisg ICAgZm9yIChpID0gMDsgaSA8IGN0eC0+bmJfaW5wdXRzICYmIG5iX3NhbXBsZXMgPiAwOyBpKysp IHsKKyAgICAgICAgaWYgKHMtPmZyYW1lW2ldKQorICAgICAgICAgICAgY29udGludWU7CisKKyAg ICAgICAgaWYgKGZmX2lubGlua19jaGVja19hdmFpbGFibGVfc2FtcGxlcyhjdHgtPmlucHV0c1tp XSwgbmJfc2FtcGxlcykgPiAwKSB7CisgICAgICAgICAgICByZXQgPSBmZl9pbmxpbmtfY29uc3Vt ZV9zYW1wbGVzKGN0eC0+aW5wdXRzW2ldLCBuYl9zYW1wbGVzLCBuYl9zYW1wbGVzLCAmcy0+ZnJh bWVbaV0pOworICAgICAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJu IHJldDsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChzLT5mcmFtZVswXSAmJiBzLT5mcmFt ZVsxXSkgeworICAgICAgICBBVkZyYW1lICpvdXQ7CisKKyAgICAgICAgb3V0ID0gZmZfZ2V0X2F1 ZGlvX2J1ZmZlcihjdHgtPm91dHB1dHNbMF0sIHMtPmZyYW1lWzBdLT5uYl9zYW1wbGVzKTsKKyAg ICAgICAgaWYgKCFvdXQpIHsKKyAgICAgICAgICAgIGF2X2ZyYW1lX2ZyZWUoJnMtPmZyYW1lWzBd KTsKKyAgICAgICAgICAgIGF2X2ZyYW1lX2ZyZWUoJnMtPmZyYW1lWzFdKTsKKyAgICAgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisgICAgICAgIH0KKworICAgICAgICBmZl9maWx0ZXJf ZXhlY3V0ZShjdHgsIHByb2Nlc3NfY2hhbm5lbHMsIG91dCwgTlVMTCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgRkZNSU4oY3R4LT5vdXRwdXRzWzBdLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMs IGZmX2ZpbHRlcl9nZXRfbmJfdGhyZWFkcyhjdHgpKSk7CisKKyAgICAgICAgb3V0LT5wdHMgPSBz LT5mcmFtZVswXS0+cHRzOworCisgICAgICAgIGF2X2ZyYW1lX2ZyZWUoJnMtPmZyYW1lWzBdKTsK KyAgICAgICAgYXZfZnJhbWVfZnJlZSgmcy0+ZnJhbWVbMV0pOworCisgICAgICAgIHJldCA9IGZm X2ZpbHRlcl9mcmFtZShjdHgtPm91dHB1dHNbMF0sIG91dCk7CisgICAgICAgIGlmIChyZXQgPCAw KQorICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKyAgICBpZiAoIW5iX3NhbXBsZXMp IHsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDI7IGkrKykgeworICAgICAgICAgICAgaWYgKGZm X2lubGlua19hY2tub3dsZWRnZV9zdGF0dXMoY3R4LT5pbnB1dHNbaV0sICZzdGF0dXMsICZwdHMp KSB7CisgICAgICAgICAgICAgICAgZmZfb3V0bGlua19zZXRfc3RhdHVzKGN0eC0+b3V0cHV0c1sw XSwgc3RhdHVzLCBwdHMpOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAg fQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGZmX291dGxpbmtfZnJhbWVfd2FudGVkKGN0 eC0+b3V0cHV0c1swXSkpIHsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDI7IGkrKykgeworICAg ICAgICAgICAgaWYgKGZmX2lubGlua19xdWV1ZWRfc2FtcGxlcyhjdHgtPmlucHV0c1tpXSkgPiAw KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgZmZfaW5saW5rX3JlcXVl c3RfZnJhbWUoY3R4LT5pbnB1dHNbaV0pOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg IH0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY29uZmlnX291dHB1dChB VkZpbHRlckxpbmsgKm91dGxpbmspCit7CisgICAgY29uc3QgaW50IGNoYW5uZWxzID0gb3V0bGlu ay0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOworICAgIEFWRmlsdGVyQ29udGV4dCAqY3R4ID0gb3V0 bGluay0+c3JjOworICAgIEF1ZGlvQVBDb250ZXh0ICpzID0gY3R4LT5wcml2OworCisgICAgcy0+ a2VybmVsX3NpemUgPSBGRkFMSUdOKHMtPm9yZGVyLCAxNik7CisKKyAgICBpZiAoIXMtPm9mZnNl dCkKKyAgICAgICAgcy0+b2Zmc2V0ID0gZmZfZ2V0X2F1ZGlvX2J1ZmZlcihvdXRsaW5rLCAzKTsK KyAgICBpZiAoIXMtPmRlbGF5KQorICAgICAgICBzLT5kZWxheSA9IGZmX2dldF9hdWRpb19idWZm ZXIob3V0bGluaywgMiAqIHMtPmtlcm5lbF9zaXplKTsKKyAgICBpZiAoIXMtPmRjb2VmZnMpCisg ICAgICAgIHMtPmRjb2VmZnMgPSBmZl9nZXRfYXVkaW9fYnVmZmVyKG91dGxpbmssIHMtPmtlcm5l bF9zaXplKTsKKyAgICBpZiAoIXMtPmNvZWZmcykKKyAgICAgICAgcy0+Y29lZmZzID0gZmZfZ2V0 X2F1ZGlvX2J1ZmZlcihvdXRsaW5rLCAyICogcy0+a2VybmVsX3NpemUpOworICAgIGlmICghcy0+ ZSkKKyAgICAgICAgcy0+ZSA9IGZmX2dldF9hdWRpb19idWZmZXIob3V0bGluaywgMiAqIHMtPnBy b2plY3Rpb24pOworICAgIGlmICghcy0+cCkKKyAgICAgICAgcy0+cCA9IGZmX2dldF9hdWRpb19i dWZmZXIob3V0bGluaywgcy0+cHJvamVjdGlvbiArIDEpOworICAgIGlmICghcy0+eCkKKyAgICAg ICAgcy0+eCA9IGZmX2dldF9hdWRpb19idWZmZXIob3V0bGluaywgMiAqIChzLT5wcm9qZWN0aW9u ICsgcy0+b3JkZXIpKTsKKyAgICBpZiAoIXMtPncpCisgICAgICAgIHMtPncgPSBmZl9nZXRfYXVk aW9fYnVmZmVyKG91dGxpbmssIHMtPnByb2plY3Rpb24pOworICAgIGlmICghcy0+dG1wKQorICAg ICAgICBzLT50bXAgPSBmZl9nZXRfYXVkaW9fYnVmZmVyKG91dGxpbmssIHMtPmtlcm5lbF9zaXpl KTsKKyAgICBpZiAoIXMtPnRtcG0pCisgICAgICAgIHMtPnRtcG0gPSBmZl9nZXRfYXVkaW9fYnVm ZmVyKG91dGxpbmssIHMtPnByb2plY3Rpb24gKiBzLT5wcm9qZWN0aW9uKTsKKyAgICBpZiAoIXMt Pml0bXBtKQorICAgICAgICBzLT5pdG1wbSA9IGZmX2dldF9hdWRpb19idWZmZXIob3V0bGluaywg cy0+cHJvamVjdGlvbiAqIHMtPnByb2plY3Rpb24pOworCisgICAgaWYgKCFzLT50bXBtcCkKKyAg ICAgICAgcy0+dG1wbXAgPSBhdl9jYWxsb2Mocy0+cHJvamVjdGlvbiAqIGNoYW5uZWxzLCBzaXpl b2YoKnMtPnRtcG1wKSk7CisgICAgaWYgKCFzLT5pdG1wbXApCisgICAgICAgIHMtPml0bXBtcCA9 IGF2X2NhbGxvYyhzLT5wcm9qZWN0aW9uICogY2hhbm5lbHMsIHNpemVvZigqcy0+aXRtcG1wKSk7 CisKKyAgICBpZiAoIXMtPm9mZnNldCB8fCAhcy0+ZGVsYXkgfHwgIXMtPmRjb2VmZnMgfHwgIXMt PmNvZWZmcyB8fCAhcy0+dG1wbXAgfHwgIXMtPml0bXBtcCB8fAorICAgICAgICAhcy0+ZSB8fCAh cy0+cCB8fCAhcy0+eCB8fCAhcy0+dyB8fCAhcy0+dG1wIHx8ICFzLT50bXBtIHx8ICFzLT5pdG1w bSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKworICAgIGZvciAoaW50IGNoID0g MDsgY2ggPCBjaGFubmVsczsgY2grKykgeworICAgICAgICBmbG9hdCAqaXRtcG0gPSAoZmxvYXQg KilzLT5pdG1wbS0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgICAgIGZsb2F0ICp0bXBtID0gKGZs b2F0ICopcy0+dG1wbS0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgICAgIGZsb2F0ICoqaXRtcG1w ID0gJnMtPml0bXBtcFtzLT5wcm9qZWN0aW9uICogY2hdOworICAgICAgICBmbG9hdCAqKnRtcG1w ID0gJnMtPnRtcG1wW3MtPnByb2plY3Rpb24gKiBjaF07CisKKyAgICAgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBzLT5wcm9qZWN0aW9uOyBpKyspIHsKKyAgICAgICAgICAgIGl0bXBtcFtpXSA9ICZp dG1wbVtpICogcy0+cHJvamVjdGlvbl07CisgICAgICAgICAgICB0bXBtcFtpXSA9ICZ0bXBtW2kg KiBzLT5wcm9qZWN0aW9uXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAwOworfQor CitzdGF0aWMgYXZfY29sZCBpbnQgaW5pdChBVkZpbHRlckNvbnRleHQgKmN0eCkKK3sKKyAgICBB dWRpb0FQQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKworICAgIHMtPmZkc3AgPSBhdnByaXZfZmxv YXRfZHNwX2FsbG9jKDApOworICAgIGlmICghcy0+ZmRzcCkKKyAgICAgICAgcmV0dXJuIEFWRVJS T1IoRU5PTUVNKTsKKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgYXZfY29sZCB2b2lkIHVu aW5pdChBVkZpbHRlckNvbnRleHQgKmN0eCkKK3sKKyAgICBBdWRpb0FQQ29udGV4dCAqcyA9IGN0 eC0+cHJpdjsKKworICAgIGF2X2ZyZWVwKCZzLT5mZHNwKTsKKworICAgIGF2X2ZyYW1lX2ZyZWUo JnMtPm9mZnNldCk7CisgICAgYXZfZnJhbWVfZnJlZSgmcy0+ZGVsYXkpOworICAgIGF2X2ZyYW1l X2ZyZWUoJnMtPmRjb2VmZnMpOworICAgIGF2X2ZyYW1lX2ZyZWUoJnMtPmNvZWZmcyk7CisgICAg YXZfZnJhbWVfZnJlZSgmcy0+ZSk7CisgICAgYXZfZnJhbWVfZnJlZSgmcy0+cCk7CisgICAgYXZf ZnJhbWVfZnJlZSgmcy0+dyk7CisgICAgYXZfZnJhbWVfZnJlZSgmcy0+eCk7CisgICAgYXZfZnJh bWVfZnJlZSgmcy0+dG1wKTsKKyAgICBhdl9mcmFtZV9mcmVlKCZzLT50bXBtKTsKKyAgICBhdl9m cmFtZV9mcmVlKCZzLT5pdG1wbSk7CisKKyAgICBhdl9mcmVlcCgmcy0+dG1wbXApOworICAgIGF2 X2ZyZWVwKCZzLT5pdG1wbXApOworfQorCitzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgaW5wdXRz W10gPSB7CisgICAgeworICAgICAgICAubmFtZSA9ICJpbnB1dCIsCisgICAgICAgIC50eXBlID0g QVZNRURJQV9UWVBFX0FVRElPLAorICAgIH0sCisgICAgeworICAgICAgICAubmFtZSA9ICJkZXNp cmVkIiwKKyAgICAgICAgLnR5cGUgPSBBVk1FRElBX1RZUEVfQVVESU8sCisgICAgfSwKK307CisK K3N0YXRpYyBjb25zdCBBVkZpbHRlclBhZCBvdXRwdXRzW10gPSB7CisgICAgeworICAgICAgICAu bmFtZSAgICAgICAgID0gImRlZmF1bHQiLAorICAgICAgICAudHlwZSAgICAgICAgID0gQVZNRURJ QV9UWVBFX0FVRElPLAorICAgICAgICAuY29uZmlnX3Byb3BzID0gY29uZmlnX291dHB1dCwKKyAg ICB9LAorfTsKKworY29uc3QgQVZGaWx0ZXIgZmZfYWZfYWFwID0geworICAgIC5uYW1lICAgICAg ICAgICA9ICJhYXAiLAorICAgIC5kZXNjcmlwdGlvbiAgICA9IE5VTExfSUZfQ09ORklHX1NNQUxM KCJBcHBseSBBZmZpbmUgUHJvamVjdGlvbiBhbGdvcml0aG0gdG8gZmlyc3QgYXVkaW8gc3RyZWFt LiIpLAorICAgIC5wcml2X3NpemUgICAgICA9IHNpemVvZihBdWRpb0FQQ29udGV4dCksCisgICAg LnByaXZfY2xhc3MgICAgID0gJmFhcF9jbGFzcywKKyAgICAuaW5pdCAgICAgICAgICAgPSBpbml0 LAorICAgIC51bmluaXQgICAgICAgICA9IHVuaW5pdCwKKyAgICAuYWN0aXZhdGUgICAgICAgPSBh Y3RpdmF0ZSwKKyAgICBGSUxURVJfSU5QVVRTKGlucHV0cyksCisgICAgRklMVEVSX09VVFBVVFMo b3V0cHV0cyksCisgICAgRklMVEVSX1NJTkdMRV9TQU1QTEVGTVQoQVZfU0FNUExFX0ZNVF9GTFRQ KSwKKyAgICAuZmxhZ3MgICAgICAgICAgPSBBVkZJTFRFUl9GTEFHX1NVUFBPUlRfVElNRUxJTkVf SU5URVJOQUwgfAorICAgICAgICAgICAgICAgICAgICAgIEFWRklMVEVSX0ZMQUdfU0xJQ0VfVEhS RUFEUywKKyAgICAucHJvY2Vzc19jb21tYW5kID0gZmZfZmlsdGVyX3Byb2Nlc3NfY29tbWFuZCwK K307CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMgYi9saWJhdmZpbHRlci9h bGxmaWx0ZXJzLmMKaW5kZXggNWUzOGQ1YTdkYS4uYzZjNDgyNzU1YiAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvYWxsZmlsdGVycy5jCisrKyBiL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYwpAQCAt MjEsNiArMjEsNyBAQAogCiAjaW5jbHVkZSAiYXZmaWx0ZXIuaCIKIAorZXh0ZXJuIGNvbnN0IEFW RmlsdGVyIGZmX2FmX2FhcDsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl9hZl9hYmVuY2g7CiBl eHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfYWZfYWNvbXByZXNzb3I7CiBleHRlcm4gY29uc3QgQVZG aWx0ZXIgZmZfYWZfYWNvbnRyYXN0OwotLSAKMi4zOS4xCgo= --000000000000ce28ae05faa0fc84 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". --000000000000ce28ae05faa0fc84--