PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Qualität von Videos am PC: Overlay vs. den Rest


Ice =A=
2005-11-23, 20:49:41
Kurze Einführung:
Es gibt verschiedene Methoden, ein Videobild am PC darzustellen.
Die Standardvariante ist Overlay, das ist relativ schnell und fällt auch dadurch auf, daß man keine Bilder von dem Video machen kann (wohl ein Grund, warum es praktisch keine Qualitätsvergleiche zu dem Thema gibt!).
Eine andere ist DXVA (bzw. z.B. VMR9). Diese Einstellung is z.B. nötig, damit die Videobeschleunigung mit den neueren nVidia-Treibern laufen kann.
Im MediaPlayerClassic kann man z.B. zwischen beiden Einstellungen wählen, ebenso im Microsoft WMP.

Mir ist nun aufgefallen, daß zumindest bei mir die Qualität von Overlay deutlich schlechter ist!
Ich habe deshalb mal mit einer Kamera (!) den Monitor fotografiert:
Hier ist nun das Bild mit VMR9 (http://img370.imageshack.us/my.php?image=videovmr96yx.jpg) und hier das mit Overlay (http://img450.imageshack.us/my.php?image=videooverlay6fj.jpg), jeweils dieselbe Stelle vom selben Video, welches mit relativ niedriger Bitrate aufgenommen ist, beides abgespielt mit dem MPC.
Ich denke, der Unterschied in Sachen Block-Artefakte (v.a. auf der linken Bildseite) is ziemlich gravierend, obwohl ich den Kontrast noch nicht verstärkt habe (zumindest auf meinem TFT sieht man's so auch sehr gut)...

Kennt jemand den Unterschied bzw. technische Details zu Overlay und VMR9 bzw. deren Unterschieden?

Ice =A=
2005-11-23, 20:52:23
P.S.: Hier (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=260295&page=1&pp=20) gibt's noch ein Wenig zu dem Thema.

Edit:
Ich möchte mal wissen, wie viele Leute in Sachen Videos ein Haufen Qualität verschenken, weil sie sich noch nie damit beschäftigt haben, auf der andern Seite aber bei Spielen um jede AA- und AF-Stufe verzweifelt kämpfen! :)

Lokadamus
2005-11-23, 20:56:59
mmm...

Die einfachste Erklärung wäre, dass ein Filter drüberläuft. Bei VLC hat man grundsätzlich keinen Filter eingeschaltet und die vorhandenen Filter (= Deinterlacer) sind auch nicht ganz das wahre, reichen aber meistens aus ;). Ich weiss aber nicht, ob und durch welche Software etwas gefiltert wird. ATI hat für Videos irgendwie auch eine Option zwecks filtern ...

Gast
2005-11-23, 21:34:12
mmm...

Die einfachste Erklärung wäre, dass ein Filter drüberläuft. Bei VLC hat man grundsätzlich keinen Filter eingeschaltet und die vorhandenen Filter (= Deinterlacer) sind auch nicht ganz das wahre, reichen aber meistens aus ;). Ich weiss aber nicht, ob und durch welche Software etwas gefiltert wird. ATI hat für Videos irgendwie auch eine Option zwecks filtern ...
Das Bild hier ist in Overlay (VLC) um Welten besser als mit Zoom (VRM9) :confused: Wobei VLC zu der Einstellung Overlay per Sprechblase mitteilt, daß nur damit Hardwarebeschleunigung funzt. Hee? :)

Chris Lux
2005-11-23, 21:46:51
sorry doppelpost

Chris Lux
2005-11-23, 21:48:59
zu deinen beiden screenshots: ich sehe die selben artefekte, nur dass sie beim vmr nicht so auffallen, weil dort der kontrast nicht stimmt. das ist aber normal so, da videos im farbintervall (16,16,16) bis (238,238,238) gespeichert sind (fragt nicht warum, ist so). overlay korregiert das auf das normale 0-255 intervall (wie es sich gehört). aus diesem grund sehen videos mit dem vmr ausgewaschen gegenüber overlay aus.

dazu muss man bei vmr vsynch forcen, damit man kein tearing in videos hat. overlay ist und bleibt für mich erste wahl, vmr kann nicht viel mehr und nix besser.

edit: nutz mal folgenden shader (profil min ps2.0) im mpc und du wirst sehen, das bild ist 1a gleich zu overlay:


sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);

#define brightness -0.0627450980392
#define contrast 1.13839
float4 main(float2 tex : TEXCOORD0) : COLOR
{
float4 c0 = contrast*(tex2D(s0, tex) + brightness);
return c0;
}

man kann sich ausrechnen was der shader macht nach meiner beschreibung ganz oben ;)

Ice =A=
2005-11-23, 21:49:06
Das Bild hier ist in Overlay (VLC) um Welten besser als mit Zoom (VRM9)
Wie is das gemeint? Daß bei Dir das Bild mit dem VLC-Player unter Overlay besser is als mit dem Zoom-Player unter VMR9? Wie schaut's innerhalb der jeweiligen Player aus?
Bist Du auch sicher, daß die Player dieselben Filter (DivX, XviD usw.) zum Decodieren verwendet haben?

:confused: Wobei VLC zu der Einstellung Overlay per Sprechblase mitteilt, daß nur damit Hardwarebeschleunigung funzt. Hee?
Das Problem hatte ich auch schon. Ich denke, man muss zwei grundsätzliche Arten von Hardware-"Beschleunigung" unterscheiden:
Zum einen das direkte Durchschleifen des Videos an großen Teilen der Hardware und des Betriebssystems vorbei, das ist Overlay.
Zum andern das aktive Mitrechnen der Grafikkarte beim Decodieren des Videos bzw. PostProcessing-Effekten.
Is aber noch reichlich ungenau...

Zitat von Chris Lux:
dazu muss man bei vmr vsynch forcen, damit man kein tearing in videos hat. overlay ist und bleibt für mich erste wahl, vmr kann nicht viel mehr und nix besser.
Klingt interessant!!! Wie forced man denn Vsync für Videos?!? Noch nie gehört von sowas... :confused:

@Chris Lux:
Der von Dir angegebene Shader, is der für VMR9 oder auch für Overlay? Scheinst Dich ja echt gut auszukennen!

Lokadamus
2005-11-23, 21:52:24
Das Bild hier ist in Overlay (VLC) um Welten besser als mit Zoom (VRM9) :confused: Wobei VLC zu der Einstellung Overlay per Sprechblase mitteilt, daß nur damit Hardwarebeschleunigung funzt. Hee? :)mmm...

Doofe Frage, wie stellt man das ein bzw. wann ist es aktiv :confused:

Chris Lux
2005-11-23, 21:56:54
Kurze Einführung:
Es gibt verschiedene Methoden, ein Videobild am PC darzustellen.
Die Standardvariante ist Overlay, das ist relativ schnell und fällt auch dadurch auf, daß man keine Bilder von dem Video machen kann (wohl ein Grund, warum es praktisch keine Qualitätsvergleiche zu dem Thema gibt!).
Eine andere ist DXVA (bzw. z.B. VMR9). Diese Einstellung is z.B. nötig, damit die Videobeschleunigung mit den neueren nVidia-Treibern laufen kann.
Im MediaPlayerClassic kann man z.B. zwischen beiden Einstellungen wählen, ebenso im Microsoft WMP.nochwas dazu. dxva wird von bestimmten codecs benutzt um teile der berechnungen zu beschleunigen. divx xvid gehören (noch) nicht dazu. dh dort kommt keine beschleunigung oder qualitätsverbesserung (wenn überhaupt) zustande! dxva = direct x video acceleration!

bitte nicht solche halbwahrheiten verbreiten. (sorry wenn es hart klingt)

Ice =A=
2005-11-23, 21:59:13
bitte nicht solche halbwahrheiten verbreiten. (sorry wenn es hart klingt)
Schon ok, ich sag ja, daß ich mich da kaum auskenn, daher ja dieser Thread! Ich wollte ja nur ne kurze Übersicht für andere geben.
So, jetzt macht mich schlau!!! :biggrin: Was is DXVA, was VMR9? Bedingt das eine das Andere? Is letzteres eine Schnittstelle, und was is dann ersteres?

HeldImZelt
2005-11-26, 21:33:26
Man kann per FFDShow die Luminanzbandbreite für VMR9 korrigieren, indem man unter 'Output' die YUV basierten Farbräume abschaltet und evtl. noch den 'High Quality' Modus aktiviert und natürlich alle benötigten Codecs und am besten noch 'RAW Video' auf 'all supported' stellt. Dann sollte FFDShow immer im Filtergraph stecken.

Der YUV->RGB Konvertierung sagt man generell eine bessere Qualität nach. Es wird von vielen Usern favorisiert (siehe Doom9).

Ist unter Umständen sehr Prozessorlastig, läuft aber mit dem jetzigen offiziellen Build recht moderat. Bei Problemen sollte man von Celtic Druid (http://www.aziendeassociate.it/cd.asp?dir=/ffdshow) eine mit ICL9 kompilierte Version ausprobieren.

Warum VMR9 die Luminanz für RGB Ausgabe nicht korrigiert, ist fraglich... derartiges ist an sich nur für Fernsehausgabe notwendig (wird aber von jedem TV Out sowieso schon entsprechend vorgefiltert).

PatkIllA
2005-11-26, 22:06:54
Die RGB Levels kann man bei besseren Geräten auch dort umstellen lassen. Vorteil ist, dass eine Umrechnung (die im Rechner/Player) entfällt nur die sowieso am Endgerät stattfindende Umrechnung gemacht wird.

@startPost
Overlay schliesst DXVA nicht aus. Das wird nur vom Decoder genutzt und geht dann in den VideoRenderer.



Das schlimmste ist allerdings, dass man bei Videobeschleunigung zwangsweise Microruckeln hat.
Für DVD (progressives Material) ist für mich DScaler + ffdshow (mit Lanczos Resize und evtl angepassten Rausch- und Sharpenfilter).

Chris Lux
2005-11-26, 22:28:23
naja das problem mit ffdshow als postfilter ist meistens, dass man jegliche hardwarebeschleunigung verliert (wenn bspw purevideo genutzt wird).

PatkIllA
2005-11-26, 22:30:01
naja das problem mit ffdshow als postfilter ist meistens, dass man jegliche hardwarebeschleunigung verliert (wenn bspw purevideo genutzt wird).Dafür hat man dann die VSync-Korrektur von Reclock noch.
Ob ich nun 9 oder 90% Auslastung hab ist mir doch völlig egal.

HeldImZelt
2005-11-26, 23:27:56
Wie kann man denn testen ob DXVA funktioniert, bzw. aktiviert ist?

Bei 'VMR9 renderless' wird das Video doch als Textur gerendert, was an sich etliche Beschleunigungen mit sich bringen sollte... oder nicht?

Chris Lux
2005-11-27, 08:48:01
Wie kann man denn testen ob DXVA funktioniert, bzw. aktiviert ist?

Bei 'VMR9 renderless' wird das Video doch als Textur gerendert, was an sich etliche Beschleunigungen mit sich bringen sollte... oder nicht?
also testen kann man das mit der cpu-auslastung, wenn der jeweilige codec da keine anzeige dafür hat (purevideo zeigt es an). ob eine beschleunigung entstehen soll weiss ich nicht, es ist aber ein weg beim mpc shader als postfilter anwenden zu können.