Cdeblend Funktion von MOmonster


---------------
Basis
---------------
	Um Cdeblend benutzen zu knnen, lade die Funktion mit import("Cdeblend.avs") in dein Skript.
	Auerdem musst du noch die mitgepackten Filter laden.

	bentigt wird:	- mt_masktools

	Version:	- Cdeblend 1.0

----------------
Cdeblend
----------------
	Verglichen mit unblend, deblend oder auch removeblend ist diese Funktion etwas langsamer
	und wegen dem "conditional enviroment" nicht so stabil und kompatibel, dafr ist sie in
	vielen Bereichen recht brauchbar, besonders da wo unblend mal nicht so viel erkennt.

	--------
	Gebrauch
	--------
	code:	progressive (bobbed) source

		Cdeblend(dmode=3, thresh=130)

		------
		or:

		ord = last.getparity() ? 1 : 0

		a = tdeint(mode=1)

		c = leakkernelbob(order=ord).crop(8,8,-8,-8).BilinearResize(480,288)	

		Cdeblend(a, clip2=c, dmode=-4)


	Parameter:
		dmode:	Der wichtigste Parameter von Cdeblend ist dmode. Brauchbare Werte liegen
			je nach Source zwischen -10 und 10. Man kann zwischen drei Algorythmen auswhlen:
			dmode < 0	-> sehr schnelle Blenderkennung, die gut mit starken Bewegungen
					   und sauberen Quellen arbeitet.
			dmode > 0	-> der neue High Quality Mode. Er ist etwas langsamer, aber trotzdem
					   noch ziemlich schnell. Ermglicht noch bessere Resultate.
			dmode = 0	-> arbeitet wie dmode > 0, jedoch ohne Bewegungseinfluss. Es ist
					   hufig die beste Wahl fr gute Realquellen.
			Um so hher der Absolutwert von dmode ist, um so grer wird der Bewegungseinfluss.
			Bei flssigen nonanime Material sind die Werte 2 und 1 (-2,-1) empfohlen, bei
			schlechten Ausgangsmaterial mit wenig Bewegung und bei Anime sind Werte
			bis 5 oder auch sechs empfohlen, hher sollte man nur bei 12fps Quellen
			gehen.
			Standard: 0

		omode:	Steht fr "output mode".
			omode 0 ->	Der nchste Frame wird an Stelle des Blends gewhlt (dupliziert).
					-> Default
			omode 1 ->	Der vorherige Frame wird genutzt.
			omode 2 ->	Ersetzt den Blend durch den Frame mit der geringeren Blendwahrscheinlichkeit.
			omode 3 ->	Ist ein spezieller Mode fr 12fps Quellen. Es gibt nur die Frames mit den
					geringsten Blendwahrscheinlichkeiten aus.
			omode 4 ->	Tut nichts mit der Quelle auer den errechneten Blendwert mit auszugeben.
					Kleinere Werte bedeuten hhere Blendwahrscheinlichkeiten.
			Lese auch ber dthresh nach, da dieser Parameter direkten Einfluss auf den omode hat.

		thresh:	Hhere Werte bedeuten eine strkere Erkennung (0-99). Werte ber 99 sorgen fr einen
			einfachen Vergleich. Wenn die Blendwahrscheinlichkeit des jetzigen Frames grer ist als
			das, der umliegenden, und der Blendwertunterschied grer als thresh/100-1 (fr 180->0.8)
			ist, denn wird der Frame als Blend erkannt. Das kann bei Norm-Wandlungen recht brauchbar sein. 
			Standard: 111
		
		dl:	Detectionlimiting. Dl wird nur fr dmode >= 0 verwendet. Wenn eine Pixeldifferenz
			unter diesem Wert liegt, wird diese nicht zur Blenderkennung verwendet (auf Nullwert gesetzt).
			Fr Anime und klare Bewegungen sind hhere Werte (2-4) brauchbar und bei sehr guten
			Quellen kann Null noch genauere Resultate liefern.	Standard: 1

		clip2:	Kann genutzt werden um den Clip zur Blenderkennung extra zu setzen.
			Bei "fieldblending" nutze den Bobber mit geringen Threshold fr die Erkennung. Falls die
			Quelle verrauscht ist oder man die Funktion etwas beschleunigen mchte, kann man mit
			Biliniearresize ganz gut Abhilfe verschaffen. Geringes Rauschen wird entfernt und die
			geringere Auflsung beschleunigt die Blenderkennung (siehe Code Beispiel).
			Generell sollte man einen gebobbten Clip vorher croppen, bevor er zur Blenderkennung
			genutzt wird.

		momo:	Fr dmode >= 0:
			Der Nullwert. Die Werte von blended Pixeln werden subtrahiert und die Werte von klaren
			Pixeln werden zu diesen Wert addiert. Weil die Skale 255 umfasst, ist 128 ein guter Wert.
			Fr thresh-Werte zwischen 0 und 99 und bei starken Blcken in der Quelle sind hohe Werte
			jedoch nicht so brauchbar. In diesem Fall sollte man sich fr Werte zwischen 4 bis 48 
			entscheiden.
			Fr dmode < 0:
			In diesem Fall entspricht es einem einfachen Bewegungsthreshold. Diese Mglichkeit wird
			nur bei Werten kleiner 10 aktiv. Liegen die Framedifferenzen unter dem gesetzten Wert,
			werden an dieser Stelle keine Blends erkannt. Das ist besonders ntzlich, da die schnelle
			Blenderkennung bei geringen Bewegungen nicht so zuverlssig ist wie die Hq Variante.
			Standard: 128

		sd:	Wird nur fr dmode > 0 verwendet und gibt die Mglichkeit zur quadratischen Differenzierung
			des Bewegungseinflusses. Es ist sehr brauchbar fr Animes und Szenen mit sehr geringen
			Bewegungen. Wenn man diese Mglichkeit nutzt sollte man auch den mil Wert dafr setzen.
			Standard: false
	
		mil:	Ist ein neuer Parameter der Version 0.95b und von FixBlendIVTC portiert worden. Er dient
			zur Limitierung des Bewegungseinflusses auf Bereiche mit wenig Bewegung. Brauchbare Werte
			liegen zwischen 1 und 30. Standardmig ist diese Limitierung kaum verwendet (100).

		dthresh:Der letzte Parameter, er steht fr das Verhltnis der Blendwahrscheinlichkeiten. 
			Wenn der Anteil (dthresh%) zweier aufeinanderfolgender Frames grer ist als die 
			Wahrscheinlichkeit der beiden umgebenden Frames, so werden beide als Blend erkannt.
			Fr omode 3 hat es eine spezielle Bedeutung, weil es hier genau umgekehrt arbeitet.
			Hier werden klare Frames auf diese Weise gefunden. Somit knnen einige 24fps Sequenzen
			auch bei omode 3 erhalten bleiben. 
			Brauchbare Werte liegen in Abhngigkeit von den gewhlten dmode zwischen 30 und 80.
			Standard: 0 (nicht verwendet)