AviSynth Syntax - Laufzeitfunktionen
Dies sind die internen Funktionen, die bei jedem Frame ausgewertet
werden. Sie können innerhalb der Skripte an Laufzeit-Filter( ConditionalFilter,
ScriptClip, FrameEvaluate)
übergeben werden, um Informationen für ein Frame zurückzuliefern (in
der Regel über das aktuelle Frame). Bei Verwendung dieser Funktionen
gibt es einen impliziten last Clip (das ist derjenige, der an die Laufzeit-Filter übergeben wird). Deshalb muss der erste Parameter nicht angegeben werden, er wird durch den last Clip ersetzt.
- AverageLuma
| v2.x |
AverageLuma(clip)
- AverageChromaU
| v2.x |
AverageChromaU(clip)
- AverageChromaV
| v2.x |
AverageChromaV(clip)
- Diese Gruppe von Funktionen gibt einen float-Wert zurück
mit dem durchschnittlichen Pixelwert einer Ebene (als Luma, U-Chroma-
und V-Chroma bezeichnet). Sie verlangen, dass der clip in YV12 Farbraum
und ISSE ist.
- Beispiele:
threshold = 55
luma = AverageLuma()
luma < threshold ? Levels(0, 1.0 + 0.5*(threshold - luma)/threshold, 255, 10, 255) : last
- RGBDifference
| v2.x |
RGBDifference(clip1, clip2)
- LumaDifference
| v2.x |
LumaDifference(clip1, clip2)
- ChromaUDifference
| v2.x |
ChromaUDifference(clip1,
clip2)
- ChromaVDifference
| v2.x |
ChromaVDifference(clip1,
clip2)
- Diese Gruppe von Funktionen geben einen float-Wert zwischen
0 und 255 zurück, der die absolute Differenz zwischen zwei Ebenen
angibt (also zwei Frames von zwei verschiedenen Clips). Entweder als
der kombinierten RGB-Unterschied oder die Luma, U-Chroma-oder
V-Chroma-Unterschiede.Sie verlangen, dass die clip in YV12 Farbraum
und ISSE sind.
- Beispiele:
ovl = Overlay(last, mov_star, x=some_xvalue, y=some_yvalue, mask=mov_mask)
ldif = LumaDifference(ovl) # implicit last für clip1
udif = ChromaUDifference(Tweak(hue=24), ovl)
...
Die nächsten beiden Gruppen von Funktionen sind praktisch, ob Szenenwechsel zu erkennen:
- RGBDifferenceFromPrevious
| v2.x |
RGBDifferenceFromPrevious(clip)
- YDifferenceFromPrevious
| v2.x |
YDifferenceFromPrevious(clip)
- UDifferenceFromPrevious
| v2.x |
UDifferenceFromPrevious(clip)
- VDifferenceFromPrevious
| v2.x |
VDifferenceFromPrevious(clip)
- Diese Gruppe von Funktionen geben die absolute Differenz der Pixelwerte zwischen dem aktuellen Frame und dem Frame davor eines clip an. Entweder als der
kombinierten RGB-Unterschied oder die Luma, U-Chroma-oder
V-Chroma-Unterschiede.
- Beispiele:
scene_change = YDifferenceFromPrevious() > threshold ? true : false
scene_change ? some_filter(...) : another_filter(...)
- RGBDifferenceToNext
| v2.x |
RGBDifferenceToNext(clip)
- YDifferenceToNext
| v2.x |
YDifferenceToNext(clip)
- UDifferenceToNext
| v2.x |
UDifferenceToNext(clip)
- VDifferenceToNext
| v2.x |
VDifferenceToNext(clip)
- Diese Gruppe von Funktionen geben die absolute Differenz
der Pixelwerte zwischen dem aktuellen Frame und dem folgenden Frame
eines clip an. Entweder als der
kombinierten RGB-Unterschied oder die Luma, U-Chroma-oder
V-Chroma-Unterschiede.
- Beispiele:
# th1 und th2 sind positive Schwellwerte; th1 ist größer genug, als th2
scene_change = YDifferenceFromPrevious() > th1 && YDifferenceToNext() < th2
scene_change ? some_filter(...) : another_filter(...)
- YPlaneMax
| v2.x | YPlaneMax(clip,
float threshold)
- UPlaneMax
| v2.x | UPlaneMax(clip,
float threshold)
- VPlaneMax
| v2.x | VPlaneMax(clip,
float threshold)
- YPlaneMin
| v2.x | YPlaneMin(clip,
float threshold)
- UPlaneMin
| v2.x | UPlaneMin(clip,
float threshold)
- VPlaneMin
| v2.x | VPlaneMin(clip,
float threshold)
- YPlaneMedian
| v2.x |
YPlaneMedian(clip)
- UPlaneMedian
| v2.x |
UPlaneMedian(clip)
- VPlaneMedian
| v2.x |
VPlaneMedian(clip)
- YPlaneMinMaxDifference
| v2.x |
YPlaneMinMaxDifference(clip,
float threshold)
- UPlaneMinMaxDifference
| v2.x |
UPlaneMinMaxDifference(clip,
float threshold)
- VPlaneMinMaxDifference
| v2.x |
VPlaneMinMaxDifference(clip,
float threshold)
- Diese Gruppe von Funktionen liefern Statistiken über die
Verteilung der Pixelwerte auf einer Ebene (als Luma, U-Chroma- und
V-Chroma bezeichnet). Die Statistiken sind in der Reihenfolge ihrer
Präsentation: Maximum, Minimum, Median und Wertebereich (Differnez
zwischen Maximum und Minimum).
threshold ist ein Prozentsatz (Schwellwert), der festlegt,
wie viel Prozent der Pixel nach oben oder unter dem Minium erlaubt
sind. Der Schwellwert ist optional und standardmäßig auf 0 gesetzt. - Beispiele:
# median und average sind nur bei gleichmäßigen Verteilungen eng beieinander; das kann nützliche Diagnosen liefern
have_intense_brights = YPlaneMedian() - AverageLuma() < threshold
...
# ein einfacher Normalisierer auf per-Frame Basis, der die Werte auf [16..235], CCIR Bereich skaliert
Levels(YPlaneMin(), 1.0, YPlaneMax(), 16, 235)
Zurück zu Interne
Funktionen.
$Date: 2008/04/20 19:07:34 $