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 E9E99468E7 for ; Wed, 23 Aug 2023 20:40:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 797BF68C578; Wed, 23 Aug 2023 23:40:16 +0300 (EEST) Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4000A68C1B7 for ; Wed, 23 Aug 2023 23:40:10 +0300 (EEST) Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-99bdcade7fbso763048566b.1 for ; Wed, 23 Aug 2023 13:40:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ylo-ph.20221208.gappssmtp.com; s=20221208; t=1692823209; x=1693428009; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=tppVOROfTXEHf9nflIcxVHXUk1MIzdxNNtm+p44tM6w=; b=Dec4NY5bJcBOVtOoWxdgMrBefR4D+yAEUUDTzXzCbvQS0GIyZY8DawnVyi1dixFnRX LW+37RwZIfbnQtl0uUEs2xp/+7TphE7V/ZCCFXnKd/aR1ETTHjXrt8vni/2QQhO8OTIN dtwefc7ovCKeg5rUmuc4hp85kpxM/cLtbHvKWWwb9jFzL6l4/pnPxyeA8M1raf+tdCwG P8Xx36LmvulkgkdmihneFKQGQGcvAafkZIS9NynFgijM/GSp+5MP2o8oo3Vdu9w6bf6h nxbGacGIYVqsQKdIoll0c6gNKMQOhwfQLtir7eNxyiuUP+v/OxIFG/mPWf3GXwCceCfI ZmNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692823209; x=1693428009; 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=tppVOROfTXEHf9nflIcxVHXUk1MIzdxNNtm+p44tM6w=; b=h1RPeyBx5irBBs/2aN2slCqECJgt6I9Y3wk003ZA8zOOGNTgXvzzQeu/XyLFag6HZj kyhPEa44/j5Kd43/DqDZjyh7gbrNSgs5avi5TEscOulHAsjHdWEd4zUx4F/DLzJra67I SektoLJB12uh8wgNN5d+OIUoPb3kcOkJcDu7Sggbgze3NPTM2G9Zi7k8HNBBL8Ykke9c uSHYdkuTTR3Ah/Qu/D83vHkOJbdTeQXcp/NaPZ8qwY3hlXI1YGL2d8tRNBBJHpnoFUXS UnLq4vtBl4ChNyE3C0a84fuAA+aIiSdWbMkHToUQEvn4YJejDxRYKu8U71zAZS4NHT// WrPQ== X-Gm-Message-State: AOJu0Ywe5y/CaDyOHVL6cmFJSuTq50UZ9NlyX5eExloo84vqS4Mo+WH+ zGQtYh12LVocuLybEsvqsBQpazl7Uc0Qnw0BfYCqZOpiuNEhjnRA X-Google-Smtp-Source: AGHT+IFpeIKIHenK2wlA5qf/dN8wGMIgx4FnTx3qXWUU+Bjs0oH3xwqbHlZG/kGc2aLjH44qR5Kpr/ZcLtRFdZh9VzA= X-Received: by 2002:a17:906:304e:b0:9a1:d7cd:6040 with SMTP id d14-20020a170906304e00b009a1d7cd6040mr2274890ejd.37.1692823209160; Wed, 23 Aug 2023 13:40:09 -0700 (PDT) MIME-Version: 1.0 References: <97c138ad-457f-d098-e145-983bdd3e7f69@rothenpieler.org> In-Reply-To: <97c138ad-457f-d098-e145-983bdd3e7f69@rothenpieler.org> From: Kyle Swanson Date: Wed, 23 Aug 2023 13:39:58 -0700 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000000cdadc06039d1e21" Subject: Re: [FFmpeg-devel] [PATCH] avfilter: add libvmaf_cuda 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: --0000000000000cdadc06039d1e21 Content-Type: text/plain; charset="UTF-8" Hi, Thank you Timo for the review. Took your suggestions, updated patch attached. Thanks, Kyle --0000000000000cdadc06039d1e21 Content-Type: application/octet-stream; name="0001-avfilter-add-libvmaf_cuda.patch" Content-Disposition: attachment; filename="0001-avfilter-add-libvmaf_cuda.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_llo77g2p0 RnJvbSAxZWMyYThkZWI4YzExZTQ1OWU3OTdkOGVhZDc4MTYzZTJiZTQxODBjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLeWxlIFN3YW5zb24gPGtzd2Fuc29uQG5ldGZsaXguY29tPgpE YXRlOiBXZWQsIDIzIEF1ZyAyMDIzIDEzOjMzOjIyIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gYXZm aWx0ZXI6IGFkZCBsaWJ2bWFmX2N1ZGEKCi0tLQogY29uZmlndXJlICAgICAgICAgICAgICAgIHwg ICA0ICsKIGxpYmF2ZmlsdGVyL01ha2VmaWxlICAgICB8ICAgMSArCiBsaWJhdmZpbHRlci9hbGxm aWx0ZXJzLmMgfCAgIDEgKwogbGliYXZmaWx0ZXIvdmZfbGlidm1hZi5jIHwgMjEwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyMTYgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCAwNGJi OWZlOWRkLi42ZjE2YjkyMGVkIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJl CkBAIC0yODYsNiArMjg2LDcgQEAgRXh0ZXJuYWwgbGlicmFyeSBzdXBwb3J0OgogICAtLWVuYWJs ZS1saWJ2NGwyICAgICAgICAgZW5hYmxlIGxpYnY0bDIvdjRsLXV0aWxzIFtub10KICAgLS1lbmFi bGUtbGlidmlkc3RhYiAgICAgIGVuYWJsZSB2aWRlbyBzdGFiaWxpemF0aW9uIHVzaW5nIHZpZC5z dGFiIFtub10KICAgLS1lbmFibGUtbGlidm1hZiAgICAgICAgIGVuYWJsZSB2bWFmIGZpbHRlciB2 aWEgbGlidm1hZiBbbm9dCisgIC0tZW5hYmxlLWxpYnZtYWYtY3VkYSAgICBlbmFibGUgY3VkYSB2 bWFmIGZpbHRlciB2aWEgbGlidm1hZiBbbm9dCiAgIC0tZW5hYmxlLWxpYnZvLWFtcndiZW5jICBl bmFibGUgQU1SLVdCIGVuY29kaW5nIHZpYSBsaWJ2by1hbXJ3YmVuYyBbbm9dCiAgIC0tZW5hYmxl LWxpYnZvcmJpcyAgICAgICBlbmFibGUgVm9yYmlzIGVuL2RlY29kaW5nIHZpYSBsaWJ2b3JiaXMs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmUgaW1wbGVtZW50YXRpb24gZXhpc3Rz IFtub10KQEAgLTE5MDIsNiArMTkwMyw3IEBAIEVYVEVSTkFMX0xJQlJBUllfTElTVD0iCiAgICAg bGlidWF2czNkCiAgICAgbGlidjRsMgogICAgIGxpYnZtYWYKKyAgICBsaWJ2bWFmX2N1ZGEKICAg ICBsaWJ2b3JiaXMKICAgICBsaWJ2cHgKICAgICBsaWJ3ZWJwCkBAIC0zODMwLDYgKzM4MzIsNyBA QCB2ZmxpcF92dWxrYW5fZmlsdGVyX2RlcHM9InZ1bGthbiBzcGlydl9jb21waWxlciIKIHZpZHN0 YWJkZXRlY3RfZmlsdGVyX2RlcHM9ImxpYnZpZHN0YWIiCiB2aWRzdGFidHJhbnNmb3JtX2ZpbHRl cl9kZXBzPSJsaWJ2aWRzdGFiIgogbGlidm1hZl9maWx0ZXJfZGVwcz0ibGlidm1hZiIKK2xpYnZt YWZfY3VkYV9maWx0ZXJfZGVwcz0ibGlidm1hZiBjdWRhX252Y2MiCiB6bXFfZmlsdGVyX2RlcHM9 ImxpYnptcSIKIHpvb21wYW5fZmlsdGVyX2RlcHM9InN3c2NhbGUiCiB6c2NhbGVfZmlsdGVyX2Rl cHM9ImxpYnppbWcgY29uc3RfbmFuIgpAQCAtNjgwOSw2ICs2ODEyLDcgQEAgZW5hYmxlZCBsaWJ1 YXZzM2QgICAgICAgICAmJiByZXF1aXJlX3BrZ19jb25maWcgbGlidWF2czNkICJ1YXZzM2QgPj0g MS4xLjQxIiB1YXYKIGVuYWJsZWQgbGlidjRsMiAgICAgICAgICAgJiYgcmVxdWlyZV9wa2dfY29u ZmlnIGxpYnY0bDIgbGlidjRsMiBsaWJ2NGwyLmggdjRsMl9pb2N0bAogZW5hYmxlZCBsaWJ2aWRz dGFiICAgICAgICAmJiByZXF1aXJlX3BrZ19jb25maWcgbGlidmlkc3RhYiAidmlkc3RhYiA+PSAw Ljk4IiB2aWQuc3RhYi9saWJ2aWRzdGFiLmggdnNNb3Rpb25EZXRlY3RJbml0CiBlbmFibGVkIGxp YnZtYWYgICAgICAgICAgICYmIHJlcXVpcmVfcGtnX2NvbmZpZyBsaWJ2bWFmICJsaWJ2bWFmID49 IDIuMC4wIiBsaWJ2bWFmLmggdm1hZl9pbml0CitlbmFibGVkIGxpYnZtYWZfY3VkYSAgICAgICYm IHJlcXVpcmVfcGtnX2NvbmZpZyBsaWJ2bWFmICJsaWJ2bWFmID49IDIuMC4wIiBsaWJ2bWFmX2N1 ZGEuaCB2bWFmX2N1ZGFfc3RhdGVfaW5pdAogZW5hYmxlZCBsaWJ2b19hbXJ3YmVuYyAgICAmJiBy ZXF1aXJlIGxpYnZvX2FtcndiZW5jIHZvLWFtcndiZW5jL2VuY19pZi5oIEVfSUZfaW5pdCAtbHZv LWFtcndiZW5jCiBlbmFibGVkIGxpYnZvcmJpcyAgICAgICAgICYmIHJlcXVpcmVfcGtnX2NvbmZp ZyBsaWJ2b3JiaXMgdm9yYmlzIHZvcmJpcy9jb2RlYy5oIHZvcmJpc19pbmZvX2luaXQgJiYKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZV9wa2dfY29uZmlnIGxpYnZvcmJpc2Vu YyB2b3JiaXNlbmMgdm9yYmlzL3ZvcmJpc2VuYy5oIHZvcmJpc19lbmNvZGVfaW5pdApkaWZmIC0t Z2l0IGEvbGliYXZmaWx0ZXIvTWFrZWZpbGUgYi9saWJhdmZpbHRlci9NYWtlZmlsZQppbmRleCAy ZmUwMDMzYjIxLi41N2Y1ODA5YWNiIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9NYWtlZmlsZQor KysgYi9saWJhdmZpbHRlci9NYWtlZmlsZQpAQCAtMzYzLDYgKzM2Myw3IEBAIE9CSlMtJChDT05G SUdfTEVOU0NPUlJFQ1RJT05fRklMVEVSKSAgICAgICAgICs9IHZmX2xlbnNjb3JyZWN0aW9uLm8K IE9CSlMtJChDT05GSUdfTEVOU0ZVTl9GSUxURVIpICAgICAgICAgICAgICAgICs9IHZmX2xlbnNm dW4ubwogT0JKUy0kKENPTkZJR19MSUJQTEFDRUJPX0ZJTFRFUikgICAgICAgICAgICAgKz0gdmZf bGlicGxhY2Viby5vIHZ1bGthbi5vIHZ1bGthbl9maWx0ZXIubwogT0JKUy0kKENPTkZJR19MSUJW TUFGX0ZJTFRFUikgICAgICAgICAgICAgICAgKz0gdmZfbGlidm1hZi5vIGZyYW1lc3luYy5vCitP QkpTLSQoQ09ORklHX0xJQlZNQUZfQ1VEQV9GSUxURVIpICAgICAgICAgICArPSB2Zl9saWJ2bWFm Lm8gZnJhbWVzeW5jLm8KIE9CSlMtJChDT05GSUdfTElNSVRESUZGX0ZJTFRFUikgICAgICAgICAg ICAgICs9IHZmX2xpbWl0ZGlmZi5vIGZyYW1lc3luYy5vCiBPQkpTLSQoQ09ORklHX0xJTUlURVJf RklMVEVSKSAgICAgICAgICAgICAgICArPSB2Zl9saW1pdGVyLm8KIE9CSlMtJChDT05GSUdfTE9P UF9GSUxURVIpICAgICAgICAgICAgICAgICAgICs9IGZfbG9vcC5vCmRpZmYgLS1naXQgYS9saWJh dmZpbHRlci9hbGxmaWx0ZXJzLmMgYi9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKaW5kZXggZDQx ODRkNmU4MC4uYWE0OTcwM2M2ZSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5j CisrKyBiL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYwpAQCAtMzM5LDYgKzMzOSw3IEBAIGV4dGVy biBjb25zdCBBVkZpbHRlciBmZl92Zl9sZW5zY29ycmVjdGlvbjsKIGV4dGVybiBjb25zdCBBVkZp bHRlciBmZl92Zl9sZW5zZnVuOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2xpYnBsYWNl Ym87CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZfbGlidm1hZjsKK2V4dGVybiBjb25zdCBB VkZpbHRlciBmZl92Zl9saWJ2bWFmX2N1ZGE7CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZf bGltaXRkaWZmOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2xpbWl0ZXI7CiBleHRlcm4g Y29uc3QgQVZGaWx0ZXIgZmZfdmZfbG9vcDsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2xp YnZtYWYuYyBiL2xpYmF2ZmlsdGVyL3ZmX2xpYnZtYWYuYwppbmRleCAyNTg2ZjM3ZDk5Li5kN2Q4 NTNhYzNlIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9saWJ2bWFmLmMKKysrIGIvbGliYXZm aWx0ZXIvdmZfbGlidm1hZi5jCkBAIC0yNCw2ICsyNCw4IEBACiAgKiBDYWxjdWxhdGUgdGhlIFZN QUYgYmV0d2VlbiB0d28gaW5wdXQgdmlkZW9zLgogICovCiAKKyNpbmNsdWRlICJjb25maWcuaCIK KwogI2luY2x1ZGUgPGxpYnZtYWYuaD4KIAogI2luY2x1ZGUgImxpYmF2dXRpbC9hdnN0cmluZy5o IgpAQCAtMzYsNiArMzgsMTMgQEAKICNpbmNsdWRlICJpbnRlcm5hbC5oIgogI2luY2x1ZGUgInZp ZGVvLmgiCiAKKyNpZmRlZiBDT05GSUdfTElCVk1BRl9DVURBCisjaW5jbHVkZSA8bGlidm1hZl9j dWRhLmg+CisKKyNpbmNsdWRlICJsaWJhdnV0aWwvaHdjb250ZXh0LmgiCisjaW5jbHVkZSAibGli YXZ1dGlsL2h3Y29udGV4dF9jdWRhX2ludGVybmFsLmgiCisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1 Y3QgTElCVk1BRkNvbnRleHQgewogICAgIGNvbnN0IEFWQ2xhc3MgKmNsYXNzOwogICAgIEZGRnJh bWVTeW5jIGZzOwpAQCAtNTgsNiArNjcsOSBAQCB0eXBlZGVmIHN0cnVjdCBMSUJWTUFGQ29udGV4 dCB7CiAgICAgdW5zaWduZWQgbW9kZWxfY250OwogICAgIHVuc2lnbmVkIGZyYW1lX2NudDsKICAg ICB1bnNpZ25lZCBicGM7CisjaWZkZWYgQ09ORklHX0xJQlZNQUZfQ1VEQQorICAgIFZtYWZDdWRh U3RhdGUgKmN1X3N0YXRlOworI2VuZGlmCiB9IExJQlZNQUZDb250ZXh0OwogCiAjZGVmaW5lIE9G RlNFVCh4KSBvZmZzZXRvZihMSUJWTUFGQ29udGV4dCwgeCkKQEAgLTcxMCwzICs3MjIsMjAxIEBA IGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2xpYnZtYWYgPSB7CiAgICAgRklMVEVSX09VVFBVVFMobGli dm1hZl9vdXRwdXRzKSwKICAgICBGSUxURVJfUElYRk1UU19BUlJBWShwaXhfZm10cyksCiB9Owor CisjaWZkZWYgQ09ORklHX0xJQlZNQUZfQ1VEQQorc3RhdGljIGNvbnN0IGVudW0gQVZQaXhlbEZv cm1hdCBzdXBwb3J0ZWRfZm9ybWF0c1tdID0geworICAgIEFWX1BJWF9GTVRfWVVWNDIwUCwKKyAg ICBBVl9QSVhfRk1UX1lVVjQ0NFAxNiwKK307CisKK3N0YXRpYyBpbnQgZm9ybWF0X2lzX3N1cHBv cnRlZChlbnVtIEFWUGl4ZWxGb3JtYXQgZm10KQoreworICAgIGludCBpOworCisgICAgZm9yIChp ID0gMDsgaSA8IEZGX0FSUkFZX0VMRU1TKHN1cHBvcnRlZF9mb3JtYXRzKTsgaSsrKQorICAgICAg ICBpZiAoc3VwcG9ydGVkX2Zvcm1hdHNbaV0gPT0gZm10KQorICAgICAgICAgICAgcmV0dXJuIDE7 CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY29uZmlnX3Byb3BzX2N1ZGEoQVZGaWx0 ZXJMaW5rICpvdXRsaW5rKQoreworICAgIGludCBlcnI7CisgICAgQVZGaWx0ZXJDb250ZXh0ICpj dHggPSBvdXRsaW5rLT5zcmM7CisgICAgTElCVk1BRkNvbnRleHQgKnMgPSBjdHgtPnByaXY7Cisg ICAgQVZGaWx0ZXJMaW5rICppbmxpbmsgPSBjdHgtPmlucHV0c1swXTsKKyAgICBBVkhXRnJhbWVz Q29udGV4dCAqZnJhbWVzX2N0eCA9IChBVkhXRnJhbWVzQ29udGV4dCopIGlubGluay0+aHdfZnJh bWVzX2N0eC0+ZGF0YTsKKyAgICBBVkNVREFEZXZpY2VDb250ZXh0ICpkZXZpY2VfaHdjdHggPSBm cmFtZXNfY3R4LT5kZXZpY2VfY3R4LT5od2N0eDsKKyAgICBDVWNvbnRleHQgY3VfY3R4ID0gZGV2 aWNlX2h3Y3R4LT5jdWRhX2N0eDsKKyAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlc2Mg PSBhdl9waXhfZm10X2Rlc2NfZ2V0KGZyYW1lc19jdHgtPnN3X2Zvcm1hdCk7CisKKyAgICBWbWFm Q29uZmlndXJhdGlvbiBjZmcgPSB7CisgICAgICAgIC5sb2dfbGV2ZWwgPSBsb2dfbGV2ZWxfbWFw KGF2X2xvZ19nZXRfbGV2ZWwoKSksCisgICAgICAgIC5uX3N1YnNhbXBsZSA9IHMtPm5fc3Vic2Ft cGxlLAorICAgICAgICAubl90aHJlYWRzID0gcy0+bl90aHJlYWRzLAorICAgIH07CisKKyAgICBW bWFmQ3VkYVBpY3R1cmVDb25maWd1cmF0aW9uIGN1ZGFfcGljX2NmZyA9IHsKKyAgICAgICAgLnBp Y19wYXJhbXMgPSB7CisgICAgICAgICAgICAuYnBjID0gZGVzYy0+Y29tcFswXS5kZXB0aCwKKyAg ICAgICAgICAgIC53ID0gaW5saW5rLT53LAorICAgICAgICAgICAgLmggPSBpbmxpbmstPmgsCisg ICAgICAgICAgICAucGl4X2ZtdCA9IHBpeF9mbXRfbWFwKGZyYW1lc19jdHgtPnN3X2Zvcm1hdCks CisgICAgICAgIH0sCisgICAgICAgIC5waWNfcHJlYWxsb2NfbWV0aG9kID0gVk1BRl9DVURBX1BJ Q1RVUkVfUFJFQUxMT0NBVElPTl9NRVRIT0RfREVWSUNFLAorICAgIH07CisKKyAgICBWbWFmQ3Vk YUNvbmZpZ3VyYXRpb24gY3VkYV9jZmcgPSB7CisgICAgICAgIC5jdV9jdHggPSBjdV9jdHgsCisg ICAgfTsKKworICAgIGlmICghZm9ybWF0X2lzX3N1cHBvcnRlZChmcmFtZXNfY3R4LT5zd19mb3Jt YXQpKSB7CisgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsCisgICAgICAgICAgICAgICAi VW5zdXBwb3J0ZWQgaW5wdXQgZm9ybWF0OiAlc1xuIiwgZGVzYy0+bmFtZSk7CisgICAgICAgIHJl dHVybiBBVkVSUk9SKEVJTlZBTCk7CisgICAgfQorCisgICAgZXJyID0gdm1hZl9pbml0KCZzLT52 bWFmLCBjZmcpOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7 CisKKyAgICBlcnIgPSB2bWFmX2N1ZGFfc3RhdGVfaW5pdCgmcy0+Y3Vfc3RhdGUsIGN1ZGFfY2Zn KTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworCisgICAg ZXJyID0gdm1hZl9jdWRhX2ltcG9ydF9zdGF0ZShzLT52bWFmLCBzLT5jdV9zdGF0ZSk7CisgICAg aWYgKGVycikKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKKworICAgIGVyciA9IHZt YWZfY3VkYV9wcmVhbGxvY2F0ZV9waWN0dXJlcyhzLT52bWFmLCBjdWRhX3BpY19jZmcpOworICAg IGlmIChlcnIgPCAwKQorICAgICAgICByZXR1cm4gZXJyOworCisgICAgZXJyID0gcGFyc2VfZGVw cmVjYXRlZF9vcHRpb25zKGN0eCk7CisgICAgaWYgKGVycikKKyAgICAgICAgcmV0dXJuIGVycjsK KworICAgIGVyciA9IHBhcnNlX21vZGVscyhjdHgpOworICAgIGlmIChlcnIpCisgICAgICAgIHJl dHVybiBlcnI7CisKKyAgICBlcnIgPSBwYXJzZV9mZWF0dXJlcyhjdHgpOworICAgIGlmIChlcnIp CisgICAgICAgIHJldHVybiBlcnI7CisKKyAgICByZXR1cm4gY29uZmlnX291dHB1dChvdXRsaW5r KTsKK30KKworc3RhdGljIGludCBjb3B5X3BpY3R1cmVfZGF0YV9jdWRhKFZtYWZDb250ZXh0KiB2 bWFmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQ1VEQURldmljZUNvbnRl eHQqIGRldmljZV9od2N0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkZy YW1lKiBzcmMsIFZtYWZQaWN0dXJlKiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXQpCit7CisgICAgY29uc3QgQVZQaXhGbXRE ZXNjcmlwdG9yICpwaXhfZGVzYyA9IGF2X3BpeF9mbXRfZGVzY19nZXQocGl4X2ZtdCk7CisgICAg Q3VkYUZ1bmN0aW9ucyAqY3UgPSBkZXZpY2VfaHdjdHgtPmludGVybmFsLT5jdWRhX2RsOworCisg ICAgQ1VEQV9NRU1DUFkyRCBtID0geworICAgICAgICAuc3JjTWVtb3J5VHlwZSA9IENVX01FTU9S WVRZUEVfREVWSUNFLAorICAgICAgICAuZHN0TWVtb3J5VHlwZSA9IENVX01FTU9SWVRZUEVfREVW SUNFLAorICAgIH07CisKKyAgICBpbnQgZXJyID0gdm1hZl9jdWRhX2ZldGNoX3ByZWFsbG9jYXRl ZF9waWN0dXJlKHZtYWYsIGRzdCk7CisgICAgaWYgKGVycikKKyAgICAgICAgcmV0dXJuIEFWRVJS T1IoRU5PTUVNKTsKKworICAgIGVyciA9IGN1LT5jdUN0eFB1c2hDdXJyZW50KGRldmljZV9od2N0 eC0+Y3VkYV9jdHgpOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0VYVEVS TkFMOworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBpeF9kZXNjLT5uYl9jb21wb25l bnRzOyBpKyspIHsKKyAgICAgICAgbS5zcmNEZXZpY2UgPSAoQ1VkZXZpY2VwdHIpIHNyYy0+ZGF0 YVtpXTsKKyAgICAgICAgbS5zcmNQaXRjaCA9IHNyYy0+bGluZXNpemVbaV07CisgICAgICAgIG0u ZHN0RGV2aWNlID0gKENVZGV2aWNlcHRyKSBkc3QtPmRhdGFbaV07CisgICAgICAgIG0uZHN0UGl0 Y2ggPSBkc3QtPnN0cmlkZVtpXTsKKyAgICAgICAgbS5XaWR0aEluQnl0ZXMgPSBkc3QtPndbaV0g KiAoKGRzdC0+YnBjICsgNykgLyA4KTsKKyAgICAgICAgbS5IZWlnaHQgPSBkc3QtPmhbaV07CisK KyAgICAgICAgZXJyID0gY3UtPmN1TWVtY3B5MkQoJm0pOworICAgICAgICBpZiAoZXJyKQorICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7CisgICAgICAgIGJyZWFrOworICAgIH0K KworICAgIGVyciA9IGN1LT5jdUN0eFBvcEN1cnJlbnQoTlVMTCk7CisgICAgaWYgKGVycikKKyAg ICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7CisKKyAgICByZXR1cm4gMDsKK30KKworc3Rh dGljIGludCBkb192bWFmX2N1ZGEoRkZGcmFtZVN5bmMqIGZzKQoreworICAgIEFWRmlsdGVyQ29u dGV4dCogY3R4ID0gZnMtPnBhcmVudDsKKyAgICBMSUJWTUFGQ29udGV4dCogcyA9IGN0eC0+cHJp djsKKyAgICBBVkZpbHRlckxpbmsgKmlubGluayA9IGN0eC0+aW5wdXRzWzBdOworICAgIEFWSFdG cmFtZXNDb250ZXh0ICpmcmFtZXNfY3R4ID0gKEFWSFdGcmFtZXNDb250ZXh0KikgaW5saW5rLT5o d19mcmFtZXNfY3R4LT5kYXRhOworICAgIEFWQ1VEQURldmljZUNvbnRleHQgKmRldmljZV9od2N0 eCA9IGZyYW1lc19jdHgtPmRldmljZV9jdHgtPmh3Y3R4OworICAgIFZtYWZQaWN0dXJlIHBpY19y ZWYsIHBpY19kaXN0OworICAgIEFWRnJhbWUgKnJlZiwgKmRpc3Q7CisKKyAgICBpbnQgZXJyID0g MDsKKworICAgIGVyciA9IGZmX2ZyYW1lc3luY19kdWFsaW5wdXRfZ2V0KGZzLCAmZGlzdCwgJnJl Zik7CisgICAgaWYgKGVyciA8IDApCisgICAgICAgIHJldHVybiBlcnI7CisgICAgaWYgKGN0eC0+ aXNfZGlzYWJsZWQgfHwgIXJlZikKKyAgICAgICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShjdHgt Pm91dHB1dHNbMF0sIGRpc3QpOworCisgICAgZXJyID0gY29weV9waWN0dXJlX2RhdGFfY3VkYShz LT52bWFmLCBkZXZpY2VfaHdjdHgsIHJlZiwgJnBpY19yZWYsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmcmFtZXNfY3R4LT5zd19mb3JtYXQpOworICAgIGlmIChlcnIpIHsKKyAg ICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgInByb2JsZW0gZHVyaW5nIGNvcHlfcGljdHVy ZV9kYXRhX2N1ZGEuXG4iKTsKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKyAgICB9 CisKKyAgICBlcnIgPSBjb3B5X3BpY3R1cmVfZGF0YV9jdWRhKHMtPnZtYWYsIGRldmljZV9od2N0 eCwgZGlzdCwgJnBpY19kaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJh bWVzX2N0eC0+c3dfZm9ybWF0KTsKKyAgICBpZiAoZXJyKSB7CisgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfRVJST1IsICJwcm9ibGVtIGR1cmluZyBjb3B5X3BpY3R1cmVfZGF0YV9jdWRhLlxuIik7 CisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisgICAgfQorCisgICAgZXJyID0gdm1h Zl9yZWFkX3BpY3R1cmVzKHMtPnZtYWYsICZwaWNfcmVmLCAmcGljX2Rpc3QsIHMtPmZyYW1lX2Nu dCsrKTsKKyAgICBpZiAoZXJyKSB7CisgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJw cm9ibGVtIGR1cmluZyB2bWFmX3JlYWRfcGljdHVyZXMuXG4iKTsKKyAgICAgICAgcmV0dXJuIEFW RVJST1IoRUlOVkFMKTsKKyAgICB9CisKKyAgICByZXR1cm4gZmZfZmlsdGVyX2ZyYW1lKGN0eC0+ b3V0cHV0c1swXSwgZGlzdCk7Cit9CisKK3N0YXRpYyBhdl9jb2xkIGludCBpbml0X2N1ZGEoQVZG aWx0ZXJDb250ZXh0ICpjdHgpCit7CisgICAgTElCVk1BRkNvbnRleHQgKnMgPSBjdHgtPnByaXY7 CisgICAgcy0+ZnMub25fZXZlbnQgPSBkb192bWFmX2N1ZGE7CisgICAgcmV0dXJuIDA7Cit9CisK K3N0YXRpYyBjb25zdCBBVkZpbHRlclBhZCBsaWJ2bWFmX291dHB1dHNfY3VkYVtdID0geworICAg IHsKKyAgICAgICAgLm5hbWUgICAgICAgICA9ICJkZWZhdWx0IiwKKyAgICAgICAgLnR5cGUgICAg ICAgICA9IEFWTUVESUFfVFlQRV9WSURFTywKKyAgICAgICAgLmNvbmZpZ19wcm9wcyA9IGNvbmZp Z19wcm9wc19jdWRhLAorICAgIH0sCit9OworCitjb25zdCBBVkZpbHRlciBmZl92Zl9saWJ2bWFm X2N1ZGEgPSB7CisgICAgLm5hbWUgICAgICAgICAgID0gImxpYnZtYWZfY3VkYSIsCisgICAgLmRl c2NyaXB0aW9uICAgID0gTlVMTF9JRl9DT05GSUdfU01BTEwoIkNhbGN1bGF0ZSB0aGUgVk1BRiBi ZXR3ZWVuIHR3byB2aWRlbyBzdHJlYW1zLiIpLAorICAgIC5wcmVpbml0ICAgICAgICA9IGxpYnZt YWZfZnJhbWVzeW5jX3ByZWluaXQsCisgICAgLmluaXQgICAgICAgICAgID0gaW5pdF9jdWRhLAor ICAgIC51bmluaXQgICAgICAgICA9IHVuaW5pdCwKKyAgICAuYWN0aXZhdGUgICAgICAgPSBhY3Rp dmF0ZSwKKyAgICAucHJpdl9zaXplICAgICAgPSBzaXplb2YoTElCVk1BRkNvbnRleHQpLAorICAg IC5wcml2X2NsYXNzICAgICA9ICZsaWJ2bWFmX2NsYXNzLAorICAgIEZJTFRFUl9JTlBVVFMobGli dm1hZl9pbnB1dHMpLAorICAgIEZJTFRFUl9PVVRQVVRTKGxpYnZtYWZfb3V0cHV0c19jdWRhKSwK KyAgICBGSUxURVJfU0lOR0xFX1BJWEZNVChBVl9QSVhfRk1UX0NVREEpLAorICAgIC5mbGFnc19p bnRlcm5hbCA9IEZGX0ZJTFRFUl9GTEFHX0hXRlJBTUVfQVdBUkUsCit9OworI2VuZGlmCi0tIAoy LjI0LjMgKEFwcGxlIEdpdC0xMjgpCgo= --0000000000000cdadc06039d1e21 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". --0000000000000cdadc06039d1e21--