So Leute, ich gebe ja nicht auf....ihr kennt ja mein Problem:
xine: i965_drv_video.c:2072: i965_check_alloc_surface_bo: Zusicherung obj_surface->fourcc == fourcc nicht erfüllt.
Ich habe gerade mal rumgspielt und geschaut, was so in fourcc und obj_surface->fourcc steht:
obj_surface->fourcc = 842094158 = NV12
fourcc == 808596553 = I420
Deswegen failed die assertion und ich habe meine exception. Da ich ja von diesem ganzen Grafik- und Videozeugs keine Ahnung habe, dachte ich mir, ich setze einfach NV12 falls I420 drin steht und schaue was passiert. Und siehe da, ich kriege eine Bild mit VAAPI und funktionierendem Deinterlacing! Klar, der Farbraum passt nicht und das Bild ist farblich nicht sehr sehenswert, aber es geht mal prinzipiell.
Ich bin mir ziemlich sicher, dass Deinterlacing auf meinem Clarkdale so läuft. Meine Settings:
video.driver:vaapi
video.output.vaapi_deinterlace:2
video.processing.ffmpeg_enable_vaapi:1
video.processing.vaapi_mpeg_softdec:0
video.processing.vaapi_mpeg_softdec_deinterlace:0
engine.decoder_priorities.ffmpegvideo:1
- CPU-Auslastung bei MEPG2 SD: 10%
- Keine Ruckler mehr beim Starten
- Bei manchen Kanälen Hänger beim Umschalten
- Laufschrift bei N24 sehr sauber
- Zur sonstigen Bildqualität kann ich keine Aussage machen
Das einzige was mir jetzt noch jemand sagen kann ist, dass es nur funktioniert, weil der Farbraum falsch ist. Die Frage ist jetzt nur, warum passen die fourcc codes der Farbräume nicht? Ich würde ja gerne selbst suchen, aber da fehlt mir einfach das Hintergrundwissen. Liefert der xf68 Intel Treiber hier falsche Werte, weil ich einen Clarkdale habe?
Edit: Habe gerade gesehen, dass i965_check_alloc_surface_bo immer mit fourcc=NV12 aufgerufen wird. Im normalen Treiber aus dem master branch holt er sich fourcc über image.fourcc, was auch irgendwie sinnvoller aussieht. Ich werde das heute Abend mal testen, mein Router hat mich leider gerade ausgesperrt