Wie in diesem Thread bereits zu lesen war, habe ich den modeswitching-Patch von durchflieger an die aktuelle xineliboutput Version angepasst und so verändert, dass nun die Framerate passend zum wiedergegebenen Material eingestellt wird.
http://vdrportal.de/board/thread.php?threadid=98101
Erst einmal vielen Dank an alle die mich unterstützt haben.
Funktionsweise: Es wird geprüft welche Frameduration der gerade dargestellte Frame besitzt. Ist dieser Unterschiedlich zur letzten genutzten Framerate wird ein Delay von 20 Frames abgewartet. Nun wird per xrandr eine passende Modeline aus der xorg.conf geschaltet. Zur Zeit ist dies im Code fest auf eine Auflösung von 1920x1080 festgelegt, lässt sich aber dort anpassen falls z.B. eine 720p Auflösung gewünscht ist.
Damit dies funktioniert muss folgendes erfüllt werden:
- es wird ein neuer Parameter für vdr-sxfe eingefügt, um den Patch zu aktivieren muss vdr-sxfe mit dem Parameter --modeswitching gestartet werden
- die xrandr Extension für xorg muss installiert sein
- in der xorg.conf müssen entsprechende Modelines vorhanden sein, ich nutze zur Zeit diese
ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1094 1124 +hsync +vsync
ModeLine "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
ModeLine "1920x1080@24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
ModeLine "1920x1080@23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
Bei Verwendung von VDPAU muss zusatzlich dies erfüllt sein
- xine-lib muss mit dem angehängten Patch versehen werden, da sonst immer nur eine Framerate von 0 gemeldet wird
- in der xorg.conf muss in der Section Screen diese Zeile eingefügt werden
- xine-lib-1.2 vom 17.07.10 (Changeset 8d864acff67d muss enthalten sein)
- in der config_xineliboutput muss video.output.vdpau_honor_progressive auf 1 gesetzt werden
Ich hoffe ich habe jetzt nichts vergessen
Ich möchte euch bitten Diskussionen zu dem Patch in diesem Thread durchzuführen, für alles was mit der Entwicklung des Patches zu tun hat bitte den Entwicklungsthread nutzen.