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 CAADE49989 for ; Sat, 24 Feb 2024 16:16:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F3B2368C613; Sat, 24 Feb 2024 18:16:20 +0200 (EET) Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3BD1468BEFE for ; Sat, 24 Feb 2024 18:16:14 +0200 (EET) Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-3c199237eaeso195105b6e.0 for ; Sat, 24 Feb 2024 08:16:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708791372; x=1709396172; 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=Ebqj3yRSRI+gixnhThuEG6h8RqFl78RlrEZ0bIoRC0A=; b=ZjS6/FK18wxd22Okl3r+l+fpK6Izld/mQ1Dd2H9oAwFCtbE7OCHuIJlAIKHg9hNpg0 xRndOhzSTVA7o/FSA7mVKZpjE9EtP+EJDnttSuX0orHSIISrSwZXiwiwNp6QhFIeoLEb ushGlcD23ly5TROIBL/Huogyq7J0n1zkE9tfHeUYQ9YP/3wUuhrYWVS5/zV2u05Q68uo YOfr6HiUZ5Z9d5D6llo4+39AGiBw0E5JRgQkT9eDf2CJNJ9/2WuS4+wzdPkl3jCGep/d ElmeYZDV2tEVPwtoSEKQeCLzbgHJC6HkeoT0z26nXw2xH8ikBizsWXltUFSMYHjvAqJa pmDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708791372; x=1709396172; 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=Ebqj3yRSRI+gixnhThuEG6h8RqFl78RlrEZ0bIoRC0A=; b=LPmBdZe/bCrQuLEUMXTEVt1NnEQWkIlyCEpTuBvRceaKhd6iuTczYX7En79GJldhJl Qj02uj3cAqeyg2I3vQz6apx/FPAwJEJbBiAHH9ppvuYJDV7GpfB08ayp1DPpMKzs/Gbd +L7rMViU1Hk4RTf3+bOel3oyLJpAb06NEk7A3CNacXJnz819etTkU4yeoG9ky5sQOCma pdM5pl15RsH4MMpjjWCvmDZZbeaNByGrb059tpVB4PM7ExW8asgn+NKI2aHfKp6qVLVm SRrSxkOs+OKJBtjvjv3VtmAkLBNbq0JPLHpWcnAWrAs6HXgZfMjbkAkH6Bc4ACOP0TSt 5+vg== X-Gm-Message-State: AOJu0YytrNxgljyKybqFcq/0OghHg9oE6MDNKkGpv/GM8tdgVvMiddzy CypMQx9Olc1nmpUVOOErotmMfVpYqHevKnQEn4T0gBpFOtXyDU5CeS/XdyX/fj94cUQOn/mEaSQ 7+l6uP9T88//omnL8+WaKyz5cezn+4hroCIs= X-Google-Smtp-Source: AGHT+IHipY29VTeUxw5b2RhHOlg5Z2GG79KwP9GhMA0bFcQYJjrmxi5TGvlVcDR/1dU7kk8dQunNEV5Ft/CUEG/CjsQ= X-Received: by 2002:a05:6808:1523:b0:3c1:94b3:ebc8 with SMTP id u35-20020a056808152300b003c194b3ebc8mr1762292oiw.49.1708791372386; Sat, 24 Feb 2024 08:16:12 -0800 (PST) MIME-Version: 1.0 References: <3601973235488930945@unknownmsgid> <20240224154928.218662-1-chen.stonechen@gmail.com> In-Reply-To: <20240224154928.218662-1-chen.stonechen@gmail.com> From: Stone Chen Date: Sat, 24 Feb 2024 11:16:01 -0500 Message-ID: To: ffmpeg-devel@ffmpeg.org Content-Type: multipart/mixed; boundary="000000000000c00709061222fe4f" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] Add float user_rdiv[4] to allow user options to apply correctly 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: --000000000000c00709061222fe4f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sorry I just realized I messed up my git commit (new to git), I've attached a patch file with that correction. On Sat, Feb 24, 2024 at 10:49=E2=80=AFAM Stone Chen wrote: > Previously to support dynamic reconfigurations of the matrix string (e.g. > 0m), the rdiv values would always be cleared to 0.f, causing the rdiv to = be > recalculated based on the new filter. This however had the side effect of > always ignoring user specified rdiv values. > > Instead float user_rdiv[0] is added to ConvolutionContext which will stor= e > the user specified rdiv values. Then the original rdiv array will store > either the user_rdiv or the automatically calculated 1/sum. > > This fixes trac #10294, #10867 > --- > libavfilter/convolution.h | 3 ++- > libavfilter/vf_convolution.c | 9 +++++---- > 2 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/libavfilter/convolution.h b/libavfilter/convolution.h > index e44bfb5da8..ee7477ef89 100644 > --- a/libavfilter/convolution.h > +++ b/libavfilter/convolution.h > @@ -34,13 +34,14 @@ typedef struct ConvolutionContext { > const AVClass *class; > > char *matrix_str[4]; > - float rdiv[4]; > + float user_rdiv[4]; > float bias[4]; > int mode[4]; > float scale; > float delta; > int planes; > > + float rdiv[4]; > int size[4]; > int depth; > int max; > diff --git a/libavfilter/vf_convolution.c b/libavfilter/vf_convolution.c > index a00bb2b3c4..96c478d791 100644 > --- a/libavfilter/vf_convolution.c > +++ b/libavfilter/vf_convolution.c > @@ -40,10 +40,10 @@ static const AVOption convolution_options[] =3D { > { "1m", "set matrix for 2nd plane", OFFSET(matrix_str[1]), > AV_OPT_TYPE_STRING, {.str=3D"0 0 0 0 1 0 0 0 0"}, 0, 0, FLAGS }, > { "2m", "set matrix for 3rd plane", OFFSET(matrix_str[2]), > AV_OPT_TYPE_STRING, {.str=3D"0 0 0 0 1 0 0 0 0"}, 0, 0, FLAGS }, > { "3m", "set matrix for 4th plane", OFFSET(matrix_str[3]), > AV_OPT_TYPE_STRING, {.str=3D"0 0 0 0 1 0 0 0 0"}, 0, 0, FLAGS }, > - { "0rdiv", "set rdiv for 1st plane", OFFSET(rdiv[0]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > - { "1rdiv", "set rdiv for 2nd plane", OFFSET(rdiv[1]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > - { "2rdiv", "set rdiv for 3rd plane", OFFSET(rdiv[2]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > - { "3rdiv", "set rdiv for 4th plane", OFFSET(rdiv[3]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > + { "0rdiv", "set rdiv for 1st plane", OFFSET(user_rdiv[0]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > + { "1rdiv", "set rdiv for 2nd plane", OFFSET(user_rdiv[1]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > + { "2rdiv", "set rdiv for 3rd plane", OFFSET(user_rdiv[2]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > + { "3rdiv", "set rdiv for 4th plane", OFFSET(user_rdiv[3]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > { "0bias", "set bias for 1st plane", OFFSET(bias[0]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > { "1bias", "set bias for 2nd plane", OFFSET(bias[1]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > { "2bias", "set bias for 3rd plane", OFFSET(bias[2]), > AV_OPT_TYPE_FLOAT, {.dbl=3D0.0}, 0.0, INT_MAX, FLAGS}, > @@ -669,6 +669,7 @@ static int param_init(AVFilterContext *ctx) > for (i =3D 0; i < 4; i++) { > int *matrix =3D (int *)s->matrix[i]; > char *orig, *p, *arg, *saveptr =3D NULL; > + s->rdiv[i] =3D s->user_rdiv[i]; > float sum =3D 1.f; > > p =3D orig =3D av_strdup(s->matrix_str[i]); > -- > 2.43.2 > > --000000000000c00709061222fe4f Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-float-user_rdiv-4-to-allow-user-options-to-apply.patch" Content-Disposition: attachment; filename="0001-Add-float-user_rdiv-4-to-allow-user-options-to-apply.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lt0a8tru0 RnJvbSBkNDg5ZTY2YzdmMWVhOTRlZjMwMjc1OTU2NmVlMmIyMmI3ODk1Yjg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdG9uZSBDaGVuIDxjaGVuLnN0b25lY2hlbkBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjQgRmViIDIwMjQgMTE6MDg6MDIgLTA1MDAKU3ViamVjdDogW1BBVENIXSBB ZGQgZmxvYXQgdXNlcl9yZGl2WzRdIHRvIGFsbG93IHVzZXIgb3B0aW9ucyB0byBhcHBseQogY29y cmVjdGx5CgpQcmV2aW91c2x5IHRvIHN1cHBvcnQgZHluYW1pYyByZWNvbmZpZ3VyYXRpb25zIG9m IHRoZSBtYXRyaXggc3RyaW5nIChlLmcuIDBtKSwgdGhlIHJkaXYgdmFsdWVzIHdvdWxkIGFsd2F5 cyBiZSBjbGVhcmVkIHRvIDAuZiwgY2F1c2luZyB0aGUgcmRpdiB0byBiZSByZWNhbGN1bGF0ZWQg YmFzZWQgb24gdGhlIG5ldyBmaWx0ZXIuIFRoaXMgaG93ZXZlciBoYWQgdGhlIHNpZGUgZWZmZWN0 IG9mIGFsd2F5cyBpZ25vcmluZyB1c2VyIHNwZWNpZmllZCByZGl2IHZhbHVlcy4KCkluc3RlYWQg ZmxvYXQgdXNlcl9yZGl2WzBdIGlzIGFkZGVkIHRvIENvbnZvbHV0aW9uQ29udGV4dCB3aGljaCB3 aWxsIHN0b3JlIHRoZSB1c2VyIHNwZWNpZmllZCByZGl2IHZhbHVlcy4gVGhlbiB0aGUgb3JpZ2lu YWwgcmRpdiBhcnJheSB3aWxsIHN0b3JlIGVpdGhlciB0aGUgdXNlcl9yZGl2IG9yIHRoZSBhdXRv bWF0aWNhbGx5IGNhbGN1bGF0ZWQgMS9zdW0uCgpUaGlzIGZpeGVzIHRyYWMgIzEwMjk0LCAjMTA4 NjcKClNpZ25lZC1vZmYtYnk6IFN0b25lIENoZW4gPGNoZW4uc3RvbmVjaGVuQGdtYWlsLmNvbT4K LS0tCiBsaWJhdmZpbHRlci9jb252b2x1dGlvbi5oICAgIHwgIDMgKystCiBsaWJhdmZpbHRlci92 Zl9jb252b2x1dGlvbi5jIHwgMTAgKysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvY29udm9s dXRpb24uaCBiL2xpYmF2ZmlsdGVyL2NvbnZvbHV0aW9uLmgKaW5kZXggZTQ0YmZiNWRhOC4uZWU3 NDc3ZWY4OSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvY29udm9sdXRpb24uaAorKysgYi9saWJh dmZpbHRlci9jb252b2x1dGlvbi5oCkBAIC0zNCwxMyArMzQsMTQgQEAgdHlwZWRlZiBzdHJ1Y3Qg Q29udm9sdXRpb25Db250ZXh0IHsKICAgICBjb25zdCBBVkNsYXNzICpjbGFzczsKIAogICAgIGNo YXIgKm1hdHJpeF9zdHJbNF07Ci0gICAgZmxvYXQgcmRpdls0XTsKKyAgICBmbG9hdCB1c2VyX3Jk aXZbNF07CiAgICAgZmxvYXQgYmlhc1s0XTsKICAgICBpbnQgbW9kZVs0XTsKICAgICBmbG9hdCBz Y2FsZTsKICAgICBmbG9hdCBkZWx0YTsKICAgICBpbnQgcGxhbmVzOwogCisgICAgZmxvYXQgcmRp dls0XTsKICAgICBpbnQgc2l6ZVs0XTsKICAgICBpbnQgZGVwdGg7CiAgICAgaW50IG1heDsKZGlm ZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2NvbnZvbHV0aW9uLmMgYi9saWJhdmZpbHRlci92Zl9j b252b2x1dGlvbi5jCmluZGV4IGJmNjdmMzkyZjYuLjg4Yjg5Mjg5YTkgMTAwNjQ0Ci0tLSBhL2xp YmF2ZmlsdGVyL3ZmX2NvbnZvbHV0aW9uLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfY29udm9sdXRp b24uYwpAQCAtNDAsMTAgKzQwLDEwIEBAIHN0YXRpYyBjb25zdCBBVk9wdGlvbiBjb252b2x1dGlv bl9vcHRpb25zW10gPSB7CiAgICAgeyAiMW0iLCAic2V0IG1hdHJpeCBmb3IgMm5kIHBsYW5lIiwg T0ZGU0VUKG1hdHJpeF9zdHJbMV0pLCBBVl9PUFRfVFlQRV9TVFJJTkcsIHsuc3RyPSIwIDAgMCAw IDEgMCAwIDAgMCJ9LCAwLCAwLCBGTEFHUyB9LAogICAgIHsgIjJtIiwgInNldCBtYXRyaXggZm9y IDNyZCBwbGFuZSIsIE9GRlNFVChtYXRyaXhfc3RyWzJdKSwgQVZfT1BUX1RZUEVfU1RSSU5HLCB7 LnN0cj0iMCAwIDAgMCAxIDAgMCAwIDAifSwgMCwgMCwgRkxBR1MgfSwKICAgICB7ICIzbSIsICJz ZXQgbWF0cml4IGZvciA0dGggcGxhbmUiLCBPRkZTRVQobWF0cml4X3N0clszXSksIEFWX09QVF9U WVBFX1NUUklORywgey5zdHI9IjAgMCAwIDAgMSAwIDAgMCAwIn0sIDAsIDAsIEZMQUdTIH0sCi0g ICAgeyAiMHJkaXYiLCAic2V0IHJkaXYgZm9yIDFzdCBwbGFuZSIsIE9GRlNFVChyZGl2WzBdKSwg QVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJsPTAuMH0sIDAuMCwgSU5UX01BWCwgRkxBR1N9LAotICAg IHsgIjFyZGl2IiwgInNldCByZGl2IGZvciAybmQgcGxhbmUiLCBPRkZTRVQocmRpdlsxXSksIEFW X09QVF9UWVBFX0ZMT0FULCB7LmRibD0wLjB9LCAwLjAsIElOVF9NQVgsIEZMQUdTfSwKLSAgICB7 ICIycmRpdiIsICJzZXQgcmRpdiBmb3IgM3JkIHBsYW5lIiwgT0ZGU0VUKHJkaXZbMl0pLCBBVl9P UFRfVFlQRV9GTE9BVCwgey5kYmw9MC4wfSwgMC4wLCBJTlRfTUFYLCBGTEFHU30sCi0gICAgeyAi M3JkaXYiLCAic2V0IHJkaXYgZm9yIDR0aCBwbGFuZSIsIE9GRlNFVChyZGl2WzNdKSwgQVZfT1BU X1RZUEVfRkxPQVQsIHsuZGJsPTAuMH0sIDAuMCwgSU5UX01BWCwgRkxBR1N9LAorICAgIHsgIjBy ZGl2IiwgInNldCByZGl2IGZvciAxc3QgcGxhbmUiLCBPRkZTRVQodXNlcl9yZGl2WzBdKSwgQVZf T1BUX1RZUEVfRkxPQVQsIHsuZGJsPTAuMH0sIDAuMCwgSU5UX01BWCwgRkxBR1N9LAorICAgIHsg IjFyZGl2IiwgInNldCByZGl2IGZvciAybmQgcGxhbmUiLCBPRkZTRVQodXNlcl9yZGl2WzFdKSwg QVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJsPTAuMH0sIDAuMCwgSU5UX01BWCwgRkxBR1N9LAorICAg IHsgIjJyZGl2IiwgInNldCByZGl2IGZvciAzcmQgcGxhbmUiLCBPRkZTRVQodXNlcl9yZGl2WzJd KSwgQVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJsPTAuMH0sIDAuMCwgSU5UX01BWCwgRkxBR1N9LAor ICAgIHsgIjNyZGl2IiwgInNldCByZGl2IGZvciA0dGggcGxhbmUiLCBPRkZTRVQodXNlcl9yZGl2 WzNdKSwgQVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJsPTAuMH0sIDAuMCwgSU5UX01BWCwgRkxBR1N9 LAogICAgIHsgIjBiaWFzIiwgInNldCBiaWFzIGZvciAxc3QgcGxhbmUiLCBPRkZTRVQoYmlhc1sw XSksIEFWX09QVF9UWVBFX0ZMT0FULCB7LmRibD0wLjB9LCAwLjAsIElOVF9NQVgsIEZMQUdTfSwK ICAgICB7ICIxYmlhcyIsICJzZXQgYmlhcyBmb3IgMm5kIHBsYW5lIiwgT0ZGU0VUKGJpYXNbMV0p LCBBVl9PUFRfVFlQRV9GTE9BVCwgey5kYmw9MC4wfSwgMC4wLCBJTlRfTUFYLCBGTEFHU30sCiAg ICAgeyAiMmJpYXMiLCAic2V0IGJpYXMgZm9yIDNyZCBwbGFuZSIsIE9GRlNFVChiaWFzWzJdKSwg QVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJsPTAuMH0sIDAuMCwgSU5UX01BWCwgRkxBR1N9LApAQCAt Njc0LDcgKzY3NCw3IEBAIHN0YXRpYyBpbnQgcGFyYW1faW5pdChBVkZpbHRlckNvbnRleHQgKmN0 eCkKICAgICAgICAgICAgIHAgPSBvcmlnID0gYXZfc3RyZHVwKHMtPm1hdHJpeF9zdHJbaV0pOwog ICAgICAgICAgICAgaWYgKHApIHsKICAgICAgICAgICAgICAgICBzLT5tYXRyaXhfbGVuZ3RoW2ld ID0gMDsKLSAgICAgICAgICAgICAgICBzLT5yZGl2W2ldID0gMC5mOworICAgICAgICAgICAgICAg IHMtPnJkaXZbaV0gPSBzLT51c2VyX3JkaXZbaV07CiAgICAgICAgICAgICAgICAgc3VtID0gMC5m OwogCiAgICAgICAgICAgICAgICAgd2hpbGUgKHMtPm1hdHJpeF9sZW5ndGhbaV0gPCA0OSkgewot LSAKMi40My4yCgo= --000000000000c00709061222fe4f 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". --000000000000c00709061222fe4f--