QTGMC (clip, 2) # 1=BFF, 2=TFF

  • Hallo Community,


    ich habe zu meinem Anliegen leider nichts Passendes finden können, oder mein Englisch war so schlecht, dass ich es überlesen haben könnte.

    Meine Frage lautet und diese ist auch recht banal, wie kann ich bei meinem QTGMC Script das "untere Feld" also BFF "bottom field first" auswählen?

    So habe ich es stehen:


    (clip, 2) # 1=BFF, 2=TFF

    QTGMC1 = havsfunc.QTGMC(clip, TFF=True


    Wird das Wort True nach TFF=False ausgetauscht?

    Oder bei clip, 2 durch Clip, 1 geändert?

    Aber somit habe ich das obere Bild als erstes, wie bekomme ich das untere Bild als Erstes hin?

    Ich nutzte VapourSynth zur Information, falls die Idee von AssumeBFF kommen sollte, den Filter habe ich nicht unter VapourSynth,


    Vielen Dank.

  • Zitat

    die Idee von AssumeBFF kommen sollte, den Filter habe ich nicht unter VapourSynth,

    doch,..

    • Setzen von TFF (top field first) im Stream:


      Code
      1. clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
    • Setzen von BFF (top field first) im Stream:


      Code
      1. clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=1)


    Zitat

    Wird das Wort True nach TFF=False ausgetauscht?


    Oder bei clip, 2 durch Clip, 1 geändert?


    Aber somit habe ich das obere Bild als erstes, wie bekomme ich das untere Bild als Erstes hin?

    Da Du havsfunc verwendest:

    Code
    1. TFF: Since VapourSynth only has a weak notion of field order internally, TFF may have to be set. Setting TFF to true means top field first and false means bottom field first. Note that the _FieldBased frame property, if present, takes precedence over TFF.

    Quelle: https://github.com/HomeOfVapou…/master/havsfunc.py#L1376


    Das heißt also wenn im Quellstream _FieldBased nicht gesetzt ist, kann man:

    • QTGMC sagen, dass es den Stream als TFF handeln soll:


      Code
      1. clip = havsfunc.QTGMC(Input=clip, TFF=True)
    • QTGMC sagen, dass es den Stream als BFF handeln soll:


      Code
      1. clip = havsfunc.QTGMC(Input=clip, TFF=False)

    ist jedoch _FieldBased gesetzt, wird TFF=XY ignoriert.


    Hoffe das hilft.


    Cu Selur


    Ps.: Wenn Du Vapoursynth und nicht Avisynth verwendest, dann poste doch nicht im Avisynthbereich.

  • Meine Güte, am frühen Morgen so eine ausführliche Nachricht.

    Ich bedanke mich Selur und werde es prompt mal testen.