On 8/7/2018 7:37 PM, Kyle Swanson wrote: > From: Kyle Swanson <kswan...@netflix.com> > > Signed-off-by: Kyle Swanson <kswan...@netflix.com> > --- > configure | 2 +- > libavfilter/vf_libvmaf.c | 9 ++++++++- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > index 15a58935de..e718c1531c 100755 > --- a/configure > +++ b/configure > @@ -6089,7 +6089,7 @@ enabled libtwolame && require libtwolame > twolame.h twolame_init -ltwolame > die "ERROR: libtwolame must be installed and > version must be >= 0.3.10"; } > enabled libv4l2 && require_pkg_config libv4l2 libv4l2 libv4l2.h > v4l2_ioctl > enabled libvidstab && require_pkg_config libvidstab "vidstab >= 0.98" > vid.stab/libvidstab.h vsMotionDetectInit > -enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 0.6.2" > libvmaf.h compute_vmaf > +enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 1.3.9" > libvmaf.h compute_vmaf > enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h > E_IF_init -lvo-amrwbenc > enabled libvorbis && require_pkg_config libvorbis vorbis > vorbis/codec.h vorbis_info_init && > require_pkg_config libvorbisenc vorbisenc > vorbis/vorbisenc.h vorbis_encode_init > diff --git a/libavfilter/vf_libvmaf.c b/libavfilter/vf_libvmaf.c > index 5d47a74375..249e50c720 100644 > --- a/libavfilter/vf_libvmaf.c > +++ b/libavfilter/vf_libvmaf.c > @@ -62,6 +62,9 @@ typedef struct LIBVMAFContext { > int ssim; > int ms_ssim; > char *pool; > + int n_threads; > + int n_subsample; > + int enable_conf_interval; > int error; > } LIBVMAFContext; > > @@ -78,6 +81,9 @@ static const AVOption libvmaf_options[] = { > {"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}, > { NULL } > }; > > @@ -166,7 +172,8 @@ static void compute_vmaf_score(LIBVMAFContext *s) > read_frame, s, s->model_path, s->log_path, > s->log_fmt, 0, 0, s->enable_transform, > s->phone_model, s->psnr, s->ssim, > - s->ms_ssim, s->pool); > + s->ms_ssim, s->pool, > + s->n_threads, s->n_subsample, > s->enable_conf_interval);
It would be ideal if this library could stop breaking the API so often. If the current API is not extensible, maybe you should consider introducing a new one that is. > } > > static void *call_vmaf(void *ctx) > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel