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

Crop / CropBottom

Crop(clip, int left, int top, int width, int height, bool align)

Crop(clip, int left, int top, int -right, int -bottom, bool align)

CropBottom(clip, int count, bool align)


left/top/width/height: przycina klip z lewej strony/u góry/z prawej strony/na dole klipu (przycina od lewej strony - dla left i width - od góry dla top i height)

right/bottom: przyjmują tylko wartości ujemne i obraz jest wtedy przycinany od prawej strony/od dołu klipu

algin: przyjmuje wartości true lub flase, wartość true oznacza iż cała klatka z nieustawionej posady pamięci zostanie skopiowana do ustawionej

count: przycina zbędne linie u dołu klipu (przydatne przy przechytywaniu materiału z kasety VHS)


Crop przycina zbędne piksele na każdej klatce. Jeśli materiał źródłowy jest w rozdzielczości 720x480, a potrzebna jest rozdzielczość 352x240 (dla VCD) to prawidłowe rozwiązanie pomniejszenia rozdzielczości z wykorzystaniem filtra Crop wygląda następująco:

# rzutowanie CCIR601 do VCD z zachowaniem poprawnego aspektu
ReduceBy2
Crop(4,0,352,240)

Gdy argumenty width i height przyjmą wartości ujemne będą równoważne z argumentami right i bottom, czyli filtr będzie przycinał obraz z odpowiednich stron (dla argumentu left będzie przycinał od lewej, dla top od góry, dla right od prawej, a dla bottom od dołu), na przykład: 

# przycięcie 16 pikseli wokół całej klatki, bez względu na rozmiar obrazu:
Crop(16,16,-16,-16)

Wartości argumentów, odpowiadających za przycinanie, przy pracy z przestrzenią kolorów YUY2/RGB32, muszą być zawsze podzielne przez 4 (4 bajty). MMX/SSE woli ustawienie 8-bajtowe, a SSE2 - 16-bajtowe. Jeśli dane NIE są ustawione każda operacja czytania/zapisywania będzie opózniona przynajmniej czterokrotnie. Oznacza to, że rozdzielczość klipu, gdy ma on być wczytany do AviSynth, powinna zawsze być podzielna przez 16.

Jeśli obraz został przycięty to czasem będzie się umieszczał w nieustawionej pamięci. 'align = true' będzie kopiował całą klatkę z nieustawionej posady pamięci do tej ustawionej. Więc jeśli spowolnienie następujące po filtrze jest większe niż spowolnienie całkowitego kopiowania obrazu to słuszną decyzją będzie ustawienie align na true (domyślnie jest false). Zwłaszcza gdy po filtrach: Crop, CropBottom stosuje się filtry wygładzające.

Alternatywnym rozwiązaniem jest filtr CropBottom mający składnię przydatną do przycinania zbędnych linii na dole klipu przy przechytywaniu materiału z kasety VHS. Usuwa niepotrzebne poziome linie występujące na każdej klatce. 

W prawidłowym zachowywaniu struktury danych dla różnych przestrzeni kolorów powinny być spełnione poniższe podzielności. Możliwe, że przy nie przestrzeganiu tych ograniczeń nie zostanie wyświetlony komunikat błędu, ale i tak mogą wytworzyć się dziwne artefakty. 

RGB
szerokość: bez ograniczeń 
wysokość: bez ograniczeń dla klipu video bez przeplotu
wysokość: podzielna przez 2 dla klipu video z przeplotem

YUY2
szerokość: podzielna przez 2 dla klipu video z przeplotem
szerokość: bez ograniczeń dla klipu video bez przeplotu
wysokość: podzielna przez 2 dla klipu video z przeplotem

YV12
szerokość: podzielna przez 2 
wysokość: podzielna przez 2 dla klipu video bez przeplotu 
wysokość: podzielna przez 4 dla klipu video z przeplotem 

Funkcje filtrów zmieniających rozdzielczość dodatkowo pozwalają odrobinę przyciąć klatki w materiale wejściowym. Opcje te mogą być wykorzystane jeśli spełnienie podzielności, przez nałożone ograniczenie przycięcia, jest kłopotliwe. Zobacz filtry resize.


translated by Slim