SSIM

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (authors)
(add 64-bit version and archive link)
 
(7 intermediate revisions by one user not shown)
Line 3: Line 3:
 
| [http://web.archive.org/web/20060507012947/http://perso.wanadoo.fr/reservoir/ Lefungus], On2Tech
 
| [http://web.archive.org/web/20060507012947/http://perso.wanadoo.fr/reservoir/ Lefungus], On2Tech
 
| v0.25.1.0
 
| v0.25.1.0
| 3=[http://www.wilbertdijkhof.com/SSIM0.25.1.0.rar SSIM0.25.1.0.rar]
+
| 3=[http://www.mediafire.com/file/xad0ddqt3vu9ado/SSIM_0251.7z/file SSIM_0251.7z]
 
| 4=Debug filter
 
| 4=Debug filter
 
| 5=
 
| 5=
Line 13: Line 13:
 
<br>
 
<br>
 
== Requirements ==
 
== Requirements ==
* AviSynth 2.6 or [http://sourceforge.net/projects/avisynth2/ greater] | [[AviSynth+]]
+
* [x86] [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0]
* x64 requires x64 AviSynth+
+
* [x64] [[AviSynth+]]
 
* Supported color formats: [[YV12]]
 
* Supported color formats: [[YV12]]
 
<br>
 
<br>
 +
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
 
:{{Template:FuncDef|SSIM (clip, clip, string, string, int "lumimask", int "scaled")}}
 
:{{Template:FuncDef|SSIM (clip, clip, string, string, int "lumimask", int "scaled")}}
Line 24: Line 25:
 
:{{Template:FuncDef|SSIM_V_FRAME (clip, clip)}}
 
:{{Template:FuncDef|SSIM_V_FRAME (clip, clip)}}
 
<br>
 
<br>
 +
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
 
:::clip1 and clip2 are the reference clip and the compressed clip.
 
:::clip1 and clip2 are the reference clip and the compressed clip.
Line 36: Line 38:
 
:::This filter is designed to compute an SSIM value by three methods, the original one, and a "enhanced" one that weight these results by lumimasking.
 
:::This filter is designed to compute an SSIM value by three methods, the original one, and a "enhanced" one that weight these results by lumimasking.
 
:::0 : lumamasking disabled
 
:::0 : lumamasking disabled
:::1 : lumamasking enabled (original method)
+
:::1 : lumamasking enabled (original method from SSIM v0.24)
 
:::2 : lumamasking enabled (new method as proposed by On2Tech) - see discussion [https://forum.doom9.org/showthread.php?t=92532 here] and [https://forum.doom9.org/showthread.php?p=626354#post626354 here] for more info.
 
:::2 : lumamasking enabled (new method as proposed by On2Tech) - see discussion [https://forum.doom9.org/showthread.php?t=92532 here] and [https://forum.doom9.org/showthread.php?p=626354#post626354 here] for more info.
 
<br>
 
<br>
Line 47: Line 49:
 
==Examples==
 
==Examples==
 
[[TODO]]
 
[[TODO]]
 +
SSIM(clip1, clip2, "results.csv", "globalSSIM.txt", lumimask=1, scaled=1)
  
 
<br>
 
<br>
 +
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
  v0.25.1.0    ????/??/??     - Modifications by On2Tech, see [https://forum.doom9.org/showthread.php?t=92532 discussion]
+
  v0.25.1.0    2020/03/31     - changes by [https://forum.doom9.org/showthread.php?t=173259 Groucho2004]
 +
                              - update to avisynth 2.6 api, latest headers from avs+
 +
                              - x64 binary
 +
v0.25.1.0                    - Modifications by On2Tech, see discussion [https://forum.doom9.org/showthread.php?t=92532 here] and [https://forum.doom9.org/showthread.php?p=658994#post658994 here]
 
                               - add "SSIM_FRAME", "SSIM_Y_FRAME", "SSIM_U_FRAME", "SSIM_V_FRAME" functions
 
                               - add "SSIM_FRAME", "SSIM_Y_FRAME", "SSIM_U_FRAME", "SSIM_V_FRAME" functions
 
  v0.24a      2005/04/05      - change "lumimask" and "scaled" from bool to integer
 
  v0.24a      2005/04/05      - change "lumimask" and "scaled" from bool to integer
Line 60: Line 67:
 
  v0.21                        - flag for globalSSIM added
 
  v0.21                        - flag for globalSSIM added
 
                               - some checks added
 
                               - some checks added
  v0.20        2003/09/10      - Updated. It is somewhat faster, and include lumimasking.  
+
  v0.20        2003/09/10      - Updated. It is somewhat faster, and include lumimasking.
 +
v0.10        2003/07/29      - Initial release [https://forum.doom9.org/showthread.php?p=350877#post350877]
 +
                              - No vectorization yet, so it's quite slow.
 +
                              - Thanks Zhou Wang and Mfa for their code !
 
<br>
 
<br>
  
Line 69: Line 79:
 
!!width="150px"| Download
 
!!width="150px"| Download
 
!!width="150px"| Mirror
 
!!width="150px"| Mirror
 +
|-
 +
!v0.25.1.0 (2020)
 +
|[http://www.mediafire.com/file/xad0ddqt3vu9ado/SSIM_0251.7z/file SSIM_0251.7z]
 +
|[https://web.archive.org/web/20200421063350if_/http://s000.tinyupload.com/download.php?file_id=93542100319254457910&t=9354210031925445791055709 SSIM_0251.7z]
 
|-
 
|-
 
!v0.25.1.0
 
!v0.25.1.0

Latest revision as of 06:36, 21 April 2020

Abstract
Author Lefungus, On2Tech
Version v0.25.1.0
Download SSIM_0251.7z
Category Debug filter
License
Discussion Doom9 Thread

Contents

[edit] Description

A filter that compute an objective video quality metric between two videos. Based on SSIM work from Zhou Wang.

[edit] Requirements


[edit] Syntax and Parameters

SSIM (clip, clip, string, string, int "lumimask", int "scaled")
SSIM_FRAME (clip, clip)
SSIM_Y_FRAME (clip, clip)
SSIM_U_FRAME (clip, clip)
SSIM_V_FRAME (clip, clip)


clip   =
clip   =
clip1 and clip2 are the reference clip and the compressed clip.


string   = "results.csv"
The file where obtained SSIM values will be written (this can be easily read in excel or notepad for those unfamiliar with the comma separated variables format)


string   = "globalSSIM.txt"
The file where global SSIM values will be written.


int  lumimask = 1
This filter is designed to compute an SSIM value by three methods, the original one, and a "enhanced" one that weight these results by lumimasking.
0 : lumamasking disabled
1 : lumamasking enabled (original method from SSIM v0.24)
2 : lumamasking enabled (new method as proposed by On2Tech) - see discussion here and here for more info.


int  scaled = 1
The global score is scaled from 0 to 100 instead of 0 to 1. Set to false if you prefer it non-scaled.
0 : false
1 : true


[edit] Examples

TODO

SSIM(clip1, clip2, "results.csv", "globalSSIM.txt", lumimask=1, scaled=1)


[edit] Changelog

Version      Date            Changes
v0.25.1.0 2020/03/31 - changes by Groucho2004 - update to avisynth 2.6 api, latest headers from avs+ - x64 binary v0.25.1.0 - Modifications by On2Tech, see discussion here and here - add "SSIM_FRAME", "SSIM_Y_FRAME", "SSIM_U_FRAME", "SSIM_V_FRAME" functions v0.24a 2005/04/05 - change "lumimask" and "scaled" from bool to integer - add "lumimask=2" mode v0.24 2004/06/06 - various bugfixes v0.23 - minor memory leak removed v0.22 - added "scaled" parameter v0.21 - flag for globalSSIM added - some checks added v0.20 2003/09/10 - Updated. It is somewhat faster, and include lumimasking. v0.10 2003/07/29 - Initial release [1] - No vectorization yet, so it's quite slow. - Thanks Zhou Wang and Mfa for their code !


[edit] Archived Downloads

Version Download Mirror
v0.25.1.0 (2020) SSIM_0251.7z SSIM_0251.7z
v0.25.1.0 SSIM0.25.1.0.rar SSIM0.25.1.0.rar
v0.24a ssim-0.24a.zip ssim-0.24a.zip
v0.24 Binary: SSIM-0.24.rar /// Source: SSIMSrc-0.24.rar
v0.23 Binary: SSIM-0.23.rar /// Source: SSIMSrc-0.23.rar



[edit] External Links




Back to External Filters

Personal tools