So, inzwischen habe ich mal gpu-next zum Laufen bekommen. Es muss (unter Windows) zwingend gpu-api=vulkan gesetzt sein, sonst startet MPV nicht.
Mit gpu-next unterstützt MPV 3D-LUTs im cube-Format. Das funktioniert auch, soweit ich das auf die Schnelle beurteilen kann. DisplayCAL kann die direkt erzeugen. Ich muss die sicherheitshalber aber noch mal nachmessen.
Beispiel:
vo=gpu-next
gpu-api=vulkan
target-lut="madVR 2021-12-21 09-07 2.2 F-S XYZLUT+MTX.Rec709.bb1.0,2.2Gawn65.cube"
Es gibt verschiedene Stellen in der Verarbeitung, an denen eine 3D-LUT angewendet werden kann.
- Dekodierung (image-lut=)
- Farbkonvertierung (lut=)
- Nach Farbkonvertierung (target-lut=)
Bei 3. ist das Bild dann bereits auf das Zielgamma konvertiert, wenn die LUT angewendet wird. Man könnte also target-prim auf "BT.2020" setzen und dann eine 3D-LUT von BT.2020 auf den Zielfarbraum erzeugen. Das sollte dann immer stimmen. Das Problem ist, dass target-lut in Profilen derzeit nicht funktioniert, sonst könnte man BT.709 auch ohne Umweg über BT.2020 ausgeben und eine zweite 3D-LUT dafür erzeugen. Das ist genauer und so mache ich das auch derzeit.
Ich habe für das Profilproblem ein Issue angelegt.