### Layer

`Layer(`clip "base_clip", clip "overlay_clip", string "op", int "level", int "x", int "y", int "threshold", bool "use_chroma"`)`
[funktioniert noch nicht in AviSynth v2.5]
Dieser Filter kann zwei Clips mit unterschiedlicher Größe (müssen aber im gleichem Farbraum sein) mischen, wobei verschiedene Methoden verwendet werden können. Für eine Pixel-basierte Transparenz-Maske wird der vierte Farbkanal beim Farbraum RGB32 (der A- oder Alpha-Kanal) verwendet.
base_clip: Der unten liegende Clip, der die Größe und die anderen Video- und Audio-Eigenschaften des entstehenden Clips bestimmt.
overlay_clip: Der Clip, der zu base_clip dazugemischt wird.
op: Die Mischoperation, die durchgeführt wird. Das kann sein: "add" (Addieren), "subtract" (Subtrahieren), "brighten" (Aufhellen), "darken" (Verdunkeln), "fast" (die Schnellvariante), "mul" (Multiplizieren).
level: 0-255, gibt die Stärke der durchgeführten Operation an. 0: der base_clip wird nicht verändert, 255: die maximale Stärke wird verwendet.
x, y: Die Verschiebung des overlay_clip gegenüber dem base_clip.
threshold: Gibt es nur für "lighten" and "darken" (ein Schwellenwert).
use_chroma: Gibt an, ob auch die Farbinformation von overlay_clip verwendet wird, der Standardwert ist true (Farbe wird verwendet). Bei false wird nur die Helligkeitsinformation verwendet.
Es gibt einige Unterschiede im Verhalten und der erlaubten Parameter, die vom Farbraum und der verwendeten Mischoperation abhängen:

- Bei YUY2 gibt es keinen Alpha-Kanal, daher auch keine Transparenz-Maske. Das Verhalten ist also so, als ob die Maske überall undurchsichtig wäre.
- Bei RGB32 wird der Alpha-Kanal vom overlay_clip mit level multipliziert, der effektive Wert für Alpha für ein Pixel ist also alpha = (alpha_mask * level) / 256. Daher muss für eine Operation mit voller Stärke Alpha und level gleich 255 sein.

Diese Operationen verhalten sich für RGB32 und YUY2 gleich:

`"fast": use_chroma muss TRUE sein, level und threshold werden nicht verwendet. Das Ergebnis ist einfach der Mittelwert zwischen base_clip und overlay_clip. "add": threshold wird nicht verwendet. Der Unterschied zwischen base_clip und overlay_clip wird mit alpha multipliziert und zum base_clip dazugezählt. alpha=0 -> nur das base_clip ist sichtbar, alpha=128 -> base_clip und overlay_clip werden gleichwertig gemischt, alpha=255 -> nur das overlay_clip ist sichtbar. "subtract": das gleiche wie bei "add", allerdings wird das overlay_clip vorher invertiert.`

Diese Operationen arbeiten (anscheinend) nur in YUY2 korrekt:

`"mul": threshold wird nicht verwendet. Der base_clip wird so wie der overlay_clip "eingefärbt", use_chroma sollte also true sein. alpha=0 -> nur der base_clip sichtbar, alpha=255 -> ungefähr die gleiche Helligkeit wie der base_clip aber mit den Farben vom overlay_clip "lighten": use_chroma muss TRUE sein. Führt die gleiche Operation wie "add" durch, aber nur wenn das Ergebnis HELLER als der base_clip ist, wird der neue Wert auch verwendet. Mit einem hohen threshold ist die Operation wahrscheinlicher, mit threshold=255 ist das Ergebnis das gleiche wie "add", mit threshold=0 wird der base_clip eher unverändert gelassen, abhängig von der Differenz zwischen base_clip und overlay_clip. "darken": das gleiche wie "lighten", allerdings wird das Ergebnis nur verwendet, wenn der neue Wert DUNKLER als base_clip ist.`

Siehe auch hier zu den entstehenden Clip-Eigenschaften.

### Mask

`Mask(`clip, clip "mask_clip"`)`
Setzt in clip eine definierte Alpha-Maske (zur Verwendung mit `Layer`), das mask_clip wird auf Grauwerte umgewandelt und diese werden als Maske (Alpha-Kanal) vom RGB32 verwendet. Bei diesem Kanal bedeutet "schwarz" völlig durchsichtig, "weiß" bedeutet völlig undurchsichtig.

### ResetMask

`ResetMask(`clip`)`
Setzt die Alpha-Maske vom clip komplett auf undurchsichtig (zur Verwendung mit `Layer`).
Der Alpha-Kanal eines RGB32-Clip ist nicht immer in einem definierten Zustand (abhängig von der Quelle). Dieser Filter ist die einfachste Art, eine komplett "weiße" Maske zu setzen:

### ColorKeyMask

`ColorKeyMask(`clip, int "color", int "tolerance"`)`
Setzt den Alpha-Kanal (ähnlich wie auch Mask), allerdings durch Vergleichen der Farben. Jedes Pixel mit einem Farbunterschied, der kleiner als tolerance ist, wird auf transparent gesetzt, andernfalls unverändert gelassen (es wird NICHT auf undurchsichtig gesetzt).