Average

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (added category)
(add new version (v0.94))
Line 1: Line 1:
 
{{FilterCat4|External_filters|Plugins|Adjustment_filters|Averaging}}
 
{{FilterCat4|External_filters|Plugins|Adjustment_filters|Averaging}}
 
{{Filter3
 
{{Filter3
| {{Author/tp7}}
+
| {{Author/tp7}}, {{Author/pinterf}}
| v0.92
+
| v0.94
|
+
|[http://github.com/pinterf/Average/releases/download/0.94/Average-v0.94.7z Average-v0.94.7z]
*[http://github.com/tp7/Average/releases/download/0.92/Average-x86.zip Average-x86.zip]
+
-----
+
*[http://github.com/tp7/Average/releases/download/0.92/Average-x64.zip Average-x64.zip]
+
 
| Averaging  
 
| Averaging  
 
| [http://opensource.org/licenses/MIT MIT] but binaries are [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 
| [http://opensource.org/licenses/MIT MIT] but binaries are [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
Line 19: Line 16:
 
== Requirements ==
 
== Requirements ==
 
* [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or greater
 
* [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or greater
* x64 version requires [http://forum.doom9.org/showthread.php?t=168856 AviSynth+ r1576] or later
+
* [[AviSynth+#Downloads| AviSynth+ r2420]] or greater
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
 +
** AviSynth+ additional colorspace support: 10-16 bit and float YUV(A)/Planar RGB(A), RGB48 and RGB64
 
<br>
 
<br>
* [http://www.microsoft.com/en-us/download/details.aspx?id=30679 Microsoft Visual C++ 2012 Redistributable Package (x86 / x64)]
+
* [http://www.microsoft.com/en-us/download/details.aspx?id=53840 Microsoft Visual C++ 2015 Redistributable Package Update 3 (x86 / x64)]
 
:<span style="color:red">***</span> <tt>vcredist_x86.exe</tt> is required for <tt>Average-x86</tt>
 
:<span style="color:red">***</span> <tt>vcredist_x86.exe</tt> is required for <tt>Average-x86</tt>
 
:<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>Average-x64</tt>
 
:<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>Average-x64</tt>
Line 50: Line 48:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
v0.94        01/27/2017      - Fix: fix the fix: rounding of intermediate results was ok for two clips
 +
                              - New: AVX for 10-16bit (+20-30%) and float (+50-60%) compared to v0.93
 +
                              - AVX for 8 bit non-integer path (+20% gain), e.g. when one of the weights is over 1.0
 +
v0.93        01/26/2017      - Mod by pinterf
 +
                              - Fix: rounding of intermediate results in fast integer average of 8 bit clips
 +
                              - Mod: faster results for two or three clips
 +
                              - New: Support for AviSynth+ color spaces: 10-16 bit and float YUV(A)/Planar RGB(A), RGB48 and RGB64
 +
                              - 10+ bits are calculated in float precision internally.
 +
                              - New: auto register as NICE_FILTER for AviSynth+
 +
                              - New: add version resource
 +
                              - Info: built with VS2015 Update 3, may require Visual Studio 2015 Redistributable update 3
 
  v0.92        12/27/2014      - This release fixes a very important memory leak which made the plugin unusable for somewhat complex scripts.
 
  v0.92        12/27/2014      - This release fixes a very important memory leak which made the plugin unusable for somewhat complex scripts.
 
  v0.91        12/24/2014      - Double performance when absolute values of all weights are smaller or equal to one.
 
  v0.91        12/24/2014      - Double performance when absolute values of all weights are smaller or equal to one.

Revision as of 22:35, 18 February 2017

Abstract
Author tp7, pinterf
Version v0.94
Download Average-v0.94.7z
Category Averaging
License MIT but binaries are GPLv2
Discussion Doom9 Thread


Contents

Description

A simple plugin that calculates a weighted frame-by-frame average from multiple clips. This is a modern rewrite of the old Average plugin but a bit faster, additional colorspace support, and some additional sanity checks.

  • The usage is identical to the old Average plugin or RedAverage: Average (clip1, weight1, clip2, weight2, clip3, weight3, ...)
  • Output pixel value is calculated as: out[x] = clip1[x] * weight1 + clip2[x] * weight2 + clip3[x] * weight3...


Requirements


*** vcredist_x86.exe is required for Average-x86
*** vcredist_x64.exe is required for Average-x64


Syntax and Parameters

Average (clip, float, clip, float, clip, float ...)


clip   =
Input clip 1 / 2 / 3 ...
float   =
Weight 1 / 2 / 3 ...


You can average as many clips as you want but there are a few limitations.

  • Average requires an even number of arguments.
  • All clips must have the same colorspace.
  • All clips must have identical width and height.
  • All clips must have the same or greater number of frames as the first input clip.
  • Best performance when absolute values of all weights are smaller or equal to one.


Examples

TODO:

AviSource("blah.avi")


Changelog

Version      Date            Changes
v0.94 01/27/2017 - Fix: fix the fix: rounding of intermediate results was ok for two clips - New: AVX for 10-16bit (+20-30%) and float (+50-60%) compared to v0.93 - AVX for 8 bit non-integer path (+20% gain), e.g. when one of the weights is over 1.0 v0.93 01/26/2017 - Mod by pinterf - Fix: rounding of intermediate results in fast integer average of 8 bit clips - Mod: faster results for two or three clips - New: Support for AviSynth+ color spaces: 10-16 bit and float YUV(A)/Planar RGB(A), RGB48 and RGB64 - 10+ bits are calculated in float precision internally. - New: auto register as NICE_FILTER for AviSynth+ - New: add version resource - Info: built with VS2015 Update 3, may require Visual Studio 2015 Redistributable update 3 v0.92 12/27/2014 - This release fixes a very important memory leak which made the plugin unusable for somewhat complex scripts. v0.91 12/24/2014 - Double performance when absolute values of all weights are smaller or equal to one. v0.90 12/21/2014 - Initial release.


Average for AviSynth 2.5

This is the original Average plugin written by mg262. It works with AviSynth 2.5/2.6 but only supports the YV12 colorspace. Additional information in the following links.

  • Doom9 Forum - Average plug-in : weighted average of any number of clips (original thread by mg262)
  • Doom9 Forum - mg262's plugins with source code.

Download




Back to External Filters

Personal tools