* 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: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-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-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