Layer [yuy2][rgb32]

Layer (base_clip, overlay_clip, string "op", int "level", int "x", int "y", int "threshold", bool "use_chroma")

Questo filtro può sovrapporre 2 clips di differenti dimensioni (ma con lo stesso formato colore) usando diversi modi di operare.
PCome informazione sulla trasparenza dei pixel si usa come maschera il 4° canale colore dell'RGB32 (A- o alpha-channel).

Base_clip: è il clip di base che determina le dimensioni e tutte le altre proprietà audio/video del risultato.
Overlay_clip: il clip che viene fuso nel precedente. Questo clip può contenere un alpha layer.
op: l'operazione di merge , che può essere: "add", "subtract", "brighten", "darken", "fast", "mul"
level: 0-255, la forza dell'operazione. 0: il base_clip rimane inalterato, 255: la forza massima che si deve usare
x, y: offset dell' overlay_clip
threshold: implementato solo per "lighten" e "darken"
use_chroma: usa il chroma dell' overlay_clip, default=true. Quando vale "false" viene usato solo il luma.

Ci sono alcune differenze di comportamento e di parametri ammessi in funzione del formato colore e dell' operazione. In dettagio:

  • Nessuna maschera (alpha-channel) in YUY2, sicchè l'alpha-channel si assume sia ovunque "opaco"
  • in RGB32 l'alpha-channel dell'overlay_clip è moltiplicato per il level, , di modo che l'alpha risultante = (alpha_mask * level) / 256. Questo significa che per avere la massima potenza dell'operazione SIA alpha CHE level devono essere 255.
  • Questi operatori si comportano allo stesso modo sia in RGB32 che in YUY2:

    "fast": use_chroma deve essere TRUE, level e threshold non sono usati.
        Il risultato è semplicemente la media fra base_clip e overlay_clip.
    "add":  tthreshold non è usato. La differenza fra base_clip e overlay_clip
        è moltiplicata per alpha e sommata al base_clip.
    alpha=0 -> solo il base_clip è visibile,
    alpha=128 -> base e overlay blended allo stesso modo,alpha=255 -> solo overlay è visibile. "subtract": identico ad add, ma l' overlay_clip viene prima invertito.

    Questi operatori sembra lavorino correttamente solo in YUY2:

    "mul": tthreshold non è usato. Il base_clip viene colorato come overlay_clip,
        sicchè use_chroma dovrebbe essere TRUE.
    alpha=0 -> solo il base_clip è visibile,
    alpha=255 -> approx. la stessa Luminanza del Base ma con i colori di Overlay "lighten": use_chroma deve essere TRUE. Svolge le stesse operazioni di "add", ma i nuovi valori sono usati solo quando il risultato è PIU' LUMINOSO del base_clip. L'operazione è più adatta ad un threshold più alto , di modo che con threshold=255 equivale ad "add", con threshold=0 il base_clip rimane inalterato , in funzione delle differenze tra base_clip e overlay_clip. "darken": stesso discorso di "lighten", ma eseguito solo quando il risultato è PIU' SCURO del base_clip.


    Vedere anche qui per le proprietà del clip.

     

    Mask [rgb32]

    Mask (clip, mask_clip)

    Applica una ben definita alpha-mask al clip, per l'uso con Layer, convertendo mask_clip in greyscale e usandola quindi come mask ( alpha-channel) dell' RGB32. In questo canale colore "black" significa completamente transparente, "white" significa completamente opaco).

     

    ResetMask [rgb32]

    ResetMask (clip)

    Applica un alpha-mask "all-opaque" al clip, per l'uso con Layer.

    L' alpha-channel di un clip RGB32-clip non è sempre ben definito (dipende dalla sorgente), questo filtro è il modo più rapido per applicare
    	una maschera "all white":
    
    clip=ResetMask(clip)

     

    ColorKeyMask [rgb32]

    ColorKeyMask (clip, int color, int tolerance)

    Imposta l'alpha-channel (in modo simile a quanto fà Mask) ma lo genera confrontando il color. Ogni pixel con un colore che differisce meno della tolleranza è impostato a "transparent", altrimenti non viene toccato (NON è che viene impostato ad "opaco").

    $Date: 2004/09/29 21:58:56 $