VMAF
From Avisynth wiki
(Difference between revisions)
m (Update the version) |
(VMAF 2.1.2) |
||
(One intermediate revision by one user not shown) | |||
Line 2: | Line 2: | ||
{{Filter3 | {{Filter3 | ||
| 1={{Author/Asd-g}} | | 1={{Author/Asd-g}} | ||
− | | 2=v2.1. | + | | 2=v2.1.2 |
| 3=[https://github.com/Asd-g/AviSynth-VMAF/releases/ VMAF] | | 3=[https://github.com/Asd-g/AviSynth-VMAF/releases/ VMAF] | ||
| 4=Debug filter | | 4=Debug filter | ||
Line 9: | Line 9: | ||
== Description == | == Description == | ||
− | [[VMAF]] is a perceptual video quality assessment algorithm developed by Netflix. Refer to the [https://github.com/Netflix/vmaf/blob/master/ | + | [[VMAF]] is a perceptual video quality assessment algorithm developed by Netflix. Refer to the [https://github.com/Netflix/vmaf/blob/master/resource/doc/faq.md FAQ] page for frequently asked questions of VMAF. |
This is [https://github.com/HomeOfVapourSynthEvolution/VapourSynth-VMAF a port of the VapourSynth plugin VMAF.] | This is [https://github.com/HomeOfVapourSynthEvolution/VapourSynth-VMAF a port of the VapourSynth plugin VMAF.] | ||
Line 16: | Line 16: | ||
<br> | <br> | ||
<br> | <br> | ||
+ | |||
== Requirements == | == Requirements == | ||
* [x86] [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6] | * [x86] [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6] | ||
Line 98: | Line 99: | ||
== Changelog == | == Changelog == | ||
Version Date Changes<br> | Version Date Changes<br> | ||
+ | v2.1.2 2022/10/06 - Fixed undefined behavior when upstream throw runtime error.<br> | ||
v2.1.1 2022/04/18 - Added `cambi_opt` options - `max_log_contrast`, `enc_bitdepth`, `eotf` | v2.1.1 2022/04/18 - Added `cambi_opt` options - `max_log_contrast`, `enc_bitdepth`, `eotf` | ||
- Added function `VMAF2` | - Added function `VMAF2` |
Latest revision as of 08:35, 18 May 2023
Contents |
[edit] 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.
[edit] 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.
[edit] 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.
[edit] 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)
[edit] Changelog
Version Date Changes
v2.1.2 2022/10/06 - Fixed undefined behavior when upstream throw runtime error.
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
[edit] External Links
- GitHub - Source code repository.
Back to External Filters ←