Average

From Avisynth wiki
Jump to: navigation, search
Abstract
Author tp7, pinterf
Version v0.95
Download Average-v0.95.7z
Category Averaging
License MIT but binaries are GPLv2
Discussion Doom9 Thread


Contents

[edit] 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...


[edit] Requirements


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


[edit] 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.


[edit] Examples

TODO:

AviSource("blah.avi")


[edit] Changelog

Version      Date            Changes
v0.95 10/08/2021 - add AVX2 routines - accept parameter as a nested array stuffed into the first parameter (AVS 3.7.1) - pass over frame properties if any (Avisynth interface v8+ check) - Source: update to VS2019, clang-cl option, gcc and linux friendly - add CMake build environment, linux build instructions - Make it compilable for non-Intel processors (C only) 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 MT_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.


[edit] 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.

[edit] Download


[edit] External Links

  • GitHub - Source code repository (original)
  • GitHub - Source code repository (update)




Back to External Filters

Personal tools