YV12layer(..., "mul") ersetzen

  • Der Titel sagt eigentlich schon alles. Da yv12layer in den neuen Masktools-Versionen nicht mehr mit dabei ist, hätte ich gerne eine Alternative zum Beispiel mit Overlay oder ...lutxy.
    Leider weiß ich nicht genau was dieser mul mode macht. In der Avisynthdokumentation steht zwar was dazu, aber die rechnerinsche Grundlage ist mir trotzdem nicht klar.
    Kann mir da jemand helfen?

  • Hach ja, von wegen Urlaub, weit weg, und nix mit Avisynth am Hut haben ... ;)

    Such mal im englischen Forum. Manao hatte auf mein Bitten hin mal die verschiedenen von YV12Layer verwendeten Algorithmen 'rausgezogen und gepostet, weil ich diesen "verlorenen" Befehl als Scriptfunktion nachbauen wollte ... bei der guten Absicht ist's bisher aber auch geblieben :D
    Müsste wohl im MaskTools-Thread gewesen sein, bin mir aber nicht mehr ganz sicher.

    Aus dem Bauch heraus würde ich mal sagen:

    YV12Layer( c1, c2, "mul" ) == mt_lutxy( c1, c2, "x y * 255 /" )

    weil das die naheliegenste Möglichkeit für eine normalisierte Multiplikation zweier Clips ist.

    Praktisch wäre, manchmal, auch noch die Multiplikation zweier um '128' zentrierter Differenz-Clips ... aber da ist die Frage, was machen mit dem Vorzeichen? Plus mal Plus wäre Plus, Minus mal Minus wäre Minus, aber was wäre Plus mal Minus? Dafür sehe ich in diesem Kontext keine sinnvolle, *allgemeingültige* Definition.

  • Zitat von Didée

    Plus mal Plus wäre Plus, Minus mal Minus wäre Minus, aber was wäre Plus mal Minus? Dafür sehe ich in diesem Kontext keine sinnvolle, *allgemeingültige* Definition.


    Bitte?!

    Im Bereich der ganzen oder reellen Zahlen rechnest du aber hier nicht, oder?

    +1 * +1 = +1
    -1 * +1 = -1
    +1 * -1 = -1
    -1 * -1 = +1

  • Zitat von LigH

    Im Bereich der ganzen oder reellen Zahlen rechnest du aber hier nicht, oder?


    "Mit ihnen" rechnet man schon, aber eben nicht immer im Raum des üblichen |K - örpers ... "Hier" ist der springende Punkt.

    Wenn man mit Differenz-Clips arbeitet, dann ist das erwünschte Verhalten meistens etwas anders, d.h. man muss bisweilen die übliche Arithmetik abändern. (Ist ja kein Problem, da in der Mathematik sowieso alles nur auf Definitionen basiert ... kann mich noch an Analysis-Vorlesungen erinnern, in denen wir, einige "seltsame" Definitionen vorgesetzt, entsprechend "seltsame" |K-örper, |R-äume und Systeme von Rechenvorschriften ausgearbeitet haben ... :rolleyes: )

    Jedenfalls: Wenn mit "Differenz"-Clips gearbeitet wird, die ja "den Unterschied" zwischen zwei anderen Clips darstellen, dann entspricht in diesen Differenz-Clips der Wert "128" dem "neutralen Element" oder "Null", der Wert "0" ist das "negative" darstellbare Extrem, und "255" das positive. (Eigentlich ist der Bereich ja [-128,0,+128] , aber weil man ja mit Bitmaps arbeitet und es keine negativen Pixelwerte geben kann, projeziert man das halt auf [0,255] ).

    Wenn man solche Differenzen miteinander "multipliziert", dann gilt das Minus-mal-Minus-gleich-Plus nicht mehr unbedingt. Wenn z.B. beide Clips an einer Stelle ein Pixel "32" haben (normalisiert: "-96", bzw. "-0.75"), dann ist die Multiplikation dieser beiden "negativen" Werte nicht positiv. Bei einer normalisierten Multiplikation will man ja nur die relative Wichtung, unter Beibehaltung des Vorzeichens. In dem Fall wäre 32*32 => (-96)*(-96) => (-0.75)*(-0.75) => -(0.75*0.75) (!!) = -0.5625 = -72 => 56.

    Würd' ich jetzt vermutlich auch nicht verstehen, wenn mir das einer so erklären würde ... :D - soweit passt das aber schon.
    Nur eben, wenn zwei Pixel ein unterschiedliches "Vorzeichen" haben, dann entsteht ein Problem, weil es für die Multiplikation, die in diesem Zusammenhang ja üblicherweise eine Gewichtung darstellt, kein wirklich sinnvolles Ergebnis gibt.

  • Mir reicht schon der Hinweis, dass es sich um eine spezielle Arithmetik handelt. Wie die exakt implementiert werden muss, würde mich wohl erst interessieren, wenn ich das Wissen darüber brauche. ;) -- Viel Erfolg! :daumen:

  • Danke Didee, werde ich mal machen. Mir wächst zurzeit sowieso alles übern Kopf. Ich wollte ein paar alte Ideen und Funktionen (mftoon, aaa, ...) nochmal nach Verbesserungen durchforsten bevor ich mich bei der bescheidenen Zeit die ich dafür noch habe ganz auf LLA konzentriere.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!