Levels

Levels(clip, int input_low, float gamma, int input_high, int output_low, int output_high, bool coring)

Mit diesem Filter wird die Helligkeit, der Kontrast und der Gamma-Wert verändert.

Dies ist einer der Filter, für die eine graphische Oberfläche ganz nett wäre. Da es dafür aber keine gibt (zumindest nicht in AviSynth selber), habe ich den Filter kompatibel mit den von VirtualDub gemacht, zumindest wenn der Clip in RGB ist. Man kann dafür die Parameter in VirtualDub's Levels Dialog ermitteln, mit diesem Levels Filter verwenden und bekommt die gleichen Ergebnisse.

Parameter:
input_lowGibt als Ganzzahl an, welcher Wert des Quellclips als komplett schwarz betrachtet wird.
gammaBestimmt den Grad der Nichtlinearität bei der Umwandlung. Das heißt als Formel geschrieben: output = [(input - input_low) / (input_high - input_low)]1/gamma (output_high - output_low) + output_low.
Beim Arbeiten in YUY2-Farbformat wird nur die Helligkeit durch gamma korrigiert, da diese Korrektur eigentlich ein RGB-Konzept ist. Bei gamma = 1.0 sollte der Filter aber in RGB und YUY2 den gleichen Effekt haben.
input_highGibt als Ganzzahl an, welcher Wert des Quellclips als komplett weiß betrachtet wird.
output_lowGibt als Ganzzahl an, welcher Wert des Zielclips als komplett schwarz sein soll.
output_highGibt als Ganzzahl an, welcher Wert des Zielclips als komplett weiß sein soll.
coringDer boolsche Wert (true/false) gibt an, ob - wie in älteren Versionen - die Helligkeit auf den Bereich 16-235 begrenzt werden soll. Dies ist standardmäßig aktiviert. Bei false wird die Helligkeit nicht verändert.

Beispiele:
Levels(0,1,255,0,255)Keine Veränderung
Levels(0,1.3,255,0,255)Gamma-Korrektur für eine Anzeige in einer hellen Umgebung
Levels(0,1,255,255,0)Das Bild invertieren (ein Photo-Negativ erzeugen)

Changelog:
v2.53Der Parameter coring ist hinzugefügt worden.