diff options
author | Kyle Swanson <kswanson@netflix.com> | 2021-12-24 12:43:50 -0800 |
---|---|---|
committer | Kyle Swanson <kswanson@netflix.com> | 2022-01-23 11:41:30 -0800 |
commit | 3d29724c008d8f27fecf85757152789b074e8ef9 (patch) | |
tree | adc6e8113d06040869b98686a5b9b7a05e62638f /doc | |
parent | 06a54a4ec73ea6eb8cec41b7af75367bafb075e0 (diff) | |
download | ffmpeg-3d29724c008d8f27fecf85757152789b074e8ef9.tar.gz |
avfilter/vf_libvmaf: update filter for libvmaf v2.0.0
Diffstat (limited to 'doc')
-rw-r--r-- | doc/filters.texi | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/doc/filters.texi b/doc/filters.texi index 248c09caf8..9a890d1555 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -14666,68 +14666,60 @@ ffmpeg -i input.mov -vf lensfun=make=Canon:model="Canon EOS 100D":lens_model="Ca @section libvmaf -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. -The first input is the encoded video, and the second input is the reference video. +The first input is the distorted video, and the second input is the reference video. The obtained VMAF score is printed through the logging system. It requires Netflix's vmaf library (libvmaf) as a pre-requisite. After installing the library it can be enabled using: @code{./configure --enable-libvmaf}. -If no model path is specified it uses the default model: @code{vmaf_v0.6.1.pkl}. The filter has following options: @table @option -@item model_path -Set the model path which is to be used for SVM. -Default value: @code{"/usr/local/share/model/vmaf_v0.6.1.pkl"} - -@item log_path -Set the file path to be used to store logs. +@item model +A `|` delimited list of vmaf models. Each model can be configured with a number of parameters. +Default value: @code{"version=vmaf_v0.6.1"} -@item log_fmt -Set the format of the log file (csv, json or xml). +@item model_path +Deprecated, use model='path=...'. @item enable_transform -This option can enable/disable the @code{score_transform} applied to the final predicted VMAF score, -if you have specified score_transform option in the input parameter file passed to @code{run_vmaf_training.py} -Default value: @code{false} +Deprecated, use model='enable_transform=true'. @item phone_model -Invokes the phone model which will generate VMAF scores higher than in the -regular model, which is more suitable for laptop, TV, etc. viewing conditions. -Default value: @code{false} +Deprecated, use model='enable_transform=true'. + +@item enable_conf_interval +Deprecated, use model='enable_conf_interval=true'. + +@item feature +A `|` delimited list of features. Each feature can be configured with a number of parameters. @item psnr -Enables computing psnr along with vmaf. -Default value: @code{false} +Deprecated, use feature='name=psnr'. @item ssim -Enables computing ssim along with vmaf. -Default value: @code{false} +Deprecated, use feature='name=ssim'. @item ms_ssim -Enables computing ms_ssim along with vmaf. -Default value: @code{false} +Deprecated, use feature='name=ms_ssim'. -@item pool -Set the pool method to be used for computing vmaf. -Options are @code{min}, @code{harmonic_mean} or @code{mean} (default). +@item log_path +Set the file path to be used to store log files. + +@item log_fmt +Set the format of the log file (xml, json, csv, or sub). @item n_threads -Set number of threads to be used when computing vmaf. -Default value: @code{0}, which makes use of all available logical processors. +Set number of threads to be used when initializing libvmaf. +Default value: @code{0}, no threads. @item n_subsample -Set interval for frame subsampling used when computing vmaf. -Default value: @code{1} - -@item enable_conf_interval -Enables confidence interval. -Default value: @code{false} +Set frame subsampling interval to be used. @end table This filter also supports the @ref{framesync} options. @@ -14735,23 +14727,31 @@ This filter also supports the @ref{framesync} options. @subsection Examples @itemize @item -On the below examples the input file @file{main.mpg} being processed is -compared with the reference file @file{ref.mpg}. +In the examples below, a distorted video @file{distorted.mpg} is +compared with a reference file @file{reference.mpg}. +@item +Basic usage: +@example +ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf=log_path=output.xml -f null - +@end example + +@item +Example with multiple models: @example -ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf -f null - +ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='model=version=vmaf_v0.6.1\\:name=vmaf|version=vmaf_v0.6.1neg\\:name=vmaf_neg' -f null - @end example @item -Example with options: +Example with multiple addtional features: @example -ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf="psnr=1:log_fmt=json" -f null - +ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='feature=name=psnr|name=ciede' -f null - @end example @item Example with options and different containers: @example -ffmpeg -i main.mpg -i ref.mkv -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf=psnr=1:log_fmt=json" -f null - +ffmpeg -i distorted.mpg -i reference.mkv -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf=log_fmt=json:log_path=output.json" -f null - @end example @end itemize |