This page contains functions and plug-ins that I have written for AviSynth, an open-source, script-based, non-linear video editor.
My goals are to write functions and plug-ins that improve the expressiveness and readability of the scripting language; I want to make it easier for other people to write AviSynth scripts.
Documentation for each function is included in the script file itself. To use these functions, either download the .avsi script and copy it to your AviSynth plug-ins directory, or copy and paste the functions you want into your own script.
Some functions may require using the latest stable version of AviSynth and also may require jdl-util.avsi.
General-purpose, utility
functions.
My other scripts are dependent on this file.
Min
,
Max
, Clamp
Quote
,
Endl
AssertEval
Throw
Undefined
NullClip
JDL_ImageSource
(rationale
and discussion)Trim2
,
Trim3
(rationale
and discussion)Trim
in
your own user-defined functions. JDL_LengthenClip
SetParity
AssumeScaledFPS
JDL_ShiftFrame
NoArgFunctionWrapper
(rationale
and discussion)Animate
or ApplyRange
with functions or filters that take no arguments. JDL_FunctionDefined
HasVideo
,
HasAudio
Functions that operate on ranges in a clip.
JDL_ApplyRange
,
JDL_ApplyRangeOld
JDL_ApplyFrame
JDL_ApplyEvery
JDL_SimpleApplyEvery
JDL_DeleteRange
JDL_SingleFrame
JDL_ReplaceRange
JDL_FreezeRegion
JDL_FreezeLoop
Functions for use with telecined material.
JDL_Telecine
JDL_IVTCPattern
,
JDL_IVTCPattern2
,
JDL_IVTCPatternSegment
JDL_DecimatePattern
,
JDL_DecimatePattern2
JDL_ShowFrameOffset
Functions for use with interlaced material.
JDL_SelectField
,
JDL_SelectTopField
,
JDL_SelectBottomField
JDL_ReverseFieldDominance
JDL_UnfoldFieldsVertical
,
JDL_FoldFieldsVertical
(rationale
and discussion)JDL_InterlacedResize
JDL_SimpleBob
JDL_DupeField
JDL_Interlace
Functions for creating effects. Also includes miscellaneous, exotic, and specialized functions.
JDL_Blackout
JDL_Silence
JDL_FadeIO
,
JDL_FadeVideo
,
JDL_FadeAudio
JDL_Invert
JDL_Wipe
(discussion)JDL_MaskTransition
(discussion)JDL_Fill
JDL_Slow
JDL_ReplaceFirstScanline
JDL_SplitYUV
,
JDL_MergeYUV
, JDL_SplitRGB
JDL_SplitScreenCompare
Various wrapper functions.
AudioGraphWrapper
(rationale
and discussion)TemporalSoftenPreset
LevelsWrapper
CropWrapper
AssumeFPS/ChangeFPS/ConvertFPS
(rationale
and discussion)Documentation for each plug-in is included. Source code also is included under a BSD-style license.
(v0.3.1) A collection of AviSynth functions that operate at regular intervals in a clip.
ApplyEvery
DeleteEvery
SelectEvery
function. DeleteFrames
DeleteFrame
function. InterleaveEvery
SelectEvery
and DeleteEvery
. RepeatEveryFrame
LengthenClip
WhileEval
(v0.3.0) Retrieves system environment variables.
GetSystemEnv
GetWorkingDir
SetWorkingDir
GetFileInfo
(v0.1.1) Min
/Max
functions that can take variable numbers of arguments.
(v0.3.1) A collection of
functions to rearrange frames between clips. Remaps the frame indices
in a clip or from a second clip as specified by an input text file or
by an input string. Efficient alternatives to long chains of FreezeFrame
,
DeleteFrame
, or ApplyRange
.
RemapFrames
RemapFramesSimple
ReplaceFramesSimple
(v0.3.0) A version of
AviSynth's Select
function that operates on
strings
(v0.1.5) Randomly shuffles the frames in a clip.
(v0.1.1) Provides simple logging and testing functions. Intended primarily for use by developers.
LogOpen
,
LogClose
, LogString
SetCacheHints
ScanClip
CompareFiles
(v0.1.2) Threshold and coring functions. They map pixels darker than a specified threshold to pure black; all other pixels can be mapped to pure white or can be left untouched.
ApplyEvery
or JDL_ApplyEvery
above)"
) within AviSynth strings
(by WarpEnterprises)?:
) with multiple statements2010-11-26 |
|
2008-10-16 |
|
2008-09-13 |
|
2008-07-08 |
|
2008-06-28 |
|
2008-06-09 |
|
2006-09-24 |
|
2006-01-02 |
|
2005-08-26 |
|
2005-04-03 |
|
2005-01-23 |
|
2005-01-10 |
|
2004-12-24 |
|
2004-12-19 |
|
2004-12-07 |
|
2004-09-26 |
|
2004-08-14 |
|
2004-07-26 |
|
2004-07-07 |
|
2004-07-03 |
|
2004-06-26 |
|
2004-06-13 |
|
2004-06-02 |
|
2004-05-31 |
|
2004-04-13 |
|
2004-04-10 |
|
2004-04-08 |
|
2004-04-03 |
|
2004-04-01 |
|
2004-03-31 |
|
2004-03-20 |
|
2004-03-20 |
|
2004-03-19 |
|
2004-03-16 |
|
2004-03-15 |
|
2004-03-14 |
|
2004-03-12 |
|
2004-03-10 |
|
2004-03-09 |
|
2004-03-07 |
|
2004-03-03 |
|
2004-03-02 |
|
2004-02-29 |
|
2004-02-02 |
|
2004-01-24 |
|
2003-12-23 |
|
2003-11-21 |
|
2003-11-03 |
|
2003-09-21 |
|
2003-09-13 |
|
2003-09-06 |
|
2003-08-31 |
|
2003-08-20 |
|
2003-08-16 |
|
2003-08-13 |
|
2003-08-09 |
|
Written by James D. Lin (stickboy) and assigned to the public domain.