View Full Version : madVR - high quality video renderer (GPU assisted)
Razoola
15th January 2011, 14:25
That means, it makes no sense when using Reclock to pre-set 23hz ( 23.976Hz ) in the resolution settings at ATI/Nvidia when 23.976fps movie is played?
If I set 23.976 fps in Reclock media adaptation settings, the icon turns out yellow. If I select auto and let the CINEMA Mode do the work, it is speeding up the media to match the LCD TV refresh rate 24hz ( media will be played at 24fps and audio goes to 48048hz ). I think the LCD TV producers did implement only 24hz refresh rate, not 23.976hz ( correct me if Im wrong ). Does an ordinary blu-ray player have also 24fps speed-up? If the TV is 24hz only, the movie can not be synced to 23.976 blu-ray output.
See my post above this...
noee
15th January 2011, 14:30
Fwiw, my LCD (LG37, S-IPS) has both options supported (23.976 and 24) and madVR and Reclock both report the timings accurrately *and* the TV is very stable in both modes. I've only ever used ATI cards in this current setup (4770, 5670 and now back to 2600XT). I toyed around with taking Reclock out of the picture for a while and running 23.976Mhz. It worked and madVR reported good results and looked great. But there was something that just wasn't quite "right".
I am back to 24Hz and Reclock resampling. I do notice that telecined SD sources are worse when I had it set at 23.976, meaning they just didn't quite have the smoothness (which makes sense, I guess).
6233638
15th January 2011, 15:49
That means, it makes no sense when using Reclock to pre-set 23hz ( 23.976Hz ) in the resolution settings at ATI/Nvidia when 23.976fps movie is played?Unless your video card is outputting a perfect 24/1.001 (madVR would report 23.976024Hz without changing) you still need to use ReClock to keep things in perfect sync without having any dropped audio/video.
I have never been able to get a perfect 24/1.001 out of a PC that is 100% stable, even with the correct CEA timings.
I do have 24.000000Hz being reported in madVR with no visible fluctuation though. However the dropped frame time estimation still changes so I suspect the clock still varies past the level of precision that madVR displays.
If I set 23.976 fps in Reclock media adaptation settings, the icon turns out yellow. If I select auto and let the CINEMA Mode do the work, it is speeding up the media to match the LCD TV refresh rate 24hz ( media will be played at 24fps and audio goes to 48048hz ).You should never force a framerate in ReClock, set it to Auto to have it properly sync the framerate with your video card's refresh rate. You should also avoid using the V-Sync correction in conjunction with madVR.
ReClock will report "CINEMA adaptation: media speed changed to 24.000 fps." when set to Auto, but this is actually not the case. It is not forcing 24.000, and is dynamically adapting the framerate to your refresh rate. This is a common point of confusion with ReClock and I don't know why James hasn't changed the message, but development on ReClock seems to have stopped now.
If your card is outputting 23.976 (or close to it) then that is what ReClock will be outputting, not 24.000 as it states there.
Similarly, the "PAL SpeedDown (force to 24fps)" does not force everything to be played back at 24.000, it simply enables the SpeedDown function of ReClock and it will keep the audio & video in proper sync with your refresh rate.
I think the LCD TV producers did implement only 24hz refresh rate, not 23.976hz ( correct me if Im wrong ). Does an ordinary blu-ray player have also 24fps speed-up? If the TV is 24hz only, the movie can not be synced to 23.976 blu-ray output.Most displays are multisync and/or have tolerance in what they will sync to. They will handle 23.976 and 24.0 in the same way that most will also handle 59.94/60.0 correctly. (and 50.0 in PAL regions)
SONY does not have 23.976hz refresh rate in timings according to moninfo tool. I assume also if it would have, the refresh rate would be never stable at 23.976Hz I think..I am not familiar with moninfo but I assume that it just pulls all the EDID information from the display. This is rarely complete or sometimes even accurate information about what the display is capable of syncing to.
I once had a display which had no 24p support but would sync properly to 48Hz with films when sent the correct timing for example. (presumably it was within the range of tolerance for its 50Hz support)
These days however reclock is more based on sound being accurate over video and because of this there are problems in reclock with bitstreaming because the current dev (James) is not so keen to fix video issues (or give options to solve video situations at the expence of audio) which I personally feel is a shame for those of us who would choose video over audio as a priority. I personally wish OGG was still the dev.
The main issue I have with reclock is it will not go green when bitstreaming if you have the refresh rate at a multiple of 24 and content at 23.976. Reclock will stay yellow unless you speed up the content to 24hz. James feels audio packet drops caused by 23.976 into 24hz is too much, this is something I disagree with, it could be easily be fixed by allowing a greater deviation in max slowdown and speedup speed (which is already available if you use resampling). IE the greater packet drop would not effect all users or reclock, only those that choose to use it.The problem here is that some people are insistent on bitstreaming audio to have a little TrueHD/DTS HD light turn on with their amplifier, in the belief that it means they are getting better audio quality.
The reality is that bitstreaming is detrimental to audio/video playback from a PC, and that the effects of jitter when comparing LPCM to Bitstreaming with non-PC sources are highly suspect, to say the least.
A PC has two separate clocks; an audio clock and a video clock and they are not synchronised.
To keep audio and video in sync there are a few things you can do.
1. Sync the video to the audio clock. Because your video clocks are never going to be perfect, this means that you will suffer from dropped/repeated frames which really stick out.
2. Sync the video framerate to the video clock, and sync the audio to the audio clock. This will result in perfectly smooth video and perfect audio playback. The audio will not be in sync with the video however resulting in "lip-sync" problems.
3. Sync the video framerate to the video clock, and sync the audio to the video playback without resampling. This results in perfectly smooth video with no dropped/repeated frames, but then the audio will suffer from either dropped/repeated frames.
4. Sync the video framerate to the video clock for perfectly smooth video playback, and resample the audio to match the video. This avoids dropping/repeating frames and keeps audio perfectly synced to the video. (no "lip-sync" problems) ReClock does this with a high degree of precision and can even upsample at the same time to avoid any perceptible loss in quality.
When you are bitstreaming, you only have options 1, 2 and 3 at your disposal. You have to either sacrifice video quality, audio quality, or lip-sync to use bitstreaming. There is no way around it from a PC source with separate clocks.
If you output LPCM and let ReClock resample the audio, you have perfect video playback, lip-sync and near-perfect audio. You wont have that extra LED light up on your amplifier though.
Is that little LED more important than audio/video playback quality?
Razoola
15th January 2011, 16:08
The problem here is that some people are insistent on bitstreaming audio to have a little TrueHD/DTS HD light turn on with their amplifier, in the belief that it means they are getting better audio quality.
The reality is that bitstreaming is detrimental to audio/video playback from a PC, and that the effects of jitter when comparing LPCM to Bitstreaming with non-PC sources are highly suspect, to say the least.
A PC has two separate clocks; an audio clock and a video clock and they are not synchronised.
To keep audio and video in sync there are a few things you can do.
1. Sync the video to the audio clock. Because your video clocks are never going to be perfect, this means that you will suffer from dropped/repeated frames which really stick out.
2. Sync the video framerate to the video clock, and sync the audio to the audio clock. This will result in perfectly smooth video and perfect audio playback. The audio will not be in sync with the video however resulting in "lip-sync" problems.
3. Sync the video framerate to the video clock, and sync the audio to the video playback without resampling. This results in perfectly smooth video with no dropped/repeated frames, but then the audio will suffer from either dropped/repeated frames.
4. Sync the video framerate to the video clock for perfectly smooth video playback, and resample the audio to match the video. This avoids dropping/repeating frames and keeps audio perfectly synced to the video. (no "lip-sync" problems) ReClock does this with a high degree of precision and can even upsample at the same time to avoid any perceptible loss in quality.
When you are bitstreaming, you only have options 1, 2 and 3 at your disposal. You have to either sacrifice video quality, audio quality, or lip-sync to use bitstreaming. There is no way around it from a PC source with separate clocks.
If you output LPCM and let ReClock resample the audio, you have perfect video playback, lip-sync and near-perfect audio. You wont have that extra LED light up on your amplifier though.
Is that little LED more important than audio/video playback quality?
My issue with resampling in reclock is firstly, since James changed the resampling algo's reclock started to suffer hangs when using multiple cores on some systems (James advice was not to give priority to the media player but this did not solve the issue). This issue still has not been properly fixed the last time I checked. The second issue is the cpu cycles required to resample.
Its never had anything to do with little LEDs in my case at least but I'm sure your correct that for some people its a requirement.
6233638
15th January 2011, 16:22
My issue with resampling in reclock is firstly, since James changed the resampling algo's reclock started to suffer hangs when using multiple cores on some systems (James advice was not to give priority to the media player but this did not solve the issue). This issue still has not been properly fixed the last time I checked. The second issue is the cpu cycles required to resample.Here is the old resampler if you want to use it: http://www.mediafire.com/?rl8loa9wj113lr3
Make sure to check your quality settings after replacing the dll file.
You are right that resampling sucks up CPU cycles (especially with the older one at maximum quality) but there isn't really an alternative to it. There is no way to get perfect audio & video playback from a PC otherwise. (audio/video frame drops/repeats or lip-sync errors are your only alternative)
Plutotype
15th January 2011, 16:44
Unless your video card is outputting a perfect 24/1.001 (madVR would report 23.976024Hz without changing) you still need to use ReClock to keep things in perfect sync without having any dropped audio/video.
I have never been able to get a perfect 24/1.001 out of a PC that is 100% stable, even with the correct CEA timings.
I do have 24.000000Hz being reported in madVR with no visible fluctuation though. However the dropped frame time estimation still changes so I suspect the clock still varies past the level of precision that madVR displays.
You should never force a framerate in ReClock, set it to Auto to have it properly sync the framerate with your video card's refresh rate. You should also avoid using the V-Sync correction in conjunction with madVR.
ReClock will report "CINEMA adaptation: media speed changed to 24.000 fps." when set to Auto, but this is actually not the case. It is not forcing 24.000, and is dynamically adapting the framerate to your refresh rate. This is a common point of confusion with ReClock and I don't know why James hasn't changed the message, but development on ReClock seems to have stopped now.
If your card is outputting 23.976 (or close to it) then that is what ReClock will be outputting, not 24.000 as it states there.
Similarly, the "PAL SpeedDown (force to 24fps)" does not force everything to be played back at 24.000, it simply enables the SpeedDown function of ReClock and it will keep the audio & video in proper sync with your refresh rate.
Most displays are multisync and/or have tolerance in what they will sync to. They will handle 23.976 and 24.0 in the same way that most will also handle 59.94/60.0 correctly. (and 50.0 in PAL regions)
I am not familiar with moninfo but I assume that it just pulls all the EDID information from the display. This is rarely complete or sometimes even accurate information about what the display is capable of syncing to.
I once had a display which had no 24p support but would sync properly to 48Hz with films when sent the correct timing for example. (presumably it was within the range of tolerance for its 50Hz support)
In my setup, MadVR reports display is at 23.97509 and its changing to 23.97508 and back. So because of the unstable clock you think there is no need to create custom resolution/timings in CCC? Does Reclock same job also if it would be perfect 23.976024Hz without changing?
With the multisync explanation you stopped me from selling my Bravia:). Your post seems to be logical, because if not, I wouldnt be able to throw this 23Hz setting onto Bravia at all ( TV would refuse this setting ).
Razoola
15th January 2011, 17:28
Here is the old resampler if you want to use it: http://www.mediafire.com/?rl8loa9wj113lr3
Make sure to check your quality settings after replacing the dll file.
thanks for that, I will look at resampling again now.
6233638
15th January 2011, 17:48
In my setup, MadVR reports display is at 23.97509 and its changing to 23.97508 and back. So because of the unstable clock you think there is no need to create custom resolution/timings in CCC? Does Reclock same job also if it would be perfect 23.976024Hz without changing?It is always worth trying custom timings to see if it will help, but I think ATi have it correct in their 23Hz preset.
The official timing for 1080p24 (23.976 and 24.000) is:
Horizontal Front Porch: 638
Active Horizontal Pixels: 1920
Horizontal Total: 2750
Horizontal Sync Width: 44
Vertical Front Porch: 4
Active Vertical Lines: 1080
Vertical Total: 1125
Vertical Sync Width: 5
23.976 Pixel Frequency: 74.175
24.000 Pixel Frequency: 74.250
These timings and 50/60Hz here: http://forum.doom9.org/showthread.php?p=1318766#post1318766
This does not guarantee that your video card will actually output exactly 24.000Hz or 24/1.001 though.
Aside from the other reasons mentioned regarding original film speed etc. another reason I prefer to use 24.000Hz is because it is generally more stable on most PCs I have seen. (in my case, 24.000000 with no variation ever reported in madVR)
Even if my video card were capable of exactly 23.976 with no fluctuation ever, and if I actually wanted to play back files at 23.976 (I do not) I would still be using ReClock for its WASAPI output, upsampling capabilities, and for films that stored as 24/25fps on the disc rather than 23.976.With the multisync explanation you stopped me from selling my Bravia:). Your post seems to be logical, because if not, I wouldnt be able to throw this 23Hz setting onto Bravia at all ( TV would refuse this setting ).Glad to hear it. :)
alistar
16th January 2011, 02:43
Have a little problem. I cannot get the tray icon to show or edit the settings.
I'm assuming madVR is running because it is listed directvobsub and MPC and occasionally gives me messages in MPC-HC.
Whenever I click on show tray icon, the icon doesn't appear and when I click edit settings nothing happens.
Help?
Rain1
16th January 2011, 11:01
Have a little problem. I cannot get the tray icon to show or edit the settings.
I'm assuming madVR is running because it is listed directvobsub and MPC and occasionally gives me messages in MPC-HC.
Whenever I click on show tray icon, the icon doesn't appear and when I click edit settings nothing happens.
Help?
Try open & play a media file then pause & click Edit again
robpdotcom
17th January 2011, 00:57
The problem here is that some people are insistent on bitstreaming audio to have a little TrueHD/DTS HD light turn on with their amplifier, in the belief that it means they are getting better audio quality.
I agree that there's no point in bitstreaming if you get correct decoding, but can any software decode matrixed DTS-HD? In other words, will Arcsoft actually output 6.1 LPCM?
I've only seen one 3/4/1 DTS-HD track, but quite a bit of 3/3/1 matrixed.
iaTa
17th January 2011, 15:26
What methods are ATi owners using to automatically change their refresh rates whilst using madVR?
I'm using ReClock and I've tried a few vbs scripts but not having much luck.
Any ideas or working scripts welcome :)
leeperry
17th January 2011, 16:14
automatically change their refresh rates whilst using madVR?
didn't try it, though: http://www.homecinema-hd.com/autofrequency_en.html
iaTa
17th January 2011, 16:51
Yeah I was going to use that program but on the official forum there is a thread where someone says it doesn't currently work with madVR:
http://www.homecinema-hd.com/phpBB3/viewtopic.php?f=20&t=85
The dev is looking into it.
robpdotcom
17th January 2011, 17:22
It works for me with madVR.
iaTa
17th January 2011, 18:42
Just tried it, doesn't work for me at all.
Plutotype
17th January 2011, 18:45
What methods are ATi owners using to automatically change their refresh rates whilst using madVR?
I'm using ReClock and I've tried a few vbs scripts but not having much luck.
Any ideas or working scripts welcome :)
Hi,
I tried autofrequency (http://www.homecinema-hd.com/autofrequency_en.html), but with madvr is simply does not work.
http://www.homecinema-hd.com/phpBB3/viewtopic.php?f=20&t=85&sid=fdcf1c9f09fef85f7e8db25d24248930
Maybe madshi can modify madVR to allow autofrequency do its job also during activated fullscreen exclusive mode.
Peter
Plutotype
17th January 2011, 18:47
Yeah I was going to use that program but on the official forum there is a thread where someone says it doesn't currently work with madVR:
http://www.homecinema-hd.com/phpBB3/viewtopic.php?f=20&t=85
The dev is looking into it.
That was me.:)
Plutotype
17th January 2011, 18:49
It works for me with madVR.
Hmmm, Im interested.
Do you have fullscreen exclusive mode switched on please?
Did you doublecheck reclock video hardware frequency during playback with autofrequency on?
Thanks
tschi
17th January 2011, 19:51
What methods are ATi owners using to automatically change their refresh rates whilst using madVR?
I'm using ReClock and I've tried a few vbs scripts but not having much luck.
Any ideas or working scripts welcome :)
I use this batch script (modify from homecinema-fr) : http://pastebin.com/b28MXRtM
you need :
- setvideo.exe setvideo.exe (http://www.bellamyjc.org/download/Setvideo.exe) (from http://www.bellamyjc.org/fr/systeme.html
- Mediainfo CLI : http://mediainfo.sourceforge.net/en
And modify the script to your needs and your configuration
I also mount iso dvd with it (virtualclone drive) and play directly the video to bypass the issue with madVR and dvdnavigator on win7
robpdotcom
17th January 2011, 21:20
Do you have fullscreen exclusive mode switched on please?
Did you doublecheck reclock video hardware frequency during playback with autofrequency on?
Thanks
No, it doesn't work for me in FSE mode.... well, it does at first, but if I do anything to go into windowed mode (bring up a menu), then it switches back to 60Hz and will not return to 24Hz.
And yes, I used Reclock to confirm the refresh rate switch.
trainspotter
17th January 2011, 21:27
Hmmmm... The freeze occurs while madVR is trying to make itself known on the local network. madVR enumerates your network cards and sends a broadcast to all local subnets to announce its presence. Also a multicast is sent. I think the broadcasts are probably all timing out, which could be summing up to a quite high delay time. I think I should run the broadcasts on a separate thread, that should fix the delay. I'll do that in a future build.
Hey madshi,
Please excuse the late reply - the mainboard of my primary machine got fried and it took a while to get a replacement.
You seem to have hit the nail on the head with the above statement: 0.36 fixed the delay and is working beautifully now :)
You should hear this every day, but thank you very very much for all the countless hours you are spending on coding and supporting madVR - you are one of those "once in an eLifetime"-personalities who give so much to the community and take so little. The least we can do is thank you.
Some posts I read in this thread make me angry. Demanding people who never did anything for the community or just haters - don't take those guys to heart.
Most of us know that you do all of this for free in your spare time and that the skill level you are coding on could only be matched by very few.
Keep up the good work and have a great week!
-trainspotter
P.S.: The only thing left I wonder about is why I was the only person experiencing said delay.
noee
18th January 2011, 00:16
I was using MPC-HC built-in method (which stopped working at some point), but now I'm using madVR in jRiver's Media Center and have been using a script via Reclock notification, which then is calling the WinAPI directly to change refresh rate. Not quite perfected yet, but getting close....
webs0r
18th January 2011, 09:37
What methods are ATi owners using to automatically change their refresh rates whilst using madVR?
I'm using ReClock and I've tried a few vbs scripts but not having much luck.
Any ideas or working scripts welcome :)
Works for me on Windows 7 & MadVR 0.34, with ATI 5670.
I'm using 12noon's display changer x64 version. http://www.12noon.com/displaychanger.htm
Here is my very simple script (didn't paste the instructions at the top):
' Decode the parameters
Set objArgs = WScript.Arguments
If objArgs.Count < 10 Then
MsgBox "Bad argument count !", MB_OK, "ReClock Event Notification"
' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1
End If
eventName = objArgs(0)
mediaType = objArgs(1)
soundMode = objArgs(2)
currentMonitor = objArgs(3)
totalMonitorCount = objArgs(4)
currentResolution = objArgs(5)
currentRefreshRate = objArgs(6)
originalPlaybackSpeed = objArgs(7)
currentPlaybackSpeed = objArgs(8)
currentMediaFile = objArgs(9)
' If you need to debug, replace false with true in the following line
if false Then MsgBox _
eventName & " " & _
mediaType & " " & _
soundMode & " " & _
currentMonitor & " " & _
totalMonitorCount & " " & _
currentResolution & " " & _
currentRefreshRate & " " & _
originalPlaybackSpeed & " " & _
currentPlaybackSpeed, _
MB_OK, "ReClock Event Notification"
' Here is a sample of what can be done with PowerStrip
Set wshShell = CreateObject("WScript.Shell")
' We will put new timings here if necessary
newTimings = ""
' Obviously we have something to do only if the icon is yellow
If eventName = "YELLOW" Then
Select Case mediaType
Case "CINEMA"
If currentRefreshRate <> "24" Then newTimings = "24"
Case "PAL"
If currentRefreshRate <> "50" Then newTimings = "50"
Case "NTSC"
If currentRefreshRate <> "60" Then newTimings = "60"
Case "PAL(2x)"
If currentRefreshRate <> "50" Then newTimings = "50"
Case "NTSC(2x)"
If currentRefreshRate <> "60" Then newTimings = "60"
End Select
End If
' We quit the player, restore our favorite refresh rate and/or resolution
If eventName = "QUIT" Then
End If
' Do we have new timings to apply ?
If newTimings <> "" Then
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(&H26&)
Set objFolderItem = objFolder.Self
WshShell.Run """c:\Program Files (x86)\ReClock\dc64.exe"" -refresh=" & newTimings, 0, true
' In case we did a configuration change we MUST return 0 to
' indicate ReClock it need to recalibrate itself.
' However, I found no way to check that Powerstrip did the job correctly ...
WScript.Quit 0
End If
' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1
I just set for 24, 50 & 60 Hz as my display doesn't support anything else. And 24 Hz works without a hitch :)
Hope this helps.
jmone
18th January 2011, 12:23
I have no problems with changing Display Rates. JR Media Center, madVR, Relclock that calls the attached VB Script using SetDisplayFrequency, ATI5770 over HDMI.
-------------------------------------
' Event notification script for ReClock using AnyDVD's SetDisplayFrequency.exe
' -------------------------------------
'
' This script will be called when ReClock change the media adaptation of a played file
' either automatically or after some manual change made in the properties panel
' It is called only for media file which contain a video stream, and when frame rate of this file is known
'
' ---------------------------------------------------------------------------------------------
' The 7 parameters received by this script are explained below:
'
' (1) contains the event name that just occurred:
' - "GREEN" : tray icon just got green (all is fine). Parameter
' - "YELLOW" : tray icon just got yellow. We should make what is necessary
' to change the monitor refresh rate
' - "STOP" : playback just stopped
' - "QUIT" : ReClock is about to quit
'
' Parameters (2), (3), (8) and (9) apply only with "GREEN" and "YELLOW" events. Otherwise they contain "-"
'
' (2) contains the type of media file currently played :
' - "CINEMA" : frame rate of source file is around 24 fps
' - "PAL" : frame rate of source file is around 25 fps
' - "NTSC" : frame rate of source file is around 30 fps
' - "CUSTOM" : frame rate of source file does not fall in previous categories
'
' (3) contains the current sound playback mode (apply only with GREEN/YELLOW event):
' - "PCM" : PCM mode
' - "SPDIF" : AC3 passthrough SPDIF
'
' (4) contains the current monitor selected for playback (1=primary, 2=secondary, etc...)
'
' (5) contains the total monitor count detected in the system
'
' (6) contains the current resolution of your monitor (WIDTHxHEIGHT)
'
' (7) contains the current refresh rate of your monitor (in Hz)
'
' (8) contains the original playback rate of the file (in fps multiplied by 1000)
'
' (9) contains the current playback rate of the file (in fps multiplied by 1000)
'
' (10) contains the filename of the current media file
'
' ---------------------------------------------------------------------------------------------
' Notifications examples:
' - GREEN CINEMA PCM 1 1 1024x768 72 23976 24000 c:\test.avi : all is good
' - GREEN NTSC PCM 1 1 1024x768 60 29970 30000 c:\test.avi : all is good
' - YELLOW PAL SPDIF 1 1 1024x768 72 25000 25000 c:\test.avi : please switch to a multiple of 25 hz since PAL wants 25 fps
' - YELLOW CINEMA SPDIF 1 1 1024x768 75 23976 23976 c:\test.avi : please switch to 71.928 hz
'
' ---------------------------------------------------------------------------------------------
' Here is a sample in VbScript that will call SetDisplayFrequency to change the monitor refresh rate
' There is a VERY important thing to note. SetDisplayFreqeuncy changes the timings using the Windows API., but
' So this script MUST always exit with an exit code of 1
' return 1
' Decode the parameters
Set objArgs = WScript.Arguments
If objArgs.Count < 10 Then
MsgBox "Bad argument count !", MB_OK, "ReClock Event Notification"
' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1
End If
eventName = objArgs(0)
mediaType = objArgs(1)
soundMode = objArgs(2)
currentMonitor = objArgs(3)
totalMonitorCount = objArgs(4)
currentResolution = objArgs(5)
currentRefreshRate = objArgs(6)
originalPlaybackSpeed = objArgs(7)
currentPlaybackSpeed = objArgs(8)
currentMediaFile = objArgs(9)
' If you need to debug, replace false with true in the following line
If false Then
MsgBox _
eventName & " " & _
mediaType & " " & _
soundMode & " " & _
currentMonitor & " " & _
totalMonitorCount & " " & _
currentResolution & " " & _
currentRefreshRate & " " & _
originalPlaybackSpeed & " " & _
currentPlaybackSpeed, _
MB_OK, "ReClock Event Notification"
' WScript.Quit 0
End If
' Here is a sample of what can be done with PowerStrip
Set wshShell = CreateObject("WScript.Shell")
' We will put new timings here if necessary
newTimings = ""
' Obviously we have something to do only if the icon is yellow
If eventName = "YELLOW" Then
' If soundMode = "PCM" Then
' Call the profile that match best what we need in PCM mode
Select Case mediaType
Case "CINEMA"
newTimings = "24"
Case "PAL"
newTimings = "50"
Case "PAL(2x)"
newTimings = "50"
Case "NTSC"
newTimings = "60"
Case "NTSC(2x)"
newTimings = "60"
Case "CINEMA(2x)"
newTimings = "60"
' case "CUSTOM"
' newTimings = currentPlaybackSpeed / 1000
End Select
' End if
End If
' We quit the player, restore our favorite refresh rate and/or resolution
If eventName = "QUIT" Then
newTimings = "50"
End If
If eventName = "STOP" Then
WScript.Quit 1
End If
' Do we have new timings to apply ?
If newTimings <> "" Then
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(&H26&)
Set objFolderItem = objFolder.Self
' Run SetDisplayFrequency command and wait for it to finish its job
WshShell.Run """" & _
"C:\Program Files\SlySoft\AnyDVD\SetDisplayFrequency.exe"" " & newTimings, 0, true
' If eventName <> "QUIT" Then
' WScript.Sleep(2000)
' End If
End If
' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1
iaTa
18th January 2011, 13:01
Thanks all for your scripts, will give them a try.
Do you find that the QUIT event puts your default refresh back when you exit mpc-hc?
dansrfe
18th January 2011, 17:19
I'm using an nvidia graphics card with no Reclock with madVR/MPC-HC and I was wondering if I could do automatic refresh rate changes.
toniash
18th January 2011, 18:09
I'm using an nvidia graphics card with no Reclock with madVR/MPC-HC and I was wondering if I could do automatic refresh rate changes.
you can use AutoFrequency http://www.homecinema-hd.com/phpBB3/viewtopic.php?f=20&t=60
alistar
19th January 2011, 03:04
Try open & play a media file then pause & click Edit again
didn't work.
Colomba
19th January 2011, 22:05
Hello all, I have set up my system using the following guide:
http://imouto.my/watching-h264-videos-using-compute-unified-device-architecture-cuda/
Any comments on this setup?
Further on I can't get ReClock to work with this setup, I'm using MPC-HC's built-in refreshrate switch. When I hit ctrl-j i can tell by the OSD that the video isn't perfectly synced since there's a constant change in clock deviation, which should read all zero if everythings perfect right?
Please advice.
System specs:
12GB RAM
GeForce GTX285
Win7 64 Ultimate
Corei7 920 @ 2,67Ghz
Latest software of everything involved.
Thank you in advance!
martyseilh
20th January 2011, 01:39
I tried autofrequency, but with madvr is simply does not work. I appreciate any suggestions and ideas.
-------------
Auto Traffic Monopoly System (http://www.squidoo.com/automate-auto-traffic-monopoly-review)
Hypernova
20th January 2011, 06:13
I want to remind that madshi has a plan for madvr to control display's fps at some point, so any request on other methods to do so may be irrelevent. Also, he awared that mpc-hc autochange doesn't work with madvr right now, IIRC.
Colomba
20th January 2011, 12:29
It works for me? I run 23,94 @ 24hz and 29,97 @ 59hz and so on. Plays real smooth, I would like reclock to work to make sure everything stays smooth. However, if madVR could speed up 23,94 to 24.000fps and 29,97 to 30.000fps that would be great!
Big thanks to the author of madVR aswell, works great on my system!
kanetsu
20th January 2011, 15:35
I want to thank madshi for the creation of madVR, it changed the way i watch media now!
I've registered so i can keep track of new updates.
cyberbeing
21st January 2011, 01:05
Plays real smooth, I would like reclock to work to make sure everything stays smooth. However, if madVR could speed up 23,94 to 24.000fps and 29,97 to 30.000fps that would be great!
Reclock's framerate adjustments do work with madVR. What makes you think it's not working?
madVR changing the framerate to a multiple of refresh rate independently of Reclock is beyond the scope of the project. madVR is a Video Renderer and changing framerate requires the audio to be resampled as well to maintain a/v sync.
jmone
21st January 2011, 21:13
After he finishes re-calibrating your display to whatever target you decide on, just make sure to have him give out a long list of XYZ (or Yxy) measurements for the following:
White point
Black point
Primary Colors (Red, Green, Blue)
Grayscale IRE measurements from 0-100 IRE (increments of 1, 2, 5, or 10 with smaller increments being better)
Optionally you could also get the following for potential use in future yCMS revisions:
Secondary Colors (Yellow, Cyan, Magenta)
Primary Colors IRE measurements from 0-100 IRE
Secondary Colors IRE measurements from 0-100 IRE
Mixed Color IRE measurements from 0-100 IRE like the following:
Red IRE Green IRE Blue IRE
25.000 25.000 0.0000
50.000 25.000 0.0000
75.000 25.000 0.0000
100.00 25.000 0.0000
25.000 50.000 0.0000
50.000 50.000 0.0000
75.000 50.000 0.0000
100.00 50.000 0.0000
25.000 75.000 0.0000
50.000 75.000 0.0000
75.000 75.000 0.0000
100.00 75.000 0.0000
25.000 100.00 0.0000
50.000 100.00 0.0000
75.000 100.00 0.0000
100.00 100.00 0.0000
25.000 0.0000 25.000
50.000 0.0000 25.000
75.000 0.0000 25.000
100.00 0.0000 25.000
0.0000 25.000 25.000
25.000 25.000 25.000
50.000 25.000 25.000
75.000 25.000 25.000
100.00 25.000 25.000
0.0000 50.000 25.000
25.000 50.000 25.000
50.000 50.000 25.000
75.000 50.000 25.000
100.00 50.000 25.000
0.0000 75.000 25.000
25.000 75.000 25.000
50.000 75.000 25.000
75.000 75.000 25.000
100.00 75.000 25.000
0.0000 100.00 25.000
25.000 100.00 25.000
50.000 100.00 25.000
75.000 100.00 25.000
100.00 100.00 25.000
25.000 0.0000 50.000
50.000 0.0000 50.000
75.000 0.0000 50.000
100.00 0.0000 50.000
0.0000 25.000 50.000
25.000 25.000 50.000
50.000 25.000 50.000
75.000 25.000 50.000
100.00 25.000 50.000
0.0000 50.000 50.000
25.000 50.000 50.000
75.000 50.000 50.000
100.00 50.000 50.000
0.0000 75.000 50.000
25.000 75.000 50.000
50.000 75.000 50.000
75.000 75.000 50.000
100.00 75.000 50.000
0.0000 100.00 50.000
25.000 100.00 50.000
50.000 100.00 50.000
75.000 100.00 50.000
100.00 100.00 50.000
25.000 0.0000 75.000
50.000 0.0000 75.000
75.000 0.0000 75.000
100.00 0.0000 75.000
0.0000 25.000 75.000
25.000 25.000 75.000
50.000 25.000 75.000
75.000 25.000 75.000
100.00 25.000 75.000
0.0000 50.000 75.000
25.000 50.000 75.000
50.000 50.000 75.000
75.000 50.000 75.000
100.00 50.000 75.000
0.0000 75.000 75.000
25.000 75.000 75.000
50.000 75.000 75.000
75.000 75.000 75.000
100.00 75.000 75.000
0.0000 100.00 75.000
25.000 100.00 75.000
50.000 100.00 75.000
75.000 100.00 75.000
100.00 100.00 75.000
25.000 0.0000 100.00
50.000 0.0000 100.00
75.000 0.0000 100.00
100.00 0.0000 100.00
0.0000 25.000 100.00
25.000 25.000 100.00
50.000 25.000 100.00
75.000 25.000 100.00
100.00 25.000 100.00
0.0000 50.000 100.00
25.000 50.000 100.00
50.000 50.000 100.00
75.000 50.000 100.00
100.00 50.000 100.00
0.0000 75.000 100.00
25.000 75.000 100.00
50.000 75.000 100.00
75.000 75.000 100.00
100.00 75.000 100.00
0.0000 100.00 100.00
25.000 100.00 100.00
50.000 100.00 100.00
75.000 100.00 100.00
I had the ISF Tech look at this post and he replied that whilst he can do these measurements it will take a huge amount of time to measure and record them (there is no automated way of recording these) and hence it would be extra cost.
Q1: What would the benefit of this data be and how would I use it?
He did say he was willing to provide the xyY co-ordinates for 100% saturated White, Red, Green, Blue, Cyan, Yellow and Magenta if this is of any help.
Q2: Is this of any use?
Thanks
Nathan
cyberbeing
21st January 2011, 22:44
He did say he was willing to provide the xyY co-ordinates for 100% saturated White, Red, Green, Blue, Cyan, Yellow and Magenta if this is of any help.
In addition to those things, yCMS currently makes use of Grayscale IRE 0-100 measurements, so you should attempt to get those as well as a bare minimum.
If time is a concern, something like the following should be sufficient for Grayscale IRE Measurements:
Red IRE Green IRE Blue IRE
0.0000 0.0000 0.0000
2.0000 2.0000 2.0000
4.0000 4.0000 4.0000
6.0000 6.0000 6.0000
8.0000 8.0000 8.0000
10.000 10.000 10.000
20.000 20.000 20.000
30.000 30.000 30.000
40.000 40.000 40.000
50.000 50.000 50.000
60.000 60.000 60.000
70.000 70.000 70.000
80.000 80.000 80.000
90.000 90.000 90.000
92.000 92.000 92.000
94.000 94.000 94.000
96.000 96.000 96.000
98.000 98.000 98.000
100.00 100.00 100.00
If he could also provide 25%, 50%, and 75% saturated measurements for Red, Green, and Blue that would be a bonus. If he could provide 25%, 50%, and 75% saturated measurements for Cyan, Yellow, and Magenta as well that would be a extra bonus. Both 'bonus' items could still be safely skipped with the current state of yCMS, as they would be only be needed for potential future updates.
The rest of the measurement heavy stuff I listed you could just ignore.
Without yesgrey (yCMS dev) chiming in about what he plans to implement in the near future, it's hard to predict what you'll actually need beyond what is already used.
yesgrey
22nd January 2011, 00:28
Without yesgrey (yCMS dev) chiming in about what he plans to implement in the near future, it's hard to predict what you'll actually need beyond what is already used.
Your last suggestions should cover any future features. I'm not sure yet what would be the preferable measures, because I need to perform some calculations for that, but your suggestions should be close enough to get a good result.
I didn't said anything sooner because I thought that you pretty much covered all the needs, but I forgot that you didn't know that I thought that...;)
cyberbeing
22nd January 2011, 01:30
Your last suggestions should cover any future features. I'm not sure yet what would be the preferable measures, because I need to perform some calculations for that, but your suggestions should be close enough to get a good result.
yesgrey fell for the trap. If those extra measurements end up being useless, now you can express your displeasure at yesgrey and not me. When that happens, all you need to do is crack your whip while yelling "CODE FASTER!!!" in yesgrey's general vicinity. :devil: j/k
I didn't said anything sooner because I thought that you pretty much covered all the needs, but I forgot that you didn't know that I thought that...;)
I had a pretty good idea based on little things you've mentioned interest in implementing, but you've been adding functionality a little bit at a time, which only uses a specific subset of measurements. Since it sounds like jmone will probably be paying extra to have any time-consuming measurements made, I felt your input was needed. Of course if you ever get around to the end-goal of turning yCMS into a full-featured CMS capable of accepting any measurement, such worries will disappear. ;)
yesgrey
22nd January 2011, 19:37
Since it sounds like jmone will probably be paying extra to have any time-consuming measurements made, I felt your input was needed.
Yes, that's why I want to make clear that I don't have any ETA for when those measures will be used by yCMS. I want to improve yCMS to that level and beyond, but I really don't know if and when...
@jmone,
any measurements not currently used by yCMS should be taken on your own risk. Furthermore, if it would take a while before yCMS needs them, the values might lose their significance too... If the guy asks you too much for the extra measures, just go with the ones yCMS uses and keep the others for a later stage...
jmone
22nd January 2011, 20:20
cyberbeing / yesgrey
So to make sure I'm understanding it correctly, at this stage I should look at getting this data?
Red IRE Green IRE Blue IRE
0.0000 0.0000 0.0000
2.0000 2.0000 2.0000
4.0000 4.0000 4.0000
6.0000 6.0000 6.0000
8.0000 8.0000 8.0000
10.000 10.000 10.000
20.000 20.000 20.000
30.000 30.000 30.000
40.000 40.000 40.000
50.000 50.000 50.000
60.000 60.000 60.000
70.000 70.000 70.000
80.000 80.000 80.000
90.000 90.000 90.000
92.000 92.000 92.000
94.000 94.000 94.000
96.000 96.000 96.000
98.000 98.000 98.000
100.00 100.00 100.00
And that stuff like the following would only be of use in a potential later release?
- xyY co-ordinates for 100% saturated White, Red, Green, Blue, Cyan, Yellow and Magenta
- 25%, 50%, and 75% saturated measurements for Red, Green, and Blue
- 25%, 50%, and 75% saturated measurements for Cyan, Yellow, and Magenta
Thanks
Nathan
cyberbeing
22nd January 2011, 21:06
Small correction, White and 100% Red, Green, Blue are used.
Here is all you currently need for yCMS 1.9:
Red IRE Green IRE Blue IRE
100.00 0.0000 0.0000
0.0000 100.00 0.0000
0.0000 0.0000 100.00
0.0000 0.0000 0.0000
2.0000 2.0000 2.0000
4.0000 4.0000 4.0000
6.0000 6.0000 6.0000
8.0000 8.0000 8.0000
10.000 10.000 10.000
20.000 20.000 20.000
30.000 30.000 30.000
40.000 40.000 40.000
50.000 50.000 50.000
60.000 60.000 60.000
70.000 70.000 70.000
80.000 80.000 80.000
90.000 90.000 90.000
92.000 92.000 92.000
94.000 94.000 94.000
96.000 96.000 96.000
98.000 98.000 98.000
100.00 100.00 100.00
This works out to 22 measurements and includes White, Black, Grayscale IRE (w/ near-white/black), 100% Red, 100% Green, 100% Blue. This is your bare-minimum baseline.
Since he said he will provide 100% Cyan, 100% Yellow, and 100% Magenta, I would get those as well, bringing the total to 25 measurements and just be done with it. Even though they aren't used right now, it's pretty standard for secondary colors to be used in LUT creation, so it's just a question of when.
__________
Potential future use only:
If you see yourself getting a new TV or having another ISF calibration in 2012, you may as well hold off on additional measurements until then.
75%, 50%, 25% Red Saturation
75%, 50%, 25% Green Saturation
75%, 50%, 25% Blue Saturation
75%, 50%, 25% Cyan Saturation
75%, 50%, 25% Yellow Saturation
75%, 50%, 25% Magenta Saturation
S”nTė£
23rd January 2011, 14:08
Changing madvr settings do not stick from one video to the next, any idea why? OS: W7 Ult x64
My devices are always back to unkown and "use exclusive mode" always back to enabled, frustrating.
I tried searching this thread but came up without results.
EDIT: reason to disable exclusive mode is that on going fullscreen, even if the video is on the second monitor (the plasma), it goes fullscreen on the first (the lcd), leaving some strange rendering on the second - it does not do that in windowed mode.
hdboy
25th January 2011, 00:46
EDIT: reason to disable exclusive mode is that on going fullscreen, even if the video is on the second monitor (the plasma), it goes fullscreen on the first (the lcd), leaving some strange rendering on the second - it does not do that in windowed mode.
I have the same problem. I have to use exclusive mode b/c I get stuttering otherwise.
Does anyone have a link to old version 0.34 ? I want to go back and see if I have this problem with that version.
leeperry
25th January 2011, 02:26
anyone have a link to old version
http://www.videohelp.com/tools/madVR/old-versions#download
jmone
26th January 2011, 04:25
I'm not sure I undertand the OSD correctly so please correct me if I'm wrong.
* The first part seems to calculate how often it is "expected" that a frame will be repeated or dropped based on the clock deviation / mismatch between the reported display rate and the fps of the media.
* Further down in the OSD, madVR reports how many dropped or delayed frames there have been.
However the two don't seem to be related. I can have an expected droped frame say every 40sec, yet the dropped frame count does not change or it will jump by 3 droped frames ever 10 minutes. Also to my eyes I can see a dropped frame but the count does not change. I presume I just don't understand correctly what the OSD is telling me - any enlightenment would be great!
Thanks
Nathan
dansrfe
26th January 2011, 06:36
I'm not sure I undertand the OSD correctly so please correct me if I'm wrong.
* The first part seems to calculate how often it is "expected" that a frame will be repeated or dropped based on the clock deviation / mismatch between the reported display rate and the fps of the media.
* Further down in the OSD, madVR reports how many dropped or delayed frames there have been.
However the two don't seem to be related. I can have an expected droped frame say every 40sec, yet the dropped frame count does not change or it will jump by 3 droped frames ever 10 minutes. Also to my eyes I can see a dropped frame but the count does not change. I presume I just don't understand correctly what the OSD is telling me - any enlightenment would be great!
Thanks
Nathan
I agree, I have the same exact confusion.
cyberbeing
26th January 2011, 07:01
* The first part seems to calculate how often it is "expected" that a frame will be repeated or dropped...
...* Further down in the OSD, madVR reports how many dropped or delayed frames there have been....
...I can have an expected droped frame say every 40sec...
Are you sure madVR is reporting a dropped frame every 40 seconds and not repeated frame every 40 seconds?
Dropped, repeated, and delayed frames are three different things. The OSD only shows how many dropped and delayed frames occur. Repeated frames are not reported when they happen.
Now if you are seeing madVR's estimate a dropped frame every few seconds and that doesn't happen, only madshi would know why.
Does using ReClock improve things? That should change madVR from estimating a dropped/repeated frame every few seconds to a dropped/repeated frame every few hours or days.
jmone
26th January 2011, 09:28
Hi cyberbeing, I'm doing some comparitive testing between JR Media Center's beta audio resampling code / direct show / reclock with madVR and just want to be sure I know how to read and interpret what I see in the OSD....as it just does not quite make sence to me. I'll post a set of actual numbers later, but I was wanting to know the relationship between (if any)
1) the top set of numbers (that seem to be calculated)
2) the dropped/delayed frames
3) and what I'm seeing.
Thanks
Nathan
cyberbeing
26th January 2011, 10:27
for 23.976 video at 95.90409hz and a clock deviation of around -0.00600 it reports frame repeats every ~10 mins. With reclock the clock deviation changes to around -0.00010 with repeats every 1-6 days.
For 23.976 video at 96.00050hz and a clock deviation of around -0.00500 it reports frame repeats every ~40 seconds. With reclock the clock deviation changes to around 0.10050 with repeats every ~13 hours to 6 days.
Isn't a madvr reported refresh rate of 95.90409 a perfect match for 23.976 video? You can't get any more perfect then that, yet it still reports frame repeats every few minutes. Is this being caused by clock deviation alone? If so, what could i do to fix it without using reclock?i'm not sure how much you know about directshow clocks. There must be a "master clock", which controls everything. In a typical directshow graph the audio renderer provides the master clock. Now if the audio clock runs 1% faster than it should, video must also be rendered 1% faster than it should, or else audio/video sync would be lost. Which means that if the audio clock runs 1% faster, the refresh rate must be 1% "faster", too, to allow the video to be rendered faster. So the audio clock deviation has a direct effect on the optimal refresh rate.
That said, it's quite hard to accurately measure the audio clock deviation, because the audio clock is so jittery (jumps back and forth). In order to get the most accurate measurement you should let a full movie run and take the audio clock deviation measurement from the end of the movie. But even then i wouldn't rely on the madvr measurement to 100%. I'd suggest that you try both: (1) the current perfect match you have for 23.976 playback. And (2) a perfect match taking audio clock deviation into account. Then play a movie with both settings and check which appears more fluid/smooth to you.
This post by Madshi a few weeks ago is probably relevant. Trust your eyes rather then what madVR reports. ;)
The top set of numbers is a rough estimate about what madVR thinks should happen, but is not directly connected to what actually happens internally in madVR.
The dropped/delayed frames is when madVR intentionally drops or delays a frame.
What you see with your eyes overrules both things. If you think you see dropped frames which aren't reported by madVR, you should trust your eyes. As Madshi has repeated many times in this thread, subjective impressions is the only true way to determine quality of playback. What madVR thinks is the best, may not actually be the best in reality. Use your eyes as the ultimate judge.
Since you are doing testing and finding things not smooth, you should also try tweaking the 'Windowed Mode Tweaks' to see if you can get subjective smoothness to improve. If madVR is not hitting vsync perfectly, it can cause perceived dropped frames and jerkiness like you are seeing. Changing the flush settings there can make things better or worse. I personally find the defaults quite horrible for subjective smoothness with nvidia cards using high refresh rates like 96Hz and 120Hz. Madshi left those settings exposed because we collectively, in this thread many revisions ago, couldn't come up with defaults which worked well for everybody.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.