( This site in
english )
Alle Bilder geben einen Takt an. Dieser Takt kann grunds�tzlich als "L�nge einer Zeile" bezeichnet werden. Witzig ist, dass der Takt nicht der Breite des Bildes umeinstimmen muss.
Falls du z.B. etwas von deinem Bild wegschneidest, wird nur die Breite des Bildes ge�ndert, der Takt und der aktuelle Byte-Z�hler bleiben unver�ndert erhalten.
Das Bild wurde z.B. folgenderweise gespeichert:
rrrrrrrrrrrrrrrrpppp
rrrrrrrrrrrrrrrrpppp
rrrrrrrrrrrrrrrrpppp
Wobei "r" die Pixel des Bildes sind und "p" F�llmaterial nach jeder Zeile ist.
Vorab-Zusammenfassung
Width = Breite in Pixeln.
Rowsize = Anzahl der Bytes in einer Zeile.
Pitch = Abstand vom Anfang einer Zeile bis zum Anfang der n�chsten Zeile in Bytes.
vi->BytesFromPixels(n) = Gr��e der n Pixel in Bytes - beachtet NICHT den Takt, kann also nur innerhalb einer Zeile verwendet werden.
F�r ein EbenesBildFormat? muss Aligned rowsize = Breite in Bytes immer durch 8 teilbar sein.
VideoInfo vs. PVideoFrame
VideoInfo gibt die "konstanten" Videoinformationen wieder, die sich nicht �ndern. Informationen wie Breite, H�he oder Farbraum k�nnen sich nicht �ndern. Daher sind diese Informationen die gleichen, die man von einem beliebigen Frame bekommt. Falls du die VideoInfo �nderst, wird das keine Auswirkungen auf die Frames haben. Aber man kann einen modifizierten "VideoInfo vi" an env->NewVideoFrame?(vi) schicken und ein neuer Frame mit den ge�nderten Parametern wird erstellt. Nur die internen Filter k�nnen die VideoInfo, die an deinen Filter ausgegeben wurden, �ndern.
PVideoFrame gibt Informationen �ber einen bestimmten Frame wieder. H�he und Rowsize sollten sich nicht �ndern (das kann man als Bug ansehen). Den Takt kann man �ndern, so dass du nicht davon ausgehen kannst, dass der Takt f�r alle Frames immer der gleiche ist.
Mehr Informationen
Siehe mehr �ber DatenGespeichertInAviSynth?.
Siehe mehr �ber FarbR�ume?.