Butteraugli: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
m Update examples |
Butteraugli 2.0.1 |
||
| (4 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]]. | |||
- 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 09:14, 18 May 2023
| Abstract | |
|---|---|
| Author | Asd-g |
| Version | v2.0.1 |
| Download | Butteraugli |
| Category | Debug filter |
| License | GPLv3 |
| Discussion | |
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.
Requirements
- AviSynth+ >=3.6 required in order to use this filter.
- [x86] AviSynth+
- [x64] AviSynth+
- Supported color formats: Planar RGB (8-32bit)
- 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.
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")))""")
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
External Links
- GitHub - Source code repository.
Back to External Filters ←