AssumeFrameBased / AssumeFieldBased ???

  • Hallo,

    Was genau bedeutet "AssumeFrameBased / AssumeFieldBased" und wann setzt man diesen Befehl ein ?
    Natürlich habe ich mir die deutsche Anleitung durchgelesen aber es will mir nicht in den Schädel wofür diese Befehle gut sind.

    Mal angenommen ich habe ein Avisynth-Script erstellt und möchte dem zu verarbeitenden Programm sagen es handelt sich um eine Interlace-Quelle mit Audiospur und bestimmter Fieldorder z.B. TFF. Was muß dann im Script stehen ?
    Bisher hat mich das nicht gekümmert aber seit ich den Procoder 2 verwende gibt es Probleme.
    Es scheint so das anstelle eines Halbbildes der Soundanteil des Videos an den PROCODER geschickt wird bzw. dieser intern sporadisch Probleme hat, die "gelieferten" Teile auseinanderzuhalten, denn mit kurzem Versatz ist auch der Ton und nicht nur das Bild "vermurkst"
    Diese Info stammt aus dem Canopus Forum. Deswegen habe ich mir gedacht wenn der PC2 die richtigen Infos per Avisynth-Script bekommt könnten die Probleme beseitigt werden.

    Gruß Gunnar

  • Als Avisynth Befehl ist das etwas missverständlich ausgedrückt.
    Wenn du etwas importierst, geht Avisynth von Framebased aus, selbst bei einer interlaced Quelle.
    Für Avisynth wird Fieldbased, wenn du separatefields() anwendest. Und eben wenns fieldbased ist, kannst du sodann die Felder wieder zu Frames mit Weave() bringen, sodann ists in Avisynth wieder Framebased.

    AssumeFramebased wäre also richtigerweise : AssumeNotFieldseparated()
    und AssumeFieldbased wäre : AssumeFieldseparated()

  • Gunnar
    Ich komme da auch immer etwas durcheinander mit diesen Funktionen. Meiner Meinung nach ist aber AssumeFrameBased=AssumeBFF. (AssumeTFF bzw. AssumeBFF verwende ich ausschließlich um die Fielddominanz zu verändern)
    Nützen wird dir die ganze Spielerei in avisynth wahrscheinlich aber nichts, denn der Procoder ignoriert die Angaben ganz einfach.

  • Wenn Avisynth was zu schlucken bekommt, dann ists per default "BFF" determiniert.
    So ist die Fieldorder im "Avisynth core" Sinne von Frame/Fieldbased unabhängig. Sondern macht in Kombination ihren Sinn aus.

    Das nützt in Avisynth schon was, ich erinnere nur an CCE und BFF ecodings ;)
    Die Encoder ignorieren die Angaben nicht, sondern erkennen sie nicht, da das avs File keinen Header besitzt, der vom Input-Decoder des Encoding Programms ausgelesen werden kann (CCE s.o.). Avisynth ist eben nur ein "Frame"-Server und da ist der Name Programm.

  • Zitat

    Die Encoder ignorieren die Angaben nicht, sondern erkennen sie nicht, da das avs File keinen Header besitzt....

    Na wie auch immer. Avisynth ist jedenfalls laut "dem Karl" schon in der Lage Dominanzinfos an Anwendungen weiterzugeben (z.B. Virtualdub). Andere Anwendungen können damit nix anfangen und "ignorieren" das eben.

    Zitat

    Das nützt in Avisynth schon was, ich erinnere nur an CCE und BFF ecodings

    Ja, da hast du Recht. Ich glaube aber nicht, dass es hier so einfach geht.

  • Grundsätzlich kann man ja mit "Info" Informationen über einen Clip abfragen. So wie ich das jetzt verstanden habe kann ich am Ende des Scripts die Clipinfos setzen und dem zu verarbeitenden Programm übergeben. In meinem Fall dem Procoder, wenn dieser denn die Infos auch abfragt.

    Also angenommen ich habe eine MJPEG Avi (Interlace TFF). Dieses wird dann üblicherweise mit crop, resize und anderen Filtern bearbeitet. Am Ende des Scripts füge ich dann einfach folgende Zeile ein:

    AssumeFieldBased().ComplementParity()

    Dann wird also der Clip als Fieldbased und TFF ausgegeben.

    Zitat

    Nützen wird dir die ganze Spielerei in avisynth wahrscheinlich aber nichts, denn der Procoder ignoriert die Angaben ganz einfach.


    Warscheinlich hast du recht aber ich greife nach jedem Strohhalm.

    Gruß Gunnar

Jetzt mitmachen!

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