Hallo!
Da der Thread "Reines Ausgabeplugin für libva mit dem VDR?" hier ist, mach ich das auch mal hier, weiss nicht so genau wo das wirklich reinpasst.
Angehängt ist ein simples Programm, welches Video (kein Audio) über libva abspielt.
Natürlich interessiert mich vor allem ob es überhaupt läuft und wie, möglichst auf nicht-vdpau-HW.
Problem was ich gerade habe: ich möchte OSD mittels VASubpicture ausgeben. Dabei würde ich gerne den Ausgabebereich gleich lassen und je nach Format den Ausgabe-Bereich des Video-Bildes bestimmen.
Mit vdpau geht das auch, nur leider wird dieser Parameter von libva nicht unterstützt. Allerdings kann ich für die Video-Source-Postion negative Werte angeben, so dass dann an den Seiten Ränder entstehen.
Nur werden aber vom vdpau-Backend die Werte geprüft und die Breite auf die max. Ausgabebreite zurückgesetzt, so dass rechts/unten kein Rand möglich ist. Da der Source dazu aber vorhanden ist, liesse sich das ja patchen (z.B. 'ensure_bounds' in 'vdpau_video_x11.c', Z. 403 auskommentieren).
Jetzt würde mich brennend interessieren - wie verhalten sich andere Backends bei solchen Koordinaten? (Ich glaube die Antwort leider schon zu wissen...)
Dazu kann man bei dem Testprogramm die Source-Koordinaten mit den Tasten 1 - 6 ändern.
Folgendes sollte passieren:
1 - linker u. rechter Rand breiter
2 - linker u. rechter Rand schmaler
3 - linker Rand breiter
4 - linker Rand schmaler
5, 6 wie 3, 4 für rechts
D verändert den Deinterlacer-Mode.
Q oder Ctrl-C beendet.
So, bin gespannt
Gruss,
Thomas
edit:
Ach so, ja: Aufruf einfach vatest <video-file>
Jedes Format wird nicht gehen, aber z.B. vdr-Aufnahmen.
edit 2:
Neben natürlich libva und dem entspr. Backend muss eine ffmpeg-Version mit vaapi-Ünterstüzung installiert sein.