View Full Version : madVR - high quality video renderer (GPU assisted)
yesgrey
7th June 2011, 22:32
And yesgrey, someone is going to have to write a dummies guide to yCMS....I'm lost.... :(
You only need to know two commands (the mandatory), and now with madVR's GUI you don't need to know any. How can we make it more simple? Unless you are referring to the more advanced commands...
By the way, when trying to use an external 3dlut file, madvr says: "this 3dlut file does not match the input format required by madVR"
This is the file used for generating the 3dlut with yCMS:
# Set input format
Input_Format HD YCbCr 8
madVR v0.62+ only works with 3DLUT files with yRGB input. It looks for the first line in the 3DLUT file to see if it's: Input_Format yRGB RGB_Video 8. If it isn't, it doesn't accept it.
in colorHCFR I have XYZ and xyz values, I think XYZ in madVR is xyz in colorHCFR (my red x= 0.653 <-> X=26.219) Am I wrong ?
Yes. You should use XYZ. Alternatively, you could use Yxy (also available in HCFR).
If XYZ in madVR was the same as xyz in HCFR, it would be named xyz. ;)
pawlol83
7th June 2011, 22:33
Hello Madshi
Could I ask you to familiarize yourself with a problem regarding the rendering mode madVR. Earlier I wrote about the issue in the thread about MPC-Home Cinema ...
As a reminder,
"Hello, I have a problem with video rendering mode MadVR. Despite the choice of rendering mode, I am still not Able to call its instance. This "error" probably occurred on the version of MPC-Home Cinema 3110 (x86). In another player I have no problem running the video rendering mode MadVR. I tried to restore the default settings by deleting the settings file, deleting the entry from the registry, but it did not give Satisfactory results. Using the built-in codecs solves the problem. If you use the ffdshow filter (set to download) I can not run rendering mode MadVR ....."
Currently madVR (from version 0.62 and later) rendering mode is initialized correctly, but the picture looks like the subtitles are in the middle of the screen. I'm using the latest version MadVR 0.64.
Ffdshow settings, screenshot attached to this post.
Please refer to the problem. Greetings
madshi
7th June 2011, 22:37
I guess these options will be remembered?
Nope. When a new video is loaded, default is always auto detection.
I guess my last problem is that I feed PC levels to mVR?! But I'll try some test patterns to ensure that everything's cool :o
It shouldn't be a catastrophe, but it won't be 100% accurate because both madVR and yCMS think you're delivering video levels. So de-gamma and en-gamma processing will not be 100% correct. Don't know how much of a problem this is, though.
janos666
7th June 2011, 22:45
1080i29 worked for me now, I managed to watch a full TV Show episode without loosing the sync (v0.64).
It wasn't always as smooth as it should but it could be any other problem (the TV, the flush and other presentation settings, the material itself, etc)
leeperry
7th June 2011, 23:01
Nope. When a new video is loaded, default is always auto detection.
auto-detection of the source gamut? how's that? I'd mostly be playing 23.976fps@96Hz and 29.97@89.91Hz. I thought there were no automatic rules for the source gamut (yet)? I'd need the BT.709 decoding matrix at all times, as upscaled SD from ffdshow cannot be automatically detected (yet).
It shouldn't be a catastrophe, but it won't be 100% accurate because both madVR and yCMS think you're delivering video levels. So de-gamma and en-gamma processing will not be 100% correct. Don't know how much of a problem this is, though.
OK, that sounds scary....I might have to wait a bit for you to allow PC levels input :o
FWIW, FRAPS videos are PC levels, and someone else said that he needed PC levels in this very thread.
madshi
7th June 2011, 23:07
auto-detection of the source gamut? how's that? I'd mostly be playing 23.976fps@96Hz and 29.97@89.91Hz. I thought there were no automatic rules for the source gamut (yet)?
There is some auto detection, but it's really simple:
If the source width > 1024 or if the source height > 576 then I'm using BT.709 primaries. If the source height is exactly 576 I'm using EBU primaries. Otherwise I'm using SMPTE-C primaries.
leeperry
7th June 2011, 23:14
There is some auto detection, but it's really simple:
If the source width > 1024 or if the source height > 576 then I'm using BT.709 primaries. If the source height is exactly 576 I'm using EBU primaries. Otherwise I'm using SMPTE-C primaries.
meaning that upscaled SD ends up in HDTV gamut? that can't be good :o
hopefully at some point you'll be adding:
-user manageable rules, as previously discussed
-allow PC levels input
-compressed LUT support, so it'll load faster and not waste 100MB of space(which does matter when you host it on a ramdisk, and avoids HDD fragmentation)
-detect upscaled SD from ffdshow
but it's all about baby steps, and it's really great to see that mVR is moving towards the right direction :cool:
You could also allow the end-user to change the name of the gamuts, so he can call them anything he likes: PAL/EBU or REC.709/sRGB/BT.709/HDTV or SMPTE-C/NTSC, so everyone will be happy in the end ;)
SamuriHL
7th June 2011, 23:22
madVR v0.65 released
http://madshi.net/madVR.zip
* fixed: decode matrix + source primaries detection only worked once
* fixed: yet another bug in the automatic display changer
I hope that the display mode changer will now finally work. It seems that GPUs require modes to be named 1080i29 instead of 1080i59. I have removed matching support for 1080i59 now. Hopefully that won't break anything.
Ok, probably last version for a couple of days.
You're killing me, man! :D Thanks. :)
Andy o
7th June 2011, 23:26
madVR v0.65 released
http://madshi.net/madVR.zip
* fixed: decode matrix + source primaries detection only worked once
* fixed: yet another bug in the automatic display changer
I hope that the display mode changer will now finally work. It seems that GPUs require modes to be named 1080i29 instead of 1080i59. I have removed matching support for 1080i59 now. Hopefully that won't break anything.
Ok, probably last version for a couple of days.
Working! Thanks.
tschi
7th June 2011, 23:33
If XYZ in madVR was the same as xyz in HCFR, it would be named xyz. ;)
XYZ values seems to not be accepted by madVR GUI but xyz are accepted (with XYZ as prefix) that's why I was a bit confused. I will make other test tomorrow...
fairchild
7th June 2011, 23:37
XYZ values seems to not be accepted by madVR GUI but xyz are accepted (with XYZ as prefix) that's why I was a bit confused. I will make other test tomorrow...
The new madVR GUI accepts xyY/Yxy and XYZ, at least those are the 2 sets of values that I entered and it automatically converted fine.
e-t172
7th June 2011, 23:56
meaning that upscaled SD ends up in HDTV gamut? that can't be good :o
Why are you feeding upscaled SD to madVR? Why don't you let madVR do the upscaling, which it does very well?
leeperry
8th June 2011, 01:01
Why are you feeding upscaled SD to madVR? Why don't you let madVR do the upscaling, which it does very well?
upscaled SD looks a lot nicer through some Avisynth scripts...LSF comes to mind, and LSF looks much better when using SuperSampling..and mVR uses the GPU to resize, so it can do the final downscale part for free.
pankov
8th June 2011, 01:28
madshi,
you are always able to amaze me with your work.
:thanks:
I really like the direction that madVR is taking and I hope you'll be able to polish everything soon.
I've ran a few tests on the new version (0.65) and noticed two problems (probably related):
The first one is that when I try to exit exclusive mode for the second time (the first is OK) I get a full black screen while the playback continues in the back and I can close the player with Alt+F4. Here is a log showing the problem
http://www.mediafire.com/?4ezl4eh77zh36qs
The second problem is that sometimes (pretty often - ~1/5 attempts) Zoomplayer hangs on starting a file in fullscreen mode when I use madVR. Other renderers are OK and also when I start the playback in windowed mode and then go to fullscreen everything is OK also. I suspect that there is something wrong with the initialization of the D3D surface but I guess you'll know better if you look at this log
http://www.mediafire.com/?rqraf2ga7m8c0wa
I also have a "calibration" question - is there somewhere a guide/post/FAQ where I can find a simple explanation how to take the needed values from colorHCFR so madVR can build a 3dlut file for me? I've used a i1d2 probe and measured my display. I've also done some basic calibration using the display's settings but I'd like madVR/yCMS to make it even better so I'll be glad if someone is able to help me. Also is it better to use the display's setting to do some basic correction and then let madVR/yCMS improve them or it's recommended to reset all display settings and let madVR/yCMS do all the work?
Snowknight26
8th June 2011, 03:38
http://pastebin.com/ZmwEffHi
madVR flips the output both horizontally and vertically. To generate it yourself, have avisynth output an error.
madshi
8th June 2011, 05:14
-compressed LUT support, so it'll load faster and not waste 100MB of space(which does matter when you host it on a ramdisk and avoid HDD fragmentation)
FWIW, you can check whether using a 7bit 3dlut results in any visible degradation. If not, you can use 7bit, that will reduce the 3dlut size and loading times by a factor of 8x.
madVR flips the output both horizontally and vertically. To generate it yourself, have avisynth output an error.
Yes, I've seen this, too. And I know the solution for that. However, the solution will break compatability with AVI/QuickTime files with uncompressed video in them. So I'll have to find a solution which works for everything. It's on my to do list.
Mark_A_W
8th June 2011, 05:16
You only need to know two commands (the mandatory), and now with madVR's GUI you don't need to know any. How can we make it more simple? Unless you are referring to the more advanced commands...
My confusion comes from the interaction of (as I understand):
1. Gamut - the triangle mapped out by the colour coordinates of the display, versus the desired colour standard. Gamut mapping fixes this, using the 3D lut.
2. Gamma - The beautiful desired gamma curve (say 2.2) versus the complete mess that is my projector, even after an "ISF" style calibration, which is just playing with the fairly crude colour controls on the projector (bias and gain per colour).
3. The PC Gamma control, which works in a different way to the "2.2" description above - it's not a curve, it's a straight line and you tweak it, and up is a lower gamma, and down is higher....and am I supposed to put this back to zero before calibration?
I was lost as to how to combine them all.
So, this is my workflow, as I understand:
1. Set PC gamma back to "flat".
2. Calibrate projector as best as I can with the internal controls, using colorimeter (I use HCFR software as the source and HCFR sensor).
3. The final calibration result is the input to yCMS/madVR. Generated by measuring the primary colours.
4. Input the values into madVR. Make sure the formats match.
5. Set my desired gamma in madVR (if it's not 2.2).
6. Whisky.
yCMS and madVR will then convert the video gamut to the projector gamut - pulling in the colours if they overrun, and remapping as necessary. AND equalise the response (gamma) to match the target.
Is that it?
Thanks
Mark
fairchild
8th June 2011, 09:35
Mark_A_W your workflow has gotten me a bit confused.
For your step 3. I've always used the primary gamut values from my calibration once it's all set correctly. Now the measurement is taken using the output of my blu-ray player which is what I use to calibrate my display.
So the primaries values should be those (from the calibrated values which were measured with my meter from my blu-ray player's output), or should I be measuring again and taking down values from MadVR's output from my video card?
Mark_A_W
8th June 2011, 11:11
leepery,you must be the only which use a crt display:)
Mark_A_W your workflow has gotten me a bit confused.
For your step 3. I've always used the primary gamut values from my calibration once it's all set correctly. Now the measurement is taken using the output of my blu-ray player which is what I use to calibrate my display.
So the primaries values should be those (from the calibrated values which were measured with my meter from my blu-ray player's output), or should I be measuring again and taking down values from MadVR's output from my video card?
I've edited it, I hope for clarity.
Yes, the final values from the calibration become the inputs to yCMS.
And I would use the PC as a source, as that's what you are watching, but it probably won't matter.
yesgrey
8th June 2011, 13:07
So, this is my workflow, as I understand:
1. Set PC gamma back to "flat".
2. Calibrate projector as best as I can with the internal controls, using colorimeter (I use HCFR software as the source and HCFR sensor).
3. The final calibration result is the input to yCMS/madVR. Generated by measuring the primary colours.
4. Input the values into madVR. Make sure the formats match.
5. Set my desired gamma in madVR (if it's not 2.2).
6. Whisky.
Nice guide. ;)
I will only add to 3 the grayscale measurements. Without it, both the gamut correction and your desired gamma will be less accurate.
Another thing is step 2. I'm not sure if it's a good idea to do it or not. If display's internal controls have a very good precision, then it might be good to use them, but in some cases might be preferable to only set the brightness and contrast and let all the rest to yCMS.
Mr Alpha
8th June 2011, 14:37
There is some auto detection, but it's really simple:
If the source width > 1024 or if the source height > 576 then I'm using BT.709 primaries. If the source height is exactly 576 I'm using EBU primaries. Otherwise I'm using SMPTE-C primaries.Wait, does this mean that all the PAL DVDs I've ripped and then cropped the black bars of will be using the wrong primaries?
pacemaker1000
8th June 2011, 14:40
hi i am not an expert at this but last night with the help of SamuriHL (thanks mate) i managed to get BD folder playback using MadVR/MPC/LAVSplitter.
BUT, after a clean install whenever i activate MadVR i get dreadful stutter when playing BD folders whereas everything else is fine!
switching back to EVR everything works OK!
CPU usage goes up about 40% when using MadVR over EVR but LAVSplitter is definately working as without it cpu is always 100%
I am sure this worked last night :confused:
madshi
8th June 2011, 14:55
Wait, does this mean that all the PAL DVDs I've ripped and then cropped the black bars of will be using the wrong primaries?
By default, yes. You can switch primaries, though, by using Ctrl+Alt+Shift+P.
Please note that it's quite usual to watch DVDs with wrong primaries. We've all been doing it for years. You'll have wrong primaries when using a standalone DVD player connected to your display, too. Or using EVR/VMR. Or using older madVR versions.
In a future madVR version I plan to improve the primaries detection by looking at the video bitstream.
kostik
8th June 2011, 15:34
Hey Madshi, wanted to ask you if you know whether ffdshow is going to support the 16bit and 10 bit colorspace formats? is it hard to implement? maybe you know of another decoder which supports these formats ? thanks.
madshi
8th June 2011, 15:40
@kostik, I've no idea if ffdshow will get support for higher bitdepth formats. leeperry is trying to find a programmer who implements that for him (for avisynth processing), we'll see. I don't know any other decoder who supports high bitdepth output. madVR seems to be first DirectShow filter with extensive high bitdepth support. At least this way there's no Hen and Egg problem.
pacemaker1000
8th June 2011, 16:05
further to my above post i have done further testing
dont know if its because i just upgraded from Catalyst 10.6 to 11.5 but i no longer seem to need LAVSplitter to get BD rips to play with EVR. cpu speed is just 20% (better than TMT5)
BUT:
just switching to MadVR causes M2TS files to stutter v badly. cpu goes up to about 60% which is about the normal increase when using MadVR anyway
please can someone suggest something as i want to use MadVR with its PQ and Refresh change to watch my rips instead of TMT
:thanks:
madshi
8th June 2011, 16:11
@pacemaker, madVR does not support DXVA yet, so it's clear that your CPU usage will be higher. When using EVR you'll probably have DXVA decoding.
The cause of the stutter can be either too slow CPU or too slow GPU. Press Ctrl+J and watch the queues. What is the state of the queues when you get stuttering?
SamuriHL
8th June 2011, 16:12
He's using PDVD11's Video Decoder set to HAM mode. So it should be ok. At the moment I'm not well enough to really think through the issue so hopefully someone else can help.
nevcairiel
8th June 2011, 16:18
If switching from EVR to madVR increases CPU usage from 20 to 60%, i'm quite certain there is DXVA involved.
sepheas
8th June 2011, 16:18
Do I still need to feed Madvr with NV12 or YV12 ? I don't get the story about the FourCC. Obviously, Madvr need a 4:2:0 format ?
nevcairiel
8th June 2011, 16:19
madVR can accept nearly every commonly used FourCC now, however for most videos you'll still want to make sure its 4:2:0, as thats what the videos are encoded with, and any conversion should be done by madVR.
pacemaker1000
8th June 2011, 16:20
@pacemaker, madVR does not support DXVA yet, so it's clear that your CPU usage will be higher. When using EVR you'll probably have DXVA decoding.
The cause of the stutter can be either too slow CPU or too slow GPU. Press Ctrl+J and watch the queues. What is the state of the queues when you get stuttering?
Hi madshi
all queues are 1-2/8 (whatever that means :))
cpu usage is acceptable, its a 2.7 dual core
madshi
8th June 2011, 16:22
If the decoder queue is also 1-2/8 then the decoder is running too slow, for whatever reason.
sepheas
8th June 2011, 16:23
madVR can accept nearly every commonly used FourCC now, however for most videos you'll still want to make sure its 4:2:0, as thats what the videos are encoded with, and any conversion should be done by madVR.
Ok. And if I put a YUV 4:2:2 format there's no conversion into RGB32 ?
janos666
8th June 2011, 16:25
Now I have a different kind of sync problem, this time it happens with 1080i50 materials. :(
madVR switches to interlaced 50Hz correctly, the TV says it's 1920x1080i 50Hz but madVR detects it as 74.1Hz and the result is unwatchable juddering.
log (http://www.mediafire.com/?gokz2mqax18hnuc)
However it could be a driver related problem this time. I tried to play a bit with a D3D game and everything happened at half speed (like a "bullet time" mode). The camera moved fast and motion was smooth but everything moved very slow in the game world.
pacemaker1000
8th June 2011, 16:35
If the decoder queue is also 1-2/8 then the decoder is running too slow, for whatever reason.
perhaps stutter was a bad choice or words as the problem is constant. almost like its playing 1 frame a second
like i said its only m2ts files. i tried loading the rip as a dvd and just the file
so annoying as everthying else is great :confused:
madshi
8th June 2011, 16:38
Ok. And if I put a YUV 4:2:2 format there's no conversion into RGB32 ?
madVR always converts to RGB.
Now I have a different kind of sync problem, this time it happens with 1080i50 materials. :(
madVR switches to interlaced 50Hz correctly, the TV says it's 1920x1080i 50Hz but madVR detects it as 74.1Hz and the result is unwatchable juddering.
log (http://www.mediafire.com/?gokz2mqax18hnuc)
However it could be a driver related problem this time. I tried to play a bit with a D3D game and everything happened at half speed (like a "bullet time" mode). The camera moved fast and motion was smooth but everything moved very slow in the game world.
Sounds like a driver problem to me. madVR's refresh rate detection is usually very reliable.
perhaps stutter was a bad choice or words as the problem is constant. almost like its playing 1 frame a second
like i said its only m2ts files. i tried loading the rip as a dvd and just the file
so annoying as everthying else is great :confused:
If the decoder queue is 1-2/8 then the decoder is running too slow, for whatever reason. Nothing else I can say here.
pacemaker1000
8th June 2011, 16:42
If the decoder queue is 1-2/8 then the decoder is running too slow, for whatever reason. Nothing else I can say here.
backbuffer queue id 0-1/3. all others as said
i am very inexperienced so can you point me in some direction like what decoder?
madshi
8th June 2011, 16:48
backbuffer queue id 0-1/3. all others as said
The other queues are limited by the decoder queue. If the decoder queue is 1-2/8 then the other queues can't get higher. So the decoder queue is the problem. Your decoder is too slow. I don't know that reason for that.
i am very inexperienced so can you point me in some direction like what decoder?
You need to use a decoder which is fast enough.
pacemaker1000
8th June 2011, 17:27
You need to use a decoder which is fast enough.
sorry but i am confused i thought MPC was the decoder?
or at least it was being sent to the gpu to do it
is there a flow chart that shows how it all works to help me understand whats going on?
SamuriHL
8th June 2011, 17:34
No, remember we set the Cyberlink Video Decoder in your external filters list yesterday? And then you set it to use HAM mode. That's your decoder.
Why don't you guys just try ffmpeg-mt to see what happens, at least rule it out.
pacemaker1000
8th June 2011, 17:49
No, remember we set the Cyberlink Video Decoder in your external filters list yesterday? And then you set it to use HAM mode. That's your decoder.
cant get it to stick in HAM mode. whenevr i check it always goes back to SW
Also when PDVD decoder is used i get a very blocky picture on mkv file using mpeg4
janos666
8th June 2011, 17:52
Sounds like a driver problem to me. madVR's refresh rate detection is usually very reliable.
Yes, I reinstalled the VGA driver and it works now.
No, remember we set the Cyberlink Video Decoder in your external filters list yesterday? And then you set it to use HAM mode. That's your decoder.
Have you checked it?
For any case it's good to set Catalyst to best perfomance and disable New Rendering Path options in madVR. And I hope OS is Win7? :)
cant get it to stick in HAM mode. whenevr i check it always goes back to SW
Seems like you're under XP.
pacemaker1000
8th June 2011, 18:17
Thanks Guys
Qaq
Yes i am using Win7
i just uninstalled LAVSplitter and it makes no difference which i would think proves HAM mode is not working?
also proved that PDVD decoder is the cause of the blocky problem with my mkv file by turning that off
any other decoder i can try to set as preffered in mpc. can i use one from my TMT5?
or
any work around for the HAM problem?
mindbomb
8th June 2011, 19:19
you have to change it to HAM mode while the filter is loaded, aka, while a video is actually playing.
Also, I gave up on using HAM, never got good performance out of it.
pacemaker1000
8th June 2011, 19:40
you have to change it to HAM mode while the filter is loaded, aka, while a video is actually playing.
Also, I gave up on using HAM, never got good performance out of it.
thanks, tried that
so what decoder do people use for m2ts playback that fully supports MadVR?
Uhhh, how about ffdshow (ffmpeg-mt).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.