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 0B84A4701C for ; Mon, 25 Sep 2023 12:18:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A27B868C980; Mon, 25 Sep 2023 15:18:31 +0300 (EEST) Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5AF3C68C8B3 for ; Mon, 25 Sep 2023 15:18:25 +0300 (EEST) Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-32172f8a5dbso5251886f8f.3 for ; Mon, 25 Sep 2023 05:18:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ylo-ph.20230601.gappssmtp.com; s=20230601; t=1695644304; x=1696249104; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=OZzRRZNJa6mmmhed1/IK/3K8AwFvgmx957jPJgksP4E=; b=YUw7KzRHSslgfQOy7BKSgRCyDEFfglhUXRs3yXmYPPVuOj2E16S53Q449XWcYvLXti eSx5Mf1PjsOy+siE/WShmGavTohqGgEGpWPfaAgsHMDpQzH9I0Fy7zwrcj7u0NSfn1BO dwj2zYkUMWJVHjZsGJ0/+RXS2hT3fWwjI1GY2r57ocwNC+XRSLIAgiiQ2Yimpq+9mmxB ar6Y3RsQ12UR23X4fovY2siUonFhS2QnuS+E6UDTeCEjPnDunAfDY2O490v7iTSX0fd+ ZPxl7uojg1WuoJgoYMM+DzCu9NVqe+h3Sh9LY6JyGUvGzwwfKhcRYt9Q1IS+ZqQ5NDq/ OOrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695644304; x=1696249104; 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=OZzRRZNJa6mmmhed1/IK/3K8AwFvgmx957jPJgksP4E=; b=VaowMTUfaFvt7kFH/KQ/qSVFrspcrS3tlGO6iQf1ed1jgfYR1qL12I8FEAZUFN+ksI 3DE4pm66vmVGsegne6YWAOgTe5uQdZBDVkVf7PR0yBBp35LSSraD06TeD2X4A9ys9z78 gcnSrJTFJ7d92Yty5wlUIcnytoUZvpkHhg/MfZvNiJkgs4F3iMy2IKg/lFyhUowND/fN UDf374IY7Zwgt3fagY++XB6D3CS/22UiQ7dhBJu/WfCyMmWBOacJDCM+BbkEvATx3E/q d96lE9m8nZa0KznHLICH8/n5hUv6ExnNhMzPI3ySSqqmAHFbM/wmTLs2to9GL9qIk6pp eyHg== X-Gm-Message-State: AOJu0YzCe8YCxvrsy9p1rgorczrAOrEPqf0s03UD6RMAWecWEqOfqMpt ZE4jpDR9G4yLp1ot+aSuG63v0tPGyatdHCBD5b2q5H84jR2KBlY+VqQkdg== X-Google-Smtp-Source: AGHT+IFEuS0JZ1b0ym2AXd+FnaqYhkvbhZwIO39J47NB5dj1c0TpriuM/rPg7OJNZP06WpFmN+NRIdqll8h7pqUt+Dk= X-Received: by 2002:a5d:5347:0:b0:321:6429:c977 with SMTP id t7-20020a5d5347000000b003216429c977mr5194211wrv.62.1695644304343; Mon, 25 Sep 2023 05:18:24 -0700 (PDT) MIME-Version: 1.0 References: <2433f96f-f2c4-457a-924b-db2bbf096452@rothenpieler.org> <8b4b50de-b334-4bd6-9a53-af2d4b9334c7@rothenpieler.org> <2EE4E6A0-6595-47DE-AEF2-7AE0059E5976@gmail.com> <61148a2c-44ff-44f6-88d6-ebf87b594c57@rothenpieler.org> <8b1de224-72a8-4f15-bf5e-cb04afff81dd@rothenpieler.org> In-Reply-To: <8b1de224-72a8-4f15-bf5e-cb04afff81dd@rothenpieler.org> From: Kyle Swanson Date: Mon, 25 Sep 2023 13:18:13 +0100 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000006d742206062df452" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: --0000000000006d742206062df452 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Sat, Sep 23, 2023 at 12:02=E2=80=AFPM Timo Rothenpieler wrote: > On 23.09.2023 11:50, Kyle Swanson wrote: > > Hi, > > > > On Wed, Sep 20, 2023 at 11:55=E2=80=AFPM Timo Rothenpieler < > timo@rothenpieler.org> > > wrote: > >> Or it needs to be a sub-feature of libvmaf, where if libvmaf is enable= d, > >> support for CUDA is checked for, and then the vmaf_cuda filter needs t= o > >> depend on that check. > > > > This previous patch should do just that [0]. What's missing? > > The checks in there seem both overly complex and also not correct to me. > I've never seen a "*_filter" in a check_pkg_config or similar call. > With this setup, it'd be possible to call configure with > --enable-libvmaf, and have it success, even though there is no libvmaf > on the system, as long as the filter is disabled. > > If you want to go the implicit route, you'll want the following two thing= s: > > For the dependencies > > > libvmaf_cuda_filter_deps=3D"libvmaf libvmaf_cuda ffnvcodec" > > And then at some point after the current "require_pkg_config libvmaf" > check: > > > enabled libvmaf && check_pkg_config libvmaf_cuda "libvmaf >=3D 2.0.0" > libvmaf_cuda.h vmaf_cuda_state_init > > I think there's a place in configure where a bunch of such optional > checks happen. > But I see no issue with throwing it right after the current libvmaf > check either. > New patch attached. Thanks, Kyle --0000000000006d742206062df452 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_lmyusv5k0 RnJvbSA0NjJlNjNkNzk3MWEyYzkwZGQzZGNmODgzYmM1Y2EzYWJmYzk2MGUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLeWxlIFN3YW5zb24gPGtzd2Fuc29uQG5ldGZsaXguY29tPgpE YXRlOiBNb24sIDI1IFNlcCAyMDIzIDEzOjE0OjEzICswMTAwClN1YmplY3Q6IFtQQVRDSF0gYXZm aWx0ZXI6IGFkZCBsaWJ2bWFmX2N1ZGEKClNpZ25lZC1vZmYtYnk6IEt5bGUgU3dhbnNvbiA8a3N3 YW5zb25AbmV0ZmxpeC5jb20+Ci0tLQogY29uZmlndXJlICAgICAgICAgICAgICAgIHwgICAyICsK IGRvYy9maWx0ZXJzLnRleGkgICAgICAgICB8ICAyNiArKysrKwogbGliYXZmaWx0ZXIvTWFrZWZp bGUgICAgIHwgICAxICsKIGxpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYyB8ICAgMSArCiBsaWJhdmZp bHRlci92Zl9saWJ2bWFmLmMgfCAyMTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDI0MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv Y29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDFlZTg0MDk2MTcuLjZmOWIyMjM0ODEgMTAwNzU1 Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTM4MzMsNiArMzgzMyw3IEBAIHZm bGlwX3Z1bGthbl9maWx0ZXJfZGVwcz0idnVsa2FuIHNwaXJ2X2NvbXBpbGVyIgogdmlkc3RhYmRl dGVjdF9maWx0ZXJfZGVwcz0ibGlidmlkc3RhYiIKIHZpZHN0YWJ0cmFuc2Zvcm1fZmlsdGVyX2Rl cHM9ImxpYnZpZHN0YWIiCiBsaWJ2bWFmX2ZpbHRlcl9kZXBzPSJsaWJ2bWFmIgorbGlidm1hZl9j dWRhX2ZpbHRlcl9kZXBzPSJsaWJ2bWFmIGxpYnZtYWZfY3VkYSBmZm52Y29kZWMiCiB6bXFfZmls dGVyX2RlcHM9ImxpYnptcSIKIHpvb21wYW5fZmlsdGVyX2RlcHM9InN3c2NhbGUiCiB6c2NhbGVf ZmlsdGVyX2RlcHM9ImxpYnppbWcgY29uc3RfbmFuIgpAQCAtNjgxMSw2ICs2ODEyLDcgQEAgZW5h YmxlZCBsaWJ1YXZzM2QgICAgICAgICAmJiByZXF1aXJlX3BrZ19jb25maWcgbGlidWF2czNkICJ1 YXZzM2QgPj0gMS4xLjQxIiB1YXYKIGVuYWJsZWQgbGlidjRsMiAgICAgICAgICAgJiYgcmVxdWly ZV9wa2dfY29uZmlnIGxpYnY0bDIgbGlidjRsMiBsaWJ2NGwyLmggdjRsMl9pb2N0bAogZW5hYmxl ZCBsaWJ2aWRzdGFiICAgICAgICAmJiByZXF1aXJlX3BrZ19jb25maWcgbGlidmlkc3RhYiAidmlk c3RhYiA+PSAwLjk4IiB2aWQuc3RhYi9saWJ2aWRzdGFiLmggdnNNb3Rpb25EZXRlY3RJbml0CiBl bmFibGVkIGxpYnZtYWYgICAgICAgICAgICYmIHJlcXVpcmVfcGtnX2NvbmZpZyBsaWJ2bWFmICJs aWJ2bWFmID49IDIuMC4wIiBsaWJ2bWFmLmggdm1hZl9pbml0CitlbmFibGVkIGxpYnZtYWYgICAg ICAgICAgICYmIGNoZWNrX3BrZ19jb25maWcgbGlidm1hZl9jdWRhICJsaWJ2bWFmID49IDIuMC4w IiBsaWJ2bWFmX2N1ZGEuaCB2bWFmX2N1ZGFfc3RhdGVfaW5pdAogZW5hYmxlZCBsaWJ2b19hbXJ3 YmVuYyAgICAmJiByZXF1aXJlIGxpYnZvX2FtcndiZW5jIHZvLWFtcndiZW5jL2VuY19pZi5oIEVf SUZfaW5pdCAtbHZvLWFtcndiZW5jCiBlbmFibGVkIGxpYnZvcmJpcyAgICAgICAgICYmIHJlcXVp cmVfcGtnX2NvbmZpZyBsaWJ2b3JiaXMgdm9yYmlzIHZvcmJpcy9jb2RlYy5oIHZvcmJpc19pbmZv X2luaXQgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZV9wa2dfY29uZmln IGxpYnZvcmJpc2VuYyB2b3JiaXNlbmMgdm9yYmlzL3ZvcmJpc2VuYy5oIHZvcmJpc19lbmNvZGVf aW5pdApkaWZmIC0tZ2l0IGEvZG9jL2ZpbHRlcnMudGV4aSBiL2RvYy9maWx0ZXJzLnRleGkKaW5k ZXggMTRhNmJlNDlhYy4uYzI1NDUwY2Y2YyAxMDA2NDQKLS0tIGEvZG9jL2ZpbHRlcnMudGV4aQor KysgYi9kb2MvZmlsdGVycy50ZXhpCkBAIC0xNjkyOCw2ICsxNjkyOCwzMiBAQCBmZm1wZWcgLWkg ZGlzdG9ydGVkLm1wZyAtaSByZWZlcmVuY2UubWt2IC1sYXZmaSAiWzA6dl1zZXR0Yj1BVlRCLHNl dHB0cz1QVFMtU1RBUgogQGVuZCBleGFtcGxlCiBAZW5kIGl0ZW1pemUKIAorQHNlY3Rpb24gbGli dm1hZl9jdWRhCisKK1RoaXMgaXMgdGhlIENVREEgdmFyaWFudCBvZiB0aGUgQHJlZntsaWJ2bWFm fSBmaWx0ZXIuIEl0IG9ubHkgYWNjZXB0cyBDVURBIGZyYW1lcy4KKworSXQgcmVxdWlyZXMgTmV0 ZmxpeCdzIHZtYWYgbGlicmFyeSAobGlidm1hZikgYXMgYSBwcmUtcmVxdWlzaXRlLgorQWZ0ZXIg aW5zdGFsbGluZyB0aGUgbGlicmFyeSBpdCBjYW4gYmUgZW5hYmxlZCB1c2luZzoKK0Bjb2Rley4v Y29uZmlndXJlIC0tZW5hYmxlLW5vbmZyZWUgLS1lbmFibGUtZmZudmNvZGVjIC0tZW5hYmxlLWxp YnZtYWZ9LgorCitAc3Vic2VjdGlvbiBFeGFtcGxlcworQGl0ZW1pemUKKworQGl0ZW0KK0Jhc2lj IHVzYWdlIHNob3dpbmcgQ1VWSUQgaGFyZHdhcmUgZGVjb2RpbmcgYW5kIENVREEgc2NhbGluZyB3 aXRoIEByZWZ7c2NhbGVfY3VkYX06CitAZXhhbXBsZQorZmZtcGVnIFwKKyAgICAtaHdhY2NlbCBj dWRhIC1od2FjY2VsX291dHB1dF9mb3JtYXQgY3VkYSAtY29kZWM6diBhdjFfY3V2aWQgLWkgZGlz Lm9idSBcCisgICAgLWh3YWNjZWwgY3VkYSAtaHdhY2NlbF9vdXRwdXRfZm9ybWF0IGN1ZGEgLWNv ZGVjOnYgYXYxX2N1dmlkIC1pIHJlZi5vYnUgXAorICAgIC1maWx0ZXJfY29tcGxleCAiCisgICAg ICAgIFswOnZdc2NhbGVfY3VkYT1mb3JtYXQ9eXV2NDIwcFtyZWZdOyBcCisgICAgICAgIFsxOnZd c2NhbGVfY3VkYT1mb3JtYXQ9eXV2NDIwcFtkaXNdOyBcCisgICAgICAgIFtkaXNdW3JlZl1saWJ2 bWFmX2N1ZGE9bG9nX2ZtdD1qc29uOmxvZ19wYXRoPW91dHB1dC5qc29uCisgICAgIiBcCisgICAg LWYgbnVsbCAtCitAZW5kIGV4YW1wbGUKK0BlbmQgaXRlbWl6ZQorCiBAc2VjdGlvbiBsaW1pdGRp ZmYKIEFwcGx5IGxpbWl0ZWQgZGlmZmVyZW5jZSBmaWx0ZXIgdXNpbmcgc2Vjb25kIGFuZCBvcHRp b25hbGx5IHRoaXJkIHZpZGVvIHN0cmVhbS4KIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvTWFr ZWZpbGUgYi9saWJhdmZpbHRlci9NYWtlZmlsZQppbmRleCAyZmUwMDMzYjIxLi41N2Y1ODA5YWNi IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9NYWtlZmlsZQorKysgYi9saWJhdmZpbHRlci9NYWtl ZmlsZQpAQCAtMzYzLDYgKzM2Myw3IEBAIE9CSlMtJChDT05GSUdfTEVOU0NPUlJFQ1RJT05fRklM VEVSKSAgICAgICAgICs9IHZmX2xlbnNjb3JyZWN0aW9uLm8KIE9CSlMtJChDT05GSUdfTEVOU0ZV Tl9GSUxURVIpICAgICAgICAgICAgICAgICs9IHZmX2xlbnNmdW4ubwogT0JKUy0kKENPTkZJR19M SUJQTEFDRUJPX0ZJTFRFUikgICAgICAgICAgICAgKz0gdmZfbGlicGxhY2Viby5vIHZ1bGthbi5v IHZ1bGthbl9maWx0ZXIubwogT0JKUy0kKENPTkZJR19MSUJWTUFGX0ZJTFRFUikgICAgICAgICAg ICAgICAgKz0gdmZfbGlidm1hZi5vIGZyYW1lc3luYy5vCitPQkpTLSQoQ09ORklHX0xJQlZNQUZf Q1VEQV9GSUxURVIpICAgICAgICAgICArPSB2Zl9saWJ2bWFmLm8gZnJhbWVzeW5jLm8KIE9CSlMt JChDT05GSUdfTElNSVRESUZGX0ZJTFRFUikgICAgICAgICAgICAgICs9IHZmX2xpbWl0ZGlmZi5v IGZyYW1lc3luYy5vCiBPQkpTLSQoQ09ORklHX0xJTUlURVJfRklMVEVSKSAgICAgICAgICAgICAg ICArPSB2Zl9saW1pdGVyLm8KIE9CSlMtJChDT05GSUdfTE9PUF9GSUxURVIpICAgICAgICAgICAg ICAgICAgICs9IGZfbG9vcC5vCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMg Yi9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKaW5kZXggZDQxODRkNmU4MC4uYWE0OTcwM2M2ZSAx MDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5jCisrKyBiL2xpYmF2ZmlsdGVyL2Fs bGZpbHRlcnMuYwpAQCAtMzM5LDYgKzMzOSw3IEBAIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92 Zl9sZW5zY29ycmVjdGlvbjsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9sZW5zZnVuOwog ZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX2xpYnBsYWNlYm87CiBleHRlcm4gY29uc3QgQVZG aWx0ZXIgZmZfdmZfbGlidm1hZjsKK2V4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9saWJ2bWFm X2N1ZGE7CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZfbGltaXRkaWZmOwogZXh0ZXJuIGNv bnN0IEFWRmlsdGVyIGZmX3ZmX2xpbWl0ZXI7CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZf bG9vcDsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2xpYnZtYWYuYyBiL2xpYmF2ZmlsdGVy L3ZmX2xpYnZtYWYuYwppbmRleCA2N2YwZDZhMjJmLi4yNzI2YjA2MWFjIDEwMDY0NAotLS0gYS9s aWJhdmZpbHRlci92Zl9saWJ2bWFmLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfbGlidm1hZi5jCkBA IC0yNCw2ICsyNCw4IEBACiAgKiBDYWxjdWxhdGUgdGhlIFZNQUYgYmV0d2VlbiB0d28gaW5wdXQg dmlkZW9zLgogICovCiAKKyNpbmNsdWRlICJjb25maWdfY29tcG9uZW50cy5oIgorCiAjaW5jbHVk ZSA8bGlidm1hZi5oPgogCiAjaW5jbHVkZSAibGliYXZ1dGlsL2F2c3RyaW5nLmgiCkBAIC0zNiw2 ICszOCwxMyBAQAogI2luY2x1ZGUgImludGVybmFsLmgiCiAjaW5jbHVkZSAidmlkZW8uaCIKIAor I2lmIENPTkZJR19MSUJWTUFGX0NVREFfRklMVEVSCisjaW5jbHVkZSA8bGlidm1hZl9jdWRhLmg+ CisKKyNpbmNsdWRlICJsaWJhdnV0aWwvaHdjb250ZXh0LmgiCisjaW5jbHVkZSAibGliYXZ1dGls L2h3Y29udGV4dF9jdWRhX2ludGVybmFsLmgiCisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1Y3QgTElC Vk1BRkNvbnRleHQgewogICAgIGNvbnN0IEFWQ2xhc3MgKmNsYXNzOwogICAgIEZGRnJhbWVTeW5j IGZzOwpAQCAtNTgsNiArNjcsOSBAQCB0eXBlZGVmIHN0cnVjdCBMSUJWTUFGQ29udGV4dCB7CiAg ICAgdW5zaWduZWQgbW9kZWxfY250OwogICAgIHVuc2lnbmVkIGZyYW1lX2NudDsKICAgICB1bnNp Z25lZCBicGM7CisjaWYgQ09ORklHX0xJQlZNQUZfQ1VEQV9GSUxURVIKKyAgICBWbWFmQ3VkYVN0 YXRlICpjdV9zdGF0ZTsKKyNlbmRpZgogfSBMSUJWTUFGQ29udGV4dDsKIAogI2RlZmluZSBPRkZT RVQoeCkgb2Zmc2V0b2YoTElCVk1BRkNvbnRleHQsIHgpCkBAIC03MTcsMyArNzI5LDIwMSBAQCBj b25zdCBBVkZpbHRlciBmZl92Zl9saWJ2bWFmID0gewogICAgIEZJTFRFUl9PVVRQVVRTKGxpYnZt YWZfb3V0cHV0cyksCiAgICAgRklMVEVSX1BJWEZNVFNfQVJSQVkocGl4X2ZtdHMpLAogfTsKKwor I2lmIENPTkZJR19MSUJWTUFGX0NVREFfRklMVEVSCitzdGF0aWMgY29uc3QgZW51bSBBVlBpeGVs Rm9ybWF0IHN1cHBvcnRlZF9mb3JtYXRzW10gPSB7CisgICAgQVZfUElYX0ZNVF9ZVVY0MjBQLAor ICAgIEFWX1BJWF9GTVRfWVVWNDQ0UDE2LAorfTsKKworc3RhdGljIGludCBmb3JtYXRfaXNfc3Vw cG9ydGVkKGVudW0gQVZQaXhlbEZvcm1hdCBmbXQpCit7CisgICAgaW50IGk7CisKKyAgICBmb3Ig KGkgPSAwOyBpIDwgRkZfQVJSQVlfRUxFTVMoc3VwcG9ydGVkX2Zvcm1hdHMpOyBpKyspCisgICAg ICAgIGlmIChzdXBwb3J0ZWRfZm9ybWF0c1tpXSA9PSBmbXQpCisgICAgICAgICAgICByZXR1cm4g MTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjb25maWdfcHJvcHNfY3VkYShBVkZp bHRlckxpbmsgKm91dGxpbmspCit7CisgICAgaW50IGVycjsKKyAgICBBVkZpbHRlckNvbnRleHQg KmN0eCA9IG91dGxpbmstPnNyYzsKKyAgICBMSUJWTUFGQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsK KyAgICBBVkZpbHRlckxpbmsgKmlubGluayA9IGN0eC0+aW5wdXRzWzBdOworICAgIEFWSFdGcmFt ZXNDb250ZXh0ICpmcmFtZXNfY3R4ID0gKEFWSFdGcmFtZXNDb250ZXh0KikgaW5saW5rLT5od19m cmFtZXNfY3R4LT5kYXRhOworICAgIEFWQ1VEQURldmljZUNvbnRleHQgKmRldmljZV9od2N0eCA9 IGZyYW1lc19jdHgtPmRldmljZV9jdHgtPmh3Y3R4OworICAgIENVY29udGV4dCBjdV9jdHggPSBk ZXZpY2VfaHdjdHgtPmN1ZGFfY3R4OworICAgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZGVz YyA9IGF2X3BpeF9mbXRfZGVzY19nZXQoZnJhbWVzX2N0eC0+c3dfZm9ybWF0KTsKKworICAgIFZt YWZDb25maWd1cmF0aW9uIGNmZyA9IHsKKyAgICAgICAgLmxvZ19sZXZlbCA9IGxvZ19sZXZlbF9t YXAoYXZfbG9nX2dldF9sZXZlbCgpKSwKKyAgICAgICAgLm5fc3Vic2FtcGxlID0gcy0+bl9zdWJz YW1wbGUsCisgICAgICAgIC5uX3RocmVhZHMgPSBzLT5uX3RocmVhZHMsCisgICAgfTsKKworICAg IFZtYWZDdWRhUGljdHVyZUNvbmZpZ3VyYXRpb24gY3VkYV9waWNfY2ZnID0geworICAgICAgICAu cGljX3BhcmFtcyA9IHsKKyAgICAgICAgICAgIC5icGMgPSBkZXNjLT5jb21wWzBdLmRlcHRoLAor ICAgICAgICAgICAgLncgPSBpbmxpbmstPncsCisgICAgICAgICAgICAuaCA9IGlubGluay0+aCwK KyAgICAgICAgICAgIC5waXhfZm10ID0gcGl4X2ZtdF9tYXAoZnJhbWVzX2N0eC0+c3dfZm9ybWF0 KSwKKyAgICAgICAgfSwKKyAgICAgICAgLnBpY19wcmVhbGxvY19tZXRob2QgPSBWTUFGX0NVREFf UElDVFVSRV9QUkVBTExPQ0FUSU9OX01FVEhPRF9ERVZJQ0UsCisgICAgfTsKKworICAgIFZtYWZD dWRhQ29uZmlndXJhdGlvbiBjdWRhX2NmZyA9IHsKKyAgICAgICAgLmN1X2N0eCA9IGN1X2N0eCwK KyAgICB9OworCisgICAgaWYgKCFmb3JtYXRfaXNfc3VwcG9ydGVkKGZyYW1lc19jdHgtPnN3X2Zv cm1hdCkpIHsKKyAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwKKyAgICAgICAgICAgICAg ICJVbnN1cHBvcnRlZCBpbnB1dCBmb3JtYXQ6ICVzXG4iLCBkZXNjLT5uYW1lKTsKKyAgICAgICAg cmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKKyAgICB9CisKKyAgICBlcnIgPSB2bWFmX2luaXQoJnMt PnZtYWYsIGNmZyk7CisgICAgaWYgKGVycikKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFM KTsKKworICAgIGVyciA9IHZtYWZfY3VkYV9zdGF0ZV9pbml0KCZzLT5jdV9zdGF0ZSwgY3VkYV9j ZmcpOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CisKKyAg ICBlcnIgPSB2bWFmX2N1ZGFfaW1wb3J0X3N0YXRlKHMtPnZtYWYsIHMtPmN1X3N0YXRlKTsKKyAg ICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworCisgICAgZXJyID0g dm1hZl9jdWRhX3ByZWFsbG9jYXRlX3BpY3R1cmVzKHMtPnZtYWYsIGN1ZGFfcGljX2NmZyk7Cisg ICAgaWYgKGVyciA8IDApCisgICAgICAgIHJldHVybiBlcnI7CisKKyAgICBlcnIgPSBwYXJzZV9k ZXByZWNhdGVkX29wdGlvbnMoY3R4KTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gZXJy OworCisgICAgZXJyID0gcGFyc2VfbW9kZWxzKGN0eCk7CisgICAgaWYgKGVycikKKyAgICAgICAg cmV0dXJuIGVycjsKKworICAgIGVyciA9IHBhcnNlX2ZlYXR1cmVzKGN0eCk7CisgICAgaWYgKGVy cikKKyAgICAgICAgcmV0dXJuIGVycjsKKworICAgIHJldHVybiBjb25maWdfb3V0cHV0KG91dGxp bmspOworfQorCitzdGF0aWMgaW50IGNvcHlfcGljdHVyZV9kYXRhX2N1ZGEoVm1hZkNvbnRleHQq IHZtYWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZDVURBRGV2aWNlQ29u dGV4dCogZGV2aWNlX2h3Y3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFW RnJhbWUqIHNyYywgVm1hZlBpY3R1cmUqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdCkKK3sKKyAgICBjb25zdCBBVlBpeEZt dERlc2NyaXB0b3IgKnBpeF9kZXNjID0gYXZfcGl4X2ZtdF9kZXNjX2dldChwaXhfZm10KTsKKyAg ICBDdWRhRnVuY3Rpb25zICpjdSA9IGRldmljZV9od2N0eC0+aW50ZXJuYWwtPmN1ZGFfZGw7CisK KyAgICBDVURBX01FTUNQWTJEIG0gPSB7CisgICAgICAgIC5zcmNNZW1vcnlUeXBlID0gQ1VfTUVN T1JZVFlQRV9ERVZJQ0UsCisgICAgICAgIC5kc3RNZW1vcnlUeXBlID0gQ1VfTUVNT1JZVFlQRV9E RVZJQ0UsCisgICAgfTsKKworICAgIGludCBlcnIgPSB2bWFmX2N1ZGFfZmV0Y2hfcHJlYWxsb2Nh dGVkX3BpY3R1cmUodm1hZiwgZHN0KTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gQVZF UlJPUihFTk9NRU0pOworCisgICAgZXJyID0gY3UtPmN1Q3R4UHVzaEN1cnJlbnQoZGV2aWNlX2h3 Y3R4LT5jdWRhX2N0eCk7CisgICAgaWYgKGVycikKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfRVhU RVJOQUw7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGl4X2Rlc2MtPm5iX2NvbXBv bmVudHM7IGkrKykgeworICAgICAgICBtLnNyY0RldmljZSA9IChDVWRldmljZXB0cikgc3JjLT5k YXRhW2ldOworICAgICAgICBtLnNyY1BpdGNoID0gc3JjLT5saW5lc2l6ZVtpXTsKKyAgICAgICAg bS5kc3REZXZpY2UgPSAoQ1VkZXZpY2VwdHIpIGRzdC0+ZGF0YVtpXTsKKyAgICAgICAgbS5kc3RQ aXRjaCA9IGRzdC0+c3RyaWRlW2ldOworICAgICAgICBtLldpZHRoSW5CeXRlcyA9IGRzdC0+d1tp XSAqICgoZHN0LT5icGMgKyA3KSAvIDgpOworICAgICAgICBtLkhlaWdodCA9IGRzdC0+aFtpXTsK KworICAgICAgICBlcnIgPSBjdS0+Y3VNZW1jcHkyRCgmbSk7CisgICAgICAgIGlmIChlcnIpCisg ICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKKyAgICAgICAgYnJlYWs7CisgICAg fQorCisgICAgZXJyID0gY3UtPmN1Q3R4UG9wQ3VycmVudChOVUxMKTsKKyAgICBpZiAoZXJyKQor ICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKKworICAgIHJldHVybiAwOworfQorCitz dGF0aWMgaW50IGRvX3ZtYWZfY3VkYShGRkZyYW1lU3luYyogZnMpCit7CisgICAgQVZGaWx0ZXJD b250ZXh0KiBjdHggPSBmcy0+cGFyZW50OworICAgIExJQlZNQUZDb250ZXh0KiBzID0gY3R4LT5w cml2OworICAgIEFWRmlsdGVyTGluayAqaW5saW5rID0gY3R4LT5pbnB1dHNbMF07CisgICAgQVZI V0ZyYW1lc0NvbnRleHQgKmZyYW1lc19jdHggPSAoQVZIV0ZyYW1lc0NvbnRleHQqKSBpbmxpbmst Pmh3X2ZyYW1lc19jdHgtPmRhdGE7CisgICAgQVZDVURBRGV2aWNlQ29udGV4dCAqZGV2aWNlX2h3 Y3R4ID0gZnJhbWVzX2N0eC0+ZGV2aWNlX2N0eC0+aHdjdHg7CisgICAgVm1hZlBpY3R1cmUgcGlj X3JlZiwgcGljX2Rpc3Q7CisgICAgQVZGcmFtZSAqcmVmLCAqZGlzdDsKKworICAgIGludCBlcnIg PSAwOworCisgICAgZXJyID0gZmZfZnJhbWVzeW5jX2R1YWxpbnB1dF9nZXQoZnMsICZkaXN0LCAm cmVmKTsKKyAgICBpZiAoZXJyIDwgMCkKKyAgICAgICAgcmV0dXJuIGVycjsKKyAgICBpZiAoY3R4 LT5pc19kaXNhYmxlZCB8fCAhcmVmKQorICAgICAgICByZXR1cm4gZmZfZmlsdGVyX2ZyYW1lKGN0 eC0+b3V0cHV0c1swXSwgZGlzdCk7CisKKyAgICBlcnIgPSBjb3B5X3BpY3R1cmVfZGF0YV9jdWRh KHMtPnZtYWYsIGRldmljZV9od2N0eCwgcmVmLCAmcGljX3JlZiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZyYW1lc19jdHgtPnN3X2Zvcm1hdCk7CisgICAgaWYgKGVycikgewor ICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAicHJvYmxlbSBkdXJpbmcgY29weV9waWN0 dXJlX2RhdGFfY3VkYS5cbiIpOworICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworICAg IH0KKworICAgIGVyciA9IGNvcHlfcGljdHVyZV9kYXRhX2N1ZGEocy0+dm1hZiwgZGV2aWNlX2h3 Y3R4LCBkaXN0LCAmcGljX2Rpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm cmFtZXNfY3R4LT5zd19mb3JtYXQpOworICAgIGlmIChlcnIpIHsKKyAgICAgICAgYXZfbG9nKHMs IEFWX0xPR19FUlJPUiwgInByb2JsZW0gZHVyaW5nIGNvcHlfcGljdHVyZV9kYXRhX2N1ZGEuXG4i KTsKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKyAgICB9CisKKyAgICBlcnIgPSB2 bWFmX3JlYWRfcGljdHVyZXMocy0+dm1hZiwgJnBpY19yZWYsICZwaWNfZGlzdCwgcy0+ZnJhbWVf Y250KyspOworICAgIGlmIChlcnIpIHsKKyAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwg InByb2JsZW0gZHVyaW5nIHZtYWZfcmVhZF9waWN0dXJlcy5cbiIpOworICAgICAgICByZXR1cm4g QVZFUlJPUihFSU5WQUwpOworICAgIH0KKworICAgIHJldHVybiBmZl9maWx0ZXJfZnJhbWUoY3R4 LT5vdXRwdXRzWzBdLCBkaXN0KTsKK30KKworc3RhdGljIGF2X2NvbGQgaW50IGluaXRfY3VkYShB VkZpbHRlckNvbnRleHQgKmN0eCkKK3sKKyAgICBMSUJWTUFGQ29udGV4dCAqcyA9IGN0eC0+cHJp djsKKyAgICBzLT5mcy5vbl9ldmVudCA9IGRvX3ZtYWZfY3VkYTsKKyAgICByZXR1cm4gMDsKK30K Kworc3RhdGljIGNvbnN0IEFWRmlsdGVyUGFkIGxpYnZtYWZfb3V0cHV0c19jdWRhW10gPSB7Cisg ICAgeworICAgICAgICAubmFtZSAgICAgICAgID0gImRlZmF1bHQiLAorICAgICAgICAudHlwZSAg ICAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAorICAgICAgICAuY29uZmlnX3Byb3BzID0gY29u ZmlnX3Byb3BzX2N1ZGEsCisgICAgfSwKK307CisKK2NvbnN0IEFWRmlsdGVyIGZmX3ZmX2xpYnZt YWZfY3VkYSA9IHsKKyAgICAubmFtZSAgICAgICAgICAgPSAibGlidm1hZl9jdWRhIiwKKyAgICAu ZGVzY3JpcHRpb24gICAgPSBOVUxMX0lGX0NPTkZJR19TTUFMTCgiQ2FsY3VsYXRlIHRoZSBWTUFG IGJldHdlZW4gdHdvIHZpZGVvIHN0cmVhbXMuIiksCisgICAgLnByZWluaXQgICAgICAgID0gbGli dm1hZl9mcmFtZXN5bmNfcHJlaW5pdCwKKyAgICAuaW5pdCAgICAgICAgICAgPSBpbml0X2N1ZGEs CisgICAgLnVuaW5pdCAgICAgICAgID0gdW5pbml0LAorICAgIC5hY3RpdmF0ZSAgICAgICA9IGFj dGl2YXRlLAorICAgIC5wcml2X3NpemUgICAgICA9IHNpemVvZihMSUJWTUFGQ29udGV4dCksCisg ICAgLnByaXZfY2xhc3MgICAgID0gJmxpYnZtYWZfY2xhc3MsCisgICAgRklMVEVSX0lOUFVUUyhs aWJ2bWFmX2lucHV0cyksCisgICAgRklMVEVSX09VVFBVVFMobGlidm1hZl9vdXRwdXRzX2N1ZGEp LAorICAgIEZJTFRFUl9TSU5HTEVfUElYRk1UKEFWX1BJWF9GTVRfQ1VEQSksCisgICAgLmZsYWdz X2ludGVybmFsID0gRkZfRklMVEVSX0ZMQUdfSFdGUkFNRV9BV0FSRSwKK307CisjZW5kaWYKLS0g CjIuMjQuMyAoQXBwbGUgR2l0LTEyOCkKCg== --0000000000006d742206062df452 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". --0000000000006d742206062df452--