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 24EB740A10 for ; Sat, 25 Dec 2021 09:24:07 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 602AE68B0DC; Sat, 25 Dec 2021 11:24:05 +0200 (EET) Received: from mail-yb1-f174.google.com (mail-yb1-f174.google.com [209.85.219.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5ED3868B0B2 for ; Sat, 25 Dec 2021 11:23:59 +0200 (EET) Received: by mail-yb1-f174.google.com with SMTP id d10so31926012ybe.3 for ; Sat, 25 Dec 2021 01:23:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=dVuH2W/dODZWlI1nFDMxvDxWfFz4ZG2zPoTaoTIfqlA=; b=FvnrwwZQ1cjTrzh4SDlh0RJ5opKhFltJjO5H4RujedtZB4QkJ9XISJ5A787CweQbCq CqDjtbIEjgivx52IhZGUD5a/b20zPbFCCfns6/btAX9iT8op+IhG3r3xybAjfoXVbDrg 5+oFRHjZLc7EYLUDAmZ5X82zw4WpdB8T50gDLXAmzium6R2jVkd1lps8PBrdNWCvikk9 VuiJZF73KE5Po7Nu0ZaqJZGLeUMoF2zb3Ckklp7Rs4x0V8IDiapAX/9Yrfc0apjHUioy r6FEQZ+tqMP+D9hrtjct2wdLpUJMMMJJnvgrLzJeS2yVpXzNUIlLuCr6kHcvZfj7FvlN KRvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=dVuH2W/dODZWlI1nFDMxvDxWfFz4ZG2zPoTaoTIfqlA=; b=c5u/QC95zn/Svk5Ex2kcrAUPt2pdSXbY1HJrhD16BAdGqjFJUepwhrxZb3ROPL6tvh m9fK6Dv5VzRdFeJi+BPCJi3aZLeTYVLq+aOxTvAnbJQYVhzKK/o8puPLdPdJrcrqKwYc hg26kASSMVgxv3VGAvFK/I3+RJOYVyTJew99gcsDG9V6KfGtgiRfhiQwG2eleNM+vZw0 sCcYtwTRpJABS9W+++UXbS1SiRJGKs5BIW2iujIUsqKm55ZdBN3fxiCgNmK26Szcc94Y hQ4UGvY2CnW+HWyzUsUWve+DuFQgDGAUFnfRbQuToDBEy8U92SB93D+s0oyYffSz1/An bfpg== X-Gm-Message-State: AOAM532SN5mWVXbqLICKxl43xxj8UXLBW6j+0E9sqCPZTwqvmEdxXdy/ 1cA/0gRfLrl7bikDKzTh/e2TLRhntpu6gTQJAR0MQ6Hn X-Google-Smtp-Source: ABdhPJx0zoJ2WML8+DECQeLLYyxFuZJXN7ncciWwKei2O2dQk/bonsL3fIjXTCJf3PJgAdnHRJYhTiKIyOtSrwU0nAc= X-Received: by 2002:a25:aab1:: with SMTP id t46mr1148841ybi.174.1640424237781; Sat, 25 Dec 2021 01:23:57 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Paul B Mahol Date: Sat, 25 Dec 2021 10:24:00 +0100 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avfilter/vf_libvmaf: update filter for libvmaf v2.0.0 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Fri, Dec 24, 2021 at 9:52 PM 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. > > Please read old reviews and follow them. There is no exceptions. > Thanks, > Kyle > > On Wed, Jun 30, 2021 at 6:55 AM Moritz Barsnick 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".