Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
This post has been edited 1 times, last edit by "hueb_s" (Dec 16th 2011, 11:29pm)
Nur mal ein kurzes Feedback zu VAAPI auf AMD/ATI-Hardware (E-350 bei mir)...
Die HD-Kanäle laufen (im Gegensatz zu Xine) und liefern auch super Bild, nur halt mit dem bekannten Ton-Versatz.
Bei SD-Kanälen stürzt er immer nach Bruchteilen von Sekunden ab (Segfault in XVBA-Driver oder ffmpeg), das Bild ist aber mal kurz zu sehen. Kann das daran liegen, das VAAPI auf AMD nur H264 und VC1 Profile unterstützt? Dann dürfte doch nach meinem Verständnis aber gar kein Bild bei SD kommen...
XBMC z.B. decodiert die SD Kanäle in dem Fall dann halt in Software, während HD über VAAPI/XVBA läuft...
So ich glaube ich weiss nun warum bei mir HDTV funktioniert und bei manchen nicht.
Zusätzlich funktioniert Video und Audio Sync mit ffmpeg nazu perfekt.
0.7.2: avcodec_open2 fehlt
Ich würde es begrüßen, wenn so etwas gemeldet würde. Dann kann ich es gleich einbauen.
Zur Not könnte man es auch statisch bauen.
Die Preisfrage ist:
Sind es meine Bugs, die nur mit einer anderen ffmpeg/libav Version erkennbar sind?
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
Dec 19 22:17:18 vdr vdr: [4641] [softhddev]CreateOsd: 96, 54, 0 Dec 19 22:17:18 vdr vdr: [4641] [softhddev]cSoftOsd: 1728x972+96+54, 0 Dec 19 22:17:18 vdr vdr: video/vaapi: upload image Dec 19 22:17:18 vdr vdr: video: speed up video Dec 19 22:17:18 vdr vdr: video: 1c99a37a4-1c99a25f6 79200 pts +50ms 403 Dec 19 22:17:18 vdr vdr: video: dropping frame (59/27578) Dec 19 22:17:19 vdr vdr: video: slow down video Dec 19 22:17:19 vdr vdr: video: 1c99aba66-1c99ac7ae 41400 pts -37ms 463 Dec 19 22:17:21 vdr vdr: [4641] [softhddev]~cSoftOsd: Dec 19 22:17:21 vdr vdr: video/vaapi: clear image Dec 19 22:17:21 vdr vdr: video: speed up video Dec 19 22:17:21 vdr vdr: video: 1c99e26e0-1c99e136e 216000 pts +55ms 418 Dec 19 22:17:21 vdr vdr: video: speed up video Dec 19 22:17:21 vdr vdr: video: 1c99e2cc5-1c99e1a76 1800 pts +52ms 401 Dec 19 22:17:21 vdr vdr: video: dropping frame (60/27720) Dec 19 22:17:23 vdr vdr: video: slow down video Dec 19 22:17:23 vdr vdr: video: 1c9a070db-1c9a07e2e 156600 pts -37ms 335 Dec 19 22:17:27 vdr vdr: video: 1c9a6c1cb-1c9a6ba46 408600 pts +21ms 344 Dec 19 22:17:36 vdr vdr: [4641] [softhddev]CreateOsd: 96, 801, 0 Dec 19 22:17:36 vdr vdr: [4641] [softhddev]cSoftOsd: 1728x972+96+801, 0 Dec 19 22:17:36 vdr vdr: video/vaapi: upload image Dec 19 22:17:37 vdr vdr: video: 1c9b4845b-1c9b475e6 900000 pts +41ms 404 Dec 19 22:17:38 vdr vdr: [4641] [softhddev]~cSoftOsd: Dec 19 22:17:38 vdr vdr: video/vaapi: clear image Dec 19 22:17:38 vdr vdr: video: speed up video Dec 19 22:17:38 vdr vdr: video: 1c9b53140-1c9b5179e 41400 pts +72ms 344 Dec 19 22:17:38 vdr vdr: video: speed up video Dec 19 22:17:38 vdr vdr: video: 1c9b53732-1c9b51ea6 1800 pts +69ms 327 Dec 19 22:17:38 vdr vdr: video: dropping frame (61/28556) Dec 19 22:17:47 vdr vdr: video: 1c9c246e5-1c9c23f96 860400 pts +20ms 321 Dec 19 22:17:57 vdr vdr: video: 1c9d0026b-1c9cffb36 900000 pts +20ms 401 Dec 19 22:18:07 vdr vdr: video: 1c9ddbdf6-1c9ddb6d6 900000 pts +20ms 337 Dec 19 22:18:17 vdr vdr: video: 1c9eb7977-1c9eb7276 900000 pts +19ms 417 Dec 19 22:18:27 vdr vdr: video: 1c9f934fe-1c9f92e16 900000 pts +19ms 354 Dec 19 22:18:37 vdr vdr: video: 1ca06f0c0-1ca06e9b6 900000 pts +20ms 385 Dec 19 22:18:47 vdr vdr: video: 1ca14ac08-1ca14a556 900000 pts +19ms 370 Dec 19 22:18:57 vdr vdr: video: 1ca22678f-1ca2260f6 900000 pts +18ms 307 Dec 19 22:19:07 vdr vdr: video: 1ca302314-1ca301c96 900000 pts +18ms 387 Dec 19 22:19:17 vdr vdr: video: 1ca3dde95-1ca3dd836 900000 pts +18ms 323 Dec 19 22:19:27 vdr vdr: video: 1ca4b9a21-1ca4b93d6 900000 pts +17ms 403 Dec 19 22:19:37 vdr vdr: video: 1ca595597-1ca594f76 900000 pts +17ms 340 Dec 19 22:19:47 vdr vdr: video: 1ca671131-1ca670b16 900000 pts +17ms 420 Dec 19 22:19:57 vdr vdr: video: 1ca74ccb0-1ca74c6b6 900000 pts +17ms 356 Dec 19 22:20:07 vdr vdr: video: 1ca82883d-1ca828256 900000 pts +16ms 437 Dec 19 22:20:17 vdr vdr: video: 1ca9043b8-1ca903df6 900000 pts +16ms 373 Dec 19 22:20:27 vdr vdr: video: 1ca9dff3f-1ca9df996 900000 pts +16ms 309 Dec 19 22:20:37 vdr vdr: video: 1caabbac0-1caabb536 900000 pts +15ms 390 Dec 19 22:20:47 vdr vdr: video: 1cab97649-1cab970d6 900000 pts +15ms 326 |
This post has been edited 1 times, last edit by "jrie" (Dec 20th 2011, 12:21am)
Und dann ist da noch der störende Cursor ;-)
This post has been edited 1 times, last edit by "fnu" (Dec 20th 2011, 9:50am)
Was mir bis jetzt im plugin aufgefallen ist :Also die Ergebnisse hängen mit der libav Version zusammen:
0.7.2: avcodec_open2 fehlt
0.7.9999 Segmentation fault in ff_put_pixels_clamped_mmx
0.8_pre20111116 Segmentation fault + hangups
git von jetzt hat zumindest 10 Minuten Test mit Umschalten überlebt, aber die Zeitstempel schwanken hier immer noch sehr start.
Bist du sicher das du libav 0.7.2 hast?
Johns

Bei xine wird der Cursor automatisch ausgeblendet.
Ich hab Suse, wie werde ich da den Cursor per xorg.conf los?

This post has been edited 1 times, last edit by "fnu" (Dec 20th 2011, 10:54am)
Was mir bis jetzt im plugin aufgefallen ist :
Von meiner sicht der Dinge ist dein dts/pts handling für vaapi falsch. Du must das Reordering der Frames berücksichtigen "reordered_opaque" . Die Frames müssen nicht zwangsweise geordnet codiert sein. Wenn dem nicht so ist, macht der Decoder ein Reordering der Frames was in deiner Logik zwangsweise zu falschen pts werten führen muss..
Treten Segmentation faults bei vaapi bei der reinen decodierung auf, spricht ohne aktivem OSD oder Deinterlacing, ist es 100% sicher das seitens der Applikation nicht sichergestellt wurde das das Surface vom decoder frei gegeben wurde. Erst nach freigabe des Surfaces darf es zur Anzeige verwendet werden.
Achte bei VAAPI immer darauf das es zu keiner doppelten Verwendung von Surfaces kommt. VAAPI ist nicht wirklich Thread save. Auch beim OSD vaAssociateSubpicture/vaDeassociateSubpicture jeweils nur einmal aufrufen. VAAPI verzeiht keine Logik fehler/glitches. Da wird man meistens mit einem Segmentation fault oder den "GPU hangs" bestraft.
Der stabilste Intel Treiber für vaapi ist : xf86-video-intel-2.15.0. Mit späteren Versionen kommt es vermehrt zu den "GPU hangs"
Mir ist die Diskussion besseres Bild oder nicht egal. Hab es eh schon ein paar mal erklärt, das meiner einer bei 3-4m Entfernung zum 47" das nicht so unterscheiden kann. Was mich aber extrem an VDPAU gestört hat, sind die decoding Hänger im Nvidia Treiber, die wie man im Board lesen kann, bis heute nicht wirklich behoben sind. Das war der Grund warum ich mir VA-API angetan habe und auch dabei bleiben werde. Schicker Vorteil bei VA-API, eine Quelloffene alternative zu Nvidia. Das mit der Bildqualität wird bei VA-API auch besser werden, wenn ich die Commitmeldungen im freedesktop git richtig interpretiere.@ebsi
Coole Tips, aber ein Hinweis, die zitierte Antwort zielte auf "libav", also den ffmpeg Fork, ab und nicht wie evtl. interpretiert "libva" also VA-API. Ist ein sch... Wortspiel, ich weiß schon ...
Aber noch ein Feedback von mir, egal ob jetzt die Video-Frame korrekt behandelt werden oder VA-API Thread save ist. Das VA-API Bild ist wie ich es gesehen habe, nicht gut. Wäre das das erste was ich in HD Bereich gesehen hätte wäre das bestimmt ok gewesen, aber VDPAU hat mich/uns verwöhnt, von daher ist das eben jetzt der Maßstab. VA-API ist da soweit ich das sehe, leider weit weg ...
Regards
fnu
