### [yv12][yuy2][rgb32][rgb24]

# Levels

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

input_low i input_high: określają jakie wartości pikseli w materiale wejściowym traktowane są jako czysta czerń i czysta biel
output_low i output_high: określają wartości w materiale wyjściowym odpowiadający czerni i bieli
gamma: kontroluje w konwersji stopień nieliniowy
coring: możliwe wartości to ”true” (”prawda”) – przycina kanały lumy do [16,235] – i ”false” (”fałsz”) – opcja wyłączona

Filtr Levels modyfikuje jasność, kontrast i gammę. Argumenty input_low i input_high określają jakie wartości pikseli w materiale wejściowym traktowane są jako czysta czerń i czysta biel; argumenty output_low i output_high określają wartości w materiale wyjściowym odpowiadający czerni i bieli; argument gamma kontroluje stopień nieliniowy w konwersji. Ściśle mówiąc, funkcja konwersji wygląda następująco:
output = [(input - input_low) / (input_high - input_low)]1/gamma (output_high - output_low) + output_low

Levels jest jednym z tych filtrów, dla których miłą sprawą byłoby mieć nakładkę GUI. Przedtem nie można było zaproponować nakładki GUI (przynajmniej nie w obecnej formie AviSynth), zdecydowano przynajmniej zrobić ten filtr kompatybilny z VirtualDub, kiedy klip ma przestrzeń kolorów RGB. W tym przypadku można bez problemu spisać liczby z okna dialogowego Levels w VirtualDub i wpisać je jako argumenty do filtra Levels w AviSynth, a otrzymane rezultaty będą identyczne.
Kiedy obróbka danych następuje w przestrzeni YUY2, Levels w VirtualDub podaje tylko poprawną wartość gammy dla lumy (jasność), a dla chromy (kolor) - nie. Korekcja gammy jest rzeczywiście wykorzystywana w RGB i nie wiadomo jak zrobić to odpowiednio dla YUY2. Jednakże, jeśli gamma = 1.0, filtr powinien dawać ten sam efekt w RGB i YUY2.

Przykłady:

Levels(0, 1, 255, 0, 255) | # | obraz pozostaje nietknięty
Levels(0, 1.3, 255,0, 255) | # | poprawia gammę w wyświetlanym obrazie w otoczeniu jasności
Levels(0, 1, 255, 255, 0) | # | odwraca kolory obrazu (robi negatyw)

### translated by Slim