* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
[not found] ` <YNx3sBpzP3r6p++p@sunshine.barsnick.net>
@ 2021-12-24 20:51 ` Kyle Swanson
2021-12-24 20:54 ` Timo Rothenpieler
2021-12-25 9:24 ` Paul B Mahol
0 siblings, 2 replies; 14+ messages in thread
From: Kyle Swanson @ 2021-12-24 20:51 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1: Type: text/plain, Size: 5491 bytes --]
Hi,
Never followed through on this vf_libvmaf patch from last June, and
I've had several people asking about its status lately. Rebased patch
attached. It's been a while, so I guess let's start the review again.
Would be nice if we could get this in before 5.0.
Thanks,
Kyle
On Wed, Jun 30, 2021 at 6:55 AM Moritz Barsnick <barsnick@gmx.net> wrote:
>
> Hi,
>
> > -enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 1.5.2" libvmaf.h compute_vmaf
> > +enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 2.0.0" libvmaf.h vmaf_init
>
> General question: Is it acceptable to drop support for libvmaf 1.x? I
> saw that Fedora 33 is still on 1.x.
>
> > -Obtain the VMAF (Video Multi-Method Assessment Fusion)
> > -score between two input videos.
> > +Calulate the VMAF (Video Multi-Method Assessment Fusion) score for a
> > +reference/distorted pair of input videos.
>
> These documentation improvements aren't related to the actual switch to
> 2.x, and should be in a separate commit.
>
> > @code{./configure --enable-libvmaf}.
> > -If no model path is specified it uses the default model: @code{vmaf_v0.6.1.pkl}.
>
> Unless they are consequences of the switch, of course.
>
> > - {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
> > - {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > - {"log_fmt", "Set the format of the log (csv, json or xml).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > - {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"phone_model", "Invokes the phone model that will generate higher VMAF scores.", OFFSET(phone_model), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"psnr", "Enables computing psnr along with vmaf.", OFFSET(psnr), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"ssim", "Enables computing ssim along with vmaf.", OFFSET(ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"ms_ssim", "Enables computing ms-ssim along with vmaf.", OFFSET(ms_ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"pool", "Set the pool method to be used for computing vmaf.", OFFSET(pool), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > - {"n_threads", "Set number of threads to be used when computing vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0, UINT_MAX, FLAGS},
> > - {"n_subsample", "Set interval for frame subsampling used when computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1, UINT_MAX, FLAGS},
> > - {"enable_conf_interval", "Enables confidence interval.", OFFSET(enable_conf_interval), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > + {"model", "Set the model to be used for computing vmaf.", OFFSET(model_cfg), AV_OPT_TYPE_STRING, {.str="version=vmaf_v0.6.1"}, 0, 1, FLAGS},
> > + {"feature", "Set the feature to be used for computing vmaf.", OFFSET(feature_cfg), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > + {"log_path", "Set the file path to be used to write log.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > + {"log_fmt", "Set the format of the log (csv, json, xml, or sub).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str="xml"}, 0, 1, FLAGS},
> > + {"n_threads", "Set number of threads to be used when computing vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0, UINT_MAX, FLAGS},
> > + {"n_subsample", "Set interval for frame subsampling used when computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1, UINT_MAX, FLAGS},
>
>
> Some changes are easier to review, if you don't change all the
> whitespace initially.
>
> > + if (err) return AVERROR(ENOMEM);
>
> Line break.
>
> > + int err = 0;
> > + if (!str) return NULL;
>
> Line break.
>
> > + if (!dict) goto fail;
>
> Ditto, in several subsequent places.
>
> > + if (str_copy)
> > + av_free(str_copy);
>
> No need to check for str_copy.
>
> > + e = NULL;
> > + while (e = av_dict_get(dict[i], "", e, AV_DICT_IGNORE_SUFFIX)) {
>
> I believe the assigned value from "e = NULL" is never used.
>
> > .name = "main",
> > .type = AVMEDIA_TYPE_VIDEO,
> > - },{
> > + },
> > + {
> > .name = "reference",
>
> Unrelated style change.
>
> Since it looks like a complete re-write, it doesn't look like support
> for both old and new API seems feasible, right? Just wondering, I am
> not the one to judge.
>
> (And I cannot judge on the actual functionality.)
>
> Oh, and you should probably bump at least libavfilter MICRO version -
> not sure whether even MINOR is justified.
>
> Cheers,
> Moritz
> _______________________________________________
> 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".
[-- Attachment #2: 0001-avfilter-vf_libvmaf-update-filter-for-libvmaf-v2.0.0.patch --]
[-- Type: application/octet-stream, Size: 30621 bytes --]
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2021-12-24 20:51 ` [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0 Kyle Swanson
@ 2021-12-24 20:54 ` Timo Rothenpieler
2021-12-31 1:01 ` Kyle Swanson
2021-12-25 9:24 ` Paul B Mahol
1 sibling, 1 reply; 14+ messages in thread
From: Timo Rothenpieler @ 2021-12-24 20:54 UTC (permalink / raw)
To: ffmpeg-devel
[-- Attachment #1.1: Type: text/plain, Size: 745 bytes --]
On 24.12.2021 21:51, Kyle Swanson wrote:
> Hi,
>
> Never followed through on this vf_libvmaf patch from last June, and
> I've had several people asking about its status lately. Rebased patch
> attached. It's been a while, so I guess let's start the review again.
> Would be nice if we could get this in before 5.0.
>
> Thanks,
> Kyle
>
> On Wed, Jun 30, 2021 at 6:55 AM Moritz Barsnick <barsnick@gmx.net> wrote:
>>
>> Hi,
>>
>>> -enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 1.5.2" libvmaf.h compute_vmaf
>>> +enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 2.0.0" libvmaf.h vmaf_init
The primary question remains.
Is dropping <2.0 support okay, when there's distros out there not having
2.0 yet?
[-- Attachment #1.2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4494 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2021-12-24 20:51 ` [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0 Kyle Swanson
2021-12-24 20:54 ` Timo Rothenpieler
@ 2021-12-25 9:24 ` Paul B Mahol
2021-12-31 1:03 ` Kyle Swanson
1 sibling, 1 reply; 14+ messages in thread
From: Paul B Mahol @ 2021-12-25 9:24 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Fri, Dec 24, 2021 at 9:52 PM Kyle Swanson <k@ylo.ph> wrote:
> Hi,
>
> Never followed through on this vf_libvmaf patch from last June, and
> I've had several people asking about its status lately. Rebased patch
> attached. It's been a while, so I guess let's start the review again.
> Would be nice if we could get this in before 5.0.
>
>
Please read old reviews and follow them.
There is no exceptions.
> Thanks,
> Kyle
>
> On Wed, Jun 30, 2021 at 6:55 AM Moritz Barsnick <barsnick@gmx.net> wrote:
> >
> > Hi,
> >
> > > -enabled libvmaf && require_pkg_config libvmaf "libvmaf >=
> 1.5.2" libvmaf.h compute_vmaf
> > > +enabled libvmaf && require_pkg_config libvmaf "libvmaf >=
> 2.0.0" libvmaf.h vmaf_init
> >
> > General question: Is it acceptable to drop support for libvmaf 1.x? I
> > saw that Fedora 33 is still on 1.x.
> >
> > > -Obtain the VMAF (Video Multi-Method Assessment Fusion)
> > > -score between two input videos.
> > > +Calulate the VMAF (Video Multi-Method Assessment Fusion) score for a
> > > +reference/distorted pair of input videos.
> >
> > These documentation improvements aren't related to the actual switch to
> > 2.x, and should be in a separate commit.
> >
> > > @code{./configure --enable-libvmaf}.
> > > -If no model path is specified it uses the default model:
> @code{vmaf_v0.6.1.pkl}.
> >
> > Unless they are consequences of the switch, of course.
> >
> > > - {"model_path", "Set the model to be used for computing vmaf.",
> OFFSET(model_path), AV_OPT_TYPE_STRING,
> {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
> > > - {"log_path", "Set the file path to be used to store logs.",
> OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1,
> FLAGS},
> > > - {"log_fmt", "Set the format of the log (csv, json or xml).",
> OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1,
> FLAGS},
> > > - {"enable_transform", "Enables transform for computing vmaf.",
> OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0,
> 1, FLAGS},
> > > - {"phone_model", "Invokes the phone model that will generate
> higher VMAF scores.", OFFSET(phone_model), AV_OPT_TYPE_BOOL, {.i64=0}, 0,
> 1, FLAGS},
> > > - {"psnr", "Enables computing psnr along with vmaf.",
> OFFSET(psnr), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"ssim", "Enables computing ssim along with vmaf.",
> OFFSET(ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"ms_ssim", "Enables computing ms-ssim along with vmaf.",
> OFFSET(ms_ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"pool", "Set the pool method to be used for computing vmaf.",
> OFFSET(pool), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1,
> FLAGS},
> > > - {"n_threads", "Set number of threads to be used when computing
> vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0,
> UINT_MAX, FLAGS},
> > > - {"n_subsample", "Set interval for frame subsampling used when
> computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1,
> UINT_MAX, FLAGS},
> > > - {"enable_conf_interval", "Enables confidence interval.",
> OFFSET(enable_conf_interval), AV_OPT_TYPE_BOOL,
> {.i64=0}, 0, 1, FLAGS},
> > > + {"model", "Set the model to be used for computing vmaf.",
> OFFSET(model_cfg), AV_OPT_TYPE_STRING,
> {.str="version=vmaf_v0.6.1"}, 0, 1, FLAGS},
> > > + {"feature", "Set the feature to be used for computing vmaf.",
> OFFSET(feature_cfg), AV_OPT_TYPE_STRING, {.str=NULL},
> 0, 1, FLAGS},
> > > + {"log_path", "Set the file path to be used to write log.",
> OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0,
> 1, FLAGS},
> > > + {"log_fmt", "Set the format of the log (csv, json, xml, or
> sub).", OFFSET(log_fmt), AV_OPT_TYPE_STRING,
> {.str="xml"}, 0, 1, FLAGS},
> > > + {"n_threads", "Set number of threads to be used when computing
> vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0,
> UINT_MAX, FLAGS},
> > > + {"n_subsample", "Set interval for frame subsampling used when
> computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1,
> UINT_MAX, FLAGS},
> >
> >
> > Some changes are easier to review, if you don't change all the
> > whitespace initially.
> >
> > > + if (err) return AVERROR(ENOMEM);
> >
> > Line break.
> >
> > > + int err = 0;
> > > + if (!str) return NULL;
> >
> > Line break.
> >
> > > + if (!dict) goto fail;
> >
> > Ditto, in several subsequent places.
> >
> > > + if (str_copy)
> > > + av_free(str_copy);
> >
> > No need to check for str_copy.
> >
> > > + e = NULL;
> > > + while (e = av_dict_get(dict[i], "", e,
> AV_DICT_IGNORE_SUFFIX)) {
> >
> > I believe the assigned value from "e = NULL" is never used.
> >
> > > .name = "main",
> > > .type = AVMEDIA_TYPE_VIDEO,
> > > - },{
> > > + },
> > > + {
> > > .name = "reference",
> >
> > Unrelated style change.
> >
> > Since it looks like a complete re-write, it doesn't look like support
> > for both old and new API seems feasible, right? Just wondering, I am
> > not the one to judge.
> >
> > (And I cannot judge on the actual functionality.)
> >
> > Oh, and you should probably bump at least libavfilter MICRO version -
> > not sure whether even MINOR is justified.
> >
> > Cheers,
> > Moritz
> > _______________________________________________
> > 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".
> _______________________________________________
> 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".
>
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2021-12-24 20:54 ` Timo Rothenpieler
@ 2021-12-31 1:01 ` Kyle Swanson
0 siblings, 0 replies; 14+ messages in thread
From: Kyle Swanson @ 2021-12-31 1:01 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Hi,
On Fri, Dec 24, 2021 at 12:54 PM Timo Rothenpieler
<timo@rothenpieler.org> wrote:
> > On Wed, Jun 30, 2021 at 6:55 AM Moritz Barsnick <barsnick@gmx.net> wrote:
> >>
> >> Hi,
> >>
> >>> -enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 1.5.2" libvmaf.h compute_vmaf
> >>> +enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 2.0.0" libvmaf.h vmaf_init
>
> The primary question remains.
> Is dropping <2.0 support okay, when there's distros out there not having
> 2.0 yet?
I just checked and libvmaf v2.0.0 has been out for a little bit over a
year now. I don't know much about the various distro package
maintainers and the state of things, but I think it's OK to go ahead.
Thanks,
Kyle
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2021-12-25 9:24 ` Paul B Mahol
@ 2021-12-31 1:03 ` Kyle Swanson
2022-01-02 18:24 ` Kyle Swanson
2022-01-03 5:21 ` Andreas Rheinhardt
0 siblings, 2 replies; 14+ messages in thread
From: Kyle Swanson @ 2021-12-31 1:03 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1: Type: text/plain, Size: 595 bytes --]
Hi,
On Sat, Dec 25, 2021 at 1:24 AM Paul B Mahol <onemda@gmail.com> wrote:
>
> On Fri, Dec 24, 2021 at 9:52 PM Kyle Swanson <k@ylo.ph> wrote:
>
> > Hi,
> >
> > Never followed through on this vf_libvmaf patch from last June, and
> > I've had several people asking about its status lately. Rebased patch
> > attached. It's been a while, so I guess let's start the review again.
> > Would be nice if we could get this in before 5.0.
> >
> >
> Please read old reviews and follow them.
> There is no exceptions.
Thank you, I've taken all of Mortiz's comments. Updated patch attached.
Thanks,
Kyle
[-- Attachment #2: 0001-avfilter-vf_libvmaf-update-filter-for-libvmaf-v2.0.0.patch --]
[-- Type: application/octet-stream, Size: 30818 bytes --]
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2021-12-31 1:03 ` Kyle Swanson
@ 2022-01-02 18:24 ` Kyle Swanson
2022-01-03 5:21 ` Andreas Rheinhardt
1 sibling, 0 replies; 14+ messages in thread
From: Kyle Swanson @ 2022-01-02 18:24 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Hi,
On Thu, Dec 30, 2021 at 5:03 PM Kyle Swanson <k@ylo.ph> wrote:
>
> Hi,
>
> On Sat, Dec 25, 2021 at 1:24 AM Paul B Mahol <onemda@gmail.com> wrote:
> >
> > On Fri, Dec 24, 2021 at 9:52 PM Kyle Swanson <k@ylo.ph> wrote:
> >
> > > Hi,
> > >
> > > Never followed through on this vf_libvmaf patch from last June, and
> > > I've had several people asking about its status lately. Rebased patch
> > > attached. It's been a while, so I guess let's start the review again.
> > > Would be nice if we could get this in before 5.0.
> > >
> > >
> > Please read old reviews and follow them.
> > There is no exceptions.
>
> Thank you, I've taken all of Mortiz's comments. Updated patch attached.
>
> Thanks,
> Kyle
Unless there are any more reviews or questions, I will push soon.
Thanks,
Kyle
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2021-12-31 1:03 ` Kyle Swanson
2022-01-02 18:24 ` Kyle Swanson
@ 2022-01-03 5:21 ` Andreas Rheinhardt
2022-01-03 22:32 ` Kyle Swanson
1 sibling, 1 reply; 14+ messages in thread
From: Andreas Rheinhardt @ 2022-01-03 5:21 UTC (permalink / raw)
To: ffmpeg-devel
Kyle Swanson:
> Hi,
>
> On Sat, Dec 25, 2021 at 1:24 AM Paul B Mahol <onemda@gmail.com> wrote:
>>
>> On Fri, Dec 24, 2021 at 9:52 PM Kyle Swanson <k@ylo.ph> wrote:
>>
>>> Hi,
>>>
>>> Never followed through on this vf_libvmaf patch from last June, and
>>> I've had several people asking about its status lately. Rebased patch
>>> attached. It's been a while, so I guess let's start the review again.
>>> Would be nice if we could get this in before 5.0.
>>>
>>>
>> Please read old reviews and follow them.
>> There is no exceptions.
>
> Thank you, I've taken all of Mortiz's comments. Updated patch attached.
>
> Thanks,
> Kyle
>
>
> static const AVOption libvmaf_options[] = {
> - {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
> - {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> - {"log_fmt", "Set the format of the log (csv, json or xml).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> - {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> - {"phone_model", "Invokes the phone model that will generate higher VMAF scores.", OFFSET(phone_model), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> - {"psnr", "Enables computing psnr along with vmaf.", OFFSET(psnr), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> - {"ssim", "Enables computing ssim along with vmaf.", OFFSET(ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> - {"ms_ssim", "Enables computing ms-ssim along with vmaf.", OFFSET(ms_ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> - {"pool", "Set the pool method to be used for computing vmaf.", OFFSET(pool), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> + {"model", "Set the model to be used for computing vmaf.", OFFSET(model_cfg), AV_OPT_TYPE_STRING, {.str="version=vmaf_v0.6.1"}, 0, 1, FLAGS},
> + {"feature", "Set the feature to be used for computing vmaf.", OFFSET(feature_cfg), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> + {"log_path", "Set the file path to be used to write log.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> + {"log_fmt", "Set the format of the log (csv, json, xml, or sub).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str="xml"}, 0, 1, FLAGS},
> {"n_threads", "Set number of threads to be used when computing vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0, UINT_MAX, FLAGS},
> {"n_subsample", "Set interval for frame subsampling used when computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1, UINT_MAX, FLAGS},
> - {"enable_conf_interval", "Enables confidence interval.", OFFSET(enable_conf_interval), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> { NULL }
> };
You are removing lots of options; removing options is only permissible
during a major break and even then the options need to have been
deprecated before that.
- Andreas
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2022-01-03 5:21 ` Andreas Rheinhardt
@ 2022-01-03 22:32 ` Kyle Swanson
2022-01-08 22:08 ` Kyle Swanson
2022-01-10 18:22 ` Andreas Rheinhardt
0 siblings, 2 replies; 14+ messages in thread
From: Kyle Swanson @ 2022-01-03 22:32 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1: Type: text/plain, Size: 3108 bytes --]
Hi,
On Sun, Jan 2, 2022 at 9:21 PM Andreas Rheinhardt
<andreas.rheinhardt@outlook.com> wrote:
> >
> > static const AVOption libvmaf_options[] = {
> > - {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
> > - {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > - {"log_fmt", "Set the format of the log (csv, json or xml).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > - {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"phone_model", "Invokes the phone model that will generate higher VMAF scores.", OFFSET(phone_model), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"psnr", "Enables computing psnr along with vmaf.", OFFSET(psnr), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"ssim", "Enables computing ssim along with vmaf.", OFFSET(ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"ms_ssim", "Enables computing ms-ssim along with vmaf.", OFFSET(ms_ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > - {"pool", "Set the pool method to be used for computing vmaf.", OFFSET(pool), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > + {"model", "Set the model to be used for computing vmaf.", OFFSET(model_cfg), AV_OPT_TYPE_STRING, {.str="version=vmaf_v0.6.1"}, 0, 1, FLAGS},
> > + {"feature", "Set the feature to be used for computing vmaf.", OFFSET(feature_cfg), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > + {"log_path", "Set the file path to be used to write log.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > + {"log_fmt", "Set the format of the log (csv, json, xml, or sub).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str="xml"}, 0, 1, FLAGS},
> > {"n_threads", "Set number of threads to be used when computing vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0, UINT_MAX, FLAGS},
> > {"n_subsample", "Set interval for frame subsampling used when computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1, UINT_MAX, FLAGS},
> > - {"enable_conf_interval", "Enables confidence interval.", OFFSET(enable_conf_interval), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > { NULL }
> > };
>
> You are removing lots of options; removing options is only permissible
> during a major break and even then the options need to have been
> deprecated before that.
Good point, thanks. New patch attached. No more missing options,
everything that should be deprecated has been marked as deprecated and
appropriate fallback behavior implemented.
Thanks,
Kyle
[-- Attachment #2: 0001-avfilter-vf_libvmaf-update-filter-for-libvmaf-v2.0.0.patch --]
[-- Type: application/octet-stream, Size: 35214 bytes --]
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2022-01-03 22:32 ` Kyle Swanson
@ 2022-01-08 22:08 ` Kyle Swanson
2022-01-10 18:22 ` Andreas Rheinhardt
1 sibling, 0 replies; 14+ messages in thread
From: Kyle Swanson @ 2022-01-08 22:08 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Hi,
On Mon, Jan 3, 2022 at 2:32 PM Kyle Swanson <k@ylo.ph> wrote:
>
> Hi,
>
> On Sun, Jan 2, 2022 at 9:21 PM Andreas Rheinhardt
> <andreas.rheinhardt@outlook.com> wrote:
> > >
> > > static const AVOption libvmaf_options[] = {
> > > - {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
> > > - {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > > - {"log_fmt", "Set the format of the log (csv, json or xml).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > > - {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"phone_model", "Invokes the phone model that will generate higher VMAF scores.", OFFSET(phone_model), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"psnr", "Enables computing psnr along with vmaf.", OFFSET(psnr), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"ssim", "Enables computing ssim along with vmaf.", OFFSET(ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"ms_ssim", "Enables computing ms-ssim along with vmaf.", OFFSET(ms_ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > - {"pool", "Set the pool method to be used for computing vmaf.", OFFSET(pool), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > > + {"model", "Set the model to be used for computing vmaf.", OFFSET(model_cfg), AV_OPT_TYPE_STRING, {.str="version=vmaf_v0.6.1"}, 0, 1, FLAGS},
> > > + {"feature", "Set the feature to be used for computing vmaf.", OFFSET(feature_cfg), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > > + {"log_path", "Set the file path to be used to write log.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
> > > + {"log_fmt", "Set the format of the log (csv, json, xml, or sub).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str="xml"}, 0, 1, FLAGS},
> > > {"n_threads", "Set number of threads to be used when computing vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0, UINT_MAX, FLAGS},
> > > {"n_subsample", "Set interval for frame subsampling used when computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1, UINT_MAX, FLAGS},
> > > - {"enable_conf_interval", "Enables confidence interval.", OFFSET(enable_conf_interval), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
> > > { NULL }
> > > };
> >
> > You are removing lots of options; removing options is only permissible
> > during a major break and even then the options need to have been
> > deprecated before that.
>
> Good point, thanks. New patch attached. No more missing options,
> everything that should be deprecated has been marked as deprecated and
> appropriate fallback behavior implemented.
>
> Thanks,
> Kyle
I think this patch should be ready to go. Any other comments let me
know, otherwise I will plan on merging in ~48 hrs.
Thanks,
Kyle
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2022-01-03 22:32 ` Kyle Swanson
2022-01-08 22:08 ` Kyle Swanson
@ 2022-01-10 18:22 ` Andreas Rheinhardt
2022-01-14 2:38 ` Kyle Swanson
1 sibling, 1 reply; 14+ messages in thread
From: Andreas Rheinhardt @ 2022-01-10 18:22 UTC (permalink / raw)
To: ffmpeg-devel
Kyle Swanson:
> Hi,
>
> On Sun, Jan 2, 2022 at 9:21 PM Andreas Rheinhardt
> <andreas.rheinhardt@outlook.com> wrote:
>>>
>>> static const AVOption libvmaf_options[] = {
>>> - {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
>>> - {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
>>> - {"log_fmt", "Set the format of the log (csv, json or xml).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
>>> - {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
>>> - {"phone_model", "Invokes the phone model that will generate higher VMAF scores.", OFFSET(phone_model), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
>>> - {"psnr", "Enables computing psnr along with vmaf.", OFFSET(psnr), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
>>> - {"ssim", "Enables computing ssim along with vmaf.", OFFSET(ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
>>> - {"ms_ssim", "Enables computing ms-ssim along with vmaf.", OFFSET(ms_ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
>>> - {"pool", "Set the pool method to be used for computing vmaf.", OFFSET(pool), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
>>> + {"model", "Set the model to be used for computing vmaf.", OFFSET(model_cfg), AV_OPT_TYPE_STRING, {.str="version=vmaf_v0.6.1"}, 0, 1, FLAGS},
>>> + {"feature", "Set the feature to be used for computing vmaf.", OFFSET(feature_cfg), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
>>> + {"log_path", "Set the file path to be used to write log.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
>>> + {"log_fmt", "Set the format of the log (csv, json, xml, or sub).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str="xml"}, 0, 1, FLAGS},
>>> {"n_threads", "Set number of threads to be used when computing vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0, UINT_MAX, FLAGS},
>>> {"n_subsample", "Set interval for frame subsampling used when computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1, UINT_MAX, FLAGS},
>>> - {"enable_conf_interval", "Enables confidence interval.", OFFSET(enable_conf_interval), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
>>> { NULL }
>>> };
>>
>> You are removing lots of options; removing options is only permissible
>> during a major break and even then the options need to have been
>> deprecated before that.
>
> Good point, thanks. New patch attached. No more missing options,
> everything that should be deprecated has been marked as deprecated and
> appropriate fallback behavior implemented.
>
> +static AVDictionary **delimited_dict_parse(char *str, unsigned *cnt)
> {
> - LIBVMAFContext *s = (LIBVMAFContext *) ctx;
> - compute_vmaf_score(s);
> - if (!s->error) {
> - av_log(ctx, AV_LOG_INFO, "VMAF score: %f\n",s->vmaf_score);
> - } else {
> - pthread_mutex_lock(&s->lock);
> - pthread_cond_signal(&s->cond);
> - pthread_mutex_unlock(&s->lock);
> + int err = 0;
> + if (!str)
> + return NULL;
> +
> + *cnt = 1;
> + for (char *p = str; *p; p++) {
> + if (*p == '|')
> + (*cnt)++;
> }
> - pthread_exit(NULL);
> +
> + AVDictionary **dict = av_calloc(*cnt, sizeof(*dict));
> + if (!dict)
> + goto fail;
> +
> + char *str_copy = av_strdup(str);
> + if (!str_copy)
> + goto fail;
> +
> + char *saveptr = NULL;
> + for (unsigned i = 0; i < *cnt; i++) {
> + char *s = av_strtok(i == 0 ? str_copy : NULL, "|", &saveptr);
> + err = av_dict_parse_string(&dict[i], s, "=", ":", 0);
> + if (err)
> + goto fail;
> + }
> +
> + av_free(str_copy);
> + return dict;
> +
> +fail:
> + if (dict) {
> + for (unsigned i = 0; i < *cnt; i++) {
> + if (dict[i])
> + av_dict_free(&dict[i]);
> + }
> + av_free(dict);
> + }
> +
> + av_free(str_copy);
> + *cnt = 0;
> return NULL;
> }
1. FFmpeg uses the ancient C90 rule that only allows variable
declarations at the beginning of a block (before all statements). You
should actually have received a compiler warning because of the above
code (unless you use Clang, which claims to support this type of
warning, yet doesn't).
2. You jump over the initializion of str_copy if the dict allocation
fails and consequently you free an uninitialized string.
- Andreas
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2022-01-10 18:22 ` Andreas Rheinhardt
@ 2022-01-14 2:38 ` Kyle Swanson
2022-01-19 18:23 ` Kyle Swanson
0 siblings, 1 reply; 14+ messages in thread
From: Kyle Swanson @ 2022-01-14 2:38 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1: Type: text/plain, Size: 744 bytes --]
Hi,
On Mon, Jan 10, 2022 at 10:22 AM Andreas Rheinhardt
<andreas.rheinhardt@outlook.com> wrote:
> 1. FFmpeg uses the ancient C90 rule that only allows variable
> declarations at the beginning of a block (before all statements). You
> should actually have received a compiler warning because of the above
> code (unless you use Clang, which claims to support this type of
> warning, yet doesn't).
> 2. You jump over the initializion of str_copy if the dict allocation
> fails and consequently you free an uninitialized string.
New patch attached. Fixes all of the GCC -Wdeclaration-after-statement
warnings. You're right, I didn't notice because I was building with
Clang. Andreas, I will just wait for your LGTM before merging.
Thanks,
Kyle
[-- Attachment #2: 0001-avfilter-vf_libvmaf-update-filter-for-libvmaf-v2.0.0.patch --]
[-- Type: application/octet-stream, Size: 35240 bytes --]
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2022-01-14 2:38 ` Kyle Swanson
@ 2022-01-19 18:23 ` Kyle Swanson
2022-01-20 21:06 ` Kyle Swanson
0 siblings, 1 reply; 14+ messages in thread
From: Kyle Swanson @ 2022-01-19 18:23 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1: Type: text/plain, Size: 1010 bytes --]
Hi,
On Thu, Jan 13, 2022 at 6:38 PM Kyle Swanson <k@ylo.ph> wrote:
>
> Hi,
>
> On Mon, Jan 10, 2022 at 10:22 AM Andreas Rheinhardt
> <andreas.rheinhardt@outlook.com> wrote:
> > 1. FFmpeg uses the ancient C90 rule that only allows variable
> > declarations at the beginning of a block (before all statements). You
> > should actually have received a compiler warning because of the above
> > code (unless you use Clang, which claims to support this type of
> > warning, yet doesn't).
> > 2. You jump over the initializion of str_copy if the dict allocation
> > fails and consequently you free an uninitialized string.
>
> New patch attached. Fixes all of the GCC -Wdeclaration-after-statement
> warnings. You're right, I didn't notice because I was building with
> Clang. Andreas, I will just wait for your LGTM before merging.
>
> Thanks,
> Kyle
Updated patch attached. Thank you to mkver for the mini review on IRC.
The `delimited_dict_parse` multi-delimiter corner case should be
sorted now.
Thanks,
Kyle
[-- Attachment #2: 0001-avfilter-vf_libvmaf-update-filter-for-libvmaf-v2.0.0.patch --]
[-- Type: application/octet-stream, Size: 35777 bytes --]
[-- Attachment #3: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2022-01-19 18:23 ` Kyle Swanson
@ 2022-01-20 21:06 ` Kyle Swanson
2022-01-23 21:22 ` Kyle Swanson
0 siblings, 1 reply; 14+ messages in thread
From: Kyle Swanson @ 2022-01-20 21:06 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Hi,
On Wed, Jan 19, 2022 at 10:23 AM Kyle Swanson <k@ylo.ph> wrote:
>
> Hi,
>
> On Thu, Jan 13, 2022 at 6:38 PM Kyle Swanson <k@ylo.ph> wrote:
> >
> > Hi,
> >
> > On Mon, Jan 10, 2022 at 10:22 AM Andreas Rheinhardt
> > <andreas.rheinhardt@outlook.com> wrote:
> > > 1. FFmpeg uses the ancient C90 rule that only allows variable
> > > declarations at the beginning of a block (before all statements). You
> > > should actually have received a compiler warning because of the above
> > > code (unless you use Clang, which claims to support this type of
> > > warning, yet doesn't).
> > > 2. You jump over the initializion of str_copy if the dict allocation
> > > fails and consequently you free an uninitialized string.
> >
> > New patch attached. Fixes all of the GCC -Wdeclaration-after-statement
> > warnings. You're right, I didn't notice because I was building with
> > Clang. Andreas, I will just wait for your LGTM before merging.
> >
> > Thanks,
> > Kyle
>
> Updated patch attached. Thank you to mkver for the mini review on IRC.
> The `delimited_dict_parse` multi-delimiter corner case should be
> sorted now.
>
> Thanks,
> Kyle
Will push this soon.
Thanks,
Kyle
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
2022-01-20 21:06 ` Kyle Swanson
@ 2022-01-23 21:22 ` Kyle Swanson
0 siblings, 0 replies; 14+ messages in thread
From: Kyle Swanson @ 2022-01-23 21:22 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Hi,
On Thu, Jan 20, 2022 at 1:06 PM Kyle Swanson <k@ylo.ph> wrote:
>
> Hi,
>
> On Wed, Jan 19, 2022 at 10:23 AM Kyle Swanson <k@ylo.ph> wrote:
> >
> > Hi,
> >
> > On Thu, Jan 13, 2022 at 6:38 PM Kyle Swanson <k@ylo.ph> wrote:
> > >
> > > Hi,
> > >
> > > On Mon, Jan 10, 2022 at 10:22 AM Andreas Rheinhardt
> > > <andreas.rheinhardt@outlook.com> wrote:
> > > > 1. FFmpeg uses the ancient C90 rule that only allows variable
> > > > declarations at the beginning of a block (before all statements). You
> > > > should actually have received a compiler warning because of the above
> > > > code (unless you use Clang, which claims to support this type of
> > > > warning, yet doesn't).
> > > > 2. You jump over the initializion of str_copy if the dict allocation
> > > > fails and consequently you free an uninitialized string.
> > >
> > > New patch attached. Fixes all of the GCC -Wdeclaration-after-statement
> > > warnings. You're right, I didn't notice because I was building with
> > > Clang. Andreas, I will just wait for your LGTM before merging.
> > >
> > > Thanks,
> > > Kyle
> >
> > Updated patch attached. Thank you to mkver for the mini review on IRC.
> > The `delimited_dict_parse` multi-delimiter corner case should be
> > sorted now.
> >
> > Thanks,
> > Kyle
>
> Will push this soon.
>
> Thanks,
> Kyle
Pushed.
Thanks,
Kyle
_______________________________________________
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".
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2022-01-23 21:22 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CALbjROLP4=3xmpvM8EW1A3fA4==oo=YpK+vjeB-ueoQSpomoKA@mail.gmail.com>
[not found] ` <CALbjROJOuyUN8gL6eJ2KGHQV4VRQ5-kcdkOUNg2SC8L4wF-hUA@mail.gmail.com>
[not found] ` <YNx3sBpzP3r6p++p@sunshine.barsnick.net>
2021-12-24 20:51 ` [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0 Kyle Swanson
2021-12-24 20:54 ` Timo Rothenpieler
2021-12-31 1:01 ` Kyle Swanson
2021-12-25 9:24 ` Paul B Mahol
2021-12-31 1:03 ` Kyle Swanson
2022-01-02 18:24 ` Kyle Swanson
2022-01-03 5:21 ` Andreas Rheinhardt
2022-01-03 22:32 ` Kyle Swanson
2022-01-08 22:08 ` Kyle Swanson
2022-01-10 18:22 ` Andreas Rheinhardt
2022-01-14 2:38 ` Kyle Swanson
2022-01-19 18:23 ` Kyle Swanson
2022-01-20 21:06 ` Kyle Swanson
2022-01-23 21:22 ` Kyle Swanson
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git