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 1B85644A8B for ; Tue, 6 Dec 2022 21:29:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 22C4568BD18; Tue, 6 Dec 2022 23:29:33 +0200 (EET) Received: from mail-vs1-f43.google.com (mail-vs1-f43.google.com [209.85.217.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2D7D368BC47 for ; Tue, 6 Dec 2022 23:29:27 +0200 (EET) Received: by mail-vs1-f43.google.com with SMTP id 128so15447020vsz.12 for ; Tue, 06 Dec 2022 13:29:27 -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=n2tjE/vSM78moVpkHsk8saKO4tLuZJUDtO3idi1N6xw=; b=E5f1Ju4ElowDZDZsr4KpICiwtQUQEYx/vpgtYCIHRvhT6ePMIFrN7FMkQiSE82JQxU YTzxmHNFws3ZJMu+UIS7Cua2wk0Yo9iPtcS13iYfZe977wnN5tAeUrEhbIY+FBs9mLvc j1xc/GYlTog8ggcKIHUP021rxtDDA5JuM4r7QtC9h8AniAP0l2DWSIJrPhSGb/iG669P ZbK40Ibdf2jSo1i0ZcvSCy2ihD9lMlzb3VBHU+2emfWom52YXuB9wBBKd+7b8BDmPvAV PVJf/chE7fudku+mbhWa6nZdKSPB7oafUtWJVyC8LR9mNmNnL4qRClE60SAsVH8j4D6D D31Q== 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=n2tjE/vSM78moVpkHsk8saKO4tLuZJUDtO3idi1N6xw=; b=6occRoUqfenoT8OFVIRuj+NXxIC2eWQGXk8/sEybEoX9EpuLZKxT5Ih8vDi55PZinu sb93lSKHfDzheOggvsbw0/aQY2tq5LFEJibhumeiSWHQBmxKTbjdPLuvKFyQqGNkOb3H /LydnxrMLcxMDGgCEaXuKJZu+23kXU7x03ZR6gYnrzFSucfBkhRt2GSiminDEoA+9cW9 Jh73EpaWIHiWR/CR0eVxPefGhtWpuUcACQO4CG1BzfeWFVoZ+CQCZsb/glgSgVbeMmw3 AQdvahcwOB7VbKfKmIu3Cpn028rgGM64wP5vhR8bHXSvvFZuhmIegus+FxOLQOLxZkil zNOg== X-Gm-Message-State: ANoB5pm/bAS8WfZdL5q2sn+rtwX83QsnSYmQZQLyrM+R4AYLF6dczH6B 7tvYshpgVkWLjvoqXeRwtzsajlxwVlPeU0F6DAyVL5w3 X-Google-Smtp-Source: AA0mqf600X+J2iyZM0AXGhPZGuJzGDPPuV7JWR6BOvWeGMXGh9tCYOkCOIQBOcK4/p9RNiNUGjiXBMoW+5SNsEl0Tmk= X-Received: by 2002:a67:f94d:0:b0:3b1:4889:390 with SMTP id u13-20020a67f94d000000b003b148890390mr4393884vsq.57.1670362165551; Tue, 06 Dec 2022 13:29:25 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:612c:2428:b0:32a:5eaa:92e4 with HTTP; Tue, 6 Dec 2022 13:29:24 -0800 (PST) From: Paul B Mahol Date: Tue, 6 Dec 2022 22:29:24 +0100 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="00000000000086599005ef2f7f1c" Subject: [FFmpeg-devel] [PATCH] avfilter: add corr video 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: --00000000000086599005ef2f7f1c Content-Type: text/plain; charset="UTF-8" Adds yet another metric filter. Patch attached. --00000000000086599005ef2f7f1c Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avfilter-add-corr-video-filter.patch" Content-Disposition: attachment; filename="0001-avfilter-add-corr-video-filter.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 RnJvbSA0N2YzMGU1NGIxODRlNGI5NmYyZTlkYTc4NjcxY2E1ZDg1YzgzNzYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgNiBEZWMgMjAyMiAyMTozMTozMyArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGF2ZmlsdGVy OiBhZGQgY29yciB2aWRlbyBmaWx0ZXIKClNpZ25lZC1vZmYtYnk6IFBhdWwgQiBNYWhvbCA8b25l bWRhQGdtYWlsLmNvbT4KLS0tCiBkb2MvZmlsdGVycy50ZXhpICAgICAgICAgfCAgMjIgKysrCiBs aWJhdmZpbHRlci9NYWtlZmlsZSAgICAgfCAgIDEgKwogbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5j IHwgICAxICsKIGxpYmF2ZmlsdGVyL3ZmX2NvcnIuYyAgICB8IDMzOSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMzYzIGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZpbHRlci92Zl9jb3JyLmMKCmRpZmYgLS1naXQg YS9kb2MvZmlsdGVycy50ZXhpIGIvZG9jL2ZpbHRlcnMudGV4aQppbmRleCA0Yjc0YmNlMzRmLi4y NTI3NDFiMjU0IDEwMDY0NAotLS0gYS9kb2MvZmlsdGVycy50ZXhpCisrKyBiL2RvYy9maWx0ZXJz LnRleGkKQEAgLTEwMDk3LDYgKzEwMDk3LDI4IEBAIGZmbXBlZyAtZiBsYXZmaSAtaSBudWxsc3Jj PXM9MTAweDEwMCxjb3JlaW1hZ2U9ZmlsdGVyPUNJUVJDb2RlR2VuZXJhdG9yQEBpbnB1dE1lCiBA ZW5kIGV4YW1wbGUKIEBlbmQgaXRlbWl6ZQogCitAc2VjdGlvbiBjb3JyCisKK09idGFpbiB0aGUg Y29ycmVsYXRpb24gYmV0d2VlbiB0d28gaW5wdXQgdmlkZW9zLgorCitUaGlzIGZpbHRlciB0YWtl cyB0d28gaW5wdXQgdmlkZW9zLgorCitCb3RoIGlucHV0IHZpZGVvcyBtdXN0IGhhdmUgdGhlIHNh bWUgcmVzb2x1dGlvbiBhbmQgcGl4ZWwgZm9ybWF0IGZvcgordGhpcyBmaWx0ZXIgdG8gd29yayBj b3JyZWN0bHkuIEFsc28gaXQgYXNzdW1lcyB0aGF0IGJvdGggaW5wdXRzCitoYXZlIHRoZSBzYW1l IG51bWJlciBvZiBmcmFtZXMsIHdoaWNoIGFyZSBjb21wYXJlZCBvbmUgYnkgb25lLgorCitUaGUg b2J0YWluZWQgcGVyIGNvbXBvbmVudCwgYXZlcmFnZSwgbWluIGFuZCBtYXggY29ycmVsYXRpb24g aXMgcHJpbnRlZCB0aHJvdWdoCit0aGUgbG9nZ2luZyBzeXN0ZW0uCisKK1RoZSBmaWx0ZXIgc3Rv cmVzIHRoZSBjYWxjdWxhdGVkIGNvcnJlbGF0aW9uIG9mIGVhY2ggZnJhbWUgaW4gZnJhbWUgbWV0 YWRhdGEuCisKK0luIHRoZSBiZWxvdyBleGFtcGxlIHRoZSBpbnB1dCBmaWxlIEBmaWxle21haW4u bXBnfSBiZWluZyBwcm9jZXNzZWQgaXMgY29tcGFyZWQKK3dpdGggdGhlIHJlZmVyZW5jZSBmaWxl IEBmaWxle3JlZi5tcGd9LgorCitAZXhhbXBsZQorZmZtcGVnIC1pIG1haW4ubXBnIC1pIHJlZi5t cGcgLWxhdmZpIGNvcnIgLWYgbnVsbCAtCitAZW5kIGV4YW1wbGUKKwogQHNlY3Rpb24gY292ZXJf cmVjdAogCiBDb3ZlciBhIHJlY3Rhbmd1bGFyIG9iamVjdApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvTWFrZWZpbGUgYi9saWJhdmZpbHRlci9NYWtlZmlsZQppbmRleCAyNzkxYjZhOTUwLi45YTg1 MGQ1ZGM1IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9NYWtlZmlsZQorKysgYi9saWJhdmZpbHRl ci9NYWtlZmlsZQpAQCAtMjQzLDYgKzI0Myw3IEBAIE9CSlMtJChDT05GSUdfQ09OVk9MVVRJT05f T1BFTkNMX0ZJTFRFUikgICAgICs9IHZmX2NvbnZvbHV0aW9uX29wZW5jbC5vIG9wZW5jbC5vCiBP QkpTLSQoQ09ORklHX0NPTlZPTFZFX0ZJTFRFUikgICAgICAgICAgICAgICArPSB2Zl9jb252b2x2 ZS5vIGZyYW1lc3luYy5vCiBPQkpTLSQoQ09ORklHX0NPUFlfRklMVEVSKSAgICAgICAgICAgICAg ICAgICArPSB2Zl9jb3B5Lm8KIE9CSlMtJChDT05GSUdfQ09SRUlNQUdFX0ZJTFRFUikgICAgICAg ICAgICAgICs9IHZmX2NvcmVpbWFnZS5vCitPQkpTLSQoQ09ORklHX0NPUlJfRklMVEVSKSAgICAg ICAgICAgICAgICAgICArPSB2Zl9jb3JyLm8gZnJhbWVzeW5jLm8KIE9CSlMtJChDT05GSUdfQ09W RVJfUkVDVF9GSUxURVIpICAgICAgICAgICAgICs9IHZmX2NvdmVyX3JlY3QubyBsYXZmdXRpbHMu bwogT0JKUy0kKENPTkZJR19DUk9QX0ZJTFRFUikgICAgICAgICAgICAgICAgICAgKz0gdmZfY3Jv cC5vCiBPQkpTLSQoQ09ORklHX0NST1BERVRFQ1RfRklMVEVSKSAgICAgICAgICAgICArPSB2Zl9j cm9wZGV0ZWN0Lm8KZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYyBiL2xpYmF2 ZmlsdGVyL2FsbGZpbHRlcnMuYwppbmRleCAzZmYyMGU3NmNlLi4yZWNlNWMxNWM4IDEwMDY0NAot LS0gYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKKysrIGIvbGliYXZmaWx0ZXIvYWxsZmlsdGVy cy5jCkBAIC0yMjMsNiArMjIzLDcgQEAgZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2NvbnZv bHV0aW9uX29wZW5jbDsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9jb252b2x2ZTsKIGV4 dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9jb3B5OwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZm X3ZmX2NvcmVpbWFnZTsKK2V4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9jb3JyOwogZXh0ZXJu IGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2NvdmVyX3JlY3Q7CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIg ZmZfdmZfY3JvcDsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9jcm9wZGV0ZWN0OwpkaWZm IC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfY29yci5jIGIvbGliYXZmaWx0ZXIvdmZfY29yci5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjNlMzk1MWQwMDEKLS0tIC9kZXYv bnVsbAorKysgYi9saWJhdmZpbHRlci92Zl9jb3JyLmMKQEAgLTAsMCArMSwzMzkgQEAKKy8qCisg KiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCisgKgorICogRkZtcGVnIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2 ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKyAqCisgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBM aWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3 YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y LCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworLyoqCisgKiBAZmlsZQorICogQ2Fs Y3VsYXRlIHRoZSBjb3JyZWxhdGlvbiBiZXR3ZWVuIHR3byBpbnB1dCB2aWRlb3MuCisgKi8KKwor I2luY2x1ZGUgImxpYmF2dXRpbC9hdnN0cmluZy5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9vcHQu aCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvcGl4ZGVzYy5oIgorI2luY2x1ZGUgImF2ZmlsdGVyLmgi CisjaW5jbHVkZSAiZHJhd3V0aWxzLmgiCisjaW5jbHVkZSAiZm9ybWF0cy5oIgorI2luY2x1ZGUg ImZyYW1lc3luYy5oIgorI2luY2x1ZGUgImludGVybmFsLmgiCisjaW5jbHVkZSAidmlkZW8uaCIK KwordHlwZWRlZiBzdHJ1Y3QgQ29yckNvbnRleHQgeworICAgIGNvbnN0IEFWQ2xhc3MgKmNsYXNz OworICAgIEZGRnJhbWVTeW5jIGZzOworICAgIGRvdWJsZSBzY29yZSwgbWluX3Njb3JlLCBtYXhf c2NvcmUsIHNjb3JlX2NvbXBbNF07CisgICAgdWludDY0X3QgbmJfZnJhbWVzOworICAgIGludCBp c19yZ2I7CisgICAgdWludDhfdCByZ2JhX21hcFs0XTsKKyAgICBpbnQgbWF4WzRdOworICAgIGNo YXIgY29tcHNbNF07CisgICAgaW50IG5iX2NvbXBvbmVudHM7CisgICAgaW50IHBsYW5ld2lkdGhb NF07CisgICAgaW50IHBsYW5laGVpZ2h0WzRdOworICAgIGludCAoKmZpbHRlcl9zbGljZSkoQVZG aWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBqb2JuciwgaW50IG5iX2pvYnMpOworfSBDb3JyQ29udGV4dDsKKworI2RlZmluZSBPRkZTRVQo eCkgb2Zmc2V0b2YoQ29yckNvbnRleHQsIHgpCisjZGVmaW5lIEZMQUdTIEFWX09QVF9GTEFHX0ZJ TFRFUklOR19QQVJBTXxBVl9PUFRfRkxBR19WSURFT19QQVJBTQorCitzdGF0aWMgdm9pZCBzZXRf bWV0YShBVkZpbHRlckNvbnRleHQgKmN0eCwKKyAgICAgICAgICAgICAgICAgICAgIEFWRGljdGlv bmFyeSAqKm1ldGFkYXRhLCBjb25zdCBjaGFyICprZXksIGNoYXIgY29tcCwgZmxvYXQgZCkKK3sK KyAgICBjaGFyIHZhbHVlWzEyOF07CisgICAgc25wcmludGYodmFsdWUsIHNpemVvZih2YWx1ZSks ICIlZiIsIGQpOworICAgIGlmIChjb21wKSB7CisgICAgICAgIGNoYXIga2V5MlsxMjhdOworICAg ICAgICBzbnByaW50ZihrZXkyLCBzaXplb2Yoa2V5MiksICJsYXZmaS4lcy4lcyVzJWMiLAorICAg ICAgICAgICAgICAgICBjdHgtPmZpbHRlci0+bmFtZSwgY3R4LT5maWx0ZXItPm5hbWUsIGtleSwg Y29tcCk7CisgICAgICAgIGF2X2RpY3Rfc2V0KG1ldGFkYXRhLCBrZXkyLCB2YWx1ZSwgMCk7Cisg ICAgfSBlbHNlIHsKKyAgICAgICAgY2hhciBrZXkyWzEyOF07CisgICAgICAgIHNucHJpbnRmKGtl eTIsIHNpemVvZihrZXkyKSwgImxhdmZpLiVzLiVzJXMiLAorICAgICAgICAgICAgICAgICBjdHgt PmZpbHRlci0+bmFtZSwgY3R4LT5maWx0ZXItPm5hbWUsIGtleSk7CisgICAgICAgIGF2X2RpY3Rf c2V0KG1ldGFkYXRhLCBrZXkyLCB2YWx1ZSwgMCk7CisgICAgfQorfQorCisjZGVmaW5lIENPUlIo dHlwZSwgbmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorc3RhdGlj IHZvaWQgZiMjbmFtZShBVkZpbHRlckNvbnRleHQgKmN0eCwgQVZGcmFtZSAqbWFzdGVyLCAgIFwK KyAgICAgICAgICAgICAgICAgICBBVkZyYW1lICpyZWYsIGRvdWJsZSAqY29tcF9zY29yZSkgICAg ICAgICBcCit7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorICAgIENvcnJDb250ZXh0ICpzID0gY3R4LT5wcml2OyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgYyA9IDA7IGMgPCBzLT5u Yl9jb21wb25lbnRzOyBjKyspIHsgICAgICAgICAgICAgXAorICAgICAgICBjb25zdCBwdHJkaWZm X3QgbGluZXNpemUxID0gbWFzdGVyLT5saW5lc2l6ZVtjXSAvICAgIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0eXBlKTsgICAgICAgICAgICBcCisgICAgICAg IGNvbnN0IHB0cmRpZmZfdCBsaW5lc2l6ZTIgPSByZWYtPmxpbmVzaXplW2NdIC8gICAgICAgXAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHR5cGUpOyAgICAgICAg ICAgIFwKKyAgICAgICAgY29uc3QgdHlwZSAqc3JjMSA9IChjb25zdCB0eXBlICopbWFzdGVyLT5k YXRhW2NdOyAgICBcCisgICAgICAgIGNvbnN0IHR5cGUgKnNyYzIgPSAoY29uc3QgdHlwZSAqKXJl Zi0+ZGF0YVtjXTsgICAgICAgXAorICAgICAgICBjb25zdCBpbnQgaCA9IHMtPnBsYW5laGVpZ2h0 W2NdOyAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgY29uc3QgaW50IHcgPSBzLT5wbGFu ZXdpZHRoW2NdOyAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGNvbnN0IGZsb2F0IHNj YWxlID0gMS5mIC8gcy0+bWF4W2NdOyAgICAgICAgICAgICAgICAgXAorICAgICAgICB1aW50NjRf dCBzdW0xID0gMCwgc3VtMiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg ZmxvYXQgc3VtMTIsIHN1bTFxLCBzdW0ycTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg ICAgICAgIGZsb2F0IHN1bXEsIG1lYW4xLCBtZWFuMjsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoOyB5KyspIHsgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHc7IHgr KykgeyAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIHN1bTEgKz0gc3JjMVt4 XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBzdW0yICs9 IHNyYzJbeF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB9ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg ICAgICAgICAgIHNyYzEgKz0gbGluZXNpemUxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgICAgICBzcmMyICs9IGxpbmVzaXplMjsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIG1lYW4xID0gc2NhbGUgKiAoc3VtMSAv KGRvdWJsZSkodyAqIGgpKTsgICAgICAgICAgICAgXAorICAgICAgICBtZWFuMiA9IHNjYWxlICog KHN1bTIgLyhkb3VibGUpKHcgKiBoKSk7ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNy YzEgPSAoY29uc3QgdHlwZSAqKW1hc3Rlci0+ZGF0YVtjXTsgICAgICAgICAgICAgICAgXAorICAg ICAgICBzcmMyID0gKGNvbnN0IHR5cGUgKilyZWYtPmRhdGFbY107ICAgICAgICAgICAgICAgICAg IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisgICAgICAgIHN1bTEyID0gMC5mOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorICAgICAgICBzdW0xcSA9IDAuZjsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3VtMnEgPSAwLmY7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBmb3IgKGludCB5 ID0gMDsgeSA8IGg7IHkrKykgeyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAg IGZvciAoaW50IHggPSAwOyB4IDwgdzsgeCsrKSB7ICAgICAgICAgICAgICAgICAgICBcCisgICAg ICAgICAgICAgICAgY29uc3QgZmxvYXQgZjEgPSBzY2FsZSAqIHNyYzFbeF0gLSBtZWFuMTsgICAg XAorICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0IGYyID0gc2NhbGUgKiBzcmMyW3hdIC0gbWVh bjI7ICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgc3VtMTIgKz0gZjEgKiBmMjsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIHN1bTFxICs9IGYxICogZjE7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBzdW0ycSArPSBm MiAqIGYyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB9ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgICAgIHNyYzEgKz0gbGluZXNpemUxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgICAgICAgICAgICBzcmMyICs9IGxpbmVzaXplMjsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHN1bXEgPSBzcXJ0ZihzdW0xcSAqIHN1bTJx KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoc3VtcSA+IDAuZikgeyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGNvbXBfc2Nv cmVbY10gPSBhdl9jbGlwZihzdW0xMiAvIHN1bXEsLTEuZiwxLmYpOyBcCisgICAgICAgIH0gZWxz ZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg ICAgICAgY29tcF9zY29yZVtjXSA9IHN1bTFxID09IHN1bTJxID8gMS5mIDogMC5mOyAgICAgIFwK KyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorfQorCitDT1JSKHVpbnQ4X3QsIGNvcnI4KQorQ09SUih1aW50MTZfdCwg Y29ycjE2KQorCitzdGF0aWMgaW50IGRvX2NvcnIoRkZGcmFtZVN5bmMgKmZzKQoreworICAgIEFW RmlsdGVyQ29udGV4dCAqY3R4ID0gZnMtPnBhcmVudDsKKyAgICBDb3JyQ29udGV4dCAqcyA9IGN0 eC0+cHJpdjsKKyAgICBBVkZyYW1lICptYXN0ZXIsICpyZWY7CisgICAgZG91YmxlIGNvbXBfc2Nv cmVbNF0sIHNjb3JlID0gMC47CisgICAgQVZEaWN0aW9uYXJ5ICoqbWV0YWRhdGE7CisgICAgaW50 IHJldDsKKworICAgIHJldCA9IGZmX2ZyYW1lc3luY19kdWFsaW5wdXRfZ2V0KGZzLCAmbWFzdGVy LCAmcmVmKTsKKyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICBpZiAo Y3R4LT5pc19kaXNhYmxlZCB8fCAhcmVmKQorICAgICAgICByZXR1cm4gZmZfZmlsdGVyX2ZyYW1l KGN0eC0+b3V0cHV0c1swXSwgbWFzdGVyKTsKKyAgICBtZXRhZGF0YSA9ICZtYXN0ZXItPm1ldGFk YXRhOworCisgICAgaWYgKHMtPm1heFswXSA+IDI1NSkgeworICAgICAgICBmY29ycjE2KGN0eCwg bWFzdGVyLCByZWYsIGNvbXBfc2NvcmUpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZjb3JyOChj dHgsIG1hc3RlciwgcmVmLCBjb21wX3Njb3JlKTsKKyAgICB9CisKKyAgICBmb3IgKGludCBjID0g MDsgYyA8IHMtPm5iX2NvbXBvbmVudHM7IGMrKykKKyAgICAgICAgc2NvcmUgKz0gY29tcF9zY29y ZVtjXTsKKyAgICBzY29yZSAvPSBzLT5uYl9jb21wb25lbnRzOworICAgIHMtPnNjb3JlICs9IHNj b3JlOworCisgICAgcy0+bWluX3Njb3JlID0gZm1pbihzLT5taW5fc2NvcmUsIHNjb3JlKTsKKyAg ICBzLT5tYXhfc2NvcmUgPSBmbWF4KHMtPm1heF9zY29yZSwgc2NvcmUpOworCisgICAgZm9yIChp bnQgYyA9IDA7IGMgPCBzLT5uYl9jb21wb25lbnRzOyBjKyspCisgICAgICAgIHMtPnNjb3JlX2Nv bXBbY10gKz0gY29tcF9zY29yZVtjXTsKKyAgICBzLT5uYl9mcmFtZXMrKzsKKworICAgIGZvciAo aW50IGogPSAwOyBqIDwgcy0+bmJfY29tcG9uZW50czsgaisrKSB7CisgICAgICAgIGludCBjID0g cy0+aXNfcmdiID8gcy0+cmdiYV9tYXBbal0gOiBqOworICAgICAgICBzZXRfbWV0YShjdHgsIG1l dGFkYXRhLCAiLiIsIHMtPmNvbXBzW2pdLCBjb21wX3Njb3JlW2NdKTsKKyAgICB9CisgICAgc2V0 X21ldGEoY3R4LCBtZXRhZGF0YSwgIl9hdmciLCAwLCBzY29yZSk7CisKKyAgICByZXR1cm4gZmZf ZmlsdGVyX2ZyYW1lKGN0eC0+b3V0cHV0c1swXSwgbWFzdGVyKTsKK30KKworc3RhdGljIGF2X2Nv bGQgaW50IGluaXQoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCit7CisgICAgQ29yckNvbnRleHQgKnMg PSBjdHgtPnByaXY7CisKKyAgICBzLT5mcy5vbl9ldmVudCA9IGRvX2NvcnI7CisKKyAgICByZXR1 cm4gMDsKK30KKworc3RhdGljIGNvbnN0IGVudW0gQVZQaXhlbEZvcm1hdCBwaXhfZm10c1tdID0g eworICAgIEFWX1BJWF9GTVRfR1JBWTgsIEFWX1BJWF9GTVRfR1JBWTksIEFWX1BJWF9GTVRfR1JB WTEwLCBBVl9QSVhfRk1UX0dSQVkxMiwgQVZfUElYX0ZNVF9HUkFZMTQsIEFWX1BJWF9GTVRfR1JB WTE2LAorI2RlZmluZSBQRl9OT0FMUEhBKHN1ZikgQVZfUElYX0ZNVF9ZVVY0MjAjI3N1ZiwgIEFW X1BJWF9GTVRfWVVWNDIyIyNzdWYsICBBVl9QSVhfRk1UX1lVVjQ0NCMjc3VmCisjZGVmaW5lIFBG X0FMUEhBKHN1ZikgICBBVl9QSVhfRk1UX1lVVkE0MjAjI3N1ZiwgQVZfUElYX0ZNVF9ZVVZBNDIy IyNzdWYsIEFWX1BJWF9GTVRfWVVWQTQ0NCMjc3VmCisjZGVmaW5lIFBGKHN1ZikgICAgICAgICBQ Rl9OT0FMUEhBKHN1ZiksIFBGX0FMUEhBKHN1ZikKKyAgICBQRihQKSwgUEYoUDkpLCBQRihQMTAp LCBQRl9OT0FMUEhBKFAxMiksIFBGX05PQUxQSEEoUDE0KSwgUEYoUDE2KSwKKyAgICBBVl9QSVhf Rk1UX1lVVjQ0MFAsIEFWX1BJWF9GTVRfWVVWNDExUCwgQVZfUElYX0ZNVF9ZVVY0MTBQLAorICAg IEFWX1BJWF9GTVRfWVVWSjQxMVAsIEFWX1BJWF9GTVRfWVVWSjQyMFAsIEFWX1BJWF9GTVRfWVVW SjQyMlAsCisgICAgQVZfUElYX0ZNVF9ZVVZKNDQwUCwgQVZfUElYX0ZNVF9ZVVZKNDQ0UCwKKyAg ICBBVl9QSVhfRk1UX0dCUlAsIEFWX1BJWF9GTVRfR0JSUDksIEFWX1BJWF9GTVRfR0JSUDEwLAor ICAgIEFWX1BJWF9GTVRfR0JSUDEyLCBBVl9QSVhfRk1UX0dCUlAxNCwgQVZfUElYX0ZNVF9HQlJQ MTYsCisgICAgQVZfUElYX0ZNVF9HQlJBUCwgQVZfUElYX0ZNVF9HQlJBUDEwLCBBVl9QSVhfRk1U X0dCUkFQMTIsIEFWX1BJWF9GTVRfR0JSQVAxNiwKKyAgICBBVl9QSVhfRk1UX05PTkUKK307CisK K3N0YXRpYyBpbnQgY29uZmlnX2lucHV0X3JlZihBVkZpbHRlckxpbmsgKmlubGluaykKK3sKKyAg ICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KGlu bGluay0+Zm9ybWF0KTsKKyAgICBBVkZpbHRlckNvbnRleHQgKmN0eCAgPSBpbmxpbmstPmRzdDsK KyAgICBDb3JyQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKworICAgIHMtPm5iX2NvbXBvbmVudHMg PSBkZXNjLT5uYl9jb21wb25lbnRzOworICAgIGlmIChjdHgtPmlucHV0c1swXS0+dyAhPSBjdHgt PmlucHV0c1sxXS0+dyB8fAorICAgICAgICBjdHgtPmlucHV0c1swXS0+aCAhPSBjdHgtPmlucHV0 c1sxXS0+aCkgeworICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJXaWR0aCBhbmQg aGVpZ2h0IG9mIGlucHV0IHZpZGVvcyBtdXN0IGJlIHNhbWUuXG4iKTsKKyAgICAgICAgcmV0dXJu IEFWRVJST1IoRUlOVkFMKTsKKyAgICB9CisKKyAgICBzLT5pc19yZ2IgPSBmZl9maWxsX3JnYmFf bWFwKHMtPnJnYmFfbWFwLCBpbmxpbmstPmZvcm1hdCkgPj0gMDsKKyAgICBzLT5jb21wc1swXSA9 IHMtPmlzX3JnYiA/ICdSJyA6ICdZJyA7CisgICAgcy0+Y29tcHNbMV0gPSBzLT5pc19yZ2IgPyAn RycgOiAnVScgOworICAgIHMtPmNvbXBzWzJdID0gcy0+aXNfcmdiID8gJ0InIDogJ1YnIDsKKyAg ICBzLT5jb21wc1szXSA9ICdBJzsKKworICAgIHMtPnBsYW5laGVpZ2h0WzFdID0gcy0+cGxhbmVo ZWlnaHRbMl0gPSBBVl9DRUlMX1JTSElGVChpbmxpbmstPmgsIGRlc2MtPmxvZzJfY2hyb21hX2gp OworICAgIHMtPnBsYW5laGVpZ2h0WzBdID0gcy0+cGxhbmVoZWlnaHRbM10gPSBpbmxpbmstPmg7 CisgICAgcy0+cGxhbmV3aWR0aFsxXSAgPSBzLT5wbGFuZXdpZHRoWzJdICA9IEFWX0NFSUxfUlNI SUZUKGlubGluay0+dywgZGVzYy0+bG9nMl9jaHJvbWFfdyk7CisgICAgcy0+cGxhbmV3aWR0aFsw XSAgPSBzLT5wbGFuZXdpZHRoWzNdICA9IGlubGluay0+dzsKKworICAgIHMtPm1pbl9zY29yZSA9 ICtJTkZJTklUWTsKKyAgICBzLT5tYXhfc2NvcmUgPSAtSU5GSU5JVFk7CisKKyAgICBzLT5tYXhb MF0gPSAoMSA8PCBkZXNjLT5jb21wWzBdLmRlcHRoKSAtIDE7CisgICAgcy0+bWF4WzFdID0gKDEg PDwgZGVzYy0+Y29tcFsxXS5kZXB0aCkgLSAxOworICAgIHMtPm1heFsyXSA9ICgxIDw8IGRlc2Mt PmNvbXBbMl0uZGVwdGgpIC0gMTsKKyAgICBzLT5tYXhbM10gPSAoMSA8PCBkZXNjLT5jb21wWzNd LmRlcHRoKSAtIDE7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjb25maWdfb3V0 cHV0KEFWRmlsdGVyTGluayAqb3V0bGluaykKK3sKKyAgICBBVkZpbHRlckNvbnRleHQgKmN0eCA9 IG91dGxpbmstPnNyYzsKKyAgICBDb3JyQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKyAgICBBVkZp bHRlckxpbmsgKm1haW5saW5rID0gY3R4LT5pbnB1dHNbMF07CisgICAgaW50IHJldDsKKworICAg IHJldCA9IGZmX2ZyYW1lc3luY19pbml0X2R1YWxpbnB1dCgmcy0+ZnMsIGN0eCk7CisgICAgaWYg KHJldCA8IDApCisgICAgICAgIHJldHVybiByZXQ7CisgICAgb3V0bGluay0+dyA9IG1haW5saW5r LT53OworICAgIG91dGxpbmstPmggPSBtYWlubGluay0+aDsKKyAgICBvdXRsaW5rLT50aW1lX2Jh c2UgPSBtYWlubGluay0+dGltZV9iYXNlOworICAgIG91dGxpbmstPnNhbXBsZV9hc3BlY3RfcmF0 aW8gPSBtYWlubGluay0+c2FtcGxlX2FzcGVjdF9yYXRpbzsKKyAgICBvdXRsaW5rLT5mcmFtZV9y YXRlID0gbWFpbmxpbmstPmZyYW1lX3JhdGU7CisgICAgaWYgKChyZXQgPSBmZl9mcmFtZXN5bmNf Y29uZmlndXJlKCZzLT5mcykpIDwgMCkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIG91dGxp bmstPnRpbWVfYmFzZSA9IHMtPmZzLnRpbWVfYmFzZTsKKworICAgIGlmIChhdl9jbXBfcShtYWlu bGluay0+dGltZV9iYXNlLCBvdXRsaW5rLT50aW1lX2Jhc2UpIHx8CisgICAgICAgIGF2X2NtcF9x KGN0eC0+aW5wdXRzWzFdLT50aW1lX2Jhc2UsIG91dGxpbmstPnRpbWVfYmFzZSkpCisgICAgICAg IGF2X2xvZyhjdHgsIEFWX0xPR19XQVJOSU5HLCAibm90IG1hdGNoaW5nIHRpbWViYXNlcyBmb3Vu ZCBiZXR3ZWVuIGZpcnN0IGlucHV0OiAlZC8lZCBhbmQgc2Vjb25kIGlucHV0ICVkLyVkLCByZXN1 bHRzIG1heSBiZSBpbmNvcnJlY3QhXG4iLAorICAgICAgICAgICAgICAgbWFpbmxpbmstPnRpbWVf YmFzZS5udW0sIG1haW5saW5rLT50aW1lX2Jhc2UuZGVuLAorICAgICAgICAgICAgICAgY3R4LT5p bnB1dHNbMV0tPnRpbWVfYmFzZS5udW0sIGN0eC0+aW5wdXRzWzFdLT50aW1lX2Jhc2UuZGVuKTsK KworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFjdGl2YXRlKEFWRmlsdGVyQ29udGV4 dCAqY3R4KQoreworICAgIENvcnJDb250ZXh0ICpzID0gY3R4LT5wcml2OworICAgIHJldHVybiBm Zl9mcmFtZXN5bmNfYWN0aXZhdGUoJnMtPmZzKTsKK30KKworc3RhdGljIGF2X2NvbGQgdm9pZCB1 bmluaXQoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCit7CisgICAgQ29yckNvbnRleHQgKnMgPSBjdHgt PnByaXY7CisKKyAgICBpZiAocy0+bmJfZnJhbWVzID4gMCkgeworICAgICAgICBjaGFyIGJ1Zlsy NTZdOworCisgICAgICAgIGJ1ZlswXSA9IDA7CisgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwg cy0+bmJfY29tcG9uZW50czsgaisrKSB7CisgICAgICAgICAgICBpbnQgYyA9IHMtPmlzX3JnYiA/ IHMtPnJnYmFfbWFwW2pdIDogajsKKyAgICAgICAgICAgIGF2X3N0cmxjYXRmKGJ1Ziwgc2l6ZW9m KGJ1ZiksICIgJWM6JWYiLCBzLT5jb21wc1tqXSwgcy0+c2NvcmVfY29tcFtjXSAvIHMtPm5iX2Zy YW1lcyk7CisgICAgICAgIH0KKworICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywgIiVz JXMgYXZlcmFnZTolZiBtaW46JWYgbWF4OiVmXG4iLAorICAgICAgICAgICAgICAgY3R4LT5maWx0 ZXItPm5hbWUsCisgICAgICAgICAgICAgICBidWYsCisgICAgICAgICAgICAgICBzLT5zY29yZSAv IHMtPm5iX2ZyYW1lcywKKyAgICAgICAgICAgICAgIHMtPm1pbl9zY29yZSwKKyAgICAgICAgICAg ICAgIHMtPm1heF9zY29yZSk7CisgICAgfQorCisgICAgZmZfZnJhbWVzeW5jX3VuaW5pdCgmcy0+ ZnMpOworfQorCitzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgY29ycl9pbnB1dHNbXSA9IHsKKyAg ICB7CisgICAgICAgIC5uYW1lICAgICAgICAgPSAibWFpbiIsCisgICAgICAgIC50eXBlICAgICAg ICAgPSBBVk1FRElBX1RZUEVfVklERU8sCisgICAgfSx7CisgICAgICAgIC5uYW1lICAgICAgICAg PSAicmVmZXJlbmNlIiwKKyAgICAgICAgLnR5cGUgICAgICAgICA9IEFWTUVESUFfVFlQRV9WSURF TywKKyAgICAgICAgLmNvbmZpZ19wcm9wcyA9IGNvbmZpZ19pbnB1dF9yZWYsCisgICAgfSwKK307 CisKK3N0YXRpYyBjb25zdCBBVkZpbHRlclBhZCBjb3JyX291dHB1dHNbXSA9IHsKKyAgICB7Cisg ICAgICAgIC5uYW1lICAgICAgICAgID0gImRlZmF1bHQiLAorICAgICAgICAudHlwZSAgICAgICAg ICA9IEFWTUVESUFfVFlQRV9WSURFTywKKyAgICAgICAgLmNvbmZpZ19wcm9wcyAgPSBjb25maWdf b3V0cHV0LAorICAgIH0sCit9OworCitzdGF0aWMgY29uc3QgQVZPcHRpb24gb3B0aW9uc1tdID0g eworICAgIHsgTlVMTCB9Cit9OworCisjZGVmaW5lIGNvcnJfb3B0aW9ucyBvcHRpb25zCitGUkFN RVNZTkNfREVGSU5FX0NMQVNTKGNvcnIsIENvcnJDb250ZXh0LCBmcyk7CisKK2NvbnN0IEFWRmls dGVyIGZmX3ZmX2NvcnIgPSB7CisgICAgLm5hbWUgICAgICAgICAgPSAiY29yciIsCisgICAgLmRl c2NyaXB0aW9uICAgPSBOVUxMX0lGX0NPTkZJR19TTUFMTCgiQ2FsY3VsYXRlIHRoZSBjb3JyZWxh dGlvbiBiZXR3ZWVuIHR3byB2aWRlbyBzdHJlYW1zLiIpLAorICAgIC5wcmVpbml0ICAgICAgID0g Y29ycl9mcmFtZXN5bmNfcHJlaW5pdCwKKyAgICAuaW5pdCAgICAgICAgICA9IGluaXQsCisgICAg LnVuaW5pdCAgICAgICAgPSB1bmluaXQsCisgICAgLmFjdGl2YXRlICAgICAgPSBhY3RpdmF0ZSwK KyAgICAucHJpdl9zaXplICAgICA9IHNpemVvZihDb3JyQ29udGV4dCksCisgICAgLnByaXZfY2xh c3MgICAgPSAmY29ycl9jbGFzcywKKyAgICBGSUxURVJfSU5QVVRTKGNvcnJfaW5wdXRzKSwKKyAg ICBGSUxURVJfT1VUUFVUUyhjb3JyX291dHB1dHMpLAorICAgIEZJTFRFUl9QSVhGTVRTX0FSUkFZ KHBpeF9mbXRzKSwKKyAgICAuZmxhZ3MgICAgICAgICA9IEFWRklMVEVSX0ZMQUdfU1VQUE9SVF9U SU1FTElORV9JTlRFUk5BTCB8CisgICAgICAgICAgICAgICAgICAgICBBVkZJTFRFUl9GTEFHX1NM SUNFX1RIUkVBRFMgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgQVZGSUxURVJf RkxBR19NRVRBREFUQV9PTkxZLAorfTsKLS0gCjIuMzcuMgoK --00000000000086599005ef2f7f1c 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". --00000000000086599005ef2f7f1c--