Jump to content

COM Zugriff auf NVIDIA Decoder


e-schrott

Recommended Posts

Hallo,

ich verwende den Nvida Videodecoder.

Leider hat der Decoder bei Fernsehfilmen oft das Problem, dass er das Videoformat falsch erkennt (Film oder Video-Modus). Oft wechselt er dauern währen der Wiedergabe, was kleine Ruckler zur Folge hat, das Problem ist behoben, wenn man das Videoformat manuell umschaltet (nicht Smart oder Auto verwendet)

Zum Glück gibt es die Möglichkeit über COM auf den Decoder zuzugreifen, so kann man z.B. das aktuell erkannte Videoformat auf dem Barebone Display anzeigen lassen und gegebenenfalls über OSD-Menü umschalten.

Ausserdem kann man sich so das aktuelle Tonformat ermitteln und auf dem Display ausgeben (die Audiomode Methode des DVB-Viewers funktioniert leider nicht richtig)

Zusätzlich habe ich noch mini-Skripte geschrieben, mit welchen die Dynamik bei DD (Norma, Nacht, Theater) umgeschaltet werden kann.

 

Auszug aus dem Code:

Dim Nvidia, DeinterlaceMode, AudioMode, AnzKanaele

SET Nvidia = CreateObject("NvDecCtrl.NvDecControl")

DeinterlaceMode = Nvidia.GetVideoStat(11) 'Rückgabert : Aktueller Deinterlacer Modus 0=Video, 1 = Film

AnzKanaele = Nvidia.GetAudioStat(3) ' Rückgabert : Anzahl Audiokanäle z.B. 6 bei DD5.1

AudioMode = Nvidia.GetAudioStat(0) ' Rückgabert 3=DTS, 2=MPEG, 0=DD

 

Im Anhang habe ich die Scripte zum Umschalten des Deinterlacers, bzw. der Dynamik angefügt (werden übers OSD-Menü aufgerufen)

 

Gruß

nvidia_vbs.zip

Link to comment
Leider hat der Decoder bei Fernsehfilmen oft das Problem, dass er das Videoformat falsch erkennt (Film oder Video-Modus).

 

Ehrlich gesagt habe ich das noch nie gesehen - wo tritt das denn auf? Ich frage auch nur deshalb, weil ich mich frage, ob ich mir die Skripte installieren soll :-)

 

Wäre es außerdem nicht sinnvoller, die Skripte wie folgt zu schreiben:

 

*************************

Option Explicit

Dim NvidiaDecoderControl

 

On Error Resume Next

 

Set NvidiaDecoderControl = GetObject("NvDecCtrl.NvDecControl")

 

if NvidiaDecoderControl <> Nothing Then

NvidiaDecoderControl.SetDeInterlaceCtrl(0)

End If

*************************

 

Sprich: Keine Kaskadierung von Problemen, sollten sie denn auftreten - gleichzeitig Zugriff auf die aktuelle Instanz des Decoder-Controllers (ich vermute einmal, daß der schon im Prozeßraum läuft und nicht per CreateObject nochmals erzeugt werden muß)

 

Buyer beware - komplett und ungetestet - und VBS ist nun wirklich nicht meine Stärke.

Link to comment
Leider hat der Decoder bei Fernsehfilmen oft das Problem, dass er das Videoformat falsch erkennt (Film oder Video-Modus).

 

Ehrlich gesagt habe ich das noch nie gesehen - wo tritt das denn auf? Ich frage auch nur deshalb, weil ich mich frage, ob ich mir die Skripte installieren soll :-)

 

Wäre es außerdem nicht sinnvoller, die Skripte wie folgt zu schreiben:

 

*************************

Option Explicit

Dim NvidiaDecoderControl

 

On Error Resume Next

 

Set NvidiaDecoderControl = GetObject("NvDecCtrl.NvDecControl")

 

if NvidiaDecoderControl <> Nothing Then

NvidiaDecoderControl.SetDeInterlaceCtrl(0)

End If

*************************

 

Sprich: Keine Kaskadierung von Problemen, sollten sie denn auftreten - gleichzeitig Zugriff auf die aktuelle Instanz des Decoder-Controllers (ich vermute einmal, daß der schon im Prozeßraum läuft und nicht per CreateObject nochmals erzeugt werden muß)

 

Buyer beware - komplett und ungetestet - und VBS ist nun wirklich nicht meine Stärke.

 

Das Ruckeln habe ich vor allem auf der Leinwand bemerkt, ist da aber ziehmlich nervig, wenn man dann das Video-Filter Fenster öffnet sieht man, dass der Decoder dauernd zw. Film und Video-Modus umschaltet, vielleicht ist das auch ein Problem der einfachen Grafikkarte die ich habe (nvidia 5200)

 

GetObject hat nicht funktioniert, es ist also noch keine Instanz offen.

 

 

Gruß

Link to comment

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...