[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