How avisynth/avisynthplus works
AviSynth+ is a scriptable video frameserver: a host uses its API to create a script environment, scripts describe clip/filter operations, and the resulting clips provide frames to the host. Its capabilities include built-in video and audio filters, format conversion and resampling, plugin loading, AVI input, and CPU/device-aware processing. The graph preserves major subsystems from the tree and source index; some filter and plugin relationships are documented only by their module locations, so those links are dashed and unverified.
Main entry points: InternalEnvironment.h Script Environment · convert_planar.cpp Pixel Conversion · FilterGraph.cpp Filter Graph · scriptparser.cpp Script Parser
Components 22
Host API and Runtime
- Plugin API
avs_core/include/avisynth.h - Script Environment
avs_core/core/InternalEnvironment.h - Runtime Core
avs_core/core/internal.h - Runtime Strings
avs_core/core/strings.h
Scripting and Plugins
- Script Parser
avs_core/core/parser/scriptparser.cpp - Expression Engine
avs_core/core/parser/expression.h - Function Dispatch
avs_core/core/function.h - Plugin Manager
avs_core/core/PluginManager.cpp - Filter Graph
avs_core/core/FilterGraph.cpp
Media Processing
- Built-in Filters
avs_core/filters/source.cpp - Expr Filter
avs_core/filters/exprfilter/exprfilter.cpp - Resampling
avs_core/filters/resample.cpp - Resample Definitions
avs_core/filters/resample.h - Pixel Conversion
avs_core/convert/convert_planar.cpp - Conversion Interfaces
avs_core/convert/convert.h - Bit Conversion
avs_core/convert/convert_bits.h - Conversion Helpers
avs_core/convert/convert_helper.h - SIMD Kernels
Sources and Devices
- AVI Source
avs_core/filters/AviSource/AVIReadHandler.cpp - Device Manager
avs_core/core/DeviceManager.cpp - External Filters
plugins
Other components
- Host Application
Connections 24
- Host Application → Plugin API: uses API
README.md - Plugin API → Script Environment: exposes runtime
avs_core/include/avisynth.h - Script Environment → Function Dispatch: dispatches functions
avs_core/core/InternalEnvironment.h - Script Environment → Plugin Manager: manages plugins
avs_core/core/PluginManager.cpp - Plugin Manager → Script Environment: registers functions
avs_core/core/PluginManager.cpp - Plugin Manager → Runtime Strings: uses strings
avs_core/core/PluginManager.cpp - Script Parser → Script Environment: uses environment
avs_core/core/parser/scriptparser.cpp - Script Parser → Expression Engine: parses expressions
- Script Parser → Function Dispatch: builds scripts
- Script Environment → Filter Graph: constructs graph
- Filter Graph → Built-in Filters: evaluates clips
- Filter Graph → AVI Source: requests frames
- Built-in Filters → Resampling: uses resampling
- Resampling → Resample Definitions: uses definitions
avs_core/filters/resample.cpp - Resampling → Pixel Conversion: uses conversion
avs_core/filters/resample.cpp - Pixel Conversion → Conversion Interfaces: implements interface
avs_core/convert/convert_planar.cpp - Pixel Conversion → Conversion Helpers: uses helpers
avs_core/convert/convert_planar.cpp - Pixel Conversion → Bit Conversion: uses bit conversion
avs_core/convert/convert_planar.cpp - Pixel Conversion → SIMD Kernels: uses SIMD
- Expr Filter → Pixel Conversion: uses conversion
avs_core/filters/exprfilter/exprfilter.cpp - Device Manager → Script Environment: uses environment
avs_core/core/DeviceManager.cpp - Device Manager → Filter Graph: wraps clips
- External Filters → Plugin API: implements plugins
README.md - Host Application → AVI Source: receives frames
README.md