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_Interlace
Functions for creating effects. Also includes miscellaneous, exotic 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
Documentation for each plug-in is included. Source code also is included under a BSD-style license.
(v0.3.0) 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.1.1) Retrieves system environment variables.
GetSystemEnv
GetWorkingDir
(v0.1.1) Min
/Max
functions that can take variable numbers of arguments.
(v0.3.0) Remaps the frame indices in a clip as specified by an input text file or by an input string.
(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 statements2005-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.