Ich hatte kürzlich mal in Kodi bei der Wiedergabe eines Filmes mit etwas flauem Bild den Kontrast höhergeregelt. Nach dem Beenden der Wiedergabe und Rückkehr zu vdr stellte ich fest, dass die höhere Kontrasteinstellung immer noch aktiv war. Kodi hätte erst wieder beim nächsten Abspielen eines Films den Kontrast auf den Standardwert zurückgesetzt. Ich habe das zum Anlass genommen, dem Plugin mal Einstellungen für Helligkeit und Kontrast zu spendieren. Dabei werden die amlogic-internen Parameterwerte auf einen Regelbereich von 0 bis 100 umgesetzt. Also statt
// output contrast range is -127 to 127 with default of 0.
// output brightness range is -255 to 255 with default of 0.
ist jeweils eine Einstellung zwischen 0 und 100 bei default-Wert 50 möglich.
Für Hue oder Saturation habe ich keine Einstellungsmöglichkeit gefunden. Der Kernel hat zwar
/sys/class/amvecm/saturation_hue
/sys/class/amvecm/saturation_hue_post
/sys/class/amvecm/saturation_hue_pre
/sys/class/video/saturation
Aber egal was man für Werte setzt, es ändert sich nichts am Bild. Da Kodi für amlogic auch keine Änderungsmöglichkeiten für Farbton und Sättigung in seinen Videoeinstellungen anbietet, gehe ich davon aus, dass es keine gibt.
Leider gibt es ein kleines Problem mit den bisher im Plugin enthaltenen (ungenutzten) Werten:
static int ConfigVideoBrightness; ///< config video brightness
static int ConfigVideoContrast = 100; ///< config video contrast
Das hat zur Folge, dass jeder, der schon mal die Plugineinstellungen aufgerufen und mit ok verlassen hat, in seiner setup.conf bereits heute die Werte
softhdodroid.Brightness = 0
softhdodroid.Contrast = 100
stehen hat. Danach richtet sich das um die Einstellungsmöglichkeit ergänzte Plugin nun natürlich und man erhält ein total unnatürlich wirkendes Bild. Da ich ahne, dass das zu etlichen Problemmeldungen führen würde, habe ich beim Einlesen der setup-Werte eine Prüfung eingebaut. Wenn Helligkeit 0 und und Kontrast 100 sind, wird unterstellt, dass das nicht gewollt sein kann und dass diese Kombination ein eindeutiges Indiz dafür ist, dass die Werte aus älteren Pluginversionen mit falschen default-Werten resultieren. Es werden dann stattdessen die Standardwerte = Mittelstellung (jeweils 50) gesetzt.
Ich denke nicht, dass man mit den Einstellungen die Bildqualität noch groß verbessern kann. Die Standardwerte sind bereits optimal, Nachjustierungen sollten m.E. am TV erfolgen. Die neuen Pluginparameter erlauben es aber nun, in Kodi für schlecht codierte Filme die Einstellungen bei Bedarf zu ändern. Bei Rückkehr zu vdr werden dann wieder die Plugin-Werte (in der Praxis wohl 50) gesetzt. Hat man in vdr einen abweichenden Wert konfiguriert, ist das auch kein Problem, denn Kodi setzt beim Abspielen eines Filmes den Wert immer auf Treiber-default zurück.
Getestet habe ich das mit S905X3 (Tanix TX3) und S922X (Odroid N2+) . Die Kernelparameter /sys/class/amvecm/contrast1 und /sys/class/amvecm/brightness1 werden auch von Kodi in AMLCodec.cpp verwandt und sollten somit auch bei anderen aml-Chipsätzen funktionieren, soweit diese von softhdodroid unterstützt werden.