# Cnr2 (Chroma Noise Reducer)

## Sommario

author: Chroma Noise Reducer by MarcFD and others
version: 2.61
dowload: http://www.avisynth.org/warpenterprises/
category: Temporal Smoothers
requirements:

- YV12 & YUY2 Colorspace

## Cosa fa

Questo filtro è un Chroma Stabilizer per sorgenti analogiche.
E' un filtro temporal ed è veramente valido nei confronti di 2 artefatti del croma: stationary rainbows e analogic chroma activity.

## Uso

Aggiungete queste linee al vostro script di avisynth :

    LoadPlugin("Cnr2.dll")
    # esempio
    Cnr2() # per catture  TV/VHS
    Cnr2("xxx", 4, 5, 255) # piccolo suggerimento per togliere il rainbow.

### Sintassi

`Cnr2` (clip, mode="oxx", scdthr=8, ln=35, lm=192, un=47), um=255, vn=47, vm=255, log=false)

mode :

modo di ogni componente, "YUV"
ne sono possibili 2: esteso ('o') e limitato ('x')
la moalità limitata è più sensibile alle variazioni e meno efficace

scdthr :

scenechange detection threshold (soglia per la determinazione del cambio di scena).
abbassarlo per rendere scd più sensibile .
se viene rilevato un canbio di scena, cnr2 resetterà la modalità di di filtraggio per la nuova scena

ln,lm,un,um,vn,vm: 0 to 255

i valori n rappresentano la sensibilità al movimento :
i valori più alti tolgono maggior rumore, ma possono produrre artefatti di ghosting
i valori m rappresentano la massima efficacia del denoiser :
abbassateli per ridurre l'effetto di denoising.

log:

per loggare i valori interni di scd . Per vederli usare DebugView.

    > Cnr2()
    > Cnr2("oxx", 8, 35, 192, 47, 255, 47, 255, false)
    > Cnr2(mode="oxx", scdthr=8, ln=35, lm=192, un=47, um=255, vn=47, vm=255, false)

sono 3 aliases : producono lo stesso filtraggio.

## History

Questo Filtro è ispirato all'analogo filtro di Virtual Dub Chroma Noise Reduction 1.1 (by Gilles Mouchard)
cnr 1.1 era un buon chroma filter ma per funzionare usava una conversione in YUV .
L'housato per codificare VHS , perchè si trattava del miglior Chroma Noise avessi testato.
Ma quando ho iniziato ad usare AviSynth e Huffyuv, la conversione in RGB era un appesantimento
sicché ho dato un'occhiata al codice ed ho scritto un mio filtro partendo da uno scratch, ma basandomi sullo stesso algoritmo.
L' output di cnr2 è dal 99,9% al 100% lo stesso di cnr (a causa del colorspace YUV )
ed è 3x-5x volte più veloce (Cnr2 realizza un real-time denoising in 640x480x25fps con un 1,4 Ghz CPU)

version 2.1 (31.7.2002)

little review. corrections.

version 2.2 (01.8.2002)

First frame bug fixed.

version 2.3 (17.11.2002)

YV12 Code and SCD (scene change detection)

version 2.4 (17.11.2002)

small changes/bug fixes

version 2.51 (13.11.2003)

Klaus Post: bug fixes.

version 2.6 (29.06.2004)

tritical: few bug fixes, scene change detection overhaul, code cleanup.

version 2.6.1 (30.06.2004)

tritical: made yuy2 processing fast again.

### Distribution :

This is a free sofware distribued under the terms of the GNU-GPL
The only restriction is to e-mail me if you want to do something with
the source because i don't want you to lose your time to decode my
cryptic C,C++,Delphi (or any other language) writing.
Thanks :)

### Contact :

Don't even doubt of e-mailing me for any suggestion :-), bug report :-(,
feature request :D, or whatever else :-P.
I hope you'll find this prog useful ! (i do...)

`$Date: 2004/10/19 21:09:51 $`