Jump to content

Video frame rate switcher


SnoopyDog

Recommended Posts

The "Use Windows API" activation method doesn't work for me. I need to use "ATI profile manager" to auto switch.

 

 

 

My config is listed below.

Link to comment
  • Replies 167
  • Created
  • Last Reply

Top Posters In This Topic

  • SnoopyDog

    34

  • popy

    15

  • udo83

    13

  • sw4y

    12

Top Posters In This Topic

Posted Images

hallo poppy,

 

ich danke dir für deine hilfe!

Ich habe den fehler nach langem suchen nun gefunden.

PowerDVD 7 Codec brachte den besagten absturz.

PowerDVD 8 als h.263 macht dagegen keinerlei Probleme.

wie gesagt vielen dank nochmal.. du hast einiges zur lösung des problem beigetragen.

 

Manchmal, nach einem neustart oder sonstetwas vergisst das CCC allerdings welche Frequenzen mein TV beherrscht.

Dann macht er keinen Frequenzwechsel da das CCC meint der TV könne nur z.B 50Hz und nix anderes.

Dann gehe ich mit einem klick auf Detect Displays im CCC und es geht wieder..

Hast du zufällig sowas auch schon gehabt?

Sorry falls ich das Problem nicht gut genug erklären konnte =)

Edited by udo83
Link to comment

evtl wäre es eine möglichkeit über die ATI Cli.exe vor dem Profilswitch noch einen "Detect Displays" auszuführen.

Gibt es einen Befehl dafür? konnte im Netz leider nichts genaueres finden.

Link to comment
  • 1 month later...

Since this is the english section of the forum, we all need to write in english here...

 

The "Use Windows API" activation method doesn't work for me. I need to use "ATI profile manager" to auto switch.

 

I could not reproduce this with the "old" 10.3 driver that i was still using, but yesterday i upgraded to 11.5 and now i see the problem. I'll try to fix this later 2day....

Link to comment

Hallo SnoopyDog,

 

irgendwie rede ich Dich öfter an in letzter Zeit :)

This plugin does NOT work [...] in D3D exclusive mode. This is a limitation given by Microsoft and neither Lars nor me have a workaround for this atm.

 

<offtopic>Weil hier alle immer von der Bildqualität der ATIs schwärmen, meine GTS240 dank Heatpipe 5mm zu groß fürs Gehäuse ist, die 9600 abgeraucht ist, die 8500 zu viel Hitze entwickelt und der i3 bei Sky Sport nicht zufriendenstellend deinterlaced, habe ich mir eine 5570 besorgt. Backup, Windows neu installiert und gleich noch den DVBViewer von 4.6 auf 4.8 upgegradet. Ich weiß nicht was alle mit ATI haben. Ich kann mir nur vorstellen, dass manchen die Farb-"Korrekturen" besser gefallen. Ich sehe auch bei langen Querpässen mit massivem Schwenk im Stadion keinen Unterschied zur 5% übertackteten 8500. Lediglich die Wärmeentwicklung ist bei der ATI gefühlt besser, das kann aber auch am Gehäuseumbau liegen.

Im Gegenzug macht die ATI Probleme mit 23,976Hz Umschwaltung, das war früher besser. Außerdem zerlegts den ganzen DVBViewer wenn man im D3DExclusive=1 die Freuquenz umschaltet. Driss!</offtopic>

 

1)

Ich habe mir das mit dem D3DExclusive mal angeschaut, ich glaube das Problem ist nicht das Umschalten, sondern der Restore. Der Einfachheit habe ich das mal mit Reclock gebastelt:

 

'RunEvent.vbs
Set wshShell = CreateObject("WScript.Shell") 
newTimings = ""
isQuit     = 0

If eventName = "YELLOW" Then
       Select Case originalPlaybackSpeed
           Case 23976
               newTimings = "-depth=32 -refresh=23"

           Case 24000
               newTimings = "-depth=32 -refresh=24"

           Case 25000
               newTimings = "-depth=32 -refresh=50"

           Case 30000
               newTimings = "-depth=32 -refresh=60"

           Case 50000
               newTimings = "-depth=32 -refresh=50"

           Case 60000
               newTimings = "-depth=32 -refresh=60"
       End Select    
End If

If eventName  = "QUIT" Then
  newTimings = "-depth=32 -refresh=50"
  isQuit     = 1
End If

If eventName = "STOP" Then
 isQuit     = 1
 WScript.Quit 1
End If

If newTimings <> "" Then
   Set objShell = CreateObject("Shell.Application")
   Set objFolder = objShell.Namespace(&H26&) 
   Set objFolderItem = objFolder.Self   


   If isQuit = 0 Then
       ' Un-D3DExclusive DVBViewer
       WshShell.Run """" & "c:\Program Files (x86)\DVBViewer\DVBViewer.exe"" -x0"
       WshShell.Run """" & "c:\Program Files (x86)\DVBViewer\DVBViewer.exe"" -x5"
       WScript.Sleep(900)
   End If

   ' SetDisplayFrequency command
   WshShell.Run """" & _
            "c:\Program Files (x86)\DVBViewer\Scripts\dc64cmd.exe"" -width=1920 -height=1080 " & newTimings, 0, true

   If isQuit = 0 Then             
     ' Re-D3DExclusive DVBViewer
       WScript.Sleep(500)
       WshShell.Run """" & "c:\Program Files (x86)\DVBViewer\DVBViewer.exe"" -x5"
       WScript.Sleep(1000)
       WshShell.Run """" & "c:\Program Files (x86)\DVBViewer\DVBViewer.exe"" -x92"
   End If
End If

WScript.Quit 1

 

Damit kann ich mit ATI und D3DExclusive die Frequenz bequem umschalten, das Fenster darf dabei nicht minimiert werden (kein Restore,minimize & co, nur Fullscreen aus) und der Stream muss pausiert sein.

Das funktioniert zwar,, bugged aber wenn der DVBViewer nicht maximiert ist, weil ich aus dem VBScript nicht an FindWindowEx & co rankomme. Da die ActionID(5) "Fullscreen" nur wechselt und nicht defintiv ist. Man müsste:

if(dvbv.isMaximized) 
{
  dvbv.sendCommand(5);
}
if(!dvbv.playback.isPaused) 
{
  dvbv.sendCommand(0);
}
sleep(...)
switchFreq(...);
sleep(...)
dvbv.sendCommand(5);
dvbv.sendCommand(92);
SetForegroundWindow(...);

 

Gleichwohl ich finde, dass das aufgrund der Komplexität von Custom Renderer, D3d & co eher ein CoreFeature des DVBViewer sein sollte, ist Dein Plugin die beste Lösung weit und breit. Vielleicht hast Du ja irgendwann Lust das einzubauen ([x] Enable ATI D3D Fix - oder so), dann bräuchte ichs fiese Reclock nicht ;)

 

 

 

2) Seit 4.8 (bzw, seit ich die ATI habe?) erkennt dein Plugin den Wechsel von SAT auf Video zwar gut und schaltet um, wenn ich im Video STOP drücke und es zurück auf SAT springt erkennts das aber nicht mehr und bleibt bei der Video-Freuqenz. Pebkac? Hab nix umgestellt zu früher?

 

 

Gruß,

jErk

Link to comment
  • 1 month later...

da es mir aufn sack geht das so n pille palle kram wie automatische displayanpassung nich funzt stelle ich jetzt einfach mal die frage:

 

warum kann mpc hc es aber dvdv nich ?

 

was isn mit hackbart ? wieso integriert er das nich mal eben schnell ?

 

ich mein es handelt es sich hier sicher nicht um hochaufwendigen virtuellen synthesizer code, oder ?

Link to comment
  • 4 weeks later...

Da geb ich Dir vollkommen recht. Ich hätte auch gerne so ein simples Feature integriert was mir derzeit die Welt schwer macht. Ich hoffe auch das dort mal was kommt.

Link to comment

habe jetzt per ultramon mehrere Profile angelegt die ich auch per Hotkeys (zb. "ALT + Q") aufrufen kann.

 

Grafikkarte GT430 @Win7 - die Windows Api-variante geht seit dem Umstieg auf Win7 nicht mehr....

 

Was muß ich denn jetzt als Tastaturkürzel eintragen bzw in Windowstitle / class ???

 

Habe momentan unter class "ultramon" eingetragen und bei Profilcontents "<ALT>,q" wie hier auf seite 1 beschrieben.

 

Wo liegt denn jetzt mein Denkfehler?

 

Grüße, Woody

Link to comment
  • 1 month later...
  • 3 weeks later...

Hallo,

 

das Plugin läuft bei mir problemlos. Ich habe jedoch einen Änderungswunsch: Ich verwende die Option, die Frequenz über ein externes Programm umzuschalten. Dabei stört, dass immer bei der Ausführung dieses Programms kurz ein CMD-Fenster angezeigt wird. Kann man eine Option einbauen, dass dieses Umschaltprogramm minimiert ausgeführt wird?

Link to comment

English section? Great!

You make me regret having purchased DVBViewer. It's a great piece of software, if you speak german.

Developers should sell it to "deutsch" people only since 90% of wiki is in german and even the small english forum section is filled with post in german.

Thank you (german) people for being so polite and respectful to those who do not speak German.

 

PS: developers and moderators please do something to keep clean english section.

Link to comment

English section? Great!

You make me regret having purchased DVBViewer. It's a great piece of software, if you speak german.

Developers should sell it to "deutsch" people only since 90% of wiki is in german and even the small english forum section is filled with post in german.

Thank you (german) people for being so polite and respectful to those who do not speak German.

 

PS: developers and moderators please do something to keep clean english section.

 

Congratulation to your first post. :blink: I think nearly 90 percent of the posts in the english forums are in correct language.

 

Sorry about my post in German. I asked for a feature to start the external program in minimized mode when switching the frame rate.

Link to comment

Congratulation to your first post. :blink: I think nearly 90 percent of the posts in the english forums are in correct language.

 

Sorry about my post in German. I asked for a feature to start the external program in minimized mode when switching the frame rate.

 

My post isn't addressed at you but if you look back to the last two or three pages you will see that this thread is unreadable for a non german speaking person.

It was my first post because I'm new here. I've purchased DVBViewer in july and still in "work in progress" phase. It is too early for me to post something useful for other people.

All I can do at the moment is trying to read and learn.

 

My "90%" was referred to the wiki, documentation and the biggest part of the forum. Impossible to install a thing without the help of the "wonderful" google translate :(

Imagine yourself trying to make things works and all the help you can find is written in Japanese!

Luckily I have some german friends here that helped me out, but I can't bother them anytime for translations.

It's getting frustrating to make DVBViewer works as I would... Even for a simple skin I have to translate :(

 

And anyway I'm not english too! So my english is far from being good...

Link to comment
  • 4 weeks later...

I think that english section is ok, and also i read german section with the help of chrome( with auto translation on), it translate my german page to english in an second.

Wiki in english now is good compared to maybe 2 years ago, now anyone could set up DVBViewer only with wiki help, back then you must read info in forum, not wiki.

Link to comment

I added an update, where the external application is started always minimized now.

 

I also added a tweak for broken windows API with specific graphics drivers (mostly ATI):

If you add the line

 

FrequencyOverride=24,50,60

 

in the [Global] section of DVBFreqControl.ini, then the frequencies 24Hz, 50Hz, 60Hz are available for selection - regardless what kind of crap the ATI driver reports.

 

Important for ATI cards:

Some combinations of drivers, cards and OS have a broken Windows API. Nearly all combinations return a multiple of 60Hz for all available resolutions (e.g. 5 times 60Hz for 1920x1080). I added a workaround for this: if you add the line

FrequencyOverride=24,50,60

in the [Global] section of DVBFreqControl.ini, then the frequencies 24Hz, 50Hz, 60Hz are available for selection - regardless what kind of crap the ATI driver reports.

 

For some combinations of graphic cards, drivers, OS, the Windows API call for switching a frequency does not work at all. E.g. with my new ATI 6670 under Windows XP, the call did not work until version 11.8. But with the drivers 11.8 and 11.7 i got BSOD when my HTPC awoke from hibernate. Now with driver 11.9, frequency switching with the windows API is working AND i get no BSOD.

 

There is also a second tweak:

 

You can add the line

 

UseDisplayEx=n

 

to the [Global] section. When you set n=1 then the API call "ChangeDisplaySettingsEx" is used (default) which uses the display names. If you set n=0 then "ChangeDisplaySettings" is used and the display that you configure doesn't matter.

Edited by SnoopyDog
Link to comment

Hi,

I'm using the plugin with Display Changer 4.3.1 and it's working great.

Is there a way to make refresh rate change only when switching between two different "frame-rated" contents? IE, avoid change when zapping channels that have same refresh rate?

Some kind of control before start switching operation: IF new frame-rate != old frame-rate THEN change it! Zapping between channels would be lot faster!

Anyway, keep up great work!

 

Cheers.

Link to comment

Is possible to add another feature to improve the plugin?

 

I would like the plugin restore a deired refresh rate on stop video or video end.

 

Example1:

My basic refresh rate for tv channel is 50HZ.

I launch a 24HZ video then plugin changes the refresh to 24HZ.

I stop the video or video time end then "the plugin changes the refresh to 50HZ"

 

Example2:

My basic refresh rate for tv channel is 50HZ.

I launch a 60HZ video then plugin changes the refresh to 60HZ.

I stop the video or video time end then "the plugin changes the refresh to 50HZ"

 

TKS

Link to comment
  • 2 months later...

Is it possible to add some kind of debug logging for the windows api framerate switch method? I like to check if frequency has been switched. Do you know a method to enquire the current frequency?

 

In the settings of my nvidia card always 50 Hz is reported whoch is the default. Even if I watch a bluray at 24p. Video is displayed correctly so I think the plugin works fine, but I'm not sure.

Link to comment
  • 4 weeks later...

If refresh is 50Hz when you watch BD 24fps means that plugin dont work, this plugin didn't work with nvidia without 12noon display changer. Install 12noon display changer and set configuration in plugin like this.

post-72016-0-03797400-1327409464_thumb.png

Link to comment

Is possible to add another feature to improve the plugin?

 

I would like the plugin restore a deired refresh rate on stop video or video end.

 

Example1:

My basic refresh rate for tv channel is 50HZ.

I launch a 24HZ video then plugin changes the refresh to 24HZ.

I stop the video or video time end then "the plugin changes the refresh to 50HZ"

 

Example2:

My basic refresh rate for tv channel is 50HZ.

I launch a 60HZ video then plugin changes the refresh to 60HZ.

I stop the video or video time end then "the plugin changes the refresh to 50HZ"

 

TKS

 

The plugin does this already by itself...

If you stop the video, it will show the last tuned channel and switch back to 50hz.

Also, you can configure that when you exit DVBViewer it switches back to 50hz also.

Link to comment

If you stop the video, it will show the last tuned channel and switch back to 50hz.

Using display changer DVBViewer shows last tuned channel, but don't switch back to 50hz, it switch back only after channel change. Using only this plugin where is no profile 24Hz in nvidia video card, card supports 23,24,30,50,59,60

Link to comment
  • 3 weeks later...

tool isnt working with sandy bridge intel grafik, nothing is happened when switching the frequence

 

 

Try it as I write with 12noon display changer, it's working, but one problem is after end of watching video and switching to TV, refresh rate didn't change to 50Hz, you must change the channel +/- to come back refresh rate to default 50Hz. The path to dc.exe must be correct, it can be different.

Edited by tomas.jurksas
Link to comment

i tryed DC, but i have one problem, how can i set the correct monitor? when i do dc.exe -listmonitors, i got device: \\.\DISLPAY1 and \\.\DISPLAY3. What i have to do, that the tool switch the correct monitor?

Link to comment
  • 5 months later...

Hi i have to report a tiny Problem.

All was working fine, but since one update of DVBViewer(or lavfilter)24Hz=23,99999Hz in DVBViewer now.

So now 24hz profile is no longer working.

23Hz=23,97Hz is working like before, but now the 23,9999 switches also to this profile, instead of 24.

 

MFG Alex

Link to comment

I have tested now older versions of lavfilter, still the same.

So must be DVBViewer but i can not test since, i dont find old versions to test.

If you dont have time, maybe you can release the source files then i can make the changes.

 

MFG Alex

Link to comment

Ok the "Problem" is deeper lavfilter reports the time per frame which for 24fps should be 1/24, or 41.666666667ms. Since this is such a odd number (the 6 is a period), rounding errors happen quite easily. 41.6667 for example will already result in 23.9999. 41.6667 is the number LAV should report for such files.

 

So the best way would be if the plugin would be changed to accept 23,999 and 24 for 24.

 

MFG Alex

Link to comment
  • 2 months later...

I uploaded an update:

 

  • Reworked Windows API calls. Now it works with the onboard graphics (i3-3225) on my new Intel mainboard. Will test nVidia later. Can't test ATI.
  • Can treat 23.999Hz as 24Hz, if you add a tweak to the "DVBFreqControl.ini"

 

Tweak: find the file "DVBFreqControl" in "C:\ProgramData\MR-Soft\DVBViewer" (sorry, had no time to move the config to DVBViewer\Plugins). Add the line

Treat23999As24=1

to the section [Global] . Could not test it, cause i don't have examples where i get a refresh rate of 23.999Hz.

Edited by SnoopyDog
Link to comment

Uploaded a new version on the first page. This time, you will find two drivers in the ZIP file: a "New" one and an "Old" one.

 

Both drivers:

  • Deleted some unneccesary things and settings.
  • The option "Treat2399As24" ist working now. Finally found a clip where this occurs. This is enabled by default now. If you have a clip with a refresh rate of 23.99x Hertz, then the frequency 24 Hertz is used.
  • Moved the plugin settings file to the folder "AppData\CMUV\DVBViewer\Plugins". Old configuration files will be moved automatically.

New driver only:

  • Completely rewritten.
  • Uses WinAPI calls only.
  • Settings dialog moved from "Plugins" menu to the DVBViewer "Options" dialog.
  • Added a new settings page where you can change all the currently defined tweaks.
  • Added localization for English and German language.

 

Caution: I renamed the tweak setting "Treat23999As24" that i introduced in the previous version to "Treat2399As24"! You may change the .ini file, if you use the "old" plugin. The "new" plugin automatically converts the old setting from the previous version.

 

I tested Windows API switching with Intel HD graphics and nVidia under Windows 7. Right now, i can't test with Windows XP and/or ATI. Please let me know if you encounter problems.

Link to comment

I tested Windows API switching with Intel HD graphics and nVidia under Windows 7. Right now, i can't test with Windows XP and/or ATI. Please let me know if you encounter problems.

 

With the previous version i had problems with switching resolution using the API method. It didn't work with my nVidia 320M under Window 7. That's why i use an external program for changing resolution.

 

Have you changed Windows API switching in the new version? Just to know if it makes sense to update the plugin.

Edited by dbraner
Link to comment

Yes i did (see 3 posts above).

 

If using the Windows API works for you, then i recommend using the "new" plugin in the zip file.

Link to comment
  • 3 weeks later...

A feedback, if Windows API calls are working now, would be very much appreciated ;)

Link to comment

winAPI works for Nvidia (GT430) and Intel (Ivybridge) Can't test AMD atm sorry.

 

Your Plugin can not switch to 50hz (or 60hz) when returning to LiveTV?

 

start Bluary => switch to 23hz => stop Bluray => nothing happens.

 

P.S. "new" plugin in my test.

Edited by nuts
Link to comment

Does your plugin gets refresh rate from DVB Source ? Because on a lot of video files I'm not using dvbsource and when refresh rate didn't change. W7 x64, GT430, Win API.

Link to comment

Hi,

for me, it doesn't work with BD files. The default frequency of my ATI card (HD7700) is 25Hz. With a BD file, DVBViewer reports 23.976Hz, but my video card stays at 25Hz.

 

Why is your default frequency 25 Hz and not 50 Hz?

 

Does your monitor / tv support 23.976 Hz? If not change of frequency won't work.

Link to comment

My TV supports the 24p format.

I have a question :

if the frequency detected by DVBViewer is 23.99Hz, the switcher is able to use the 24p format, but what happens if the detected frequency is 23.976Hz ? Does the switcher do something ?

Link to comment

My TV supports the 24p format.

I have a question :

if the frequency detected by DVBViewer is 23.99Hz, the switcher is able to use the 24p format, but what happens if the detected frequency is 23.976Hz ? Does the switcher do something ?

 

The switcher supports 23.976 Hz. So you can configure, what should happen if you play a bluray with this frequency. My TV and my graphics card supports this frequency. If your equipment doesn't simply configure the switcher to set frequency to 24 Hz. But you will have some frame loss every 1 or 2 minutes.

 

Most important thing is that your graphics card supports the desired frequencies.

Edited by dbraner
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...