MPV Shader: Non Linear Stretch

  • Ich habe mich auch mal an einem Shader versucht Für Non Linear Stretch (16:9 auf Display Auflösung).
    Das ist vlt für Scope User interessant.


    Der Shader benutzt eine exponentielle Skalierung anstatt einer linearen für das Strecken.
    Zusätzlich habe ich einen möglichen Bereich für die Mitte hinzugefügt, bei der nicht gestreckt wird.

    Damit das funktioniert muss man in der Config "no-keepaspect" benutzen (oder mpv mit dem Flag starten).

    Den Shader dann laden per Config:

    glsl-shaders-append="C:\Users\User\AppData\Roaming\mpv\Shaders\nonlinear_stretch.glsl"

    oder passendem Pfad.


    Disclaimer: Die Option no-keepaspect deaktiviert eine Menge der restlichen Bildverschiebungsoptionen (siehe https://mpv.io/manual/master/).
    Ich bin selber kein Fan von NLS, wollte aber mal versuchen das selber zu programmieren und benutze es selber nicht.

    D.h. Support ist eher limitiert :zwinker2:

    Danke an FoLLgoTT für die indirekte Motivation mit deinem Warping Shader. Ich hätte mich sonst nicht getraut

    Vielleicht ist der Shader ja für jemanden nützlich.

  • ist das so richtig am Anfang der Config?


  • sofern du später in der Config kein "glsl-schaders-clr" hast, dann ja.

    deine config sollte immer so aussehen (irgendwo)


    glsl-shaders-clr

    glsl-schader="C.\Pfad\Shader1.glsl"

    glsl-schader-append="C.\Pfad\Shader2.glsl"

    glsl-schader-append="C.\Pfad\Shader3.glsl"

    ....


    d.h. erst clr, dann ohne append für den ersten shader, dann alle weiteren über append

  • aber das habe ich ja in meiner Config so nicht stehen, warum ist meine dann trotzdem richtig? :waaaht:

  • Update für den Shader:



    Der Shader kann jetzt auch zuerst einen Zoom anwenden, bevor NLS angewendet wird.
    wichtig: mpv muss mit "--no-keepaspect" gestarted werden (oder no-keepaspect in der config)

    zumdem kann das Bild verschoben werden, wenn man den Zoom benutzt.


    Hier mal ein paar Beispiele der Settings. Quelle ist 16:9, das Ziel ist 2.4:1

    Die Bilder bitte öffnen, damit man es auch sieht. Die Vorschau ist nicht besonders hilfreich.


    Original:

    Linear Stretch ohne Shader (mit no-keepaspect)


    Mit Shader:

    centerFactor = 1, zoomFactor = 1:

    centerFactor = 1.35, zoomFactor = 1:

    centerFactor = 1.7, zoomFactor = 1:

    centerFactor = 1, zoomFactor = 1.35 (das ist normales komplett zoom):

    centerFactor = 1, zoomFactor = 1.2:

    centerFactor = 1.15, zoomFactor = 1.15:

    centerFactor = 1.5, zoomFactor = 1.1:

  • Hi Mdann,


    Könntest du den Shader eventuell für MPC-HC anpassen und als .hlsl zur Verfügung stellen?

    Ich würde das Ganze sehr gerne in meinem System testen. Diese Variante mit Zoom sollte schon nahe an dem NLS+ vom Envy dran sein. Ein Unterschied wäre nur noch eine zusätzliche Kompression in y-Richtung.


    Danke schon mal!

    Beste Grüße

Jetzt mitmachen!

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