AddGrainC

From Avisynth wiki
Jump to: navigation, search
Abstract
Author
Version 1.8.3
Download AddGrainC_v1.8.3.7z
Category Effects
License GPLv2
Discussion Doom9 Thread

Contents

Description

Generate film-like grain or other effects (like rain) by adding random noise to a video clip. This noise may optionally be horizontally or vertically correlated to cause streaking.

AddGrain and AddGrainC are aliases for one another; there is no difference in functionality, only in syntax.

Note: self-registers as MT_NICE_FILTER in AviSynth+.

Requirements


Syntax and Parameters

AddGrain (clip, float "var", float "hcorr", float "vcorr", float "uvar", int "seed", bool "constant", bool "sse2")
AddGrainC (clip, float "var", float "uvar", float "hcorr", float "vcorr", int "seed", bool "constant", bool "sse2")


clip   =
Input clip.


float  var = 1.0
The standard deviation (strength) of the luma noise, 0.0 is disabled.


float  uvar = 0.0
The standard deviation (strength) of the chroma noise, 0.0 is disabled.
uvar does nothing in RGB mode.


float  hcorr = 0.0
float  vcorr = 0.0
Horizontal and vertical correlation, which causes a nifty streaking effect.
Range: 0.0 - 1.0


int  seed = -1
Specifies a repeatable grain sequence. Set to at least 0 to use.


bool  constant = false
Specifies a constant grain pattern on every frame.


bool  sse2 = true
Debug parameter, set to false for C routines


Examples

AddGrainC with default values:

AviSource("Blah.avi")
AddGrainC(var=1.0, uvar=0.0, hcorr=0.0, vcorr=0.0, seed=-1, constant=false, sse2=true)


Changelog

Version      Date            Developer       Changes
v1.8.3 2021/03/09 pinterf - Fix: possible crash for packed RGB formats v1.8.2 2020/05/20 pinterf - Fix SIMD code: 8/16/32 bits gave different look for the same given fixed seeds. v1.8.1 2020/04/09 pinterf - AddGrain: original parameter order restored (compatibility) - bool sse2 parameter is restored as well. sse2 = false disables simd optimization. - simd: make internal noise block load unaligned.
v1.8 2020/04/09 pinterf - Plugin name changed back to AddGrainC - Fix output darkening (regression in VS port) - Add back documentation, credits - Add back SIMD optimization (SSE2, SSE4) - Add back version resource
2020/03/30 StvG - Backport to AviSynth+ - Changes to 1.7.1: * Support AviSynth+ high bit depth * Register Avisynth+ MT mode as MT_MULTI_INSTANCE * AddGrain parameter order made similar to AddGrainC: var, uvar, hcorr, vcorr, seed, constant (was: var, hcorr, vcorr, uvar, seed, constant) * Removed bool "sse2" parameter * Name is AddGrain * Removed SIMD optimization
2014-2018 HolyWu - VapourSynth port
1.7.1 2013/11/25 Firesledge - Added a 64-bit version. Compiled with MSVC 2012 (requires the 2012 runtime libraries) 1.7.0 2012/08/16 Firesledge - Supports Y8, YV16, YV24 and YV411 colorspaces. 1.6.1 2011/10/29 LaTo INV. - Automatic switch to MMX if SSE2 is not supported by the CPU. 1.6.0 2011/10/28 LaTo INV. - Added SSE2 code (50% faster than MMX) 1.5.4 2011/10/27 Firesledge - Fixed bad pixels on the last line in YV12 mode when constant=true, fixed potential problems with frame width > 4096 pixels and fixed several other minor things. 1.5.3 2011/10/26 Firesledge - Fixed coloring and bluring in RGB24 mode. 1.5.2 2011/10/26 Firesledge - Removed the SSE2 requirement. 1.5.1 2010/05/13 Firesledge - The source code compiles on Visual C++ versions older than 2008. 1.5 2010/05/07 Foxyshadis - Limit the initial seed generation to fix memory issues. 1.4 2006/08/11 Foxyshadis - Constant replaces seed, seed repeatable. 1.3 2006/06/10 Foxyshadis - Crashfix, noisegen optimization. 1.2 2006/06/06 Foxyshadis - Supports YUY2, RGB. Fix cache mess. 1.1 2006/06/01 Foxyshadis - Chroma grain + constant seed. 1.0 2003/06/18 Tom Barry - Initial Release

External Links




Back to External Filters

Personal tools