Butteraugli
From Avisynth wiki
(Difference between revisions)
(v1.0.2) |
(Butteraugli 2.0.1) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{FilterCat6|External_filters|Plugins|Plugins_x64|Other_filters|Debugging/Diagnostic_filters|Deep_color_tools}} |
{{Filter3 | {{Filter3 | ||
| 1={{Author/Asd-g}} | | 1={{Author/Asd-g}} | ||
− | | 2= | + | | 2=v2.0.1 |
− | | 3=[https://github.com/Asd-g/AviSynthPlus-Butteraugli/releases/ Butteraugli | + | | 3=[https://github.com/Asd-g/AviSynthPlus-Butteraugli/releases/ Butteraugli] |
| 4=Debug filter | | 4=Debug filter | ||
| 5=[https://github.com/Asd-g/AviSynthPlus-Butteraugli/blob/main/LICENSE GPLv3] | | 5=[https://github.com/Asd-g/AviSynthPlus-Butteraugli/blob/main/LICENSE GPLv3] | ||
Line 15: | Line 15: | ||
This is [https://github.com/fdar0536/VapourSynth-butteraugli a port of the VapourSynth plugin butteraugli.] | This is [https://github.com/fdar0536/VapourSynth-butteraugli a port of the VapourSynth plugin butteraugli.] | ||
− | [https://github.com/ | + | [https://github.com/libjxl/libjxl libjxl's Butteraugli] is used. |
<br> | <br> | ||
<br> | <br> | ||
Line 22: | Line 22: | ||
* [x86] [[AviSynth+]] | * [x86] [[AviSynth+]] | ||
* [x64] [[AviSynth+]] | * [x64] [[AviSynth+]] | ||
− | * Supported color formats: [[ | + | * Supported color formats: [[Planar|Planar RGB]] (8-32bit) |
<br> | <br> | ||
== [[Script variables|Syntax and Parameters]] == | == [[Script variables|Syntax and Parameters]] == | ||
− | :{{Template:FuncDef|Butteraugli (clip | + | :{{Template:FuncDef|Butteraugli (clip reference, clip distorted, bool "distmap", float "intensity_target", bool "linput")}} |
<br> | <br> | ||
− | ::{{Par2| | | + | ::{{Par2| |reference| }} |
− | ::{{Par2| | | + | ::{{Par2| |distorted| }} |
− | ::: Clips that are use for estimating the psychovisual similarity. They must be in | + | ::: Clips that are use for estimating the psychovisual similarity. They must be in [[Planar|planar RGB]] format (8-32bit). |
<br> | <br> | ||
− | ::{{Par2|heatmap|bool| | + | ::{{Par2|distmap|bool|false}} |
− | :::True: | + | :::Whether to return heatmap instead of distorted clip |
− | :::False: | + | <br> |
+ | ::{{Par2|intensity_target|float|80.0}} | ||
+ | :::Viewing conditions screen nits | ||
+ | <br> | ||
+ | ::{{Par2|linput|bool|false}} | ||
+ | :::True: The input clips must have linear transfer functions. | ||
+ | :::False: The input clips are assumed in sRGB color space and internal conversion to linear transfer function is done. | ||
<br> | <br> | ||
:The psychovisual similarity of the clips will be stored as frame property '_FrameButteraugli' in the output clip. Larger values indicate to bigger difference. | :The psychovisual similarity of the clips will be stored as frame property '_FrameButteraugli' in the output clip. Larger values indicate to bigger difference. | ||
Line 41: | Line 47: | ||
==Examples== | ==Examples== | ||
# Return the difference between the clips with displayed all frame properties alongside with '_FrameButteraugli' | # Return the difference between the clips with displayed all frame properties alongside with '_FrameButteraugli' | ||
− | Butteraugli(clip1, clip2, | + | Butteraugli(clip1, clip2, distmap=true, linput=false) |
propShow() | propShow() | ||
# Return clip2 with displayed the value of the frame property '_FrameButteraugli'. | # Return clip2 with displayed the value of the frame property '_FrameButteraugli'. | ||
− | Butteraugli(clip1, clip2, | + | Butteraugli(clip1, clip2, linput=false) |
ScriptClip("""Subtitle(String(propGetFloat("_FrameButteraugli")))""") | ScriptClip("""Subtitle(String(propGetFloat("_FrameButteraugli")))""") | ||
Line 53: | Line 59: | ||
== Changelog == | == Changelog == | ||
Version Date Changes<br> | Version Date Changes<br> | ||
+ | v2.0.1 2022/12/04 - Changed to be slightly more sensitive to low freq (DC) errors.<br> | ||
+ | v2.0.0 2021/10/20 - Updated to butteraugli library from libjxl.<br> | ||
+ | v1.1.0 2020/11/06 - Added support for 10..32-bit clips. | ||
+ | - Added parameters 'hf_asymmetry' and 'linput'.<br> | ||
v1.0.2 2020/11/02 - Registered as [[MT_MULTI_INSTANCE]]. | v1.0.2 2020/11/02 - Registered as [[MT_MULTI_INSTANCE]]. | ||
− | + | - Used faster butteraugli lib.<br> | |
v1.0.0 2020/10/31 - Initial release | v1.0.0 2020/10/31 - Initial release | ||
<br> | <br> |
Latest revision as of 08:14, 18 May 2023
Abstract | |
---|---|
Author | Asd-g |
Version | v2.0.1 |
Download | Butteraugli |
Category | Debug filter |
License | GPLv3 |
Discussion |
Contents |
[edit] Description
Butteraugli estimating filter for the psychovisual similarity of two images.
A quality metric for lossy image and video compression.
This is a port of the VapourSynth plugin butteraugli.
libjxl's Butteraugli is used.
[edit] Requirements
- AviSynth+ >=3.6 required in order to use this filter.
- [x86] AviSynth+
- [x64] AviSynth+
- Supported color formats: Planar RGB (8-32bit)
[edit] Syntax and Parameters
- Butteraugli (clip reference, clip distorted, bool "distmap", float "intensity_target", bool "linput")
- reference =
- distorted =
- Clips that are use for estimating the psychovisual similarity. They must be in planar RGB format (8-32bit).
- reference =
- bool distmap = false
- Whether to return heatmap instead of distorted clip
- bool distmap = false
- float intensity_target = 80.0
- Viewing conditions screen nits
- float intensity_target = 80.0
- bool linput = false
- True: The input clips must have linear transfer functions.
- False: The input clips are assumed in sRGB color space and internal conversion to linear transfer function is done.
- bool linput = false
- The psychovisual similarity of the clips will be stored as frame property '_FrameButteraugli' in the output clip. Larger values indicate to bigger difference.
[edit] Examples
# Return the difference between the clips with displayed all frame properties alongside with '_FrameButteraugli' Butteraugli(clip1, clip2, distmap=true, linput=false) propShow()
# Return clip2 with displayed the value of the frame property '_FrameButteraugli'. Butteraugli(clip1, clip2, linput=false) ScriptClip("""Subtitle(String(propGetFloat("_FrameButteraugli")))""")
[edit] Changelog
Version Date Changes
v2.0.1 2022/12/04 - Changed to be slightly more sensitive to low freq (DC) errors.
v2.0.0 2021/10/20 - Updated to butteraugli library from libjxl.
v1.1.0 2020/11/06 - Added support for 10..32-bit clips. - Added parameters 'hf_asymmetry' and 'linput'.
v1.0.2 2020/11/02 - Registered as MT_MULTI_INSTANCE. - Used faster butteraugli lib.
v1.0.0 2020/10/31 - Initial release
[edit] External Links
- GitHub - Source code repository.
Back to External Filters ←