Layer
(base_clip, overlay_clip, string "op", int "level",
int "x", int "y", int "threshold", bool "use_chroma")
Tento filtr může překrýt dva klipy různých velikostí (ale se stejným barevným
formátem) s použitím různých pracovních režimů.
Pro informaci o průhlednosti pixelu ze 4. kanálu RGB32 (A- neboli
alfa kanál) je použit jako maska.
Base_clip : klip, který leží níže a určuje velikost a
všechny ostatní vlastnosti výsledného videa a audia.
Overlay_clip:
klip kterým se překrývá spodní klip. Tento klip může obsahovat vrstvu alfa.
op : prováděná operace překrytí, která může být: "add", "subtract",
"lighten", "darken", "fast", "mul"
level : 0-257, intenzita prováděné operace.
0: base_clip se vrací nezměněn, 257 (256 pro YUY2): je použita maximální intenzita
x, y : posun pozice overlay_clip
threshold: použitelné pouze pro "lighten" a "darken"
use_chroma: použije barvy z overlay_clip, výchozí je=true. Je-li false je
použita pouze jasová složka (luma).
V chování filtru a v povolených parametrech jsou rozdíly, a ty závisí na barevném formátu a operaci. Zde jsou podrobnosti:
Tyto operátory pracují stejně v RGB32 nebo YUY2:
"fast": use_chroma musí být TRUE, level a threshold se nepoužívá. Výsledek je jednoduše průměrem base_clip a overlay_clip. "add": threshold se nepoužívá. Rozdíl mezi base_clip a overlay_clip je násoben hodnotou alpha a přičten k base_clip. alpha=0 -> je viditelný pouze base_clip, alpha=128-> base a overlay jsou smíchány stejně, alpha= 255 -> viditelný pouze overlay. Používá se formule :- RGB32 :: base += ((overlay-base)*(alpha*level+1)>>8)>>8 YUY2 :: base += ((overlay-base)*level)>>8 "subtract": stejné jako add, ale overlay_clip je před tím invertován.
Tyto operátory, jak se zdá pracují správně jen v YUY2:
"mul": threshold se nepoužívá. base_clip je vybarven jako overlay_clip, takže use_chroma by mělo být TRUE. alpha=0 -> viditelný jen base_clip, alpha= 255 -> přibl. stejný jas jako Base, ale s barvami z Overlay "lighten": use_chroma musí být TRUE. Provádí stejnou činnost jako "add", ale jen když je výsledek JASNĚJŠÍ (BRIGHTER) než base , jinak se použijí nové hodnoty. S vyšší threshold je fungování pravděpodobnější, takže s threshold=255 je to stejné jako "add", s threshold=0 u base_clip je pravděpodobnější, že nedojde ke změnám, v závislosti na rozdílu mezi base_clip a overlay_clip. "darken": stejné jako "lighten", ale funguje pouze tehdy, když je výsledek TMAVŠÍ než base.
Také se podívejte sem na vlastnosti
výsledného klipu.
Mask
(clip, mask_clip)
Použije zadanou alfa-masku na clip, pro použití s Layer
, převedením
mask_clip na černobílý a využitím tohoto pro masku (ala-kanál) RGB32. V tomto kanálu "černá" znamená zcela
průhledné, bílá znamená zcela neprůhledné).
ResetMask
(clip)
Použije "plně neprůhlednou " (to je bílou) alfa-masku na clip, pro použití s Layer.
Alfa kanál RGB32-klipu není vždy dobře definován (závisí to na zdroji), tento filtr je rychlejší způsob pro použití všech bílých masek:
clip=ResetMask(clip)
ColorKeyMask
(clip, int color[, int tolB, int tolG, int tolR])
Čistí pixely v alfa kanálu srovnáním s color (výchozí je černá). Každý pixel s barvou, lišící se méně než (tolB, tolR, tolG) (výchozí 10) je nastaven na průhledný (to je černý), jinak zůstává nezměněn t.j. NENASTAVUJE se jako neprůhledný (není nastaven na bílý, to je důvod proč by jste mohli potřebovat ResetMask před použitím tohoto filtru), to umožní nahromadění masky pro konstrukce s vícenásobným voláním. Když tolR nebo tolG nejsou nastaveny, použijí hodnotu z tolB (což odráží staré chování). Obvykle začínáte s ResetMask, pak připojíte několik výzev ColorKeyMask, aby jste udělali průhledné otvory kde se nachází zajímavá barva. Viz Overlay pro příklady.
Pro verze AviSynthu starší než v2.58, nebyly oddělené tolerance úrovní pro modrou, zelenou a červenou. Byla pouze jedna tolerance úrovně zvaná tolerance a byla použita pro modrou, zelenou a červenou současně.
$English Date: 2008/02/06 16:40:23 $
Český překlad:16.10.2008