Butteraugli

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(v1.0.2)
(v1.1.0)
Line 2: Line 2:
 
{{Filter3
 
{{Filter3
 
| 1={{Author/Asd-g}}
 
| 1={{Author/Asd-g}}
| 2=v1.0.2
+
| 2=v1.1.0
| 3=[https://github.com/Asd-g/AviSynthPlus-Butteraugli/releases/ Butteraugli-1.0.2.7z]
+
| 3=[https://github.com/Asd-g/AviSynthPlus-Butteraugli/releases/ Butteraugli-1.1.0.7z]
 
| 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 22: Line 22:
 
* [x86] [[AviSynth+]]
 
* [x86] [[AviSynth+]]
 
* [x64] [[AviSynth+]]
 
* [x64] [[AviSynth+]]
* Supported color formats: [[RGBP8]]
+
* Supported color formats: [[Planar|Planar RGB]] (8-32bit)
 
<br>
 
<br>
  
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|Butteraugli (clip clip1, clip clip2, bool "heatmap")}}
+
:{{Template:FuncDef|Butteraugli (clip clip1, clip clip2, float "hf_asymmetry", bool "heatmap", bool "linput")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
::: Clips that are use for estimating the psychovisual similarity. They must be in RGB 8-bit [[planar]] format.
+
::: Clips that are use for estimating the psychovisual similarity. They must be in [[Planar|planar RGB]] format (8-32bit).
 +
<br>
 +
::{{Par2|hf_asymmetry|float|1.0}}
 +
:::Multiplier for penalizing new HF artifacts more than blurring away features. 1.0=neutral.
 +
:::Must be greater than 0.0.
 +
:::Default: 1.0.
 
<br>
 
<br>
 
::{{Par2|heatmap|bool|true}}
 
::{{Par2|heatmap|bool|true}}
 
:::True: A heatmap is returned containing differences between two input clips.
 
:::True: A heatmap is returned containing differences between two input clips.
 
:::False: Returns clip2.
 
:::False: Returns clip2.
 +
<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.
 +
:::Default: False.
 
<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 51:
 
==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, heatmap=true)
+
  Butteraugli(clip1, clip2, hf_asymmetry=1.0, heatmap=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, heatmap=false)
+
  Butteraugli(clip1, clip2, hf_asymmetry=1.0, heatmap=true, linput=false)
 
  ScriptClip("""Subtitle(String(propGetFloat("_FrameButteraugli")))""")
 
  ScriptClip("""Subtitle(String(propGetFloat("_FrameButteraugli")))""")
  
Line 53: Line 63:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<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>
 
                               - Used faster butteraugli lib.<br>

Revision as of 05:09, 8 November 2020

Abstract
Author Asd-g
Version v1.1.0
Download Butteraugli-1.1.0.7z
Category Debug filter
License GPLv3
Discussion

Contents

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.

Google's Butteraugli is used.

Requirements


Syntax and Parameters

Butteraugli (clip clip1, clip clip2, float "hf_asymmetry", bool "heatmap", bool "linput")


clip   =
clip   =
Clips that are use for estimating the psychovisual similarity. They must be in planar RGB format (8-32bit).


float  hf_asymmetry = 1.0
Multiplier for penalizing new HF artifacts more than blurring away features. 1.0=neutral.
Must be greater than 0.0.
Default: 1.0.


bool  heatmap = true
True: A heatmap is returned containing differences between two input clips.
False: Returns clip2.


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.
Default: 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, hf_asymmetry=1.0, heatmap=true, linput=false)
propShow()


# Return clip2 with displayed the value of the frame property '_FrameButteraugli'.
Butteraugli(clip1, clip2, hf_asymmetry=1.0, heatmap=true, linput=false)
ScriptClip("""Subtitle(String(propGetFloat("_FrameButteraugli")))""")


Changelog

Version      Date            Changes
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

Personal tools