Jump to content

DXVA-2 Deinterlacing Pro vs. TE2


vb_fan

Recommended Posts

Posted

Hallo!

Habe folgendes Problem: In DVBViewer Pro mit MainConcept decoder funktioniert das Deinterlacing nicht (z.B. hässliche sägezahnartige Laufschirft bei N24 usw.), während in der Technisat Gratisversion TE2 das perfekt klappt! (Laufschrift absolut glatt). Habe beide Programme parallel installiert (egal ob Windows XP SP3 oder Windows 7, gleiches Problem). D.h. also:

* gleicher Grafikchip (Radeon onboard HD 3200)

* gleicher Treiber (AMD 6.14.10.7240) mit DXVA-2 vector adaptive unterstützt und aktiviert (sagt auch der DXVA Checker)

* glecher MPEG-2 Decoder (MainConcept 7.5.0.27713), sämtliche Einstellungen im Filter ebenfalls gleich

* gleicher Renderer (VMR9, ist aber bei VMR7 und EVR auch gleich)

* Der einzige Unterschied ist in der DVBViewer Version: TE2 1.0.4.372 kontra Pro 4.9.0.0 !!!

Wie kann das sein? Übersehe ich etwas Offensichtliches, oder gibt's da noch irgendein Hacken?

Übrigens, mit dem Microsoft DVB decoder unter Win7 klappt das Deinterlacing auch unter Pro Version perfekt...

Bin für jede Idee dankbar!

Grüße,

Alex

Posted

Ich würde mal vermuten, dass die TE den VMR9 custom (WinXP) oder den EVR custom (Win7) verwendet.

Hast du diese schon ausprobiert?

Posted

Ja, ich habe alle Renderer in der Pro Version ausprobiert, auch custom, hilft nichts. In TE kann man nur zwischen VMR7, VMR9 und EVR wählen, und es steht nirgends, dass das custom Versionen sind. Deinterlacing funktioniert dort aber mit allen drei.

Posted

Hm dann könnte ich mir nurnoch vorstellen, dass in den beiden Programmen nicht die gleiche Filterkette verwendet wird.

Hast du in der Pro und in der TE mal nachgesehen ob der Mainconcept auch wirklich verwendet wird?

Posted

Meinst du etwa während der Showtime auf Ansicht -> Filter -> ... ? Da steht in beiden Versionen Mainconcept decoder, und wenn ich dessen Eigenschaften aufrufe, wird dieselbe Version mit den gleichen Einstellungen angezeigt. Ich werde noch probieren, hier die Decodereinstellungen für Deinterlacing ändern und nachsehen, welche Auswirkungen es in beiden Versionen hat.

Posted

Hat niemand mehr irgendeine Idee? Hab nochmals alles durchprobiert: in TE funktioniert alles tadellos. Ich kann z.B. in den Settings für Mainconcept das Deinterlacing deaktivieren, indem ich die Methode auf "weave" oder Conditions for deinterlacing auf "progressive only" setze, mit dem sichbaren Effekt, dass de facto kein Deinterlacing gemacht wird, und wenn ich alles zurück stelle, funktioniert Deinterlacing wieder. Und in Pro sind alle diese Einstellungen bzw. Änderungen wirkunslos. Warum??? Kann doch nicht sein.

Die support.zip Datei habe ich bereits gepostet, ist da alles i.O.?

Grüße

Alex

Posted

So, es wird immer interessanter. Habe jetzt 2 ältere Versionen von DVBViewer Pro ausprobiert: bei 3.9.0.0 funktioniert das Deinterlacing in zusammenspiel mit Mainconcept und DXVA wurderbar, gleich wie unter TE2! Aber bei 4.2.1 tritt gleiches Problem auf wie bei der akluellen Version.

 

Nun habe ich in allen Versionen die Graphs mit Graphstidio gecheckt. Und siehe da: unter TE2 und Pro 3.9.0.0 (also bei funktionierendem Deinterlacing) ist in Properties von Mainconcept codec (Video out) bzw. von VMR9 (VMR Input 0) im Abschnitt VIDEOINFOHEADER2 der Flag dwInterlaceFlags auf 0x00000081 gesetzt, während unter Pro 4.2.1 und 4.9 (also bei nicht funktioonierendem Deinterlacing) hier 0x00000000 steht. Ein kurzes Recherche nach "dwInterlaceFlags" zeigt, dass das genau DIE Flags in DirectShow sind, die es bestimmen, wie das (insbesondere hardwarebeschleunigtes) Deinterlacing durchgeführt wird, siehe dazu z.B.:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd407326%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/dd377583%28v=vs.85%29.aspx

 

Diese Flags werden, sofern ich es richtig verstehe, von der jeweiligen Anwendung (in dem Fall also von DVBViewer) gesetzt.

 

Kann es also sein, dass DVBViewer Pro ab einer Version irgendwo zwischen 3.9.0.0 und 4.2.1 die Flags nicht mehr (oder nicht mehr richtig) setzt (zumindest in Kombination mit Mainconcept)???

Posted
Diese Flags werden, sofern ich es richtig verstehe, von der jeweiligen Anwendung (in dem Fall also von DVBViewer) gesetzt.

In der Verantwortung des DVBViewers liegt das Verbindungsformat zwischen dem Output Pin des DVBViewer Filters (Video) und dem Input Pin des Videodecoders (beim Mainconcept MPEG In). Mit den Verhandlungen zwischen Decoder und Videorenderer hat der DVBViewer höchstens indirekt etwas zu tun.

 

Ansonsten kann ich deinen Befund bestätigen. Am Input Pin des Mainconcept ist AMINTERLACE_IsInterlaced (0x00000001) gesetzt, am Output Pin jedoch nicht, woraus man schließen könnte, dass der Decoder selbst ein Deinterlacing durchführt, aber es scheint effektiv nicht stattzufinden, oder jedenfalls nicht richtig...

 

Bei allen anderen MPEG2 Decodern, die DXVA verwenden, sind hier unter gleichen Bedingungen am Output Pin AMINTERLACE_IsInterlaced und AMINTERLACE_DisplayModeBobOrWeave gesetzt (0x00000081).

Posted

Die Sache steht und fällt damit, den Mainconcept Decoder dazu zu bringen, das Deinterlacing an den Videorenderer und damit die Graka-Hardware zu delegieren, statt selbst daran herumzupfuschen.

 

Nach etwas Herumprobieren setzt mein Mainconcept MPEG 2 Decoder (Version 7.5 vom März 2008 aus einem TechniSat-Installationspaket) jetzt die richtigen Flags (0x00000081) an seinem Output Pin. Die erforderlichen Voraussetzungen:

 

- Auf der Eigenschaftsseite des Mainconsept Decoders (siehe Ansicht -> Filter) unter Deinterlacing "VMR" einstellen. Die Bezeichnung ist irreführend, da die Einstellung auch bei Overlay und mit dem EVR wirkt. Bedeutet wohl "der Videorender soll das machen".

 

- Im DVBViewer Optionen -> DirectX -> DVBViewer Filter -> TV/Radio-Vorab-Formaterkennung -> Video einschalten. Verzögert die Senderumschaltung etwas, aber ohne kriegt der Mainconcept es nicht geregelt.

 

Die Änderungen werden erst nach Ansicht -> Wiedergabe neu aufbauen im DVBViewer wirksam. Zu beachten ist auch, dass der Decoder die Einstellung für jede Anwendung separat in der Registry speichert.

Posted

Hallo,

 

Das muss Versionsabhängig sein, die Demo-Version aus einer Mainconcept-Reference macht das nicht. (Version 7.2.0.19115 vom 30.8.2007)

weder mit noch ohne DXVA. (Das Wasserzeichen wird nur ohne DXVA angezeigt)

Da funktioniert Deinterlace auch ohne Voraberkennung durch den DVBSource.

Posted

@Griga: Volltreffer!!! Das mit "VMR" statt "Auto" in Mainconcept Einstellungen hatte ich schon früher probiert, alleine brachte es nichts. Aber auf die Voraberkennung des Videoformats bin ich nicht gekommen... Jetzt läuft alles wunderbar! Danke vielmals!!!

LG

Alex

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...