View Full Version : madVR - high quality video renderer (GPU assisted)
cyberlolo
21st February 2010, 19:06
I know, but it's still that value that's used for calculating the blackness level of the black bars in YV12.
Ok, I can give it a try, but where is that setting in ffdshow control panel?
cyberbeing
21st February 2010, 19:44
@TripleH
You should go for the 5670 instead since the HTPC feature of the 5570 aren't fully enabled and of lower quality. See:
http://www.anandtech.com/video/showdoc.aspx?i=3738&p=3
*not that it really matters if you ONLY use madvr
Also it appears that you can actually buy a displayport wielding Sapphire 5670 for $90 which is virtually the same price as a 5570 ($85), which makes it a much better price/performance value and a nice little upgrade over your 4670.
yesgrey
21st February 2010, 20:00
Ok, I can give it a try, but where is that setting in ffdshow control panel?
Output->RGB Conversion
cyberlolo
21st February 2010, 22:03
Output->RGB Conversion
Doesn't work. We'll have to wait for the new version of cr3dlut...
Thank you anyway!
jmartinr
21st February 2010, 22:45
Doesn't work. We'll have to wait for the new version of cr3dlut...
Thank you anyway!
Just retried to be sure.
Of course you have to resize to your displays aspect ratio in ffdshow (with "process aspect ratio internally" on) to generate black bars. Then after you've changed the "output-RGB Conversion-Input Levels" to full range, you have to restart the player. The updating of the black bars is a bit quirky. (You can adjust some aspects of the bars under "resize & aspect - Borders".
somy
22nd February 2010, 12:30
You adjust GAMMA at the source. You can adjust it in the ATi/Nvidia settings, by colour.
One day, I hope to do this adjustment using the madVR 3DLut.
And yes, I do care about wtw, which is one reason why I run full range and set my brightness on the display so that black is at 16ish (it's complex, the black level depends on the average picture level...).
(And the other reason to run full range unmolested 0-255 with Black at 16 and white at 235 is to avoid banding due to the evil levels expansion.)
I agree with you. However, with an ATI card, no matter which pixel format you choose, it will always compress RGB 0-255 to 16-235. The only way I solved this is to use YCrCb 4:4:4 output and overlay renderer. If you have a HD4000, this should do the trick for you, however if you use HD5000, there are problems with both YUC and RGB output:
YCrCb: yep, you get BTB and WTW, but the colour is wrong (ATI did RGB/YUC conversion producing wrong colour which is different from HD4000 YUC is output untouched IMO).
RGB: The luma is wrong, and it produces more banding than HD4000. The luma output is strange - 16-232 according to my measurment.
somy
22nd February 2010, 12:31
In short IMO:
HD4000 output YUC with no YUC/RGB conversion and luma resampling
HD5000 output YUC with WRONG YUC/RGB conversion and luma resampling looks ugly.
cyberlolo
22nd February 2010, 18:33
I agree with you. However, with an ATI card, no matter which pixel format you choose, it will always compress RGB 0-255 to 16-235. The only way I solved this is to use YCrCb 4:4:4 output and overlay renderer. If you have a HD4000, this should do the trick for you, however if you use HD5000, there are problems with both YUC and RGB output:
YCrCb: yep, you get BTB and WTW, but the colour is wrong (ATI did RGB/YUC conversion producing wrong colour which is different from HD4000 YUC is output untouched IMO).
RGB: The luma is wrong, and it produces more banding than HD4000. The luma output is strange - 16-232 according to my measurment.
Nope, that's not correct. I have an ATI HD4850, I'm using Full RGB and I have BTB/WTW. And I had BTB/WTW when using YCrCb 4:2:2 too, so maybe it's an issue with your card.
cyberlolo
22nd February 2010, 18:34
FINALLY!!
Well, as yesgrey3 said, the ffdshow levels filter did the trick!
How? First to say, there's no need to change to TV Levels in madVR. I thought madVR clipped all values between 0-16 and 235-255 with PC Levels, but it doesn't! What it's really doing is adjusting brightness and contrast internally to not show 0-16 and 235-255 values, but really they're there. And I've realized that using the ffdshow levels filter.
The first time I tried it, it didn't work because I used the solution given by cyberbeing:
Input Values 16 255
Output Values 0 255
Using that values, it doesn't work. But if I set:
Input Values 0 255
Output Values 0 240
then the top white increases and the hidden white values over 235 are shown. (I used 240 as top value in levels filter as it gives me a real top white value at 248, as yesgrey3 adviced).
Yes, this solution it's not as good as doing it with cr3dlut, but while yesgrey3 releases his new version, I think I'm fine with this, as now I'm using the best renderer (madVR), having 0-16 as total black, preserving wtw up to 248, and having black top and bottom bars when needed...
Just retried to be sure.
Of course you have to resize to your displays aspect ratio in ffdshow (with "process aspect ratio internally" on) to generate black bars. Then after you've changed the "output-RGB Conversion-Input Levels" to full range, you have to restart the player. The updating of the black bars is a bit quirky. (You can adjust some aspects of the bars under "resize & aspect - Borders".
Yes, that also works indeed. But I still prefer the solution I wrote before, as with that I avoid using another extra filter (resize&border) that can affect the PQ.
Or do you people think it's better to set madVR to TV Levels and use ffdshow's Levels and Resize filters?
yesgrey
22nd February 2010, 19:08
The first time I tried it, it didn't work because I used the solution given by cyberbeing:
Input Values 16 255
Output Values 0 255
Using that values, it doesn't work. But if I set:
Input Values 0 255
Output Values 0 240
then the top white increases and the hidden white values over 235 are shown. (I used 240 as top value in levels filter as it gives me a real top white value at 248, as yesgrey3 adviced).
I think you are still doing it wrong...
You should be setting Levels filter like this:
1) check the Full range box (when unchecked, Levels use only 16-235 input values)
2) Set input to 16 245
3) Set output to 0 255
4) Set madVR to TV levels
Let me know the result...
cyberlolo
22nd February 2010, 19:38
I think you are still doing it wrong...
You should be setting Levels filter like this:
1) check the Full range box (when unchecked, Levels use only 16-235 input values)
2) Set input to 16 245
3) Set output to 0 255
4) Set madVR to TV levels
Let me know the result...
Ok, with that settings I get a perfect 16-245 calibration image (0-16 are all total black and top white is at 245), but then the top and bottom bars are showed grey instead of black, just as I showed you in this post: http://forum.doom9.org/showpost.php?p=1375859&postcount=2186
I can fix that issue using the ffdshow's "Resize&Aspect" filter enabled, as jmartinr said, but then I don't know if that filter is messing with the PQ somehow. Do you know it? Here is the screenshot of how I have it configured:
http://www.gandario.com/cal_img/ffdshow_resize_aspect.jpg
yesgrey
22nd February 2010, 20:04
Ok, with that settings I get a perfect 16-245 calibration image (0-16 are all total black and top white is at 245), but then the top and bottom bars are showed grey instead of black
I've tested it and the black bars are black.
Please post a pic of your ffdshow Levels settings. Also, which media player are you using?
cyberlolo
22nd February 2010, 21:58
You were right, it was my mistake!
I'm using Media Player Classic - Home Cinema, but it wasn't a player problem, it was a filter order problem. On the external filters screen, if I place ffdshow video decoder in the first place, I have grey bars, but if I place the ffdshow video decoder in the third position (after CoreAVC decoder and directvobsub) or below that, then the bars are black!
So now I have madVR set to TV Levels (so there's no conversion), and using only ffdshow levels filter the way you told me (full range box checked, input set to 16 245, and output set to 0 255), I finally get what I want, (0-16 as total black, preserving wtw up to 245, and having black top and bottom bars when needed), BUT...
But now another problem has come in: banding. If I enable the ffdshow's levels filter, as I said, I have a correct 16-245 calibration, but I've lost smoothness in the greyramp. I mean, with levels filter disabled, the ramp goes from white to black quite smooth, but if I enable it, I can clearly see the vertical lines delimiting the growing bars. I think this can't be solved, as ffdshow's levels filter works in 8-bit depth, and that is causing banding. Am I right?
yesgrey3, as you can see, I'm a bit desperate with this problem... couldn't you release a beta version of your new cr3dlut that allows us to solve this issue without losing image quality?
Here is a screenshot with levels disabled:
http://www.gandario.com/cal_img/smooth_ramp.jpg
And here with levels enabled:
http://www.gandario.com/cal_img/notsmooth_ramp.jpg
Mark_A_W
23rd February 2010, 00:07
I agree with you. However, with an ATI card, no matter which pixel format you choose, it will always compress RGB 0-255 to 16-235. The only way I solved this is to use YCrCb 4:4:4 output and overlay renderer. If you have a HD4000, this should do the trick for you, however if you use HD5000, there are problems with both YUC and RGB output:
YCrCb: yep, you get BTB and WTW, but the colour is wrong (ATI did RGB/YUC conversion producing wrong colour which is different from HD4000 YUC is output untouched IMO).
RGB: The luma is wrong, and it produces more banding than HD4000. The luma output is strange - 16-232 according to my measurment.
Ummm, the answer to all that is to avoid HDMI like the plague.
If you use a non-ATI DVI to HDMI adapter I think you avoid all that rubbish, you certainly do if you run VGA.
yesgrey
23rd February 2010, 00:32
But now another problem has come in: banding.
Yes, you're right, I forgot about it...
yesgrey3, as you can see, I'm a bit desperate with this problem... couldn't you release a beta version of your new cr3dlut that allows us to solve this issue without losing image quality?
It will take some time, because I have made several changes, and currently I don't have much time for looking at it...
cyberlolo
23rd February 2010, 01:52
Yes, you're right, I forgot about it...
It will take some time, because I have made several changes, and currently I don't have much time for looking at it...
Of course, take your time. Just asked if it was possible a sooner beta version, but if it's not, then we'll wait until you're able to release it.
Thanks for your help anyway. And please, if you think about any other way (not ffdshow's levels filter) to achieve what I'm trying to, please let me know.
yesgrey
23rd February 2010, 02:00
if you think about any other way (not ffdshow's levels filter) to achieve what I'm trying to, please let me know.
The other way would be converting to RGB with ffdshow, but then you would not be able to use madVR...
cyberlolo
23rd February 2010, 11:21
The other way would be converting to RGB with ffdshow, but then you would not be able to use madVR...
I know. Before using madVR, I was using evr-cp and I had 16-245, but I want to use madVR for it's higher PQ. So the solution, if exists, has to be using madVR.
How about setting madVR to TV Levels, and then use the ATI Catalyst brightness/contrast/gamma controls to output 16-245? I mean, not the Avivo Video controls, but the general ones. What do you think of this solution?
yesgrey
23rd February 2010, 12:26
How about setting madVR to TV Levels, and then use the ATI Catalyst brightness/contrast/gamma controls to output 16-245? I mean, not the Avivo Video controls, but the general ones. What do you think of this solution?
That might work, though the quality probably will not be very high...
I still think your better option would be the Levels filter. The banding should not be noticeable in movies...
somy
23rd February 2010, 12:41
Nope, that's not correct. I have an ATI HD4850, I'm using Full RGB and I have BTB/WTW. And I had BTB/WTW when using YCrCb 4:2:2 too, so maybe it's an issue with your card.
WTW/BTB doesn't show that you have 0-255 output without any luma conversion. It's definately possible to output WTW and BTB from your decoder and the graphics card compress them to 16-235
somy
23rd February 2010, 12:50
To be more precise, what I'm looking for is true 0-255 output with both WTW and BTB with no luma conversion.
But I found that my graphics card ATI HD5770 only output 16-235 if I choose RGB pixel format (with or without WTW/BTB), so the luma is compressed by ATI.
cyberlolo
23rd February 2010, 12:51
To be more precise, what I'm looking for is true 0-255 output with both WTW and BTB with no luma conversion.
But I found that my graphics card ATI HD5770 only output 16-235 if I choose RGB pixel format (with or without WTW/BTB), so the luma is compressed by ATI.
And how do you know that your card outputs 16-235 if you're seeing BTB/WTW?
Are you saying that it's impossible to use any other renderer than overlay with an ATI Card without having luma compression??? What if I use YCrCb 4:4:4 output and madVR renderer??
cyberlolo
23rd February 2010, 12:51
That might work, though the quality probably will not be very high...
I still think your better option would be the Levels filter. The banding should not be noticeable in movies...
Ok, I discard the ATI Catalyst controls solution then. So we're now in a 2 option decision:
1) Set madVR to PC Levels without using ffdshow's levels filter. That way, I won't have banding, but the output will be calibrated at 16-235, so I'd lose wtw data.
2) Set madVR to TV Levels, use ffdshow's Levels Filter to have an output calibrated at 16-245 (preserving wtw), but with banding (is it true that it's not noticeable in movies???)
Which option is better??
somy
23rd February 2010, 12:53
Ummm, the answer to all that is to avoid HDMI like the plague.
If you use a non-ATI DVI to HDMI adapter I think you avoid all that rubbish, you certainly do if you run VGA.
When I had my old HD4850, I succeded in outputting 0-255 with BTB and WTW, and my luma ameter shows the result is perfect - meaning no conversion is introduced by graphics card. See my thread:
http://forum.doom9.org/showthread.php?t=152634
somy
23rd February 2010, 12:57
Ok, I discard the ATI Catalyst controls solution then. So we're now in a 2 option decision:
1) Set madVR to PC Levels without using ffdshow's levels filter. That way, I won't have banding, but the output will be calibrated at 16-235, so I'd lose wtw data.
2) Set madVR to TV Levels, use ffdshow's Levels Filter to have an output calibrated at 16-245 (preserving wtw), but with banding (is it true that it's not noticeable in movies???)
Which option is better??
Let me make the long story shorter:
1. HTPC outputs 16-235 but contains BTB/WTW (0-255 compressed to 16-235)
2. HTPC outputs 16-235 with NO BTB/WTW and grey black/washed white(add white and black to 16-255 to make it 0-255 and then compressed to 16-255, this is evil. If you remember ATI CCC 9.12 fixed this problem for PowerDVD, before you always get grey black/white)
3. HTPC outputs 16-235 with NO BTB/WTW (16-235 expanded to 0-255 then compressed to 16-235, typical if you choose RGB output)
4. HTPC outputs 0-255 with BTB/WTW (IMO, this is the best option. It outputs everything from the video without luma conversion and your display decides if BTB and WTW should be cut)
5. HTPC outputs 0-255 with NO BTB/WTW and 16-235 is expanded to 0-255 (16-235 expanded to 0-255, no further compression, I have never seen such case)
6. HTPC outputs 0-255 with NO BTB/WTW and 16-235 is NOT expanded to 0-255 (add black and white to 16-235, no further compression, I have never seen such case)
See my discussion here:
http://www.avsforum.com/avs-vb/showthread.php?t=1179134&page=174
When I choose RGB with my ATI 4850/5770, it always outputs 16-235 with or without BTB/WTW.
somy
23rd February 2010, 12:59
And how do you know that your card outputs 16-235 if you're seeing BTB/WTW?
Are you saying that it's impossible to use any other renderer than overlay with an ATI Card without having luma compression??? What if I use YCrCb 4:4:4 output and madVR renderer??
My projector Panasonic PT-AE3000 comes with internal colour and luma meter, so that I can check the input signal pixel by pixel basically.
somy
23rd February 2010, 13:00
And how do you know that your card outputs 16-235 if you're seeing BTB/WTW?
Are you saying that it's impossible to use any other renderer than overlay with an ATI Card without having luma compression??? What if I use YCrCb 4:4:4 output and madVR renderer??
It's my case, some people get 0-255 when choosing RGB full. But for me, RGB full looks exactly the same as RGB limited.
cyberlolo
23rd February 2010, 13:13
It's my case, some people get 0-255 when choosing RGB full. But for me, RGB full looks exactly the same as RGB limited.
And how can I know if it's my case too? With RGB Full I'm getting BTB/WTW, and with YCrCB 4:4:4 I get THE SAME BTB/WTW (I'm using a test pattern who shows the 0-20 and 230-254 levels). So how can I see the difference? I'm almost sure that Full RGB outputs uncompressed 0-255 with HD4850 and Catalyst 9.12...
Mark_A_W
23rd February 2010, 13:48
I have found that using either the video driver Gamma or Powerstrip gamma will not cause banding, as long as you use a linear curve. In powerstrip in particular you will get banding if you do a non linear gamma curve (known issue with Powerstrip gamma, it's 8 bit).
yesgrey
23rd February 2010, 13:59
Which option is better??
Go with 2).
is it true that it's not noticeable in movies???
Yes, it would be very hard, because in real world footage the film grain acts like dithering, avoiding banding. Only in computer generated images with perfect single color bars you can notice it.;)
somy
23rd February 2010, 14:01
I have found that using either the video driver Gamma or Powerstrip gamma will not cause banding, as long as you use a linear curve. In powerstrip in particular you will get banding if you do a non linear gamma curve (known issue with Powerstrip gamma, it's 8 bit).
No matter you get banding or not, converting from 16-235 to 0-255 will introduce artificial luma IMO, so it's not optimal.
cyberlolo
23rd February 2010, 14:09
Go with 2).
Yes, it would be very hard, because in real world footage the film grain acts like dithering, avoiding banding. Only in computer generated images with perfect single color bars you can notice it.;)
Ok, thank you yesgrey3. You're being of a great help to me. I'll follow your advice and will be using option 2 until you release your new version of cr3dlut (which I guess it will not introduce banding, will it?).
We'll be patient, but don't forget us, please, and release it as soon as you can! :cool:
:thanks:
cyberlolo
24th February 2010, 18:04
Well, after using ffdshow's levels filter yesterday and today, I've watched Star Wars The Revenge of the Sith, and episode 8 of Band of Brothers, both BD-Rip at 1080p. And while Band of Brothers was perfect, I could see some artifcats (banding) in some scenes of Star Wars. Those artifacts disappeared when I disabled levels filter (just to test it), so they were caused because of it.
yesgrey, do you have banding using your new cr3dlut to calibrate at 16-245? In other words, can we expect not having banding when you release your new version and we can calibrate with it?
yesgrey
25th February 2010, 00:13
can we expect not having banding when you release your new version and we can calibrate with it?
Yes, you can.
cyberlolo
25th February 2010, 01:24
Yes, you can.
Lol, almost like the Obama's slogan!
We'll be waiting (a bit more impatiently now) for that new version. Thanks again!
yesgrey
25th February 2010, 01:44
Lol, almost like the Obama's slogan!
It was not intentional.
I have simply answered "Yes.", but any message has to have at least 5 characters, so I added the "you can" words. That's the most funny about it...:)
Lethal Jelly
25th February 2010, 18:13
does anybody know whether the core i3-530's intergrated graphics will be able to handle madVR? planning a mITX build. Thanks a lot!
Mangix
26th February 2010, 01:01
it won't
Hypernova
26th February 2010, 11:15
does anybody know whether the core i3-530's intergrated graphics will be able to handle madVR? planning a mITX build. Thanks a lot!
I would say generally no, but it also depends on what scaling do you want to use and your display resolution, I guess. In my experience, 3870 can't handle Spline64 on 2560x1600, but 5770 does, for example. So if your resolution isn't too high, or you're happy with bilinear/bicubic, maybe.
namaiki
26th February 2010, 11:30
does anybody know whether the core i3-530's intergrated graphics will be able to handle madVR? planning a mITX build. Thanks a lot!
Do the new Intel IGPs support non powe of 2 textures?
cyberlolo
26th February 2010, 15:59
By the way, does anybody know if madshi continues with the development of this renderer?
pirlouy
26th February 2010, 21:12
From his last post, he's still working on it. But he has not respected Christmas gift ! :D
cyberlolo
26th February 2010, 21:39
From his last post, he's still working on it. But he has not respected Christmas gift ! :D
Yes, but his last post was more than a month ago, and since then we haven't had any news from him. That's why I'm asking...
cyberlolo
26th February 2010, 23:13
yesgrey3, I need some more help, please.
What about this solution for my levels issue? Output Full RGB from the card (or Limited, there's no difference), set madVR to TV Levels (no conversion), but set my TV input to expect RGB Limited (16-235), so let the display make the conversion instead of ffdshow's levels filter. Then, ok, I'll have a compressed desktop, but for video, that would work, wouldn't it? I've checked it and lowering a bit the contrast in CCC, you get WTW too and without banding. What do you think?
yesgrey
27th February 2010, 04:22
What do you think?
Use what looks better to you until you could use madVR with a 3DLUT for it, which should be the preferable option...
cyberlolo
27th February 2010, 11:37
Use what looks better to you until you could use madVR with a 3DLUT for it, which should be the preferable option...
I agree, but I need your new version of cr3dlut to do so... :D
Ok, we'll keep waiting. Thanks again!
BTW, in this thread (http://www.avsforum.com/avs-vb/showpost.php?p=18215124&postcount=5558), sotti has made some tests with the YCbCr 4:4:4 output, that seems to show that YCbCr is no converted into RGB and then back to YCbCr in ATI cards, as the color accuracy matches the one achieved by a standalone Blu-Ray player.
Does this mean that the optimal pixel format for ATI cards is YCbCr instead of RGB as we were thinking until now?
yesgrey
27th February 2010, 16:08
Does this mean that the optimal pixel format for ATI cards is YCbCr instead of RGB as we were thinking until now?
If you want your HTPC to work simply as a Blu-ray player, without performing any corrections to the displayed image, then you should output as YCbCr. If you want to correct your display's flaws using your HTPC, you should output as RGB.
cyberlolo
27th February 2010, 16:19
If you want your HTPC to work simply as a Blu-ray player, without performing any corrections to the displayed image, then you should output as YCbCr. If you want to correct your display's flaws using your HTPC, you should output as RGB.
From what you say, I think you're implying that RGB is still a better choice, aren't you?
yesgrey
27th February 2010, 16:41
From what you say, I think you're implying that RGB is still a better choice, aren't you?
No. It really depends on what you need. If you have an external video processor to perform all the corrections, you will be better outputting in YCbCr.
I don't have one, and probably never will, so my personal choice will always be RGB.
cyberlolo
27th February 2010, 16:48
No. It really depends on what you need. If you have an external video processor to perform all the corrections, you will be better outputting in YCbCr.
I don't have one, and probably never will, so my personal choice will always be RGB.
Nop, I have the HTPC connected directly to the TV by HDMI. So in my case, it's better Full RGB too. Thanks again!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.