Hallo Leute,
ich habe mir vor einiger zeit ein N3700 basiertes MB geholt (Intel Grafik) und Versuche damit ein anständiges Videobild über das softhddevice hinzubekommen. Die Versuch mit yavdr 0.6 waren leider nicht so richtig erfolgreich, da sind einfach einige Dinge noch zu angestaubt. Unter Wily habe ich mit mpv ein sehr gutes Bild, also hatte ich die Hoffnung, dass sich das auch auf den vdr mit softhddevice übertragen lässt. Da es in Sachen vdr für wily mit Paketen recht schlecht aussieht, habe ich die Quellen für den vdr 2.2.0 samt dem softhddevice aus dem master branch geholt und übersetzt. Die Sache klappt mit -v va-api, mit -v va-api-glx stürzt der vdr mit einem Segfault ab.
Starting program: /home/ralph/src/vdr-2.2.0/vdr -v /data/vdr/video -c . -L PLUGINS/lib/ -P softhddevice\ -f\ -v\ va-api-glx
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffec656700 (LWP 2964)]
[New Thread 0x7fffebe55700 (LWP 2965)]
[Thread 0x7fffec656700 (LWP 2964) exited]
[New Thread 0x7fffec656700 (LWP 2966)]
[Thread 0x7fffebe55700 (LWP 2965) exited]
[Thread 0x7fffec656700 (LWP 2966) exited]
[New Thread 0x7fffec656700 (LWP 2967)]
[New Thread 0x7fffebe55700 (LWP 2968)]
[Thread 0x7fffec656700 (LWP 2967) exited]
[New Thread 0x7fffec656700 (LWP 2969)]
[Thread 0x7fffec656700 (LWP 2969) exited]
[New Thread 0x7fffec656700 (LWP 2970)]
[Thread 0x7fffec656700 (LWP 2970) exited]
[New Thread 0x7fffec656700 (LWP 2971)]
[Thread 0x7fffec656700 (LWP 2971) exited]
[New Thread 0x7fffec656700 (LWP 2972)]
[Thread 0x7fffec656700 (LWP 2972) exited]
[New Thread 0x7fffec656700 (LWP 2973)]
[Thread 0x7fffec656700 (LWP 2973) exited]
[New Thread 0x7fffec656700 (LWP 2974)]
[Thread 0x7fffec656700 (LWP 2974) exited]
[New Thread 0x7fffec656700 (LWP 2975)]
[Thread 0x7fffec656700 (LWP 2975) exited]
[New Thread 0x7fffec656700 (LWP 2976)]
[Thread 0x7fffec656700 (LWP 2976) exited]
[New Thread 0x7fffec656700 (LWP 2977)]
[Thread 0x7fffec656700 (LWP 2977) exited]
[New Thread 0x7fffec656700 (LWP 2978)]
[Thread 0x7fffec656700 (LWP 2978) exited]
[New Thread 0x7fffec656700 (LWP 2979)]
[Thread 0x7fffec656700 (LWP 2979) exited]
[New Thread 0x7fffec656700 (LWP 2980)]
[Thread 0x7fffec656700 (LWP 2980) exited]
[New Thread 0x7fffec656700 (LWP 2981)]
[Thread 0x7fffec656700 (LWP 2981) exited]
[New Thread 0x7fffec656700 (LWP 2982)]
[Thread 0x7fffec656700 (LWP 2982) exited]
[New Thread 0x7fffec656700 (LWP 2983)]
[Thread 0x7fffec656700 (LWP 2983) exited]
[New Thread 0x7fffec656700 (LWP 2984)]
[Thread 0x7fffec656700 (LWP 2984) exited]
[New Thread 0x7fffec656700 (LWP 2985)]
[Thread 0x7fffec656700 (LWP 2985) exited]
[New Thread 0x7fffec656700 (LWP 2986)]
[Thread 0x7fffec656700 (LWP 2986) exited]
[New Thread 0x7fffec656700 (LWP 2987)]
[Thread 0x7fffec656700 (LWP 2987) exited]
[New Thread 0x7fffec656700 (LWP 2988)]
[Thread 0x7fffec656700 (LWP 2988) exited]
[New Thread 0x7fffec656700 (LWP 2989)]
[Thread 0x7fffec656700 (LWP 2989) exited]
[New Thread 0x7fffec656700 (LWP 2990)]
[Thread 0x7fffec656700 (LWP 2990) exited]
[New Thread 0x7fffec656700 (LWP 2991)]
[Thread 0x7fffec656700 (LWP 2991) exited]
[New Thread 0x7fffec656700 (LWP 2992)]
[New Thread 0x7fffdbffd700 (LWP 2993)]
libva info: VA-API version 0.38.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
[New Thread 0x7fffd324a700 (LWP 2995)]
[New Thread 0x7fffd2a49700 (LWP 2996)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd2a49700 (LWP 2996)]
0x00007fffdb386ddb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
(gdb) bt
#0 0x00007fffdb386ddb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#1 0x00007ffff49d3dc6 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#2 0x00007ffff553b8e2 in VaapiDisplayFrame () at video.c:5024
#3 VaapiSyncDisplayFrame () at video.c:5288
#4 VaapiDisplayHandlerThread () at video.c:5458
#5 0x00007ffff554019c in VideoDisplayHandlerThread (dummy=<optimized out>) at video.c:10118
#6 0x00007ffff796d6aa in start_thread (arg=0x7fffd2a49700) at pthread_create.c:333
#7 0x00007ffff630ce9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb) frame 2
#2 0x00007ffff553b8e2 in VaapiDisplayFrame () at video.c:5024
5024 glXSwapBuffers(XlibDisplay, VideoWindow);
Ich hatte abgespeichert, dass Johns die Option -v va-api zugunsten der -v va-api-glx Ausgabe abschaffen wollte. Außerdem gibt es bei interlaced Videos in SD und HD ein vertikales Zittern. Irgendwie springt das Bild mit jedem neuen Frame ein Zeile hoch und dann wieder zurück. Bei Text fällt das besonders auf. Keine Ahnung wie man diesen Effekt korrekt benennt . Das Verhalten ist aber abhängig vom Deinterlacing. Schalte ich den Deinterlacer ab, ist das Zittern weg, dafür hat man dann die Kämme. Wenn ich das selbe Video mit mpv wiedergebe habe ich diesen Effekt auch mit aktivem Deinterlacing nicht. Darum wollte zuerst noch der glx Ausgabe ein Chance geben. Den Compositor des (kde) Desktops habe ich abgeschaltet. Das änderte am Verhalten aber nichts.
Im Syslog findet sich nichts Auffälliges.
Ich habe aktuell folgende Bibliotheken installiert (wily + 01.org):
- libgl1-mesa -> 11.0.4-1-intel1
- libglu1-mesa -> 9.0.0.2
- libva -> 1.6.2-1
- i965-va-driver -> 1.6.2-1
- kernel -> 4.3.3
- xserver-xorg-video-intel -> 2.99.917+git20150808-0ubuntu4
- ffmpeg -> 2.7.6-0ubuntu0.15.1
Hat vielleicht jemand einen Tipp, wie ich die GLX-Ausgabe hinbekomme oder das Zittern abgestellt werden kann?