VMAF
From Avisynth wiki
Contents |
Description
VMAF is a perceptual video quality assessment algorithm developed by Netflix. Refer to the FAQ page for frequently asked questions of VMAF.
This is a port of the VapourSynth plugin VMAF.
vmaf is used.
Requirements
- [x86] AviSynth+ or AviSynth 2.6
- [x64] AviSynth+
- Supported color formats: Y8, YV12, YV16, YV24, YV411
- AviSynth+: all planar Y and YUV formats (8/10bit) are supported.
Syntax and Parameters
- VMAF (clip reference, clip distorted, string log_path, int "log_format", int[] "model", int[] "feature", string "cambi_opt")
- VMAF2 (clip reference, clip "distorted", int[] "feature", string "cambi_opt")
- reference =
- distorted =
- Clips to calculate VMAF score. Must be in YUV 8..16-bit planar format.
-
distorted
must be specified when feature != 5. (VMAF2 only) - Must be in YUV 8/10-bit planar format with minimum three planes.
- reference =
- string log_path =
- Sets the path of the log file.
- This parameter is for VMAF() only.
- string log_path =
- int log_format = 0
- Sets the format of the log file.
- 0 : xml.
- 1 : json.
- 2 : csv.
- This parameter is for VMAF() only.
- Sets the format of the log file.
- int log_format = 0
- int[] feature =
- 0 : PSNR
- 1 : PSNR-HVS
- 2 : SSIM
- 3 : MS-SSIM
- 4 : CIEDE2000
- 5 : CAMBI
- int[] feature =
- string cambi_opt =
- enc_width, enc_height
- Encoding/processing resolution to compute the banding score, useful in cases where scaling was applied to the input prior to the computation of metrics.
- enc_width must be between 320 and 7680.
- enc_height must be between 200 and 4320.
- Default: Same as input image.
- window_size
- Window size to compute CAMBI.
- Must be between 15 and 127.
- Default: 63 (corresponds to ~1 degree at 4K resolution and 1.5H).
- topk
- Ratio of pixels for the spatial pooling computation.
- Must be between 0.0001 and 1.0.
- Default: 0.6.
- tvi_threshold
- Visibilty threshold for luminance ΔL < tvi_threshold*L_mean for BT.1886.
- Must be between 0.0001 and 1.0.
- Default: 0.019.
- Format:
option_name=value
. - If more than one option is specified, the options must be separated by space.
- Usage example:
cambi_opt="windows_size=120 enc_width=1280 enc_height=720"
.
- string cambi_opt =
- VMAF2() exports frame property with the name of the used feature.
Examples
Comparing a high quality clip vs an encoded clip:
VMAF(HQ_original, HQ_encoded, model=0)
Comparing a high quality clip vs an encoded clip with MS-SSIM metrics only:
VMAF(HQ_original, HQ_encoded, feature=3)
Frame property cambi
is set:
VMAF2(clip, feature=5)
Changelog
Version Date Changes
v2.1.1 2022/04/18 - Added `cambi_opt` options - `max_log_contrast`, `enc_bitdepth`, `eotf` - Added function `VMAF2` - Clips must have either 8-bit or 10-bit bit depth
v2.1.0 2021/11/14 - Added parameter cambi_opt - Removed model default value
v2.0.2 2021/10/20 - Fixed feature parameter - Updated vmaf lib to 2.3.0 - Added feature CAMBI
v2.0.1 2021/10/02 - Fixed crashing when unsupported color formats are used - Updated libvmaf to 2.2.1
v2.0.0 2021/07/10 - Updated to libvmaf 2.x
v1.0.0 2020/11/14 - Initial release - AviSynth+: self-registers as MT_SERIALIZED
External Links
- GitHub - Source code repository.
Back to External Filters ←