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 D9EF246141 for ; Sun, 7 May 2023 23:31:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BD12368BE8D; Mon, 8 May 2023 02:31:09 +0300 (EEST) Received: from mail-ua1-f45.google.com (mail-ua1-f45.google.com [209.85.222.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 549D168B6CA for ; Mon, 8 May 2023 02:31:03 +0300 (EEST) Received: by mail-ua1-f45.google.com with SMTP id a1e0cc1a2514c-77e80c37af1so1023474241.0 for ; Sun, 07 May 2023 16:31:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683502262; x=1686094262; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=DnvHjOWosgTkdSBLabD8gl8az8Liw246Hu1lbnfb9Ds=; b=RSBbPIac3/a/G5E9oZQx1hBvCv3i7SJUB0KqzTL2MZR5PoGVz4rFnjGr7syYBZCXsB j73faCjnTXXooaw6EJjnujXC9AcKEA/CseCWDgOYpZ8ihS5LCBIl4gxZplqgnx0/+atP 4vTlFSuMm+0OBp2HOJ3ef83W6H7DObOnqhuG/9lpsY10+KNnDa1u3JX/rTElY1rd2NG+ z5A1mXSzbCRZ4ocUviGmomNx+sSzETinf29Yph3IAGApqWC0pqKY3ZSz8AXAQhXyIokh uF1b/Ve+oZZspP2v24FNGgZ/RJk4z11tvJetZT9t08t3vaazqdeSo112sYnhlL4/sEJz s/Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683502262; x=1686094262; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=DnvHjOWosgTkdSBLabD8gl8az8Liw246Hu1lbnfb9Ds=; b=hcpeSeGVFzOZ/CQB20ZHWNirxaDqlEfSt3nwAyysv5pzWGn2jDsilhwJrFohC33ypP piX1eCV45cXI8mnQxhCv+5uN6A/Gu919hPsd7hbgOG4JOcJwYMazDYrD1GIS5hAioB/P KoC1G7C1QpMjHeyWG11xNQ20C/Mufjs++4odX7PAIkRRdU9o8cNC8xBc/kpIuNGq/RGo RJ2E342iVGMGTsumZv/GTcN8DIzJpWIwhspYbOD+2pGDgzCxNRV/lG9ZhgH5tvTa2zVV GnITBfLiYYp2ls9gcZFmEDvEzpEVT1Wh6+mItsd8iCtSgHM1j03j8PhDzOmOi6c1RruO FgUg== X-Gm-Message-State: AC+VfDyiCjnTHaL1frf3ktJ4pgixLOqXlNVfdfMfC+VYPsEcRlaj3+T0 bFlsGwqMN3AaUSqAaTbw2LO2PTXo7XD5lmeJXDIrMqED X-Google-Smtp-Source: ACHHUZ5CXHVNm5+Hq0cTGfBfCrNU0LykMKXDt372f4r1ALIsqlgwLW0kirXMA4Zg6dWFNVYRDCyAGBHefp/sWwpd3QU= X-Received: by 2002:a67:f8cf:0:b0:426:2a37:4a6b with SMTP id c15-20020a67f8cf000000b004262a374a6bmr2988598vsp.25.1683502261807; Sun, 07 May 2023 16:31:01 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Paul B Mahol Date: Mon, 8 May 2023 01:30:34 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000004b446605fb22eac6" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avfilter: add zoneplate video source 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: --0000000000004b446605fb22eac6 Content-Type: text/plain; charset="UTF-8" New version, faster and with slice threading and docs. --0000000000004b446605fb22eac6 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avfilter-add-zoneplate-video-test-source.patch" Content-Disposition: attachment; filename="0001-avfilter-add-zoneplate-video-test-source.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhe1rbhj0 RnJvbSA4YjlhYjZlMzQwMWQ2OWYxMTViNWQzMzFmZWM3M2ZkOGMwMWVhMWJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgNiBNYXkgMjAyMyAyMjo1Mjo0NyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGF2ZmlsdGVy OiBhZGQgem9uZXBsYXRlIHZpZGVvIHRlc3Qgc291cmNlCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEIg TWFob2wgPG9uZW1kYUBnbWFpbC5jb20+Ci0tLQogZG9jL2ZpbHRlcnMudGV4aSAgICAgICAgICAg fCAgOTYgKysrKysrKysrKysrKysrKysrKysrKysKIGxpYmF2ZmlsdGVyL01ha2VmaWxlICAgICAg IHwgICAxICsKIGxpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYyAgIHwgICAxICsKIGxpYmF2ZmlsdGVy L3ZzcmNfdGVzdHNyYy5jIHwgMTU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIDQgZmlsZXMgY2hhbmdlZCwgMjU1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2Mv ZmlsdGVycy50ZXhpIGIvZG9jL2ZpbHRlcnMudGV4aQppbmRleCA4YjQ0M2MyNGU5Li5kN2M4Mjhk MTE5IDEwMDY0NAotLS0gYS9kb2MvZmlsdGVycy50ZXhpCisrKyBiL2RvYy9maWx0ZXJzLnRleGkK QEAgLTI4MDgwLDYgKzI4MDgwLDEwMiBAQCBTZXQgbWF4IGp1bXAgZm9yIHNpbmdsZSBwYW4gZGVz dGluYXRpb24uIEFsbG93ZWQgcmFuZ2UgaXMgZnJvbSAxIHRvIDEwMDAwLgogU2V0IGZyYWN0YWwg dHlwZSwgY2FuIGJlIGRlZmF1bHQgQGNvZGV7Y2FycGV0fSBvciBAY29kZXt0cmlhbmdsZX0uCiBA ZW5kIHRhYmxlCiAKK0BzZWN0aW9uIHpvbmVwbGF0ZQorR2VuZXJhdGVzIGEgem9uZXBsYXRlIHRl c3QgdmlkZW8gcGF0dGVybi4KK051bWVyb3VzIG9wdGlvbnMgZm9yIHNpZ25hbCBjb250cm9scyBv dXRwdXQgcGhhc2UgaW4gYWxsIHRocmVlIGF4aXMuCisKK1RoaXMgc291cmNlIGFjY2VwdHMgdGhl IGZvbGxvd2luZyBvcHRpb25zOgorCitAdGFibGUgQG9wdGlvbgorQGl0ZW0gc2l6ZSwgcworU2V0 IGZyYW1lIHNpemUuIEZvciB0aGUgc3ludGF4IG9mIHRoaXMgb3B0aW9uLCBjaGVjayB0aGUgQHJl Znt2aWRlbyBzaXplIHN5bnRheCwsIlZpZGVvCitzaXplIiBzZWN0aW9uIGluIHRoZSBmZm1wZWct dXRpbHMgbWFudWFsLGZmbXBlZy11dGlsc30uIERlZmF1bHQgdmFsdWUgaXMgIjMyMHgyNDAiLgor CitAaXRlbSByYXRlLCByCitTZXQgZnJhbWUgcmF0ZSwgZXhwcmVzc2VkIGFzIG51bWJlciBvZiBm cmFtZXMgcGVyIHNlY29uZC4gRGVmYXVsdAordmFsdWUgaXMgIjI1Ii4KKworQGl0ZW0gZHVyYXRp b24sIGQKK1NldCB0aGUgZHVyYXRpb24gb2YgdGhlIHNvdXJjZWQgdmlkZW8uIFNlZQorQHJlZnt0 aW1lIGR1cmF0aW9uIHN5bnRheCwsdGhlIFRpbWUgZHVyYXRpb24gc2VjdGlvbiBpbiB0aGUgZmZt cGVnLXV0aWxzKDEpIG1hbnVhbCxmZm1wZWctdXRpbHN9Citmb3IgdGhlIGFjY2VwdGVkIHN5bnRh eC4KKworSWYgbm90IHNwZWNpZmllZCwgb3IgdGhlIGV4cHJlc3NlZCBkdXJhdGlvbiBpcyBuZWdh dGl2ZSwgdGhlIHZpZGVvIGlzCitzdXBwb3NlZCB0byBiZSBnZW5lcmF0ZWQgZm9yZXZlci4KKwor QGl0ZW0gc2FyCitTZXQgdGhlIHNhbXBsZSBhc3BlY3QgcmF0aW8gb2YgdGhlIHNvdXJjZWQgdmlk ZW8uCisKK0BpdGVtIHByZWNpc2lvbgorU2V0IHByZWNpc2lvbiBpbiBiaXRzIGZvciBsb29rLXVw IHRhYmxlIGZvciBzaW5lIGNhbGN1bGF0aW9ucy4gRGVmYXVsdCB2YWx1ZSBpcyAxMC4KK0FsbG93 ZWQgcmFuZ2UgaXMgZnJvbSA0IHRvIDE2LgorCitAaXRlbSB4bworU2V0IGhvcml6b250YWwgYXhp cyBvZmZzZXQgZm9yIG91dHB1dCBzaWduYWwuIERlZmF1bHQgdmFsdWUgaXMgMC4KKworQGl0ZW0g eW8KK1NldCB2ZXJ0aWNhbCBheGlzIG9mZnNldCBmb3Igb3V0cHV0IHNpZ25hbC4gRGVmYXVsdCB2 YWx1ZSBpcyAwLgorCitAaXRlbSBrMAorU2V0IDAtb3JkZXIsIGNvbnN0YW50IGFkZGVkIHRvIHNp Z25hbCBwaGFzZS4gRGVmYXVsdCB2YWx1ZSBpcyAwLgorCitAaXRlbSBreAorU2V0IDEtb3JkZXIs IHBoYXNlIGZhY3RvciBtdWx0aXBsaWVyIGZvciBob3Jpem9udGFsIGF4aXMuIERlZmF1bHQgdmFs dWUgaXMgMC4KKworQGl0ZW0ga3kKK1NldCAxLW9yZGVyLCBwaGFzZSBmYWN0b3IgbXVsdGlwbGll ciBmb3IgdmVydGljYWwgYXhpcy4gRGVmYXVsdCB2YWx1ZSBpcyAwLgorCitAaXRlbSBrdAorU2V0 IDEtb3JkZXIsIHBoYXNlIGZhY3RvciBtdWx0aXBsaWVyIGZvciB0aW1lIGF4aXMuIERlZmF1bHQg dmFsdWUgaXMgMC4KKworQGl0ZW0ga3h0LCBreXQsIGt4eQorU2V0IHBoYXNlIGZhY3RvciBtdWx0 aXBsaWVycyBmb3IgY29tYmluYXRpb24gb2Ygc3BhdGlhbCBhbmQgdGVtcG9yYWwgYXhpcy4KK0Rl ZmF1bHQgdmFsdWUgaXMgMC4KKworQGl0ZW0ga3gyCitTZXQgMi1vcmRlciwgcGhhc2UgZmFjdG9y IG11bHRpcGxpZXIgZm9yIGhvcml6b250YWwgYXhpcy4gRGVmYXVsdCB2YWx1ZSBpcyAwLgorCitA aXRlbSBreTIKK1NldCAyLW9yZGVyLCBwaGFzZSBmYWN0b3IgbXVsdGlwbGllciBmb3IgdmVydGlj YWwgYXhpcy4gRGVmYXVsdCB2YWx1ZSBpcyAwLgorCitAaXRlbSBrdDIKK1NldCAyLW9yZGVyLCBw aGFzZSBmYWN0b3IgbXVsdGlwbGllciBmb3IgdGltZSBheGlzLiBEZWZhdWx0IHZhbHVlIGlzIDAu CisKK0BpdGVtIGt1CitTZXQgdGhlIGNvbnN0YW50IGFkZGVkIHRvIGZpbmFsIHBoYXNlIHRvIHBy b2R1Y2UgY2hyb21hLWJsdWUgY29tcG9uZW50IG9mIHNpZ25hbC4KK0RlZmF1bHQgdmFsdWUgaXMg MC4KKworQGl0ZW0ga3YKK1NldCB0aGUgY29uc3RhbnQgYWRkZWQgdG8gZmluYWwgcGhhc2UgdG8g cHJvZHVjZSBjaHJvbWEtcmVkIGNvbXBvbmVudCBvZiBzaWduYWwuCitEZWZhdWx0IHZhbHVlIGlz IDAuCitAZW5kIHRhYmxlCisKK0BzdWJzZWN0aW9uIENvbW1hbmRzCisKK0ZpbHRlciBzdXBwb3J0 cyB0aGUgc29tZSBhYm92ZSBvcHRpb25zIGFzIEByZWZ7Y29tbWFuZHN9LgorCitAc3Vic2VjdGlv biBFeGFtcGxlcworCitAaXRlbWl6ZQorQGl0ZW0KK0dlbmVyYXRlIGhvcml6b250YWwgY29sb3Ig c2luZSBzd2VlcDoKK0BleGFtcGxlCit6b25lcGxhdGU9a3U9NTEyOmt2PTA6a3QyPTA6a3gyPTI1 NjpzPXd2Z2E6eG89LTQyNjprdD0xMQorQGVuZCBleGFtcGxlCisKK0BpdGVtCitHZW5lcmF0ZSB2 ZXJ0aWNhbCBjb2xvciBzaW5lIHN3ZWVwOgorQGV4YW1wbGUKK3pvbmVwbGF0ZT1rdT01MTI6a3Y9 MDprdDI9MDpreTI9MTU2OnM9d3ZnYTp5bz0tMjQwOmt0PTExCitAZW5kIGV4YW1wbGUKKworQGl0 ZW0KK0dlbmVyYXRlIGNpcmN1bGFyIHpvbmUtcGxhdGU6CitAZXhhbXBsZQorem9uZXBsYXRlPWt1 PTUxMjprdj0xMDA6a3QyPTA6a3kyPTI1NjpreDI9NTU2OnM9d3ZnYTp5bz0wOmt0PTExCitAZW5k IGV4YW1wbGUKK0BlbmQgaXRlbWl6ZQorCiBAYyBtYW4gZW5kIFZJREVPIFNPVVJDRVMKIAogQGNo YXB0ZXIgVmlkZW8gU2lua3MKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL01ha2VmaWxlIGIvbGli YXZmaWx0ZXIvTWFrZWZpbGUKaW5kZXggOTNjNjE0ZWViNy4uOWZiOWExMDk1ZiAxMDA2NDQKLS0t IGEvbGliYXZmaWx0ZXIvTWFrZWZpbGUKKysrIGIvbGliYXZmaWx0ZXIvTWFrZWZpbGUKQEAgLTU5 OCw2ICs1OTgsNyBAQCBPQkpTLSQoQ09ORklHX1NNUFRFSERCQVJTX0ZJTFRFUikgICAgICAgICAg ICArPSB2c3JjX3Rlc3RzcmMubwogT0JKUy0kKENPTkZJR19URVNUU1JDX0ZJTFRFUikgICAgICAg ICAgICAgICAgKz0gdnNyY190ZXN0c3JjLm8KIE9CSlMtJChDT05GSUdfVEVTVFNSQzJfRklMVEVS KSAgICAgICAgICAgICAgICs9IHZzcmNfdGVzdHNyYy5vCiBPQkpTLSQoQ09ORklHX1lVVlRFU1RT UkNfRklMVEVSKSAgICAgICAgICAgICArPSB2c3JjX3Rlc3RzcmMubworT0JKUy0kKENPTkZJR19a T05FUExBVEVfRklMVEVSKSAgICAgICAgICAgICAgKz0gdnNyY190ZXN0c3JjLm8KIAogT0JKUy0k KENPTkZJR19OVUxMU0lOS19GSUxURVIpICAgICAgICAgICAgICAgKz0gdnNpbmtfbnVsbHNpbmsu bwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMgYi9saWJhdmZpbHRlci9h bGxmaWx0ZXJzLmMKaW5kZXggMWMwYmMxMmE5Mi4uMDI1OTY2ZGM0NSAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvYWxsZmlsdGVycy5jCisrKyBiL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYwpAQCAt NTYzLDYgKzU2Myw3IEBAIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92c3JjX3NtcHRlaGRiYXJz OwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZzcmNfdGVzdHNyYzsKIGV4dGVybiBjb25zdCBB VkZpbHRlciBmZl92c3JjX3Rlc3RzcmMyOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZzcmNf eXV2dGVzdHNyYzsKK2V4dGVybiBjb25zdCBBVkZpbHRlciBmZl92c3JjX3pvbmVwbGF0ZTsKIAog ZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZzaW5rX251bGxzaW5rOwogCmRpZmYgLS1naXQgYS9s aWJhdmZpbHRlci92c3JjX3Rlc3RzcmMuYyBiL2xpYmF2ZmlsdGVyL3ZzcmNfdGVzdHNyYy5jCmlu ZGV4IGYzOTFhYzAyZTAuLjFlNzRhMGU0MmUgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZzcmNf dGVzdHNyYy5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZzcmNfdGVzdHNyYy5jCkBAIC04OCw2ICs4OCwx NCBAQCB0eXBlZGVmIHN0cnVjdCBUZXN0U291cmNlQ29udGV4dCB7CiAKICAgICAvKiBvbmx5IHVz ZWQgYnkgaGFsZGNsdXQgKi8KICAgICBpbnQgbGV2ZWw7CisKKyAgICAvKiBvbmx5IHVzZWQgYnkg em9uZXBsYXRlICovCisgICAgaW50IGswLCBreCwga3ksIGt0OworICAgIGludCBreHQsIGt5dCwg a3h5OworICAgIGludCBreDIsIGt5Miwga3QyOworICAgIGludCB4bywgeW8sIGtVLCBrVjsKKyAg ICBpbnQgbHV0X3ByZWNpc2lvbjsKKyAgICB1aW50OF90ICpsdXQ7CiB9IFRlc3RTb3VyY2VDb250 ZXh0OwogCiAjZGVmaW5lIE9GRlNFVCh4KSBvZmZzZXRvZihUZXN0U291cmNlQ29udGV4dCwgeCkK QEAgLTEzNSw2ICsxNDMsNyBAQCBzdGF0aWMgYXZfY29sZCB2b2lkIHVuaW5pdChBVkZpbHRlckNv bnRleHQgKmN0eCkKICAgICBUZXN0U291cmNlQ29udGV4dCAqdGVzdCA9IGN0eC0+cHJpdjsKIAog ICAgIGF2X2ZyYW1lX2ZyZWUoJnRlc3QtPnBpY3JlZik7CisgICAgYXZfZnJlZXAoJnRlc3QtPmx1 dCk7CiB9CiAKIHN0YXRpYyBpbnQgY29uZmlnX3Byb3BzKEFWRmlsdGVyTGluayAqb3V0bGluaykK QEAgLTIwNDksMyArMjA1OCwxNTEgQEAgY29uc3QgQVZGaWx0ZXIgZmZfdnNyY19jb2xvcmNoYXJ0 ID0gewogfTsKIAogI2VuZGlmIC8qIENPTkZJR19DT0xPUkNIQVJUX0ZJTFRFUiAqLworCisjaWYg Q09ORklHX0NPTE9SQ0hBUlRfRklMVEVSCisKK3N0YXRpYyBjb25zdCBBVk9wdGlvbiB6b25lcGxh dGVfb3B0aW9uc1tdID0geworICAgIENPTU1PTl9PUFRJT05TCisgICAgeyAicHJlY2lzaW9uIiwg InNldCBMVVQgcHJlY2lzaW9uIiwgT0ZGU0VUKGx1dF9wcmVjaXNpb24pLCBBVl9PUFRfVFlQRV9J TlQsIHsuaTY0PTEwfSwgNCwgMTYsIEZMQUdTIH0sCisgICAgeyAieG8iLCAic2V0IHgtYXhpcyBv ZmZzZXQiLCBPRkZTRVQoeG8pLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0PTB9LCBJTlRfTUlOLCBJ TlRfTUFYLCBGTEFHU1IgfSwKKyAgICB7ICJ5byIsICJzZXQgeS1heGlzIG9mZnNldCIsIE9GRlNF VCh5byksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQ9MH0sIElOVF9NSU4sIElOVF9NQVgsIEZMQUdT UiB9LAorICAgIHsgImswIiwgInNldCAwLW9yZGVyIHBoYXNlIiwgT0ZGU0VUKGswKSwgQVZfT1BU X1RZUEVfSU5ULCB7Lmk2ND0wfSwgSU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAi a3giLCAic2V0IDEtb3JkZXIgWC1heGlzIHBoYXNlIiwgT0ZGU0VUKGt4KSwgQVZfT1BUX1RZUEVf SU5ULCB7Lmk2ND0wfSwgSU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAia3kiLCAi c2V0IDEtb3JkZXIgWS1heGlzIHBoYXNlIiwgT0ZGU0VUKGt5KSwgQVZfT1BUX1RZUEVfSU5ULCB7 Lmk2ND0wfSwgSU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAia3QiLCAic2V0IDEt b3JkZXIgVC1heGlzIHBoYXNlIiwgT0ZGU0VUKGt0KSwgQVZfT1BUX1RZUEVfSU5ULCB7Lmk2ND0w fSwgSU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAia3h0IiwgInNldCBYLWF4aXMq VC1heGlzIHByb2R1Y3QgcGhhc2UiLCBPRkZTRVQoa3h0KSwgQVZfT1BUX1RZUEVfSU5ULCB7Lmk2 ND0wfSwgSU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAia3l0IiwgInNldCBZLWF4 aXMqVC1heGlzIHByb2R1Y3QgcGhhc2UiLCBPRkZTRVQoa3l0KSwgQVZfT1BUX1RZUEVfSU5ULCB7 Lmk2ND0wfSwgSU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAia3h5IiwgInNldCBY LWF4aXMqWS1heGlzIHByb2R1Y3QgcGhhc2UiLCBPRkZTRVQoa3h5KSwgQVZfT1BUX1RZUEVfSU5U LCB7Lmk2ND0wfSwgSU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAia3gyIiwgInNl dCAyLW9yZGVyIFgtYXhpcyBwaGFzZSIsIE9GRlNFVChreDIpLCBBVl9PUFRfVFlQRV9JTlQsIHsu aTY0PTB9LCBJTlRfTUlOLCBJTlRfTUFYLCBGTEFHU1IgfSwKKyAgICB7ICJreTIiLCAic2V0IDIt b3JkZXIgWS1heGlzIHBoYXNlIiwgT0ZGU0VUKGt5MiksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQ9 MH0sIElOVF9NSU4sIElOVF9NQVgsIEZMQUdTUiB9LAorICAgIHsgImt0MiIsICJzZXQgMi1vcmRl ciBULWF4aXMgcGhhc2UiLCBPRkZTRVQoa3QyKSwgQVZfT1BUX1RZUEVfSU5ULCB7Lmk2ND0wfSwg SU5UX01JTiwgSU5UX01BWCwgRkxBR1NSIH0sCisgICAgeyAia3UiLCAic2V0IDAtb3JkZXIgVS1j b2xvciBwaGFzZSIsIE9GRlNFVChrVSksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQ9MH0sIElOVF9N SU4sIElOVF9NQVgsIEZMQUdTUiB9LAorICAgIHsgImt2IiwgInNldCAwLW9yZGVyIFYtY29sb3Ig cGhhc2UiLCBPRkZTRVQoa1YpLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0PTB9LCBJTlRfTUlOLCBJ TlRfTUFYLCBGTEFHU1IgfSwKKyAgICB7IE5VTEwgfQorfTsKKworQVZGSUxURVJfREVGSU5FX0NM QVNTKHpvbmVwbGF0ZSk7CisKK3N0YXRpYyBpbnQgem9uZXBsYXRlX2NvbmZpZ19wcm9wcyhBVkZp bHRlckxpbmsgKmlubGluaykKK3sKKyAgICBBVkZpbHRlckNvbnRleHQgKmN0eCA9IGlubGluay0+ c3JjOworICAgIFRlc3RTb3VyY2VDb250ZXh0ICpzID0gY3R4LT5wcml2OworCisgICAgaWYgKGF2 X2ltYWdlX2NoZWNrX3NpemUocy0+dywgcy0+aCwgMCwgY3R4KSA8IDApCisgICAgICAgIHJldHVy biBBVkVSUk9SKEVJTlZBTCk7CisgICAgcmV0dXJuIGNvbmZpZ19wcm9wcyhpbmxpbmspOworfQor CitzdGF0aWMgdm9pZCB6b25lcGxhdGVfZmlsbF9zbGljZShBVkZpbHRlckNvbnRleHQgKmN0eCwg dm9pZCAqYXJnLCBpbnQgam9iLCBpbnQgbmJfam9icykKK3sKKyAgICBUZXN0U291cmNlQ29udGV4 dCAqdGVzdCA9IGN0eC0+cHJpdjsKKyAgICBBVkZyYW1lICpmcmFtZSA9IGFyZzsKKyAgICBjb25z dCBpbnQgdyA9IGZyYW1lLT53aWR0aDsKKyAgICBjb25zdCBpbnQgaCA9IGZyYW1lLT5oZWlnaHQ7 CisgICAgY29uc3QgaW50IGt4dCA9IHRlc3QtPmt4dCwga3l0ID0gdGVzdC0+a3l0LCBreDIgPSB0 ZXN0LT5reDI7CisgICAgY29uc3QgaW50IHQgPSB0ZXN0LT5wdHMsIGswID0gdGVzdC0+azA7Cisg ICAgY29uc3QgaW50IGt0ID0gdGVzdC0+a3QsIGt0MiA9IHRlc3QtPmt0Miwga3kyID0gdGVzdC0+ a3kyOworICAgIGNvbnN0IGludCBreSA9IHRlc3QtPmt5LCBreCA9IHRlc3QtPmt4LCBreHkgPSB0 ZXN0LT5reHk7CisgICAgY29uc3QgaW50IGx1dF9tYXNrID0gKDEgPDwgdGVzdC0+bHV0X3ByZWNp c2lvbikgLSAxOworICAgIGNvbnN0IGludCBua3QydCA9IGt0MiAqIHQgKiB0LCBua3R0ID0ga3Qg KiB0OworICAgIGNvbnN0IGludCBzdGFydCA9IChoICogIGpvYiAgICkgLyBuYl9qb2JzOworICAg IGNvbnN0IGludCBlbmQgICA9IChoICogKGpvYisxKSkgLyBuYl9qb2JzOworICAgIGNvbnN0IGlu dCB5bGluZXNpemUgPSBmcmFtZS0+bGluZXNpemVbMF07CisgICAgY29uc3QgaW50IHVsaW5lc2l6 ZSA9IGZyYW1lLT5saW5lc2l6ZVsxXTsKKyAgICBjb25zdCBpbnQgdmxpbmVzaXplID0gZnJhbWUt PmxpbmVzaXplWzJdOworICAgIGNvbnN0IGludCB4cmVzZXQgPSAtKHcgLyAyKSAtIHRlc3QtPnhv OworICAgIGNvbnN0IGludCB5cmVzZXQgPSAtKGggLyAyKSAtIHRlc3QtPnlvICsgc3RhcnQ7Cisg ICAgY29uc3QgaW50IGtVID0gdGVzdC0+a1UsIGtWID0gdGVzdC0+a1Y7CisgICAgY29uc3QgaW50 IHNreHkgPSAweGZmZmYgLyAodyAvIDIpOworICAgIGNvbnN0IGludCBza3gyID0gMHhmZmZmIC8g dzsKKyAgICBjb25zdCBpbnQgZGt4dCA9IGt4dCAqIHQ7CisgICAgaW50IGFreCwgYWt4dCwgYWt5 LCBha3l0OworICAgIHVpbnQ4X3QgKnlkc3QgPSBmcmFtZS0+ZGF0YVswXSArIHN0YXJ0ICogeWxp bmVzaXplOworICAgIHVpbnQ4X3QgKnVkc3QgPSBmcmFtZS0+ZGF0YVsxXSArIHN0YXJ0ICogdWxp bmVzaXplOworICAgIHVpbnQ4X3QgKnZkc3QgPSBmcmFtZS0+ZGF0YVsyXSArIHN0YXJ0ICogdmxp bmVzaXplOworICAgIGNvbnN0IHVpbnQ4X3QgKmx1dCA9IHRlc3QtPmx1dDsKKworICAgIGFreSA9 IHN0YXJ0ICoga3k7CisgICAgYWt5dCA9IHN0YXJ0ICoga3l0ICogdDsKKworICAgIGZvciAoaW50 IGogPSBzdGFydCwgeSA9IHlyZXNldDsgaiA8IGVuZDsgaisrLCB5KyspIHsKKyAgICAgICAgY29u c3QgaW50IGRreHkgPSBreHkgKiB5ICogc2t4eTsKKyAgICAgICAgY29uc3QgaW50IG5reTJrdDIg PSAoa3kyICogeSAqIHkpIC8gaCArIChua3QydCA+PiAxKTsKKyAgICAgICAgaW50IGFreHkgPSBk a3h5ICogeHJlc2V0OworCisgICAgICAgIGFreCA9IDA7CisgICAgICAgIGFreHQgPSAwOworICAg ICAgICBha3kgKz0ga3k7CisgICAgICAgIGFreXQgKz0ga3l0ICogdDsKKyAgICAgICAgZm9yIChp bnQgaSA9IDAsIHggPSB4cmVzZXQ7IGkgPCB3OyBpKyssIHgrKykgeworICAgICAgICAgICAgaW50 IHBoYXNlID0gazAsIHVwaGFzZSA9IGtVLCB2cGhhc2UgPSBrVjsKKworICAgICAgICAgICAgYWt4 ICs9IGt4OworICAgICAgICAgICAgcGhhc2UgKz0gYWt4ICsgYWt5ICsgbmt0dDsKKworICAgICAg ICAgICAgYWt4dCArPSBka3h0OworICAgICAgICAgICAgYWt4eSArPSBka3h5OworICAgICAgICAg ICAgcGhhc2UgKz0gYWt4dCArIGFreXQ7CisgICAgICAgICAgICBwaGFzZSArPSBha3h5ID4+IDE2 OworICAgICAgICAgICAgcGhhc2UgKz0gKChreDIgKiB4ICogeCAqIHNreDIpID4+IDE2KSArIG5r eTJrdDI7CisgICAgICAgICAgICB1cGhhc2UgKz0gcGhhc2U7CisgICAgICAgICAgICB2cGhhc2Ug Kz0gcGhhc2U7CisKKyAgICAgICAgICAgIHlkc3RbaV0gPSBsdXRbcGhhc2UgICYgbHV0X21hc2td OworICAgICAgICAgICAgdWRzdFtpXSA9IGx1dFt1cGhhc2UgJiBsdXRfbWFza107CisgICAgICAg ICAgICB2ZHN0W2ldID0gbHV0W3ZwaGFzZSAmIGx1dF9tYXNrXTsKKyAgICAgICAgfQorCisgICAg ICAgIHlkc3QgKz0geWxpbmVzaXplOworICAgICAgICB1ZHN0ICs9IHVsaW5lc2l6ZTsKKyAgICAg ICAgdmRzdCArPSB2bGluZXNpemU7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCB6b25lcGxhdGVf ZmlsbF9waWN0dXJlKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBBVkZyYW1lICpmcmFtZSkKK3sKKyAg ICBmZl9maWx0ZXJfZXhlY3V0ZShjdHgsIHpvbmVwbGF0ZV9maWxsX3NsaWNlLCBmcmFtZSwgTlVM TCwKKyAgICAgICAgICAgICAgICAgICAgICBGRk1JTihmcmFtZS0+aGVpZ2h0LCBmZl9maWx0ZXJf Z2V0X25iX3RocmVhZHMoY3R4KSkpOworfQorCitzdGF0aWMgYXZfY29sZCBpbnQgem9uZXBsYXRl X2luaXQoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCit7CisgICAgVGVzdFNvdXJjZUNvbnRleHQgKnRl c3QgPSBjdHgtPnByaXY7CisgICAgY29uc3QgaW50IGx1dF9zaXplID0gMSA8PCB0ZXN0LT5sdXRf cHJlY2lzaW9uOworCisgICAgdGVzdC0+bHV0ID0gYXZfY2FsbG9jKGx1dF9zaXplLCBzaXplb2Yo KnRlc3QtPmx1dCkpOworICAgIGlmICghdGVzdC0+bHV0KQorICAgICAgICByZXR1cm4gQVZFUlJP UihFTk9NRU0pOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsdXRfc2l6ZTsgaSsrKQorICAg ICAgICB0ZXN0LT5sdXRbaV0gPSBscmludGYoMjU1LmYgKiAoMC41ZiArIDAuNWYgKiBzaW5mKCgy LmYgKiBNX1BJICogaSkgLyBsdXRfc2l6ZSkpKTsKKworICAgIHRlc3QtPmRyYXdfb25jZSA9IDA7 CisgICAgdGVzdC0+ZmlsbF9waWN0dXJlX2ZuID0gem9uZXBsYXRlX2ZpbGxfcGljdHVyZTsKKyAg ICByZXR1cm4gaW5pdChjdHgpOworfQorCitzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgYXZmaWx0 ZXJfdnNyY196b25lcGxhdGVfb3V0cHV0c1tdID0geworICAgIHsKKyAgICAgICAgLm5hbWUgICAg ICAgICAgPSAiZGVmYXVsdCIsCisgICAgICAgIC50eXBlICAgICAgICAgID0gQVZNRURJQV9UWVBF X1ZJREVPLAorICAgICAgICAuY29uZmlnX3Byb3BzICA9IHpvbmVwbGF0ZV9jb25maWdfcHJvcHMs CisgICAgfSwKK307CisKK2NvbnN0IEFWRmlsdGVyIGZmX3ZzcmNfem9uZXBsYXRlID0geworICAg IC5uYW1lICAgICAgICAgID0gInpvbmVwbGF0ZSIsCisgICAgLmRlc2NyaXB0aW9uICAgPSBOVUxM X0lGX0NPTkZJR19TTUFMTCgiR2VuZXJhdGUgem9uZS1wbGF0ZS4iKSwKKyAgICAucHJpdl9zaXpl ICAgICA9IHNpemVvZihUZXN0U291cmNlQ29udGV4dCksCisgICAgLnByaXZfY2xhc3MgICAgPSAm em9uZXBsYXRlX2NsYXNzLAorICAgIC5pbml0ICAgICAgICAgID0gem9uZXBsYXRlX2luaXQsCisg ICAgLnVuaW5pdCAgICAgICAgPSB1bmluaXQsCisgICAgLmFjdGl2YXRlICAgICAgPSBhY3RpdmF0 ZSwKKyAgICAuaW5wdXRzICAgICAgICA9IE5VTEwsCisgICAgRklMVEVSX09VVFBVVFMoYXZmaWx0 ZXJfdnNyY196b25lcGxhdGVfb3V0cHV0cyksCisgICAgRklMVEVSX1NJTkdMRV9QSVhGTVQoQVZf UElYX0ZNVF9ZVVY0NDRQKSwKKyAgICAuZmxhZ3MgICAgICAgICA9IEFWRklMVEVSX0ZMQUdfU0xJ Q0VfVEhSRUFEUywKKyAgICAucHJvY2Vzc19jb21tYW5kID0gZmZfZmlsdGVyX3Byb2Nlc3NfY29t bWFuZCwKK307CisKKyNlbmRpZiAvKiBDT05GSUdfQ09MT1JDSEFSVF9GSUxURVIgKi8KLS0gCjIu MzkuMQoK --0000000000004b446605fb22eac6 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". --0000000000004b446605fb22eac6--