## Layer [yuy2][rgb32]

`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:

- V YUY2 není maska (alfa-kanálu), takže alfa kanál se všude předpokládá plně neprůhledný.
- V RGB32 je alfa kanál klipu overlay_clip násoben parametrem level, takže výsledné alfa = (alpha_mask * level + 1) / 256. To znamená, že pro plnou intenzitu operace musí být alpha 255 a level musí být 257.

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 [rgb32]

`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 [rgb32]

`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 [rgb32]

`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`