View Full Version : FAQ: How to correct luminance levels
clsid
23rd December 2008, 17:38
Wrong levels is a common playback problem. It is a subject that gets discussed over and over again. The purpose of this topic is to centralize the collective knowledge of the Doom9 community regarding this subject. Everyone please share you knowledge. I'll update the information below to include your wisdom.
What are luminance levels?
Digital video is typically encoded in a YUV (http://msdn.microsoft.com/en-us/library/bb530104(VS.85).aspx) format. YUV is a family of color spaces (YV12, YUY2, etc), that encode color information (chroma) separately from brightness information (luma).
There are two standards for the encoding of luma. For standard-definition TV the standard is BT.601. For high-definition TV the standard is BT.709.
Luma values fall in a range. Unfortunately this range is not always the same. There are two commonly used ranges: 0-255 (aka PC levels) and 16-235 (aka TV levels).
When converting a YUV colorspace to RGB, the correct standard (BT.601 or BT.709) must be used and the correct range (TV or PC levels) must be used.
The above is not always done correctly. It can go wrong with certain combinations of video renderers, video resolutions, and graphics driver settings.
How can I see if the level is wrong?
The video looks washed out and the colors are not vivid. Black is displayed as dark gray. White is displayed as light gray.
The opposite is also possible, but more rare. In that case dark colors are displayed too dark, and light colors are displayed too bright.
Which combinations give wrong levels?
Many factors play a role, so it is not possible to give a list of combinations that always gives wrong levels for everyone. In general, just trust your eyes.
Levels are usually wrong when using the VMR-9 or EVR CP renderers. For most people only when playing low resolution videos.
How can I correct the levels?
The methods below assume that you are outputting the video to a PC monitor or LCD TV, meaning a device that needs full range luminance (0-255). If you are using a CRT TV, then read the comments at methods 2 and 3.
Method #1: Adjusting graphics driver settings
NVIDIA
Since version 177.84, the NVIDIA drivers have an option for configuring the luma range.
You can find the option here:
NVIDIA Control Panel -> Video & Television -> Adjust video color settings -> Select "With the NVIDIA settings" -> Advanced tab -> Set Dynamic Range to "Full (0-255)".
screenshot (http://img254.imageshack.us/img254/5002/sshot1pr2.jpg)
ATI
The ATI driver requires a Registry tweak. With the tweak applied, the driver will convert TV levels to PC levels for SD resolution video. It already does that by default for HD video.
Several ATI driver tweaks can be found here:
http://www.avsforum.com/avs-vb/showpost.php?p=11622510&postcount=2011
Te UseBT601CSC setting is the one related to luminance levels.
Note: the tweak only works with driver version 9.1 and older. ATI removed it in 9.2 and newer.
Method #2: Convert to RGB32 with ffdshow
Forcing ffdshow to output RGB32 can help prevent luminance level issues. Downside of this method is that doing this conversion in software increases CPU usage.
To force RGB32 output in ffdshow, you should uncheck all colorspaces except RGB32 on the Output page in ffdshow configuration. It is also recommended to enable "High quality YV12 to RGB conversion".
There are additional options on the RGB conversion page. Recent versions of ffdshow will automatically use the correct settings, so you don't need to worry about them.
If you are outputting to a CRT TV or projector (or any other device that expects TV levels as input), then you need to adjust the setting under Output levels on the RGB conversion page. It is configured by default to output to a computer monitor. LCD TVs usually expect PC levels, just like a computer monitor. Some TVs have an option to choose between Full and Reduced range.
Tip: the Profiles/Presets feature in ffdshow can be used to create different sets of settings. You can even auto-load profiles based on conditions like resolution of video format. You could for example create a profile specifically for HD resolution video, and use the 'standard' profile for low resolution videos.
Method #3: Levels filter in ffdshow video decoder
ffdshow has a special filter for adjusting (luminance) levels. To correct wrong luminance levels for a PC monitor or LCD TV you usually need to convert to PC levels. To correct wrong levels for a CRT TV, you usually need to convert to TV levels.
To convert from TV levels to PC levels use 16-235 as input range and 0-255 as output range. To convert from PC levels to TV levels use 0-255 as input range and 16-235 as output range.
Method #4: Pixelshader in Media Player Classic
A pixelshader is a small program that runs on your graphics card and processes some graphic data. In this case each frame of your video.
Media Player Classic has a special pixelshader called "16-235 -> 0-255" for converting TV levels to PC levels. This shader only adjusts luma values.
There also is a shader called "BT.601 -> BT.709". That one adjusts chroma values.
Some requirements for the pixelshaders in MPC:
- You need to use a compatible video renderer: VMR-7 (renderless), VMR-9 (renderless), or EVR Custom Presenter.
- Surface setting must be set to "3D surfaces".
- It requires some DirectX components that are not included with a default Windows installation. Run the DirectX Web Installer (http://www.microsoft.com/downloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en) to get the required DirectX updates.
Method #5: Use AviSynth script in ffdshow video decoder
Adjusting levels or conversion to RGB32 can also be done though an AviSynth script in ffdshow. This is for advanced users. Seach the AviSynth subforum if you want to learn more about writing AviSynth scripts.
Method #6: Monitor settings
Some monitors can be calibrated to assume a certain luminance level as input.
Method #7: Resize in software
If wrong levels occur only with SD video resolutions and not with high resolutions, then another solution would be to resize the video in software. For example ffdshow can be used for resizing the video.
Test files
Here are some nice test clips to test your setup:
Test clips (http://forum.doom9.org/showthread.php?p=1230259#post1230259)
(thanks to littleD for making them)
Some more advanced test clips can be found here:
http://www.avsforum.com/avs-vb/showthread.php?t=948496
(get the MP4 ones)
kutjong
24th December 2008, 00:06
You can't use MPC shaders with Haali Renderer, and you won't even need that for levels conversion since both colorspace and luma range settings are available in the renderer's properties.
HR also has auto setting for colorspace in which it assumes BT.601 for everything w<1280 & h<720 and BT.709 for the opposite.
Anima123
24th December 2008, 11:08
Haali's renderer is also based on shaders, thus it will need the corresponding DirectX components to make it work right. I'd like to know how to get those components added with Windows Server 2008 64 bit.
clsid
24th December 2008, 14:11
Run the DirectX web installer.
Kado
24th December 2008, 19:28
@kutjong
Not everybody (like me) uses Haali renderer. I use EVR CP because I prefer to use DXVA on supported videos, also seems like that with Haali renderer the subtitles resolution is limited to 1024x768 using MPC-HC. Nvidia has provided a way on the nvidia control panel to change the luma range so you don't have to use the shaders. Also that other shader for YV12 blockiness is not needed (at least for me) if I provide YV12 color space to the GPU.
This is a nice tutorial to elucidate the more novice people, thanks clsid.
And Merry Xmas everyone! :)
clsid
24th December 2008, 20:03
The tutorial is still a work in progress.
Kado, could you (or somebody else) with a NVIDIA card post some more details about that option? The name of the option, its location in the control panel, etc. Also which driver versions have that option (I remember reading that it was recently added). Then I will add that info to the tutorial.
With ATI cards and EVR CP, the levels are only wrong for SD video. So I am planning to add a second version of the levels shader to MPC, one that only processes SD video. Does anyone know what parameters the ATI driver uses to determine whether video is HD or not? Is it simply "height >= 720", or does it also check the width?
clsid
24th December 2008, 22:13
it's just vrm7 and 9 that **** it up. Don't use those and problem solved.
Not true. EVR CP has problems as well.
It sometimes is not possible to use other renderers. For example DXVA requires using VMR/EVR renderers.
Mangix
24th December 2008, 22:22
Kado, could you (or somebody else) with a NVIDIA card post some more details about that option? The name of the option, its location in the control panel, etc. Also which driver versions have that option (I remember reading that it was recently added). Then I will add that info to the tutorial.
http://img254.imageshack.us/img254/5002/sshot1pr2.jpg
screenshot should explain itself. the option has an effect over VMR9 and EVR to my knowledge. haven't tested it with VMR7 or Overlay(colors are always wrong with overlay on my system).
also, i believe driver version 177.84 introduced this option. the version in the screenshot is 180.84.
ACrowley
26th December 2008, 12:56
You can fix the TV-PC Levels on a ATI Card (Avivo capable GPUs=Radeon 2xxx,3xxx4xxx) constantly.
"The "UseBT601CSC"="1" driver expands SD levels, the same way as HD is expanded automatically by the drivers, giving you 0-255, aka PC levels."
Just use DXVAChecker. Goto Processor Device/Rightclick/Open Video Acceleration Settings /and enable "Use BT601"
Now you have always PC Levels
Or you can add the Registry Entry by yourslef in :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{F332569B-6A9D-4078-8CF4-7E76147F726B}\0001\UMD\DXVA
Just add
UseBT601CSC= 1
clsid
26th December 2008, 14:48
Doesn't the registry key differ on different computers?
cca
26th December 2008, 16:59
Doesn't the registry key differ on different computers?
That is correct, a tool like DXVAchecker is a better option to change the registry setting than manually change the registry.
Yong
26th December 2008, 18:16
Just ran a quick test on vmr7/9/evr on windows xp + cat 8.12, only VMR7 windowed mode give me correct level without tweaking anything.
How about method 7, resize video? eg resize if video vertical resolution is smaller than 720 by using ffdshow.
clsid
26th December 2008, 20:40
Just ran a quick test on vmr7/9/evr on windows xp + cat 8.12, only VMR7 windowed mode give me correct level without tweaking anything.
How about method 7, resize video? eg resize if video vertical resolution is smaller than 720 by using ffdshow.
Are the levels wrong for both SD and HD video?
littleD
27th December 2008, 11:20
There is nothing advanced in Method #5: Use AviSynth script in ffdshow video decoder.
Just paste ConvertToRGB32(matrix="rec601") for SD or ConvertToRGB32(matrix="rec709") for HD in ffdshow's avisynth configuration. For switching between them, best option is to save all presets in one directory (thouse will be avs scripts).
Of course, avisyth must be installed.
Yong
27th December 2008, 16:07
Are the levels wrong for both SD and HD video?
Nope, only SD, the renderers will show correct level as long as the output video width is bigger than 720.
Btw i think using DXVAchecker to enable "UseBT601CSC" really works for me, but user might have to re-enable it again if re/install newer version of catalyst.
cca
27th December 2008, 16:58
Nope, only SD, the renderers will show correct level as long as the output video width is bigger than 720.
Btw i think using DXVAchecker to enable "UseBT601CSC" really works for me, but user might have to re-enable it again if re/install newer version of catalyst.
Regarding this, I enabled it one time and never again needed to re-enable it, but it may be different in other Windows version.
littleD
31st December 2008, 15:30
I converted test videos from http://www.geocities.com/anothrosko/vtc.html to TV levels in both HD and SD resolution, so anyone can set correct config based on them. I hope you will enjoy it ;)
Please confirm if they really have correct levels.
cbemoore
4th January 2009, 16:41
I converted test videos from http://www.geocities.com/anothrosko/vtc.html to TV levels in both HD and SD resolution, so anyone can set correct config based on them. I hope you will enjoy it ;)
Please confirm if they really have correct levels.
Now I'm really confused!
Using the original videos in the link you provided, my black levels are too dark (everything below 26 is BTB) and my white levels are perfect (everything above 235 is WTW).
But using your converted test videos, my black levels are pretty close (everything below 12 is BTB) and my white levels are too dark (I can see everything up to 255, so I have no WTW). I get identical results with both your HD and SD versions.
So which of the test patterns are correct? And how should I calibrate my screen?
littleD
4th January 2009, 21:28
Please read again hints at clip videos on that site. They apply to my converted videos. The author just picked wrong level range - PC, i used common - TV.
In Ideal case u should see all bars on clips, except the maximum and minimum. If u cant see bars above 235 on white or hardly see any black bars, then u should change config.
And do not bother clips from site. Use my clips as reference.
littleD
4th January 2009, 21:35
For calibrating the screen use gamma correction.
Gamma for crt is about 2.2 - 2.5
chros
6th January 2009, 16:29
Is there any registry entry for Nvidia cards for the "full range"?
Because my setup doesn't want to save this setting ...
I have find that there are values which are saved under:
HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:0
HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:1
I've got only 2 values:
AdjustVideoColorSettingsLastSelectedGammaState
AdjustVideoColorSettingsLastSelectedRGBLockStatus
Can someone see which value correspond to this?
Thanks
Setup: fresh WinXP SP3, latest whql driver, 9600GT
tetsuo55
6th January 2009, 18:56
I hope we can find a complete solution to the problem:
-The target is always going to be RGB32
We need to find a way to (as losslessly as possible) convert from Any colorspace, using the correct luminance and RGB primaries to RGB32.
This should result in the best possible image.
On top of this it has to be possible to convert to specified target RGB primaries (for those users that know the actual primaries of their display)
This can be a set-and-forget type of thing because the system mentioned first is already taking care of all the different colorspaces
madshi
6th January 2009, 20:45
Good thread!
A little bit of nitpicking, though:
Which combinations give wrong levels?
Many factors play a role, so it is not possible to give a list of combinations that always gives wrong levels for everyone. Below is an (incomplete) list of situations in which wrong levels are likely to occur. But in general, just trust your eyes.
Windows Vista + EVR CP + SD video + ATI
Windows Vista + EVR CP + SD video + NVIDIA
Windows XP + VMR-7 (renderless) + SD video + ATI
Windows XP + VMR-9 (windowed) + SD video + ATI
Windows XP + VMR-9 (renderless) + SD video + ATI
Windows XP + EVR + SD video + ATI
Windows XP + EVR CP + SD video + ATI
(if you have additions to this list, then please post them)
Ehm. This is from the point of view of people who need PC levels. For me ATI SD levels are correct, while ATI HD levels are wrong.
How can I correct the levels?
Method #1: Adjusting graphics driver settings
ATI
The ATI driver requires a Registry tweak. With the tweak applied, the driver will convert TV levels to PC levels for SD resolution video. It already does that by default for HD video.
That is not "how can I correct the levels", unless you consider PC levels to be always correct and video levels to be always incorrect. This is just "how can I make SD and HD behave identical with ATI". Correcting the levels for people like me who need video levels is not possible at all through adjusting ATI driver settings.
tetsuo55
6th January 2009, 21:03
What is the correct/accurate way to convert 16-235 to 0-255
1. Stretch 16 to 0 and 235 to 255 and evenly stretch everything in between?
2. Pad the 0-16 and 2-35 with 0's or BTB/WTW ?
which of these 2 will result in the best image on a 0-255 display?
mark0077
6th January 2009, 22:40
Has to be stretched from 16-235 to 0-255 because 16 was intended to be interpreted as pure black, and 235 interpreted as pure white.
In the PC, 0 is interpreted as pure black, 255 as pure white. All inbetween values must be stretched evenly as the 16 is mapped to 0, and 235 mapped to 255.
madshi
6th January 2009, 22:41
What is the correct/accurate way to convert 16-235 to 0-255
1. Stretch 16 to 0 and 235 to 255 and evenly stretch everything in between?
2. Pad the 0-16 and 2-35 with 0's or BTB/WTW ?
which of these 2 will result in the best image on a 0-255 display?
If you have a 0-255 display (e.g. typical computer monitor) then you should stretch everything to 0-255, or else the image will be washed out. I'd suggest using ffdshow's YUV -> RGB32HQ conversion to do the YUV -> RGB conversion. Just make sure you configure it correctly. The ffdshow controls are named a bit strangely (IMHO).
tetsuo55
7th January 2009, 10:42
Okay so we stretch
this looks to me like a VERY lossy conversion
We have 37 extra steps which we spread over 256 spaces.
Does this currently happen as losslessly as possible?
Is it possible to do the conversion with a <2% loss of detail?
mark0077
7th January 2009, 10:51
I would love to know also. In my case it might be better to send 16-235 to my TV and let it use its 10bit color to better expand the values.
Would be nice to know how Windows 8-bit per color handles this, anyone done the maths?
tetsuo55
7th January 2009, 11:08
According to this article:
http://www.cambridgeincolour.com/tutorials/color-space-conversion.htm
We can convert colorspace, luminance and RGB primaries in 1 calculation.
As every calculation will be lossy there are several choices.
The article states that "3D perceptual intent with black point compensation" conversion will result in the visably most accurate result(but mathematicaly wrong).
Its like a PSY-optical
Also because we will be converting from a smaller colorspace to a bigger one it should be near-lossless even with perceptual intent
mark0077
7th January 2009, 11:15
Very intersting, thanks for that. Althought the colorspace we are converting into is bigger, I think the bit depth we are limited to might have an impact on how much of that bigger colorspace we can use. Would be nice to get some figures on how many percent off perfect it can be with 32big rgb.
With my limited understanding of all of this I was thinking that if most new flat panels use rgb pixels anyways wouldn't they be doing this conversion anyways, or wouldn't the hardware dvd player in the living room be doing this conversion too... So there is no real disadvantage to doing this conversion to rgb on the pc vs other ways of watching the content right? The conversion to rgb has to happen anyways.
I wonder if nvidia's conversion is done using perceptual conversion vs ffdshows conversion done using a more mathematically correct way of converting? This is the only explanation I can give for the differences in the quality results I am seeing on my machine with nvidias yv12 to rgb32 and yuy2 to rgb looking better than ffdshows rgb32hq.
tetsuo55
7th January 2009, 11:19
Your display expects a certain colorspace/luminance level.
Only if your display knows this will be different will it apply any conversion.
i have a 1080P panel, and using the scart port will result in the scart 601 signal being converted to 709, but i am not 100% sure this really happens.
The target colorspace will vary(especially with windows7).
Currently with XP/Vista the target colorspace should be 32bit ICCv4 sRGB(based on 8 bits per color)
However my videocard operates at 10bits per color and applies dithering for 8bit panels.
My Display is also 10bit so i'm not sure how this factors in.
Theoretically we could convert in as many bits as we wanted to reduce rounding errors, and then dither back to 8bit
With my limited understanding of all of this I was thinking that if most new flat panels use rgb pixels anyways wouldn't they be doing this conversion anyways, or wouldn't the hardware dvd player in the living room be doing this conversion too... So there is no real disadvantage to doing this conversion to rgb on the pc vs other ways of watching the content right? The conversion to rgb has to happen anyways.
The conversion from ANY > RGB is going to happen at some point in the chain.
And if we do not convert the luminance level it will be used as is and be interpreted as 0-255
mark0077
7th January 2009, 11:27
So I wonder is there any way to use the 32bits available in xp / vista at the moment to send 10bit r, g, and b = 30bits, pad with 2bits to get to 32...
What is the 4th 8-bits used for nowadays.... alpha.... is this necessary?
madshi
7th January 2009, 11:33
Okay so we stretch
this looks to me like a VERY lossy conversion
We have 37 extra steps which we spread over 256 spaces.
Does this currently happen as losslessly as possible?
Is it possible to do the conversion with a <2% loss of detail?
Well, it all depends a little. If you do "YCbCr -> RGB (video levels)" conversion first and then stretch "RGB (video levels) -> RGB (PC levels)" then I'd expect a hit on image quality. But if you go directly from "YCbCr -> RGB (PC levels)" then there should be no problem because when doing "YCbCr -> integer RGB (any levels)" conversion there's always rounding or dithering involved, anyway. What we absolutely should avoid is multiple conversions after another. I'd expect that ffdshow converts YCbCr to RGB in one step, regardless of whether you convert to video levels or PC levels. So I don't expect any disadvantage for displays who need PC levels. Well, except that you lose BTB and WTW, of course... Actually spreading to PC levels could be ever so slightly better because you have a range of 0-255 for every color, while with video levels you only have a range of 16-235 for every color. So with PC levels you have slightly more graduations per color. Of course ideally if the display supports more than 8bit, we should go to 10bit RGB output with Windows 7. That should solve any potential banding problems...
mark0077
7th January 2009, 11:38
It would be good to hear some input from the ffdshow developers on the conversion techniques used in rgb32hq.
So tempting to try Windows 7 Beta if i could (legally) get a copy of it. Not sure if the nvidia drivers are setup for 10bit color yet, or what gfx cards support it. I wonder are there any tests that could really show off the difference between 8-bit and 10-bit, would be nice to be sure 10-bits is being used from Windows all the way through to your 10-bit display.
madshi
7th January 2009, 11:40
So I wonder is there any way to use the 32bits available in xp / vista at the moment to send 10bit r, g, and b
No.
32bit RGB = 8bit per color, plus 8bit alpha channel (or unused)
What is the 4th 8-bits used for nowadays.... alpha.... is this necessary?
"Necessary" is a relative term. It's useful for some things. But the main purpose of 32bit graphics mode is that 24bit is an odd number for computers. So 32bit mode is usually faster than 24bit with exactly the same image quality. Windows (up to Vista) doesn't have support for outputting any more than 8bit RGB per channel. That is supposed to change with Windows 7, finally...
tetsuo55
7th January 2009, 11:45
Here is a imho very good article/test on colorspace conversions.
It really points out all the problems we are facing eventhough its intended for printing.
http://www.luminous-landscape.com/reviews/accessories/fancy_graphics.shtml
The article even more clearly shows that the entire source>target conversion can be done in 1 go.
@madshi:
Ffdshow does multiple conversions if the source is not YV12
non-YV12 to YV12 for all internal stuff, then from YV12 to RGB if you tell it to do so (otherwise the renderer or videocard will do it for you)
madshi
7th January 2009, 11:56
Ffdshow does multiple conversions if the source is not YV12
non-YV12 to YV12 for all internal stuff, then from YV12 to RGB if you tell it to do so
Convertion from non-YV12 to YV12 doesn't sound that dangerous to me. After all it's all some sort of YCbCr, isn't it?
tetsuo55
7th January 2009, 11:58
Convertion from non-YV12 to YV12 doesn't sound that dangerous to me. After all it's all some sort of YCbCr, isn't it?
Is it really?
According to the internets every conversion is lossly in either color, luminance or both
tetsuo55
7th January 2009, 15:08
Okay things seem to be more complicated and less complicated at the same time.
The luminance level range can vary even within the same sample!
The standards allow for different ranges in the luma and the chroma channels.
Accurate conversion requires a level check for both chroma and luma, and the expansion needs to be adjusted accordingly for each.
There are 3 possible conversions:
601 PAL to full range RGB
601 NTSC to full range RGB
709 to full range RGB(709 uses the sRGB colorspace, HD formats allow for full-range video)
The level test will reveal if the 709 conversion is really needed.
The only time you do not have to convert is when your videocard is capable of working in YCbCr colorspace and also outputs this unconverted. Otherwise you will always be converting.
mark0077
7th January 2009, 15:14
Would that mean there are 6 "standard" combinations of outputs that might be imagined in ffdshow. Like the following 6 combinations?
601 PAL full range to full range RGB
601 NTSC full range to full range RGB
709 full range to full range RGB
601 PAL standard to full range RGB
601 NTSC standard to full range RGB
709 standard to full range RGB
whereas at the moment there is only 4
601 full range to full range RGB
709 full range to full range RGB
601 standard to full range RGB
709 standard to full range RGB
Do i understand correctly?
clsid
7th January 2009, 15:19
@madshi
I have adjusted to first post to mention what to do in case of a CRT TV (method 2 and 3). Please correct me if I wrote anything wrong.
tetsuo55
7th January 2009, 15:20
I'm suggesting autodetection in fact.
Officially there is no such thing as full range 601, however every low resolution FRAPS video is in fact full range.
This is why the conversion needs to test both the chroma and the luma for ranges.
More info here:
http://en.wikipedia.org/wiki/YCbCr
But you understand correctly that we are missing the pal/ntsc difference in 601.
Also, i believe this has not been discussed before but:
Monitors and HDTV displays are all calibrated to sRGB/709.
However both pal and ntsc SD and broadcast signals live in slightly different colorspaces that do not fit in sRGB/709, so the conversion will result in either clipping or distortion of a small portion of the colors
leeperry
7th January 2009, 15:23
every low resolution FRAPS video is in fact full range.
because games are full range in the first place.
you understand correctly that we are missing the pal/ntsc difference in 601.
SD uses REC.601 coeffs for RGB conversion, whatever PAL or NTSC.
it's the gamut that is different, depending on the mastering but the YCbrCr>RGB coeffs are identical in both cases...just like REC.709 for HD.
madshi
7th January 2009, 15:25
I have adjusted to first post to mention what to do in case of a CRT TV (method 2 and 3). Please correct me if I wrote anything wrong.
Reads fine to me now - thanks!
mark0077
7th January 2009, 15:26
This is excellent. So I have just calibrated my new Samsung Series 9 using settings from a guy on another forum, and I think he calibrated it with the target 709. I have my new TV set to accept input as full range.
If this type of auto detection could be done for all of the combinations you talked about, what way should our displays be calibrated? Does any calibration technique incorporate all of the standards like 601 and 709?
tetsuo55
7th January 2009, 15:28
because games are full range in the first place.
SD uses REC.601 coeffs for RGB conversion, whatever PAL or NTSC.
it's the gamut that is different, depending on the mastering but the YCbrCr>RGB coeffs are identical in both cases...just like REC709 for HD.
Yes thats true, but we need to correct the gamut as the display will be sRGB not PAL/NTSC, seeing as the gamut conversion can be incorporated in the YCbrCr>RGB as a slight offset we should do so.
This is not needed for REC709 because the gamut already matches sRGB.
This is excellent. So I have just calibrated my new Samsung Series 9 using settings from a guy on another forum, and I think he calibrated it with the target 709. I have my new TV set to accept input as full range.
If this type of auto detection could be done for all of the combinations you talked about, what way should our displays be calibrated? Does any calibration technique incorporate all of the standards like 601 and 709?
the default target should be sRGB/709.
This is the factory setting for all digital 720p capable displays and all monitors
mark0077
7th January 2009, 15:38
709 is the way to go then, thanks! Maybe you should present your findings / suggestions to an ffdshow developer. I am sure they would be delighted to read about the PAL/NTSC 601 aswell as the different methods for colorspace conversion. :D
tetsuo55
7th January 2009, 15:44
I'm not sure the story is finished yet.
I want to get some more feedback first.
-----------
Complete (automated) Colorspace, gamut and level conversion for digital video:
#check luma and chrome for clipping to determin the used levels for either
Adjust expansion parameters accordingly
#check if the video is SD or HD
if resolution is XXX or higher = HD
else SD
# in case of SD check for PAL/NTSC
If framerate is not 25/50 assume NTSC ?
((not sure how to handle 24fps))
((might also want to check resolutions))
-in case of HD use 709 conversion
-In case of PAL-SD use 601-PAL conversion
-In case of NTSC-SD use 601-NTSC conversion
The entire process leads to a single formula (not multiple conversions)
To reduce rounding errors a higher bitdepth can be used(like 16) for the processing.
NOTES:
-This method preserves all BTB/WTW data for those non-standard videos that contain them.
-HD video can contain full-range without breaking spec.
-This conversion is valid for all PC based systems, even if the videocard supports 16-235 it will do this conversion(or re-convert) itself resulting in crushed blacks
I will have to find the exact primaries for NTSC/PAL they where posted here on doom9 or at the avsforum
leeperry
7th January 2009, 19:00
Yes thats true, but we need to correct the gamut as the display will be sRGB not PAL/NTSC, seeing as the gamut conversion can be incorporated in the YCbrCr>RGB as a slight offset we should do so.
This is not needed for REC709 because the gamut already matches sRGB.
the default target should be sRGB/709.
This is the factory setting for all digital 720p capable displays and all monitors
well most big LCD screen/LCD projectors have wide gamuts, and hardly any display has a perfect sRGB gamut....and you need to measure the primaries coordinates with a colorimeter in order to fix them.
also european/russian/continental chinese BD's are either 23.976/24fps but they use the EBU gamut :p
I don't think you can let ffdshow make wild guesses on the gamut.
madshi
7th January 2009, 19:17
Complete (automated) Colorspace, gamut and level conversion for digital video:
#check luma and chrome for clipping to determin the used levels for either
Adjust expansion parameters accordingly
I'm not sure if you can reliably detect this in every frame of every movie. What if this algorithm sometimes gives us wrong results? Then black / white level will fluctuate in the middle of the movie. I don't like the idea of doing this automatically, unless we find a solution which is 100% fail safe.
NOTES:
-This method preserves all BTB/WTW data for those non-standard videos that contain them.
BTB/WTW is not "non-standard". A DVD may officially contain BTB and WTW information. Of course the DVD makers must live with the fact that a properly calibrated TV will supress most of the BTB/WTW information. But this doesn't make the use of BTB/WTW illegal or non-standard.
leeperry
7th January 2009, 19:20
I'm not sure if you can reliably detect this in every frame of every movie. What if this algorithm sometimes gives us wrong results? Then black / white level will fluctuate in the middle of the movie. I don't like the idea of doing this automatically, unless we find a solution which is 100% fail safe.
BTB/WTW is not "non-standard". A DVD may officially contain BTB and WTW information. Of course the DVD makers must live with the fact that a properly calibrated TV will supress most of the BTB/WTW information. But this doesn't make the use of BTB/WTW illegal or non-standard.
some encoders create "padding" data in the BTB/WTW
also, Seb.26 has added a dynamic levels option in ffdshow filters(select "Seb's BTB&WTW"), it will dynamically show you these levels...if they ever existed in the first place.
you can of course set the detection threshold, the time hold etc etc ;)
some guys on HCFR are hooked to it!
tetsuo55
7th January 2009, 19:23
well most big LCD screen/LCD projectors have wide gamuts, and hardly any display has a perfect sRGB gamut....and you need to measure the primaries coordinates with a colorimeter in order to fix them.
also european/russian/continental chinese BD's are either 23.976/24fps but they use the EBU gamut :p
I don't think you can let ffdshow make wild guesses on the gamut.
those wide gamuts are not used, the computer can only output 8bit sRGB(you could use the wide gamut at the cost of banding though)
I might be wrong, but according to the mastering article i read about bluray, no matter what the source was it gets converted to REC709 before encoding to disk.
But the editing does indeed often happen with EBU or SMPTE-C. Not all movies seem to fall into this category it seems, i have seen a few lists here and there but they seem fairly short.
This process does not need to happen in FFdshow(which should have a lot more user options on top of the auto-detec tion)
leeperry
7th January 2009, 19:26
those wide gamuts are not used, the computer can only output 8bit sRGB(you could use the wide gamut at the cost of banding though)
if you output vanilla sRGB on a wide gamut display, the picture will be oversaturated to death...reason why some ppl do gamut conversion so the input/output tints match :o
tetsuo55
7th January 2009, 19:33
I'm not sure if you can reliably detect this in every frame of every movie. What if this algorithm sometimes gives us wrong results? Then black / white level will fluctuate in the middle of the movie. I don't like the idea of doing this automatically, unless we find a solution which is 100% fail safe.
We will have to find a 100% safe method.
Keep in mind though, that at default settings almost everyone is seeing an incorrect image at this point.
Only the people who tweak stuff get an accurate image.
BTB/WTW is not "non-standard". A DVD may officially contain BTB and WTW information. Of course the DVD makers must live with the fact that a properly calibrated TV will supress most of the BTB/WTW information. But this doesn't make the use of BTB/WTW illegal or non-standard.
I doublechecked the mpeg2 specs.
According to the calculation on page44 anything below 16 will get clipped. If a device is capable of showing lower values it can decide to ignore this calculation.
madshi
7th January 2009, 22:51
I doublechecked the mpeg2 specs.
According to the calculation on page44 anything below 16 will get clipped. If a device is capable of showing lower values it can decide to ignore this calculation.
Then how come every good DVD player outputs full BTB/WTW information?
tetsuo55
8th January 2009, 00:22
if you output vanilla sRGB on a wide gamut display, the picture will be oversaturated to death...reason why some ppl do gamut conversion so the input/output tints match :o
I have yet to see a commercialy available wide gamut capable display that is not factory calibrated to 709/sRGB (cheap misscalibrations with blue push does not count)
Then how come every good DVD player outputs full BTB/WTW information?
Because they are smart, as it saves money and they can actually use it for promotion purposes :)
leeperry
8th January 2009, 01:05
I have yet to see a commercialy available wide gamut capable display that is not factory calibrated to 709/sRGB (cheap misscalibrations with blue push does not count)
did you look at the CIE charts of projectors/LCD screens ?
you can't get a factory calibrated display with a perfect sRGB/HDTV(they're identical) gamut.
even professional broadcast equipment used in mastering houses is weekly recalibrated by color engineers with Minolta CS sensors(that are also recalibrated every 6 months).
this is the native wide gamut of a JVD HD750 :
http://pix.nofrag.com/8/1/d/c822a1ebaa2235f9f29a59fffe015t.jpg (http://pix.nofrag.com/8/1/d/c822a1ebaa2235f9f29a59fffe015.html)
offering generic gamut conversion in ffdshow is not possible :o
still I guess most smart displays will use the following YCbPr>RGB decoding depending on the resolution...or will let you select it at least :
Rec. ITU-R BT.601-5 => PAL / SECAM / NTSC
Rec. ITU-R BT.709-4 => HD
Because they are smart, as it saves money and they can actually use it for promotion purposes :)
video equipment works in TV range, xvYCC will finally introduce the 0-255 range for video content(increasing the gamut as well)
standalone DVD players output 16-235 video data in 0-255..if I remember well it was chosen to go 16-235 to avoid crosstalking for airwaves broadcasting.
tetsuo55
8th January 2009, 01:16
the problem with this wide gamut is bitdepth.
Storing all those values in 8bit will cause a lot of banding, secondly, if that display does not do a near-lossless 8bit source to 10bit wide gamut conversion all colors will be displayed incorrectly.
These wide gamuts are intended to be used with 10bit or higher signals, even 10bit has enough space to store a very wide gamut without banding.
The industry is well aware that we have 8bit-random-colorspace/gamut images and video. For this reason as much as possible is stored in REC709/sRGB. These colorspaces can be losslessly converted to the display's gamut in 8bit using ICC profiles.(Every display device should have the option to display limited range/sRGB(not necessarily accurately calibrated))
You could display the image completely in the wide gamut, however this could result in banding.
When i say generic conversion i mean converting the ANY to 1, the standard in use by the entire computer industry and HD video is sRGB. From this standard either a 3D-lut or preferably a ICC v4 profile can make the last minute adjustments for the end user display(losslessly).
For those people that do not care/know about this, they will at least have an as close to sRGB image as possible, instead of random and guaranteed wrong colors/luminance.
In the end the computer/display will always be trying to display sRGB, no matter how badly it does so.
----
PS, about the JVD HD750 chart
The first thing any professional calibrator will do in an end user situation is try to get those primaries as close as possible to sRGB.
----
I hope that when windows7 is released i will be able to buy a HDMI 1.3+ videocard and use 10bit xvYCC(my current card already does 10bit but not xvYCC, and even if it did windowsxp/vista does not allow more than 8bits per channel over hdmi)
leeperry
8th January 2009, 04:34
These wide gamuts are intended to be used with 10bit or higher signals, even 10bit has enough space to store a very wide gamut without banding.
well they are used to display 8 bits video atm.
The industry is well aware that we have 8bit-random-colorspace/gamut images and video. For this reason as much as possible is stored in REC709/sRGB.
US/ASIAN movies are stored in REC.709, but their mastering gamut is SMPTE-C, european movies use the EBU gamut(whatever SD or HD)...you won't be able to find a commercial movie using the sRGB gamut(only videos shot on consumer HDV I guess).
These colorspaces can be losslessly converted to the display's gamut in 8bit using ICC profiles.(Every display device should have the option to display limited range/sRGB(not necessarily accurately calibrated))
too bad this will only work in color managed applications(like softproofing in Photoshop)....you won't find a color managed video renderer :o
You could display the image completely in the wide gamut, however this could result in banding.
most displays work internally in 10/12 bits, so they won't create more banding than there was in the 8 bits source.....just all the colors will be oversaturated.
When i say generic conversion i mean converting the ANY to 1, the standard in use by the entire computer industry and HD video is sRGB. From this standard either a 3D-lut or preferably a ICC v4 profile can make the last minute adjustments for the end user display(losslessly).
For those people that do not care/know about this, they will at least have an as close to sRGB image as possible, instead of random and guaranteed wrong colors/luminance.
In the end the computer/display will always be trying to display sRGB, no matter how badly it does so.
well you've got no idea what their display CIE chart looks like, providing them with SMPTE-C/EBU>sRGB conversion won't help at all, as their native gamut is prolly a far cry from the HDTV/sRGB gamut in the first place...and a PC works in 8 bits so each conversion is VERY much lossy.
http://pix.nofrag.com/a/3/0/8cce76ab49edba0902a0ada458379.gif
before deciding anything, please refer to yesgrey3 as he's very much aware of all I'm saying(he did the gamut conversion mathlab stuff for the PS gamut conversion script)...besides I don't think the ffdshow coders care too much about gamuts ;)
about the JVD HD750 chart
The first thing any professional calibrator will do in an end user situation is try to get those primaries as close as possible to sRGB.
but DVD/BD are mastered in SMPTE-C or EBU gamuts, what would you care for sRGB exactly ?
besides it's your lucky day, the HD750 does have built-in gamut mapping options....but the RS1/HD1 does not.
here's a HD1 before/after SMPTE-C conversion using yesgrey3/JohnAd PS script in MPC :
http://www.avsforum.com/avs-vb/showpost.php?p=11937064&postcount=90
as you can read, the movie colors are not grossly oversaturated anymore and the guy is very happy w/ the gamut corrected picture :)
I hope that when windows7 is released i will be able to buy a HDMI 1.3+ videocard and use 10bit xvYCC(my current card already does 10bit but not xvYCC, and even if it did windowsxp/vista does not allow more than 8bits per channel over hdmi)
well there's no xvYCC movies, and there won't be before a long while....it will only be useful for gamut conversion as 8 bits input/output is very lossy..
we should stop threadcrapping clsid's sticky topic anyhow :D
chros
8th January 2009, 17:47
Is there any registry entry for Nvidia cards for the "full range"?
Because my setup doesn't want to save this setting ...
I have find that there are values which are saved under:
HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:0
HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:1
I've got only 2 values:
AdjustVideoColorSettingsLastSelectedGammaState
AdjustVideoColorSettingsLastSelectedRGBLockStatus
Can someone see which value correspond to this?
Thanks
Setup: fresh WinXP SP3, latest whql driver, 9600GT
I have installed the new 181.20 whql drivers, but the problem still reamins.
Can someone look it for me, please? It drives me crazy ...
Thanks
spida_singh
21st January 2009, 12:41
Is it saved between sessions?
Can you look at my post here?
http://forum.doom9.org/showthread.php?p=1234270#post1234270
Everything is saved correctly, the trouble I am having is that when my receiver is turned on(Onkyo 875), I have to manually enable the display from my nvidia control panel. I believe this is a handshaking issue, sometimes I don't have to, sometimes I do, I have not found a way to solve this. Same occurs when switching between sources, the signal is just lost and needs to be refreshed via the control panel. I just need to find out how to force the signal correctly to the receiver everytime it is turned on, or switched back to the HTPC source.
chros
21st January 2009, 19:48
Can you look at the mentioned keys in the registry?
Maybe you can find the missing values ...
Thanks
Mangix
21st January 2009, 22:36
I have installed the new 181.20 whql drivers, but the problem still reamins.
Can someone look it for me, please? It drives me crazy ...
Thanks
on my system, both are set to one
chros
22nd January 2009, 13:25
on my system, both are set to one
Which both? :)
I'm looking for the key/value of the "full range" setting, because my system doesn't have one ...
Thanks
spida_singh
22nd January 2009, 15:21
Which both? :)
I'm looking for the key/value of the "full range" setting, because my system doesn't have one ...
Thanks
New nvidia drivers out today, 181.22, test with these first, ill havea look at the keys in the meantime to check if I can spot anything.:)
:::EDIT:::
Right just tried the new nvidia drivers (181.22 on MSI 9400GT), installed over previous version, set 24hz, RGB output, 0-255 full in NV control panel. Set MPC-HC to EVR-CP, D3D buffers set to 20, aero disabled (I am also using only the internal filters/splitter in MPC-HC, and have disabled ffdshow video from being used in MPC-HC). Blacks are blacks, no colour wash, and.... all settings were remembered and enabled when switching between sources on my Onkyo 875, I even turned off all power to my receiver and LCD, but left HTPC on. Hi Def content only tested so far, will test a dvd shortly. Restarted equipment, all settings are the same as I set them. The only thing i need to test is if i restart my HTPC, are settings remembered and applied correctly when home audio equipment is turned on again
:::EDIT:::
Just tested, looks all ok, everything remembered and applied automatically, no handshaking issues when restarted.
I turn off power to all my home theatre equipment every night...saving some power.
chros
1st February 2009, 19:25
Nice, but what are the key/value pairs of the full range settings???? Can you look at for me, and paste here?
(I have deinstalled the old whql drivers, and installed the new one: 181.22, but this setting is never saved ... :( )
1. run regedit
2. got to:
HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:1
3. highlight this key (key in step 2)
4. got to File menu, Export command, save somewhere...
5 Then open the saved file, and copy-paste here in the forum ...
Thanks ...
Eg. it's mine:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:0]
"AdjustVideoColorSettingsLastSelectedGammaState"=dword:00000001
"AdjustVideoColorSettingsLastSelectedRGBLockStatus"=dword:00000001
spida_singh
7th February 2009, 16:32
Here's Mine
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings]
"AdjustVideoColorSettingsLastSelectedTabPage"=dword:00000002
[HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:0]
"AdjustVideoColorSettingsLastSelectedGammaState"=dword:00000001
"AdjustVideoColorSettingsLastSelectedRGBLockStatus"=dword:00000001
[HKEY_CURRENT_USER\Software\NVIDIA Corporation\NVControlPanel\RegisteredServers\Video_TVServer\AdjustVideoColorSettings\Gpu:0_Head:1]
"AdjustVideoColorSettingsLastSelectedGammaState"=dword:00000001
"AdjustVideoColorSettingsLastSelectedRGBLockStatus"=dword:00000001
chros
9th February 2009, 11:33
Hhmmm... So where the hell does it store this value (Full Range) in the registry???
ACrowley
23rd February 2009, 13:25
just want to inform you that the UseBT601 Switch for the Ati Registry Settings wont work anymore with Catalyst 9.2!
cca
23rd February 2009, 13:35
The setting works just fine, but EVR Custom in MPC-HC has a bug since a year ago at least. Try another renderer and you'll see, it's fine.
ACrowley
23rd February 2009, 14:37
No, The Settings is disabled with Cat 9.2 ! It has nothing to do with MPC Player.. Its the same with any Player + EVR/EVR Custom
http://forums.amd.com/game/messageview.cfm?catid=279&threadid=109217
http://thegreenbutton.com/forums/thread/337337.aspx
The Levels with other Renderers like Haali, VMR9 or Overlay has nothing to do with the Registry Tweak...it works(or not) with or without the Tweak.
cca
23rd February 2009, 14:49
That's strange, because in every renderer I have normal black levels, except EVR Custom. Something is fishy, in the links you have there they mention something about obeying Microsoft for software controlled levels, if this is what it is, this will NOT get fixed, as it's supposed to be a feature and not a bug.
BUT. Given that normal EVR gives me correct levels, there must be a way to signal what levels we need, but noone seems to know how or what.
ACrowley
23rd February 2009, 14:57
I have wrong levels on all my SD Mpeg2 (DVD /DVB), it looks "ok with HD"
It was correct with Cat 9.1 EVR and EVR Custom with UseBT601CSC =1
But the UseBT601CSC Registry Tweak is 100% sure not supported anymore by Catalyst 9.2!
In all Players, with EVR Custom and EVR standard. Thats a Fact! If you call it a bug or a Feature...nevermind. It wont work anymore and thats really bad imho
So ive to use other Methods to correct the Levels to 0-255. FFDSHOW HQ RGB32 Conversion, MPC-HC Shaders oder Haali Renderer.
But the USEBT601CSC Tweak was working perfect up to Cat 9.1 ...to bad!
cca
23rd February 2009, 15:18
Hmm, how do you connect your monitor? Analog RGB (Standard VGA) or DVI/HDMI?
ACrowley
24th February 2009, 19:40
Hmm, how do you connect your monitor? Analog RGB (Standard VGA) or DVI/HDMI?
HDMI
But its not a a Problem caused by my System:)
Simply because the Registry tweak wont work anymore and its exactly the same Problem with CAT 9.2 as the other User are having in these Forum Links.
cca
24th February 2009, 19:58
Well, I only use VGA (analog) and all renderers except MPC's EVR Custom have proper levels. OS is Vista 64bit.
Kado
25th February 2009, 00:13
This is the "history" regarding the levels issue the way I recall it. before vista sp1 evr cp had wrong levels (washed out picture) and evr had correct levels, casimir fixed it making standard evr have wrong levels and evr cp have correct levels, then vista sp1 came and the tables turned so evr had correct levels and evr cp had wrong levels again (the wrong levels are also present in sp2 beta v.275). shaders were added to mpc to help fix the issue. nvidia released drivers that can let you select the luma range fixing the levels issue without resorting to the shaders in mpc. a hidden option was also available for ati but does not seem to work in catalyst 9.x (can't confirm because i have nvidia only)
the end:D
P.S.=> I use 9800gtx dvi-d.
chros
25th February 2009, 10:04
@Kado: can you dig out the corresponding registry entry for me? (for the dinamic range setting?)
See here: HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\
or here: HKEY_CURRENT_USER\Software\NVIDIA Corporation\
I have tried everything: uninstalled old driver, apply Regcleener in safe mode, install new whql driver in normal mode, but nothing.... I even open a topic on forums.nvidia.com .... http://forums.nvidia.com/index.php?showtopic=89642
Thanks
ACrowley
25th February 2009, 13:15
Well, I only use VGA (analog) and all renderers except MPC's EVR Custom have proper levels. OS is Vista 64bit.
I dont know how it its with VGA
However..the question is not if we have correct Levels or not(ofcourse you can change it with other Renderers,Decoders etc)..the Problem that the UseBT6012CSC tweak wont work anymore with Cat 9.2
And this tweak was the Solution for a lot of Users in their configurations.
cca
25th February 2009, 13:46
I don't think we have many choices then, the options are the ones listed in the first post of this thread. Another one is to downgrade the drivers, but in the long term it may mean that you'll be using obsolete drivers, I do not think ATi is going to restore the previous functionality, unless they put an option in the control panel like Nvidia.
Kado
25th February 2009, 16:05
@chros
I was unable to find the registry setting you were looking for. Try with 182.06 WHQL drivers (XP 32bit (http://downloads.guru3d.com/GeForce-Forceware-182.06-WHQL-XP-32-bit-download-2190.html) / XP 64bit (http://downloads.guru3d.com/GeForce-Forceware-182.06-WHQL-XP-64-bit-download-2189.html)).
chros
25th February 2009, 16:27
@chros
I was unable to find the registry setting you were looking for. Try with 182.06 WHQL drivers (XP 32bit (http://downloads.guru3d.com/GeForce-Forceware-182.06-WHQL-XP-32-bit-download-2190.html) / XP 64bit (http://downloads.guru3d.com/GeForce-Forceware-182.06-WHQL-XP-64-bit-download-2189.html)).
Thanks, but see my signature ... :)
So, I don't know where the hell this settings are stored ... :(
ACrowley
25th February 2009, 18:46
I don't think we have many choices then, the options are the ones listed in the first post of this thread. Another one is to downgrade the drivers, but in the long term it may mean that you'll be using obsolete drivers, I do not think ATi is going to restore the previous functionality, unless they put an option in the control panel like Nvidia.
I hope ATI will add a simple CCC Option.
Downgrading to Cat 9.1 is no Option cause i play some Games and Cat 9.2 gives a Perfomance Boost on some Games...
EDIT:
I forget , one constant Method to get PC Levels for all Codecs is "Windows Media Player" WMP11 outputs always correct Levels :)
This Method is not on the 1t Page.
Also this Tweak forces Vista/XP Media Center to use 0-255.
HKEY_LOCAL_MACHINE\SOFTWARE\DEBUG\ehPresenter.dll
"NominalRange" = DWORD:1
EDIT.
Yes, after some testing i can see that the MPC HC EVR cutoms Renderer has a bug ?! The Levels are wrong (without Shader). It looks like 16-235 Level (to bright)
Its correct with EVR standard. Also its correct again fr oHD with Shader 16-235 to 0-255 SD/HD. But its still a little bit bright with SD DVD 720x576
Strange, i never noticed this Problem before. Maybe its caused by cat 9.2 ?
iron2000
27th February 2009, 14:53
Can it be said that the auto selection of the YCbCr spec and input levels in ffdshow solves this luminance levels problem?
Or must the colorspace be forced to RGB32 in addition?
cca
27th February 2009, 15:17
Can it be said that the auto selection of the YCbCr spec and input levels in ffdshow solves this luminance levels problem?
Or must the colorspace be forced to RGB32 in addition?
Correct, you need to select only RGB as output in ffdshow for that to work.
iron2000
27th February 2009, 15:39
Correct, you need to select only RGB as output in ffdshow for that to work.
So it wouldn't work if Output options are left in the default state?
Like after a fresh install.
cca
27th February 2009, 17:16
So it wouldn't work if Output options are left in the default state?
Like after a fresh install.
If left in the default state, it will output something like YV12 or YUY2, leaving the RGB conversion to the video renderer and the graphics card drivers. So no, it won't work.
iron2000
27th February 2009, 17:44
Ok thanks!
I understand now.
THX-UltraII
4th March 2009, 10:39
Guys,
After some struggles with MPC-HC audio settings it was time to take a look at my video settings last night (involving output ranges). I ve tried all sort of different settings and really don t know anymore which is the correct setting to use. Some settings I tried where:
1.
MPC-HC with VMR9 and with pixel shader 16-235 -> 0-255 [SD][HD] enabled.
2.
MPC-HC with VMR9 and with pixel shader 16-235 -> 0-255 [SD][HD] disabled.
3.
MPC-HC with EVR Custom and with pixel shader 16-235 -> 0-255 [SD][HD] enabled.
4.
MPC-HC with EVR Custom and with pixel shader 16-235 -> 0-255 [SD][HD] disabled.
Really don t know which one to use. Some settings looks darker than others but don t know which one is 'dark enough'.
I did notice that EVR acts different than VMR9.
Here s my setup:
- HTPC with XP SP3
- ATI HD4350 with 9.2 driver
- latest MPC-HC build 1005
- latest DirectX
- JVC RS2 projector as display device
- HDMI out from ATI 4350 runs through Marantz AV8003 receiver which only works as passthrough the HDMI signal to my projector.
The content I play are .mkv's, .wmv's and video_ts material. When I play .mkv's coreAVC 1.9 comes in as decoder, with Input and Output levels on Autodetect.
When playing .wmv's the standard WMV video decoder is working as filter.
Also would like to know more about my projector: it has two modes for HDMI output range:
Standard (16-235) and
Enhanced (0-255)
The manual states that I have to put it on Enhanced for PC usage but on the Enhanced setting blacks looks washed out.
Any more info needed please let me know.
Really need some more help to set everything up correct.
Cheers.
mark0077
4th March 2009, 12:03
This is my mini guide to what to do displays supporting extended mode (full range mode, whatever its called on your display) (based on the problems I have had).
1) Set your projector / display to extended. Leave it at that and work on the pc end of things.
2) Getting your desktop in extended mode.
Get something black thats not video content, like a black image, black screensaver.
2a) If its washed out, then your washed out colors are not because of badly setup colorspace conversions. This happened me when I got my TV, black desktop background looked grey. My problem was with my newer NVidia card detected my screen as a HDTV and decided to send everything to it in 16-235. Theres options in the control panel, but only related to video content, not the entire desktop. Its a complete mess and nvidia need to work on this, but my solution was to force my nvidia drivers to detect my screen as a PC Monitor. This got my desktop back to 0-255 at least. With you using ATI I don't know if this is a problem at all.
2b) If its not washed out, move to step 3.
3) Get your video outputting in extended.
Once your happy your desktop is being output in 0-255, you can work on video conversion to 0-255. I really don't use any shaders or anything of that nature. I use ffdshow to do this colorspace conversion for me. I just select rgb32 as the only output mode in ffdshow, and enable high quality. In RGB Conversion section I set everything to Auto, and output device as PC Monitor. This seems to get me perfect colorspace conversion and levels all of the time.
Kado
4th March 2009, 12:06
@THX-UltraII
Do this:
Get Haruhi (http://rapidshare.com/files/113536801/Suzumiya_Haruhi_no_Yuuutsu_-_C4_-_Special_Ending_-__Hitsuji__e569a2b7_.mkv.html) video;
In MPC options go to "Tweaks" and enable "Free Window Resizing";
Open the video and make the window look like this (http://pwp.netcabo.pt/kado/mpc1.png) (so you can see the black borders that don't belong to the video);
Jump the video all the way to min 1:07 (http://pwp.netcabo.pt/kado/mpc2.png) and check if the black background and the black borders have the same color, if they have then you're all set otherwise you have to:
Try and use the correction shader;
Tweak the coreavc decoder input/output level settings (http://pwp.netcabo.pt/kado/cavcd.png) (auto works fine here).
If both the background and the borders are washed out then it's the setting on the projector that's incorrect.
Try this and report back.:helpful:
THX-UltraII
4th March 2009, 12:21
First of all, thxz for your quick responses guys, really appreciated!
@Kado:
I ll try it tonight. Am I correct when I say that when It s on 1:07min and the background is blacker than the black bars, my settings are wrong giving me too dark picture and when the background is brighter than the black bars, something is also wrong resulting a a too bright picture?
@mark0077:
I ll set it on enhanced tonight but I already know this will give me washed out blacks. Hope I will find out some kind of settings (maybe in the ATI CCC?) than solves this.
Kado
4th March 2009, 12:22
@mark0077
If the video renderer (not the whole desktop it self) is still providing the wrong levels ffdshow won't solve the problem.
1:EVR wrong levels
2:EVR wrong levels but with correction shader.
3:EVR with right levels.
http://pwp.netcabo.pt/kado/mpc3.pnghttp://pwp.netcabo.pt/kado/mpc4.pnghttp://pwp.netcabo.pt/kado/mpc2.png
Kado
4th March 2009, 12:27
@THX-UltraII
The black won't be any blacker but you'll loose some detail in the darker parts of the video if you use too much correction.
My previous post to mark0077 has some examples.
mark0077
4th March 2009, 12:38
@THX-UltraII
The black won't be any blacker but you'll loose some detail in the darker parts of the video if you use too much correction.
My previous post to mark0077 has some examples.
Hi Kado. From what I know, the renderer will only give wrong levels if its fed something like yv12, yuy2 etc. I am takling about using ffdshow's rgb32 output. That way the renderer gets rgb32 so it never does anything with levels. I don't think its the renderer thats actually giving the wrong levels you describe, its the fact the renderer uses the graphics card so..... correct me if I am wrong, but to me, feeding the renderer rgb32 seems to eliminate the renderer / graphics card as a source for problems. It literally can't do anything with it (wrong or otherwise) as its rgb32 already.
THX, could you connect a normal CRT or something simliar to your machine. If it doesn't get washed out blacks on a simple black image, then either your projector is bad (doubtful), or the ATI drivers do something similar to my NVidia card, ie feed your projector limited range as it ASSUMES thats all it can do. The solution to this for me was editing the driver inf before installation to get the drivers to think I just have a normal computer LCD. Voila, full range levels on desktop and on display. Sort that out before you go about working on shaders, video levels. Get the desktop right first because everything goes through that. THEN work on video levels. Trying to get both right at the same time is only going to confuse things more ;) Have a look around for EDID OVERRIDE for ATI drivers if a normal CRT or LCD doesn't look washed out because assuming your projector isn't broken, I would assume the ATI drivers are sending the ENTIRE DESKTOP in limited range just like the NVIDIA drivers do.
Kado
4th March 2009, 12:57
@mark0077
You are correct about the RGB because there's nothing to be done to the video except being displayed. And the CPU usage is not that higher, about 10% higher for 720p video.
With nvidia you can select the luma range in the nvidia control panel but with ati there's no such option and that is what is resulting in all these problems, both macroblocks in dxva h264 decoding and luma levels are related to ATI users (if I remember correctly).
THX-UltraII
4th March 2009, 12:59
thxz Kado.
But what do I have to do? Set my projector HDMI range on Standard or Enhanced?
mark0077
4th March 2009, 13:04
Yeah its a mess.
Kado, if the drivers are feeding the entire desktop the wrong levels, then ffdshow can infact still solve the problem. You can tell it you are outputting to a limited device. You should see proper levels, but the best thing to do really is fix the problem... ie fix whats stopping you outputting in extended.
Well my summary of ATI and NVidia's levels options are.
Display Device Output Level (Entire desktop, therefore effecting video also)
NVidia: No option. Incorrectly defaults to limited output for some devices. Workaround is EDID Override option in driver inf before installation. Driver needs removal before reinstallation.
ATI: No option - Not sure if it assumes certain levels for certain displays, waiting on THX to confirm this assumption of levels on his display versus a CRT ;) Not sure of workaround for ATI drivers if confirmed.
Solution: Well for NVidia the solution is the custom entry in inf. OR if your only worried about video playback, ffdshow also has the option to select the type of device you are outputting but this will only fix video levels, the rest of the desktop will be output in the wrong level if the drivers send your display the wrong levels.
Video Color Level
NVidia (Used only by renderers are fed non rgb32): Option in newish control panel versions for 16-235 or 0-255, seems to get it right most of the time.
ATI (Used only by renderers are fed non rgb32): No option. (Is the BT601 registry hack equivalent to NVidia's 0-255 option?)
Solution: Don't use them ;) Use ffdshow's conversions if your machine can handle the extra bit of processing but you will lose hardware de-interlacing as the graphics card is now being fed pure rgb32 and can't de-interlace it.
THX-UltraII
4th March 2009, 13:22
@Kado:
I also don t see defferences with pictures 2 and 3 you showed. Both the same black and white intensity if you ask me.
Kado
4th March 2009, 13:35
I can't really say, you have to try for yourself.
I prefer to use the GPU conversion but since you have ATI that's not as simple because different ranges are used depending if the video is SD or HD (can't confirm).
Also some people say that ffdshow RGB conversion gives better colors than the one done by the GPU's.
I have to use 0-255 in the control panel to get the right levels.
For me if I use YUV2 I get blocking in the videos, using DXVA or YV12/RGB fixes that.
Try my method if does not work try mark007 one.
Also check this post (http://forum.doom9.org/showthread.php?p=1254306#post1254306).
Kado's method is how I do it too, use a reference video to catch the black level and use a correction if needed. In the latest ATI drivers, if you use EVR Custom in MPC-HC, all videos regardless if SD or HD are displayed with TV levels, so the 16-235 -> 0-255 [SD][HD] shader is needed for proper levels. The RGB idea is not bad, bit you still have wrong levels if you also want to use DXVA, so I prefer the shader method since it covers all cases.
THX-UltraII
4th March 2009, 13:45
About the ffdshow settings:
I want to know some things about how to set it up correctly:
1. In the Output config I have selected 'High quality YV12 to RGB conversion'. But besides this I HAVE to check one (or more) boxes, I420/IYUV, YV12, YUY2, YVYU, NV12, RGB32, RGB24, RGB16 and RGB15. Which one(s) do I have to check here?
2. Select closest matching colorspace => check or uncheck?
3. Set pixel aspect ratio in output media type => square, check or uncheck?
4. Allow output changes during playback => sqaure, check or uncheck?
THX-UltraII
4th March 2009, 13:51
EDIT:
and than there is the RGB conversion config in ffdshow:
5. YCbCr specification => auto, ITU-R BT.601 or ITU-R BT.709
6. Input Levels:auto, standard, full-range or custom?
7. Output Levels: Computer Monitor or TV/Projector?
mark0077
4th March 2009, 13:54
Kado's method is how I do it too, use a reference video to catch the black level and use a correction if needed. In the latest ATI drivers, if you use EVR Custom in MPC-HC, all videos regardless if SD or HD are displayed with TV levels, so the 16-235 -> 0-255 [SD][HD] shader is needed for proper levels. The RGB idea is not bad, bit you still have wrong levels if you also want to use DXVA, so I prefer the shader method since it covers all cases.
The problem with using this test is, it is using video to test. I thnk THX's and many others problems could be the entire desktop is being output properly. I don't think a video test should be used to initially check display output levels. After the display is confirmed to be getting the right levels, then a video can be used to test video levels.
THX
1. In the Output config I have selected 'High quality YV12 to RGB conversion'. But besides this I HAVE to check one (or more) boxes, I420/IYUV, YV12, YUY2, YVYU, NV12, RGB32, RGB24, RGB16 and RGB15. Which one(s) do I have to check here?
RGB32 :D
2. Select closest matching colorspace => check or uncheck?
If only one is selected this doesn't have any effect anyways, no harm leaving it on anyways.
3. Set pixel aspect ratio in output media type => square, check or uncheck?
I say leave as is. I am not sure about this because I think a recent build of ffdshow may have messed this up. This evening I will be testing aspect ratios to see if this option breaks aspect ratio.
4. Allow output changes during playback => sqaure, check or uncheck?
Leaving as is is fine for me also. Square.
5. YCbCr specification => auto, ITU-R BT.601 or ITU-R BT.709
Well Auto works perfectly for me. Any video content thats less than I think 1024 pixels wide, it will assume its BT.601, everything else it will assume its Bt.709 which is exactly right for me. Most of my material is older Bt.601 material with DVD resolution etc so its method of choosing is perfect for me.
6. Input Levels:auto, standard, full-range or custom?
I think like 0.0001% of material is actuall full-range in origin, and auto here works perfect for me. I think it basically assumes "standard" unless explicitly told otherwise by the info in the video type.
7. Output Levels: Computer Monitor or TV/Projector?
Well this depeneds really. You would normally select "Computer Monitor", meaning extended, BUT if you figure out that your ATI drivers are doign like my drivers did, and outputting in limited range, then TV/Projector will be right (and you will get ugly desktop colors / washed out colors on desktop blacks. You can use all auto settings above, and then use this option here as a test during video playback which setting is correct, and therefore if your drivers are sending you extended or limited.
THX-UltraII
4th March 2009, 13:55
if you use EVR Custom in MPC-HC, all videos regardless if SD or HD are displayed with TV levels, so the 16-235 -> 0-255 [SD][HD] shader is needed for proper levels.Yes, I use EVR Custom in MPC-HC. I thought I did read somewhere that that shader caused some artifacts?
The RGB idea is not bad, bit you still have wrong levels if you also want to use DXVA, so I prefer the shader method since it covers all casesIF I m going to give the RGB method a try I want to know if I use DXVA. How do I know if I use DXVA? (shame on me!) I UNCHECKED all internal MPC-HC filter and added CoreAVC1.9, ReClock and WMV Video Decoder as external filters. Can I assume that I don t use DXVA this way?
THX-UltraII
4th March 2009, 13:56
The problem with using this test is, it is using video to test. I thnk THX's and many others problems could be the entire desktop is being output properly. I don't think a video test should be used to initially check display output levels. After the display is confirmed to be getting the right levels, then a video can be used to test video levels.
So what do you suggest I should do?
mark0077
4th March 2009, 14:06
So what do you suggest I should do?
This is why I suggested just using a black picture, black screensaver, or even easier just set your desktop to black background. It is very clear to me using this method if my gfx card is sending me limited range because the black looks grey. Video tests can't help you out here.
1) So get something pure black filling your screen, an image, or screensaver.
2) Switch between extended and standard on your projector while its been fed this pure black image.
If both modes look the same brightness, your gfx card is sending extended, and you can happily start working on getting your video levels right using whatever method you like.
If both look different (ie standard looks a good bit darker than extended), then your gfx card is incorrectly sending limited and you need to find a fix for that before playing with video levels.
Try it out and let us know does extended/limited give different blacks.
THX-UltraII
4th March 2009, 14:10
I have enough information to go for tonight. More questions will come after tonight I think :p
THX-UltraII
4th March 2009, 14:27
Mark0077:
One more thing before I m going to #^^&%$ up my HTPC tonight :D :
There s also the ffdshow Codecs config. Am I correct that I have to set this all on disabled? Or does ffdshow video decoder in this case not work? I want to keep using CoreAVC and not ffdshow for decoding. So the only thing I want ffdshow to do is do high quality RGB output.
mark0077
4th March 2009, 14:30
Yeah disable them all but set Raw Video (at the bottom of the codecs config), to "All Supported". This will take in your raw video from whatever you like and just do the conversion for you.
But make sure to try the switching between extended / standard trick first though to see if your desktop is sent in full or limited before playing with ffdshow ;) If its outputting full range, then youll have ffdshow setup in 2 minutes literally and you should be getting correct levels from now on. :D
THX-UltraII
4th March 2009, 14:38
Yeah disable them all but set Raw Video (at the bottom of the codecs config), to "All Supported". This will take in your raw video from whatever you like and just do the conversion for you.
But make sure to try the switching between extended / standard trick first though to see if your desktop is sent in full or limited before playing with ffdshow ;) If its outputting full range, then youll have ffdshow setup in 2 minutes literally and you should be getting correct levels from now on. :D
thxz for all your help until now Mark, really appriciate it :thanks:
So tonight I will turn on my pj and my HTPC, set my HTPC to black desktop and see if the black changes when switching for standard to enhanced on my pj right?
IF the blacks are different with the 2 settings I have a problem correct?
THX-UltraII
4th March 2009, 14:39
BTW:
Will my PS3 act fine with the Enhanced setting of my pj you think?
mark0077
4th March 2009, 14:45
thxz for all your help until now Mark, really appriciate it :thanks:
So tonight I will turn on my pj and my HTPC, set my HTPC to black desktop and see if the black changes when switching for standard to enhanced on my pj right?
IF the blacks are different with the 2 settings I have a problem correct?
Yep you have a problem with your graphics drivers most likely (or your pj is... faulty), but most likely your ATi card is sending the entire desktop in the wrong levels.
You can set your PS3 to output Extended or Limited also so if you get Extended working from PC -> Projector, you can set your PS3 to extended also and your sorted and then work on your video levels, which should come after you get the desktop outputting correctly.
I say it will take 2 minutes to get to proper video levels if extended is already working fine for you. It will take 2 hours otherwise (well would take me 2 hours), to track down an ATI hack to get extended range desktop.
Here is how black will look in different scenarios. As you can see, if your Pc is sending limited, then switching display between full (extended) and limited will show a noticible switch from black to grey. Your going to be using this to see if your Pc's desktop is sending limited or full. :D
=====================
Display Full
PC Full
Black will look black.
Display Full
PC Limited
Black will look grey.
Display Limited
PC Full
Black will look black. (but even dark greys will also look black)
Display Limited
PC Limited
Black will look black.
=====================
THX-UltraII
4th March 2009, 14:54
Yep you have a problem with your graphics drivers most likely (or your pj is... faulty), but most likely your ATi card is sending the entire desktop in the wrong levels.I know for 99,99% sure that my projector is ok. So IF the wrong levels are sended to my pj, is it best then to contact ATI to report this as bug?
You can set your PS3 to output Extended or Limited also so if you get Extended working from PC -> Projector, you can set your PS3 to extended also and your sorted and then work on your video levels, which should come after you get the desktop outputting correctly.understood
I say it will take 2 minutes to get to proper video levels if extended is already working fine for you. It will take 2 hours otherwise (well would take me 2 hours), to track down an ATI hack to get extended range desktop.let s hope for the first then!
mark0077
4th March 2009, 14:59
Well I know from nvidia's forums, that the problem is there on nvidia drivers since november last year AT LEAST. I guess there isn't much demand out there to have the ability to select the output levels type of the entire desktop. But the fact the drivers ASSUME one level or the other..... not good enough IMO, can't do any harm to report it.
THX-UltraII
4th March 2009, 15:09
Display Full
PC Full
Black will look black.
Display Full
PC Limited
Black will look grey.
Display Limited
PC Full
Black will look black. (but even dark greys will also look black)
Display Limited
PC Limited
Black will look black.
limited = Normal on my pj and Full = Enhanched right?
mark0077
4th March 2009, 15:10
limited = Normal on my pj and Full = Enhanched right?
Yeah thats it :D
THX-UltraII
4th March 2009, 15:14
pffff, why didn t ATI just put two option in the CCC where you can choose between Limited (Normal :)) and Full (Enhanced). Should be a simple thing to intergrate for engineers @ATI.
THX-UltraII
4th March 2009, 16:05
cca:
You talk about the ffdshow RGB HQ option that this will give troubles with DXVA. Can you tell more about this? How do I know if I use DXVA?
mark0077
4th March 2009, 16:13
Outputting in rgb32 to the renderer stops stuff like DXVA decoding and Hardware De-interlacing from working..... but who cares when you can do both in software. :D (assuming your cpu is fast enough to do them in software)
THX-UltraII
4th March 2009, 16:15
Outputting in rgb32 to the renderer stops stuff like DXVA decoding and Hardware De-interlacing from working..... but who cares when you can do both in software. :D (assuming your cpu is fast enough to do them in software)
thxz, how do I know if I use DXVA? Where is this turned ON/OFF?
THX-UltraII
4th March 2009, 16:23
I will be home from work within 2,5 hours so I will report back then right away!
But let s go over one more time to see if I understand what I have to do (sorry for looking so noobish :stupid:):
1. Set my PJ on Extended
2. Test my desktop to see if the blacks change (get better/blacker) when switching back to the Normal setting on my PJ.
If this results in no difference I m ok and go to step =>
3. config ffdshow so everything I play get outputted in RGB32 HQ.
If 2. results in difference I m not ok and go to step 'freak out' and report back here on the forum ;)
mark0077
4th March 2009, 16:30
I will be home from work within 2,5 hours so I will report back then right away!
But let s go over one more time to see if I understand what I have to do (sorry for looking so noobish :stupid:):
1. Set my PJ on Extended
2. Test my desktop to see if the blacks change (get better/blacker) when switching back to the Normal setting on my PJ.
If this results in no difference I m ok and go to step =>
3. config ffdshow so everything I play get outputted in RGB32 HQ.
If 2. results in difference I m not ok and go to step 'freak out' and report back here on the forum ;)
lol yep thats it. At step 2, if they are different, you may be tempted to leave your pj in "Normal" (but don't) as it will look a fair bit blacker. Set it back to "Extended" and try and find a fix for the problem (or freak out) .... you will benefit in better colors on the desktop, games, web, anything other than video, if you do find the fix and get everything in extended. :D
DXVA will be a setting in your player / decoder. I assume if you have ffdshow outputting rgb32, then dxva will just turn off and your decoder should know about it, and decode in software.... Thats how mpc-hc decoders work for me anyways, ie no settings changes required.
THX-UltraII
4th March 2009, 16:38
Set it back to "Extended" ....you will benefit in better colors on the desktop, games, web, anything other than video, if you do find the fix and get everything in extendedhmmmm, this is something new you say here. So IF it does not work (different blacks on desktop when switching between Normal and Enhanced) and I set my projector on Normal I will not have troubles with video (both hd and sd?) when using the ffdshow RGB HQ option but only with Games, Internet etc? Because that would be fine with me because I ONLY use my projector for watching video content (.mkv, .wmv and video_ts material) and I use my standard monitor for everything else.
mark0077
4th March 2009, 16:46
hmmmm, this is something new you say here. So IF it does not work (different blacks on desktop when switching between Normal and Enhanced) and I set my projector on Normal I will not have troubles with video (both hd and sd?) when using the ffdshow RGB HQ option but only with Games, Internet etc? Because that would be fine with me because I ONLY use my projector for watching video content (.mkv, .wmv and video_ts material) and I use my standard monitor for everything else.
In that case, if you do find the two are different, you can still get proper video levels using ffdshow with the settings described, just need to set the display type option to "TV/Projector". You will be depending on your projector to internally convert this normal/limited range its being fed into the full rgb32 thats eventually pushed onto your projector screen.....
I still prefer the fully extended option and let ffdshow do that conversion. Its really excellent, but your projector would probably do a really good job also.
Its just like, if everything in the chain is the same level, then no conversion should be needed in your pc, can be done at the end by projector. So a few scenarios that should give proper video levels are, ( surely with a few steps missing / debatable.)
Limited / Normal Scenarios
1) limited color video -> limited color output from gfx card -> limited input to projector -> Projector expands to extended internally if its natively extended -> Projected to wall
2) limited color video -> colorspace conversion only with ffdshow to RGB32 (with output type set to TV/Projector) -> limited output from gfx card -> limited input to projector -> Projector expands to extended internally if its natively extended -> Projected to wall
Extended / Full Range Scenarios
3) limited color video -> colorspace conversion and levels conversion ffdshow to RGB32 (with output type set to Monitor) -> extended output from gfx card -> extended input to projector -> Projected to wall
See what your gfx card is outputting first before you decide which of the above is going to be a solution your happy with. ;) The scenario I use is number 3, gives me colorspace conversion and trusted levels conversion all from ffdshow, aswell as extended colors from desktop looking correct for use as PC monitor.
THX-UltraII
5th March 2009, 08:42
So I did some (3 hours!) testing last night. I found out a few important things:
1. Setting a BLACK desktop and switch between 'Standard' and 'Enhanced' on the projector shows no difference at all in the black levels. But it looks like some brighther scenes are slightly different. White seems just a little yellowish. It s so minimal you can t hardly see difference between the two settings but there IS difference.
2. I ve set up ffdshow the correct way (RBG32 output HQ), but I don t see any differences between ffdshow ON or OFF while playing content. This SHOULD give me differences right?
Another question:
How can I make screenshots in MPC-HC to compare after some different settings?
THX-UltraII
5th March 2009, 09:02
I also talked to Spyre (ATI moderator/developer). He says that all I need to do is setup the 'Pixel Format' under the CCC correct. I ve searched the CCC (in advanced) for more than one our last night but really cannot find a setting like this anywhere. Spyre also said that this setting is only available when not using DVI but HDMI. This can t be the problem with me because I use the ASUS HD4350 and I use the direct HDMI out of this card.
mark0077
5th March 2009, 10:24
So I did some (3 hours!) testing last night. I found out a few important things:
1. Setting a BLACK desktop and switch between 'Standard' and 'Enhanced' on the projector shows no difference at all in the black levels. But it looks like some brighther scenes are slightly different. White seems just a little yellowish. It s so minimal you can t hardly see difference between the two settings but there IS difference.
Thats good then IMO. Colors in between will and should look different. But pure black should look the same and pure white should look the same, you can ignore the difference in other colors. They indicate nothing in this test. I am 99% sure your PC and Projector are correctly using Enhanced/Extended mode so you can focus on ffdshow.... which you probably have working fine already :D
2. I ve set up ffdshow the correct way (RBG32 output HQ), but I don t see any differences between ffdshow ON or OFF while playing content. This SHOULD give me differences right?
Well if you don't use ffdshow, your ATI drivers are doing the conversion so they may or may not get it right. You may not notice the difference if they are both doing the conversion correctly, but you can be pretty sure ffdshow is doing a good job if you use that instead. When using ffdshow, make sure to turn off any old pixel shaders you were using that might effect black levels etc as ffdshow is now handling it all.
Also with ffdshow, you may notice slight color differences to those that might appear if your gfx card does the conversion, as ffdshow will do Rec.601 -> Rec.709 conversion so your old standard definition content will look right on our newer displays. You should see an image closer to that of what the director / editor saw when producing the movie. This will be obvious from comparing the screenshots if your gfx card doesn't do this colorspace conversion (don't think either ATI or NVidia can switch between the two on the fly without registry hacks, ffdshow can).
Another question:
How can I make screenshots in MPC-HC to compare after some different settings?
Not sure what the keyboard shortcut is in mpc-hc, but I put my movie full screen and press "Print Scrn". Then in microsoft paint, go edit->paste and save as png to preserve all the detail.
THX-UltraII
6th March 2009, 09:15
Thats good then IMO. Colors in between will and should look different. But pure black should look the same and pure white should look the same, you can ignore the difference in other colors. They indicate nothing in this test. I am 99% sure your PC and Projector are correctly using Enhanced/Extended mode so you can focus on ffdshow.... which you probably have working fine already :DI found out a setting yesterdag in the CCC. It s called Pixel Format and there I can choose:
YCbCr 4:4:4
YCbCr 4:2:2
RGB 4:4:4: Studio (Limited RGB)
RGB 4:4:4 PC Standard (Full RGB)
It already was on RGB 4:4:4 PC Standard (Full RGB) so I think this is the right one correct?
Well if you don't use ffdshow, your ATI drivers are doing the conversion so they may or may not get it right. You may not notice the difference if they are both doing the conversion correctly, but you can be pretty sure ffdshow is doing a good job if you use that instead. When using ffdshow, make sure to turn off any old pixel shaders you were using that might effect black levels etc as ffdshow is now handling it all.How do I make sure that no 'old pixel shaders' are used? You mean the menu shaders in MPC-HC when playing media? This is turned OFF at my system now. Correct?
Not sure what the keyboard shortcut is in mpc-hc, but I put my movie full screen and press "Print Scrn". Then in microsoft paint, go edit->paste and save as png to preserve all the detail.print scren button did the job
mark0077
6th March 2009, 10:27
I found out a setting yesterdag in the CCC. It s called Pixel Format and there I can choose:
YCbCr 4:4:4
YCbCr 4:2:2
RGB 4:4:4: Studio (Limited RGB)
RGB 4:4:4 PC Standard (Full RGB)
It already was on RGB 4:4:4 PC Standard (Full RGB) so I think this is the right one correct?
How do I make sure that no 'old pixel shaders' are used? You mean the menu shaders in MPC-HC when playing media? This is turned OFF at my system now. Correct?
print scren button did the job
I think you are setup perfectly so far :D ffdshow on auto for the rgb settings, rgb32 only selected, high quality conversion selected and your ready to go IMO. One thing I did also because I hate the way DVD's are badly marked as coming from interlaced sources is to "Force Progressive" in the rgb section. This way the 99% of my disks that come from progressive sources get handled properly by the color conversion.
If I do any de-interlacing, I do it with "yadif + double framerate" within ffdshow before this step anyways so I always assume progressive material will be going through the rgb converter. I would advise selecting this also unless you trust your content / decoders deciding between progressive / interlaced. I certainly do not ;) I still advise setting mpc-hc's mpeg2 decoder option "set interlaced flag in output" to on and let ffdshow handle de-interlacing (if you decide to use ffdshows de-interlacing) but at least this will stop mpc-hc doing bad bob de-interlacing on this high percentage of disks, now your in control ;)
ALSO: Just out of interest for future reference, would you mind trying the pixel format "RGB 4:4:4: Studio (Limited RGB)" and let me know if the entire desktop changes. I just want to build up a record in my mind of what ATI / NVidia give in terms of controls. NVidia only give Studio vs Standard for video content that passes through it, NOT the entire desktop. Cheers for that ;)
THX-UltraII
7th March 2009, 12:34
the limited settings gives indeed wrong levels and makes the desktop go outwashed blacks.
mark0077
7th March 2009, 17:45
Excellent, at least ATI gives the setting :D NVidias setting only effects video, ATI users have the setting which effects EVERYTHING :D
I guess its upto you whether you let / trust ATI do your video color conversion or ffdshow.... you can be very confident that ffdshow is doing a great job anyways.
chichazor
8th March 2009, 01:29
In my 9600GT I use the 0-255 option for my monitor and 16-235 for my Sony Bravia, and all videos plays with the correct luminance levels in every display. I am thinking about buy a Ati 4870, ¿are the options in Pixel Format of Catalyst equal of the Nvidia about luminance leves and can I set up for 2 displays?
mark0077
8th March 2009, 03:34
Well I think both manufacturers should provide one option, display output level.
ATI seem to do this according to THX_ULTRA and this handles desktop and video.
NVidia unfortunately only give control over video controls, not desktop. Its a mess. With my nvidia set I use the EDID override in the drivers and use ffshow for color conversion and all is perfect.
iron2000
8th March 2009, 09:54
Looked around and seems like the Pixel Format option for ATI is only for HDMI-HDMI connections (HDMI at monitor to HDMI or ATI HDMI dongle at card).
Don't think it will work for me as its DVI at my monitor.
Theres a HDMI port at the card, thought of getting a 3rd party DVI to HDMI adapter but read that it might not work to get that option in CCC.
THX-UltraII
9th March 2009, 14:28
You can set your PS3 to output Extended or Limited also so if you get Extended working from PC -> Projector, you can set your PS3 to extended also and your sorted and then work on your video levels, which should come after you get the desktop outputting correctly
I ve put my PS3 on extended and now I have proper blacks on the PS3 extended and projector enhanced setting too! However, do you know by chance if the ps3 setting called 'SUPER WHITE' needs to be set to ON or OFF in my scenario?
mark0077
9th March 2009, 14:39
I am not 100% sure on the best setting for this. I think I set it to auto on a friends ps3 after reading that was a good setting, but according to http://manuals.playstation.net/document/en/ps3/current/settings/superwhite.html it doesn't have any impact unless your using Y Pb / Cb Pr / Cr so you should be fine setting it to Automatic maybe if all your using is RGB.
THX-UltraII
9th March 2009, 14:51
thxz
there s no auto setting, only ON or OFF possible
Shakey_Jake33
9th March 2009, 15:18
Sorry if this has been answered, I'm just trying to ensure I have this correct.
In the Nvidia Control Panel, I have enabled Full colour range as described. The side-effect of this is that videos that are designed for a Limited colour range (mostly SD TV content and DVD's) will appear incorrect.
To counter this, we can either force RGB32 in ffdshow (which is CPU-heavy so I'd rather not), or in the ffdshow Video Decoder configuration, go to Picture Properties and tix Luminance Level fix. I'm assuming this changes the Luminance levels for footage above/below a certain resolution.
Do I have that right?
mark0077
9th March 2009, 15:35
Sorry if this has been answered, I'm just trying to ensure I have this correct.
In the Nvidia Control Panel, I have enabled Full colour range as described. The side-effect of this is that videos that are designed for a Limited colour range (mostly SD TV content and DVD's) will appear incorrect.
To counter this, we can either force RGB32 in ffdshow (which is CPU-heavy so I'd rather not), or in the ffdshow Video Decoder configuration, go to Picture Properties and tix Luminance Level fix. I'm assuming this changes the Luminance levels for footage above/below a certain resolution.
Do I have that right?
No, the setting in the NVidia control panel means, "what type of display will you be watching the video content on". So if you select full-range (0-255) the nvidia drivers will use that information from then on and convert any limited range material upto 0-255 for you, and leave any 0-255 material as is. You shouldn't need to change the setting over and over again. It uses a similar technique to ffdshow as far as I know for determining what the origin of any type of video was, ie. limited or extended...
I suppose for me the difference between ffdshow handling color's and levels vs nvidia, is that I feel I can trust ffdshow's more than nvidias because I have found various combinations where nvidia definitely gets the conversion wrong or does a bad job, where as the newer ffdshow versions get it right for 100% of my content at least.
Beliyaal
13th March 2009, 12:15
I have added an option in EVR CP to choose the output space in my newest version (link in signature). The question is if this will break something on NVidia. Right now you can choose 0 - 255 and 16 - 235. Before it would set it to undefined. Maybe I should add an option for this as well?
mark0077
13th March 2009, 12:26
Will choosing one of these output to RGB32? When outputting to RGB the drivers don't do any conversion.
I think the ffdshow rgb conversion options are a great place to start. With its "Auto" settings I can do all of my colorspace and levels conversions without any manual steps. Maybe you could "steal" the code from the latest ffdshow's ;)
IMO in a perfect setup there would be options for
Input colorspace - Auto | Rec 709 | Rec 601 (Already in ffdshow)
Display colorspace - Rec 709 | Rec 601 | Other? (Not in ffdshow, I assume for maybe some technical reason it just assumes the display is Rec 709 calibrated)
Input Levels - Auto | 0-255 | 16-235 (Already in ffdshow)
Display Levels - Monitor (0-255) | TV/Projector (16-235) (Already in ffdshow)
Feel free to correct me on these.
Beliyaal
13th March 2009, 14:53
Will choosing one of these output to RGB32? When outputting to RGB the drivers don't do any conversion.
I think the ffdshow rgb conversion options are a great place to start. With its "Auto" settings I can do all of my colorspace and levels conversions without any manual steps. Maybe you could "steal" the code from the latest ffdshow's ;)
IMO in a perfect setup there would be options for
Input colorspace - Auto | Rec 709 | Rec 601 (Already in ffdshow)
Display colorspace - Rec 709 | Rec 601 | Other? (Not in ffdshow, I assume for maybe some technical reason it just assumes the display is Rec 709 calibrated)
Input Levels - Auto | 0-255 | 16-235 (Already in ffdshow)
Display Levels - Monitor (0-255) | TV/Projector (16-235) (Already in ffdshow)
Feel free to correct me on these.
The renderer always outputs in RGB32. The EVR CP isn't actually doing the color conversion, the EVR processing is, so I don't have any control over the code, I can just set flags about how I want it to output.
I have not found any way to control the color space, because this is a source property, and not a output property. It might be possible with some hacking intercepting the delivery of samples to the input pin to the EVR renderer. It might actually be possible for decoders to tag the format with the color space, and ideally they should take care of it (DXVA_Extended format properties).
Actually I found that ffdshow doesn't seem to be able to correctly preserve BTB or WTW info. It clips the samples when you choose 16-235 as input and 16-235 and output (this is the correct color space). This seems to work correctly with the EVR output though.
mark0077
13th March 2009, 15:23
The renderer always outputs in RGB32. The EVR CP isn't actually doing the color conversion, the EVR processing is, so I don't have any control over the code, I can just set flags about how I want it to output.
I have not found any way to control the color space, because this is a source property, and not a output property. It might be possible with some hacking intercepting the delivery of samples to the input pin to the EVR renderer. It might actually be possible for decoders to tag the format with the color space, and ideally they should take care of it (DXVA_Extended format properties).
Actually I found that ffdshow doesn't seem to be able to correctly preserve BTB or WTW info. It clips the samples when you choose 16-235 as input and 16-235 and output (this is the correct color space). This seems to work correctly with the EVR output though.
Ah I see, I thought you were implementing your own conversion code. In that case I don't see it being necessary to change any inputs. Is the whole point of outputting the flag, to basically give more information to the driver so it will know whether it has to do conversion or not (where as now it guesses based on resolution... but mostly gets it right). I didn't know this was possible :D What do you think the advantages are for us NVidia users? I have to say my nvidia drivers seem to get the levels conversion right most of the time. I never knew there was a problem regarding color levels when using hardware de-interlacing.
When you say ffdshow doesn't preserve BTB or WTW when set to 16-235, this is what its supposed to do. You are not meant to see BTB or WTW because reference black is 16 and reference white is 235. Correct me if I am wrong but ffdshow is doing what it is meant to do, clip off 0-16 and 235-255 and expand whats left to 0-255 for you, as these clipped parts are not meant to contain any data (They can contain data but are not "supposed" to.).
Beliyaal
13th March 2009, 16:29
When you say ffdshow doesn't preserve BTB or WTW when set to 16-235, this is what its supposed to do. You are not meant to see BTB or WTW because reference black is 16 and reference white is 235. Correct me if I am wrong but ffdshow is doing what it is meant to do, clip off 0-16 and 235-255 and expand whats left to 0-255 for you, as these clipped parts are not meant to contain any data (They can contain data but are not "supposed" to.).
As far as I understand it, the TV is supposed to do the clipping. I have set the TV to 0 - 255 level, and you should be able to see the levels below and above 16/235 in this case otherwise the BTB and WTW information is lost. This information is used to represent colors that cannot be represented in the colorspace otherwise.
clsid
13th March 2009, 16:36
The point is to output in the range that your display device expects as input. For old CRT TVs that is 16-235. For computer monitors that is 0-255. Digital TVs can usually be set to either range.
mark0077
13th March 2009, 16:54
As far as I understand it, the TV is supposed to do the clipping. I have set the TV to 0 - 255 level, and you should be able to see the levels below and above 16/235 in this case otherwise the BTB and WTW information is lost. This information is used to represent colors that cannot be represented in the colorspace otherwise.
Well if your TV is setup to accept 0-255 it will do absolutely no clipping. It just takes what it gets and pushes it onto your screen. In this case it is upto your gfx card or ffdshow to translate any of your 16-235 content to 0-255 for you and send that to your display. Your display just pushes this onto the screen and it should look right if your PC did the conversin properly. You shouldn't see BTB or WTW as 16 was stretched to 0 on your tv, and 235 was stretched to 255, the BTB and WTW should be history.
If your graphics card is properly outputting 0-255 (problem with nvidia cards and HDTV's as they send 16-235 without doing the EDID override), and your display is set to 0-255, then with ffdshow display output option set to Monitor / PC (0-255) and video source option set to Standard (16-235) I can confirm it does send 16-235 correctly (it stretches the 16-235 correctly out to 0-255). If ffdshow is doing its job, 16 in your source should be stretched to 0 before it reaches your display and look jet black (and you should see NOTHING below it) even on your 0-255 display, and 235 in your source should stretched to 255 before it reaches your display and be pure white (and you should see NOTHING above it). IMO you should never ever want to see the BTB or WTW even on 0-255 displays. If you do you are doing something wrong and your blacks will be grey, and whites.... grey too...
I wonder would it be beneficial to do a little diagram up to explain this stuff. Took me forever to get into my head whats going on and it confuses the best of us.
Beliyaal
13th March 2009, 17:10
Well if your TV is setup to accept 0-255 it will do absolutely no clipping. It just takes what it gets and pushes it onto your screen. In this case it is upto your gfx card or ffdshow to translate any of your 16-235 content to 0-255 for you and send that to your display. Your display just pushes this onto the screen and it should look right if your PC did the conversin properly. You shouldn't see BTB or WTW as 16 was stretched to 0 on your tv, and 235 was stretched to 255, the BTB and WTW should be history.
If your graphics card is properly outputting 0-255 (problem with nvidia cards and HDTV's as they send 16-235 without doing the EDID override), and your display is set to 0-255, then with ffdshow display output option set to Monitor / PC (0-255) and video source option set to Standard (16-235) I can confirm it does send 16-235 correctly (it stretches the 16-235 correctly out to 0-255). If ffdshow is doing its job, 16 in your source should be stretched to 0 before it reaches your display and look jet black (and you should see NOTHING below it) even on your 0-255 display, and 235 in your source should stretched to 255 before it reaches your display and be pure white (and you should see NOTHING above it). IMO you should never ever want to see the BTB or WTW even on 0-255 displays. If you do you are doing something wrong and your blacks will be grey, and whites.... grey too...
I wonder would it be beneficial to do a little diagram up to explain this stuff. Took me forever to get into my head whats going on and it confuses the best of us.
Yes this is the way I have it set up. If my TV however WAS able to accept 16-235 the correct way to set it up in ffdshow would be: input levels 16-235 and output level 16-235. This ways it could correctly interpret the source YUV as 16-235 and ouput the RBG "non clipped" as 16-235 with some value being below 16 or above 235 (BTB and WTW).
The problem with ffdshow is that it clips to 16-235.
The BTB and WTW information is only valuable when viewing other colors than white and black, as it these colors that might not be representable in the YUV colorspace.
mark0077
13th March 2009, 17:31
Yes this is the way I have it set up. If my TV however WAS able to accept 16-235 the correct way to set it up in ffdshow would be: input levels 16-235 and output level 16-235. This ways it could correctly interpret the source YUV as 16-235 and ouput the RBG "non clipped" as 16-235 with some value being below 16 or above 235 (BTB and WTW).
The problem with ffdshow is that it clips to 16-235.
The BTB and WTW information is only valuable when viewing other colors than white and black, as it these colors that might not be representable in the YUV colorspace.
Sorry I don't understand, could it be something that could be fixed, if so I suggest sending it to the guys in the ffdshow thread.
Are you saying if your TV is set to 16-235 and your source is 0-255 (16-235 with btb and wtw information), that ffdshow doesn't do the 0-255 -> 16-235 conversion properly, it clips the values off instead of scaling from one to the other?
clsid
13th March 2009, 17:35
But if the TV was configured properly then 16 would give pure black and 235 would give pure white. Clipping 16-235 input (treating 0-15 as 16 and 236-255 as 235) should then have no visible difference since lower/higher values should also be pure black/white.
Video sources are almost always encoded as 16-235.
mark0077
13th March 2009, 17:39
But if the TV was configured properly then 16 would give pure black and 235 would give pure white. Clipping should then have no visible difference since lower/higher values should also be pure black/white.
Video sources are almost always encoded as 16-235.
Yeah if the TV is setup to 16-235 and ffdshow's output display setting is 16-235 then all will be fine. You just have to make sure your GFX card and Display both use the same. ie if your display is setup to input 16-235 and your drivers arn't (or don't have the option in the case of NVidia) then you will run into problems.
Beliyaal
13th March 2009, 17:45
Yes it will display correctly with clipping to 16-235. All this talk about BTB and WTW however only has meaning if the values aren't clipped. Some colors for example might only be representable with values outside 16-235. For example a color that is "redder" than red.
The idea is basically to represent colors outside the color space with values below 0.0 and above 1.0
mark0077
13th March 2009, 17:53
I am still lost as to why anyone would want to see values above or below whats intended to be seen........ anyways... With ffdshow settings, 100% of content I have used in my lifetime can be seen in its entirity, the only clip i have seen using BTB or WTW is the THX test screens that contain information below 16 and above 235 that basically advises that you should never ever see this btb or wtw content (and ffdshows INPUT setting can be set to full range or 0-255 if you actually do want to see it, then it won't be clipped off), its there for you to adjust your display / software settings so that you don't see it.... yeah I'm still not sure why anyone would need what you talk about....
I am not sure why any BTB or WTW content should ever be visible. thats the definition of it in my mind, content that was never intended to be seen, and 99% of the time contains no data except for calibration purposes (to guide you that you should never see it)
Beliyaal
13th March 2009, 18:00
There probably isn't any content that uses it anyway, which is why I don't bother with it. My tv has a xvYCC switch, but I have not been able to get the information to it correctly. Maybe it needs a 10 bit signal. Windows 7 is supposed to have some support for this, so I guess I will look into it when I start using Windows 7 full time.
A link explaining why you would want colors outside the gamut. (http://www.hometheatermag.com/gearworks/207gear/)
mark0077
13th March 2009, 18:05
There probably isn't any content that uses it anyway, which is why I don't bother with it. My tv has a xvYCC switch, but I have not been able to get the information to it correctly. Maybe it needs a 10 bit signal. Windows 7 is supposed to have some support for this, so I guess I will look into it when I start using Windows 7 full time.
A link explaining why you would want colors outside the gamut. (http://www.hometheatermag.com/gearworks/207gear/)
Thanks for the link, but (even though we probably won't need those deep colour settings for a while or in the next 5 years see any content using it) if any content comes with this large gamut it won't be using BTB or WTW to represent that extra detail, we won't be dealing with 0-255 anymore. The extended gamut will use 10bit color so we will be using inputs of 0-1024 for 10-bit and 0-4096 for 12-bit color. To me BTB and WTW have nothing to do with these extended gamuts.... I can see how this stuff can confuse....
Interesting link, I would love to see some 10-bit movies in a couple of years :D:D
Beliyaal
13th March 2009, 18:10
Thanks for the link, but (even though we probably won't need those deep colour settings for a while or in the next 5 years see any content using it) if any content comes with this large gamut it won't be using BTB or WTW to represent that extra detail, we won't be dealing with 0-255 anymore. The extended gamut will use 10bit color so we will be using inputs of 0-1024 for 10-bit and 0-4096 for 12-bit color. To me BTB and WTW have nothing to do with these extended gamuts.... I can see how this stuff can confuse....
Interesting link, I would love to see some 10-bit movies in a couple of years :D:D
Actually, it is exactly this way that x.v.Color works, representing the information in the BTB and WTW areas. This is to remain backwards compatible with old TVs (10 bit color won't magically use another color space):
http://en.wikipedia.org/wiki/XvYCC
mark0077
13th March 2009, 18:18
oh :D thanks, never knew that :D
I guess if someone needed to use camcorder movies that can record in xvYCC then ffdshow would need these new settings. I guess the existing ones arn't enough...
iron2000
16th March 2009, 01:44
Seems like the ffdshow RGB32 trick is not working on my PC.
Colors looks washed out even with it on, looked better with the 16-235 -> 0-255 shader though.
clsid
16th March 2009, 12:23
That means one of three things:
- ffdshow is not getting used
- your haven't forced RGB32 output
- you need to adjust the RGB conversion settings
Delerue
19th March 2009, 07:36
Hmmm... Interesting topic. I already know about the Nvidia full range driver option. It helps a lot, and I can't understand why it still came disabled (i.e. 16-235) by default. BTW, I still can't get the right luminance level in these two videos (tried with FFDShow decoder, MPC decoder and WMP 11 decoder):
http://download.nvidia.com/downloads/nZone/videos/PureVideo_1080p.wmv
http://us.download.nvidia.com/downloads/videos/GF8800Demoreel_High_8000.wmv
All the rest (including this other WMV by Nvidia (http://us.download.nvidia.com/downloads/nZone/videos/nzm_Cascades_tech.wmv)), as far as I remember, are correct. I already see this problem with other videos, and the only solution I found was to enable DXVA (blerg), although it doesn't seem to correct the two videos above. Any idea?
Thanks
P.S.: chros, Nvidia drivers after 180.42 seems to be broken. I tested a few ones with XP x64. The Nvidia Control Panel process doesn't close after you hit the 'x' (check the Task Manager), and it messes with some settings, including luminance level. You can try to apply 0-255 and open a video with the Nvidia Control Panel still opened; it'll work. I gave up, and back to 180.42.
madshi
20th March 2009, 20:40
The problem with ffdshow is that it clips to 16-235.
It does not. At least not the (some weeks old) build I have on my PC.
Beliyaal
20th March 2009, 21:10
It does not. At least not the (some weeks old) build I have on my PC.
Have you set input to 16-235 and output to 16-235 when this is the case?
LoRd_MuldeR
12th April 2009, 13:53
Method #1: Adjusting graphics driver settings
NVIDIA
Since version 177.84, the NVIDIA drivers have an option for configuring the luma range.
You can find the option here:
NVIDIA Control Panel -> Video & Television -> Adjust video color settings -> Select "With the NVIDIA settings" -> Advanced tab -> Set Dynamic Range to "Full (0-255)".
screenshot (http://img254.imageshack.us/img254/5002/sshot1pr2.jpg)
Unfortunately that settings is back at "With the video player settings" after I reboot the computer :rolleyes:
Is there any method to make the NVIDIA drivers remember that setting? Or do I really need to set this up every single time? :confused:
leeperry
12th April 2009, 13:56
a few more reboots maybe? I know my custom timings always vanish the first time I reboot, but afterwards they do stick :D
Delerue
12th April 2009, 15:50
Unfortunately that settings is back at "With the video player settings" after I reboot the computer :rolleyes:
Is there any method to make the NVIDIA drivers remember that setting? Or do I really need to set this up every single time? :confused:
Check my P.S. here: http://forum.doom9.org/showthread.php?p=1263321#post1263321
I already tested with the last 185.68, and still the same problem (plus my USB mouse isn't working...) :rolleyes:
LoRd_MuldeR
12th April 2009, 19:50
Check my P.S. here: http://forum.doom9.org/showthread.php?p=1263321#post1263321
I already tested with the last 185.68, and still the same problem (plus my USB mouse isn't working...) :rolleyes:
I see! So I'm not alone with the problem. Hopefully they'll fix it in a future driver version. I'm running 182.50 right now...
Mangix
12th April 2009, 21:02
182.47 remembers it. at least on my computer. beliyal's MPC builds have an option to set the levels(not pixel shader) and now i've pretty much stopped using that setting from the control panel.
LoRd_MuldeR
12th April 2009, 21:04
beliyal's MPC builds have an option to set the levels(not pixel shader) and now i've pretty much stopped using that setting from the control panel.
I need it for DVBViewer mainly ;)
Mangix
12th April 2009, 22:59
makes sense. only thing i can recommend is using driver sweeper and reinstalling the drivers.
i personally only use Xtreme-G (http://www.tweakforce.com) drivers :)
LoRd_MuldeR
13th April 2009, 01:54
I already tested with the last 185.68, and still the same problem (plus my USB mouse isn't working...) :rolleyes:
Same problem here. I wonder how a graphics driver can cause this :confused:
Anyway, it helps to unplug the mouse and plug it in again. But it sucks to do this after every reboot :rolleyes:
Delerue
13th April 2009, 03:02
Same problem here. I wonder how a graphics driver can cause this :confused:
Anyway, it helps to unplug the mouse and plug it in again. But it sucks to do this after every reboot :rolleyes:
Well, you know the 'Nvidia, the way it's meant to be bugged', don't you? :p
LoRd_MuldeR
13th April 2009, 03:28
Well, you know the 'Nvidia, the way it's meant to be bugged', don't you? :p
Thought that was ATI's motto :D
(The good news is that 185.68 seems to remember the "Dynamic Range" settings again)
chros
16th April 2009, 10:54
P.S.: chros, Nvidia drivers after 180.42 seems to be broken. I tested a few ones with XP x64. The Nvidia Control Panel process doesn't close after you hit the 'x' (check the Task Manager), and it messes with some settings, including luminance level. You can try to apply 0-255 and open a video with the Nvidia Control Panel still opened; it'll work. I gave up, and back to 180.42.
Hhmmm ... Indeed ! It's still running ! (nvcplui.exe) So maybe that's why it's working until reboot ...
So maybe we need a command line switc for it, and autorun on startup ...
I already tested with the last 185.68, and still the same problem
(The good news is that 185.68 seems to remember the "Dynamic Range" settings again)
So how could this be ???
I have reinstalled a computer at my friend: nvidia nforce4 ultra chipset + geforce 6600GT + v182.50 driver + an old analog CRT monitor : and it remembers this setting!!!
So maybe the connection between the card and the display is the problem ? What about yours? (See mine in my signature ...)
Thanks
Delerue
16th April 2009, 14:13
Hhmmm ... Indeed ! It's still running ! (nvcplui.exe) So maybe that's why it's working until reboot ...
So maybe we need a command line switc for it, and autorun on startup ...
Too much work for a little (or no...) gain with the new driver, don't you think?
I have reinstalled a computer at my friend: nvidia nforce4 ultra chipset + geforce 6600GT + v182.50 driver + an old analog CRT monitor : and it remembers this setting!!!
So maybe the connection between the card and the display is the problem ? What about yours? (See mine in my signature ...)
Don't think so. I use an 'old' Philips CRT 22', and doesn't matter what driver version after 180.42 I try; all of them have this same bug.
chros
18th April 2009, 09:06
Too much work for a little (or no...) gain with the new driver, don't you think?
What do you mean with this? (Sorry, I can't understand ...)
Thanks
Delerue
19th April 2009, 16:00
What do you mean with this? (Sorry, I can't understand ...)
Thanks
What I mean is that you're searching for command lines and other things to make the new driver work perfectly, but I think that these new versions aren't worth this pain; simply don't use them. Use the 180.42 version and be happy, or wait for a decent version.
Well, this is just my opinion. ;)
LoRd_MuldeR
19th April 2009, 23:35
So how could this be ???
I have reinstalled a computer at my friend: nvidia nforce4 ultra chipset + geforce 6600GT + v182.50 driver + an old analog CRT monitor : and it remembers this setting!!!
I have no idea. May even be my multi-monitor setup.
I can only say the v182.50, the first ForceWare I ever installed, doesn't remember the luminance levels. At least it has that option, ATI CCC didn't have such an option.
The 185.68 version does remember the settings, but it disables my USB mouse every reboot until I unplug and re-connect it. That's not really an improvement...
So maybe the connection between the card and the display is the problem ? What about yours? (See mine in my signature ...)
See my signature too ;)
Peuj
20th April 2009, 09:19
@LoRd_MuldeR,
Maybe you can try drivers from http://www.laptopvideo2go.com ?
chros
20th April 2009, 10:45
See my signature too ;)
"My specs" isn't available ... :)
Use the 180.42 version and be happy, or wait for a decent version.
Thanks, now I'm waiting for a newer version ... :)
LoRd_MuldeR
20th April 2009, 14:58
"My specs" isn't available ... :)
Obviously that ImageShack server went down. Re-uploaded to another server and updated my sig ;)
LoRd_MuldeR
4th May 2009, 23:24
Argh, ForceWare 185.81 finally fixed the USB mouse problem, but once again doesn't remember the "dynamic range" settings. That was already fixed in 185.68 :rolleyes:
Delerue
5th May 2009, 03:42
Argh, ForceWare 185.81 finally fixed the USB mouse problem, but once again doesn't remember the "dynamic range" settings. That was already fixed in 185.68 :rolleyes:
Hehehe. It's impossible to understand Nvidia's drivers. I gave up. 180.42 FTW. :)
chros
11th May 2009, 18:07
Hehehe. It's impossible to understand Nvidia's drivers. I gave up. 180.42 FTW. :)
Well ... :)
The latest whql v185.85 driver doesn't remember the "dynamic range" settings, too ... :)
LoRd_MuldeR
11th May 2009, 18:09
Well ... :)
The latest whql v185.85 driver doesn't remember the "dynamic range" settings, too ... :)
Indeed :rolleyes:
Inspector.Gadget
12th May 2009, 00:37
185.85 causes BSODs and lock-ups here on an 9650M GT... so much for "Hardware Quality"...
thewebchat
12th May 2009, 04:43
I've followed most of this thread and seen a good deal of discussion about PC vs TV luma levels, but what about BT709 vs. BT601? I tried switching the modes in Haali, but was hard-pressed to find a difference. It seems some colors are slightly different in one mode or the other, but is there any way to tell which mode is right for X random file (assuming the source media is unknown), i.e. is there something in particular to look for in a BT709 or a BT601 color video.
Pulstar
21st May 2009, 15:21
Something that puzzled me is why laptop LCD's (powered by GMA chipsets) display 'more correct' colours than desktop LCDs (Nvidia/ATI output)? Even if VMR9 is the renderer for both platforms? Does Intel which produces subpar graphic chipsets care enough to implement colour correction in their drivers?
LoRd_MuldeR
7th June 2009, 16:38
It seems the ForceWare v186.08 Beta drivers will finally remember the luminance range after reboot.
And so far it seems they don't brake anything important here. Even my USB mouse still works ;)
Delerue
7th June 2009, 20:36
It seems the ForceWare v186.08 Beta drivers will finally remember the luminance range after reboot.
And so far it seems they don't brake anything important here. Even my USB mouse still works ;)
Ok. I'll give it a try. Let's hope...
Delerue
11th June 2009, 03:53
Well, it doesn't work for me with XP x64. Although the setting remains 'Full (0-255)', videos don't have the correct luminance level. Nvidia is amazing...
LoRd_MuldeR
11th June 2009, 13:22
Well, it doesn't work for me with XP x64. Although the setting remains 'Full (0-255)', videos don't have the correct luminance level.
Definitely works for me! I'm on WinXP x64 too. Very strange :confused:
Nvidia is amazing...
Not as "amazing" as ATI. Compared to ATI'S CCC the Nvidia Control Panel is MUCH better, still far from being perfect though ;)
Delerue
11th June 2009, 15:56
Definitely works for me! I'm on WinXP x64 too. Very strange :confused:
Take a look:
180.42:
http://img.photobucket.com/albums/v256/Delerue/18042.jpg
186.08:
http://img.photobucket.com/albums/v256/Delerue/18608.jpg
You can try this video here: http://us.download.nvidia.com/downloads/nZone/videos/nzm_Cascades_tech.wmv
LoRd_MuldeR
11th June 2009, 18:03
There's no such problem here:
http://img31.imageshack.us/img31/7350/cascades.th.png (http://img31.imageshack.us/img31/7350/cascades.png)
(Renderer used was VMR9. When I switch back from "full" to "limited", then I get wrong luminace levels again. So the option works as expected)
Delerue
11th June 2009, 18:46
There's no such problem here:
[...]
(Renderer used was VMR9. When I switch back from "full" to "limited", then I get wrong luminace levels again. So the option works as expected)
Ah! Thanks! I finally discover the problem. It seems that VMR7 Windowed (the only one that doesn't stutter here) doesn't like the Nvidia Dynamic Range driver option with these new versions. With VMR9 (both Windowed and Renderless) it works perfectly. Try it, please.
Another thing. If I try VMR 7 Windowed with Nvidia Control Panel opened, it applies the correct luminance level. But if I close it, it messes the colors again. You have to close MPC and open it to see this weird thing. :rolleyes:
LoRd_MuldeR
11th June 2009, 18:55
I can confirm that the "Dynamic range" setting obliviously doesn't apply to VMR7 in "windowed" mode, but the "renderless" version works just fine for me!
VMR9 works fine for me in both modes, "windowed" and "renderless".
The same applies to both versions of EVR. But with the None-"Custom Pres" version of EVR the black borders (not the video itself!) are too bright.
Delerue
11th June 2009, 18:59
I can confirm that the "Dynamic range" setting obliviously doesn't apply to VMR7 in "windowed" mode, but the "renderless" version works just fine for me!
Hehehe. Why 'obliviously'? It works with 180.42 and older driver versions. :)
Anyway, thanks for your help.
But with the None-"Custom Pres" version of EVR the black borders (not the video itself!) are too bright.
Hahaha! I can confirm. Really odd. :D
LoRd_MuldeR
11th June 2009, 19:04
Hehehe. Why 'obliviously'? It works with 180.42 and older driver versions. :)
"Obviously" because on my system I can clearly reproduce that "Dynamic range" doesn't have any effect on the VMR7 (windowed) renderer, but works as expected with all the others.
I did not test VMR7 (windowed) with the 180.42 drivers on my system though. I use VMR9 in DVBViewer and I use Haali Renderer in applications that support it (e.g. MPC-HC).
Delerue
11th June 2009, 19:29
"Obviously" because on my system I can clearly reproduce that "Dynamic range" doesn't have any effect on the VMR7 (windowed) renderer, but works as expected with all the others.
I see. BTW, I noticed that EVR Custom makes the Sync Offset (CTRL+4) goes to the moon, hehehe. It keeps running ad eternum. With default EVR it doesn't happen. You can see this with the video I told you before.
sarastro
14th June 2009, 11:45
Thanks to CLSID's Tool for changing the preferred DirectShow filters in Windows 7 I can now use the DXVA decoder of MPC-HC in Windows Media Center. Unfortunately the picture suffers from the luminance level problem discussed in this topic. In MPC-HC this also occurs, but I just use the pixelshaders to correct this problem.
How does one correct this on an ATI system? I've read (and reread) the start post, but don't know what to try in this case.
LoRd_MuldeR
14th June 2009, 13:23
Thanks to CLSID's Tool for changing the preferred DirectShow filters in Windows 7 I can now use the DXVA decoder of MPC-HC in Windows Media Center. Unfortunately the picture suffers from the luminance level problem discussed in this topic. In MPC-HC this also occurs, but I just use the pixelshaders to correct this problem.
How does one correct this on an ATI system? I've read (and reread) the start post, but don't know what to try in this case.
The easiest way would be using Haali's Renderer (http://haali.cs.msu.ru/mkv/) and set the desired luminance range in the renderer's option dialog.
http://img34.imageshack.us/img34/3272/haaliluma.th.png (http://img34.imageshack.us/i/haaliluma.png/)
Also I think registry hacks exist for ATI hardware to adjust the luminance range, but I never used those. And now I'm not on ATI anymore...
clsid
14th June 2009, 14:36
The registry hacks don't work anymore with recent versions of the ATi drivers :(
Also, Haali renderer can't be used in Media Center. At least not without setting the merits of the other renderers to Do_NOT_USE, which might break things.
sarastro
14th June 2009, 15:01
The registry hacks don't work anymore with recent versions of the ATi drivers :(
I realized that.
But even if I managed to use the Haali renderer, MPC-HC requires EVR or EVR Custom as renderer. So would DXVA even work with Media Center with Haali as a renderer?
If not, I'd rather use coreavc although corecodec still hasn't come up with a x64 edition.
clsid
14th June 2009, 15:13
Nope, DXVA won't work with Haali.
You could try ffdshow and select ffmpeg-mt as H.264 decoder. That has decent performance on multi-core CPUs.
sarastro
15th June 2009, 00:23
Nope, DXVA won't work with Haali.
You could try ffdshow and select ffmpeg-mt as H.264 decoder. That has decent performance on multi-core CPUs.
That was already my previous setup.It worked fine, but I just wanted to take advantage of DXVA with Media Center like i do with MPC-HC.
Why? 1080p with ffdshow makes my CPU fan spin harder (temps go up a lot), it doesn't with DXVA.
But thanks anyway:thanks:
clsid
15th June 2009, 13:12
You can always spam ATI support to request a luminance option similar to what NVIDIA has.
THX-UltraII
17th June 2009, 13:29
All my movies have perfect luminance but with SOME (not all!) trailers the black is totally greyed out. Anyone knows if this is a trailer problem or some last things I m missing and might need to change?
thanks!
clsid
17th June 2009, 16:45
Something is obviously different about those files than your other files. Perhaps a different decoder is being used?
Delerue
17th June 2009, 19:33
Something is obviously different about those files than your other files. Perhaps a different decoder is being used?
Not necessarily they use different codecs. For example, Nvidia Cascade Demo Video (http://us.download.nvidia.com/downloads/nZone/videos/nzm_Cascades_tech.wmv) uses the same codec as Nvidia GeForce 8800 Demo Reel (http://us.download.nvidia.com/downloads/videos/GF8800Demoreel_High_8000.wmv) and Nvidia Pure Video Demo (http://download.nvidia.com/downloads/nZone/videos/PureVideo_1080p.wmv), but the first one has correct luminance (i.e.: black is really black), and the second and third haven't. I think Nvidia encoded these videos with different luminance settings, which is really bad. :(
mark0077
18th June 2009, 13:38
Yeah alot of those nvidia demos show greyish blacks when I have played them in the past. They probably use full range 0-255 values so something like ffdshow's rgb conversion will let you watch them the way they should (by using its rgb conversion, with input set to 0-255 instead of the default 16-235). But I doubt there is a way to automatically detect what range of values its using. Isn't there a way for developers to have a flag in there to say what range of values is used for colors, rec 601 vs rec 709 etc. Software like video card drivers, ffdshow on auto, all seem to try to guess this, guessing the rec 601 / rec 709 based on the resolution.
LoRd_MuldeR
18th June 2009, 14:53
ForeWare 186.18 WHQL:
http://www.nvidia.com/object/winxp64_186.18_whql.html
First impression: Does remember "luminace range" across system reboot :D
73ChargerFan
18th June 2009, 16:59
But I doubt there is a way to automatically detect what range of values its using.
We 'assume' that properly encoded files are video range
As the video is displayed, check the range of R G B values
If r,g or b values are <16 or >235, change to full range
Black is going to be a very prevalent color, and it would appear in the first frame of every film, so those would adjust correctly. For videos, again we assume most will be video range, so on occasion you'll get what looks like a "auto-contrast" adjustment a second or two into playback.
I, too, would like to see the video range / gamut included as standard meta-data in video files. There is no reason to not add it matroska containers. Then if a compliant player determines the video is "full range" it can add the tag to the file for future reference, or to an internal list of file names.
mark0077
18th June 2009, 17:58
We 'assume' that properly encoded files are video range
As the video is displayed, check the range of R G B values
If r,g or b values are <16 or >235, change to full range
Black is going to be a very prevalent color, and it would appear in the first frame of every film, so those would adjust correctly. For videos, again we assume most will be video range, so on occasion you'll get what looks like a "auto-contrast" adjustment a second or two into playback.
I, too, would like to see the video range / gamut included as standard meta-data in video files. There is no reason to not add it matroska containers. Then if a compliant player determines the video is "full range" it can add the tag to the file for future reference, or to an internal list of file names.
Yea that sounds good. I think ffdshow or is it avisynth that has a method to detect <16 or >235, but havn't heard of alot using it. Encoding the files with some sort of flag should be the way to go though as you suggest. How would one / us all come up with a way of flagging videos that may become a standard that all players can look at.
Shakey_Jake33
18th June 2009, 23:04
ForeWare 186.18 WHQL:
http://www.nvidia.com/object/winxp64_186.18_whql.html
First impression: Does remember "luminace range" across system reboot :D
I've not tried the desktop drivers, but the notebook drivers have never had a problem with this.
chros
21st June 2009, 18:20
ForeWare 186.18 WHQL:
http://www.nvidia.com/object/winxp64_186.18_whql.html
First impression: Does remember "luminace range" across system reboot :D
On both head of the graphic card?
Can you try it?
Because of the previously linked beta driver only remembers on the primary head ... :(
Thanks
LoRd_MuldeR
21st June 2009, 19:15
On both head of the graphic card?
Can you try it?
Because of the previously linked beta driver only remembers on the primary head ... :(
Thanks
Head? :confused:
Well, I have two screens (VGA and DVI) and it remembers the setting for both of my screens. If that is what you asked for...
Leak
21st June 2009, 19:29
Head? :confused:
Well, "head" as in "dual-head graphics card", i.e. 2 output connectors for connecting 2 screens...
np: Jackie Leven & The Celtic Soulmen - Deep Choking Wooded Death Fix (The Haunted Year: Spring - Man Bleeds In Glasgow)
LoRd_MuldeR
21st June 2009, 19:32
Well, "head" as in "dual-head graphics card", i.e. 2 output connectors for connecting 2 screens...
That's what I assumed. Hence my answer :)
chros
22nd June 2009, 09:24
ForeWare 186.18 WHQL:
http://www.nvidia.com/object/winxp64_186.18_whql.html
First impression: Does remember "luminace range" across system reboot :D
Well, I have tried the 32bit version, and it forgot them, again ... :(
LoRd_MuldeR
22nd June 2009, 13:53
Well, I have tried the 32bit version, and it forgot them, again ... :(
Odd...
THX-UltraII
26th June 2009, 08:56
I would like to talk about something I posted in this thread a few months ago. I had some question about the black levels and enhanced/normal setting on my projector. I solved everything (with the help of you guys!) by changing the ATI CCC Pixel Format option to RGB:Full and putting my projector on ENHANCED. What I also did (on the advise of someone users here) was installing FFdshow and ONLY checked the 'RGB32' and 'HIGH QUALITY YV12 to RGB conversion' boxes in the 'Output' setting of ffdshow. In the upper 'Codecs' setting of ffdshow I only check 'Raw video' and set this to 'all supported'.
So I had to do a full HD format of my PC last night (had some other, non-related video, problems with my PC) and while installing everything it got my thinking about something:
Isn t my setup I used the last months (which seems ok by the way!) a 'double' setting and isn t it so that one of the two things I do (OR the ffdshow settings OR the ATI CCC pixel format setting) can be skipped? If so I would like to skip FFdshow HQ RGB because this eats some CPU.
So I tried playing some content last night WITHOUT ffdshow and with only the correct ATI CCC setting (also not use any shader or something like that in MPC-HC). Everything seems ok but I would like to know if I m correct in all things I ve put here.
IS it not needed to use FFdshow in my case and DOES it have no benefits (for my setup) at all to use it.
I ask this because I would like to have a HTPC as simple as possible and skipping ffdshow also saves CPU.
But maybe you guys have other suggestions to set it up different.
My hardware:
- Core2Quad Q6600
- 4GB internal mem
- Asus P5B-V motherboard
- Asus 4350 ati card with a native HDMI output going directly to my JVC HD100 projector (projector set to ENHANCED video)
And software:
- XP SP3 with .NET Framework 1.1, 2.0 and 3.0 installed
- MPC-HC latest version with EVR Custom as output
- Reclock
- CoreAVC 1.9.5 (only comes in when running .mkv files, not with my .wmv files)
- Haali Media Splitter
- ATI display driver and CCC 9.6
- march2009 release of DirectX 9
Thanks for all help and sorry for the clumsy English.
Cheers.
fastplayer
26th June 2009, 10:05
@THX-UltraII:
8) No cross posting. Post your message once, to the appropriate forum and nowhere else or it will be locked or deleted without warning.
How many times do we have to remind you about cross-posting (http://forum.doom9.org/showthread.php?t=148024)?
THX-UltraII
26th June 2009, 10:53
I will close the other topic.
mark0077
26th June 2009, 12:24
I would like to talk about something I posted in this thread a few months ago. I had some question about the black levels and enhanced/normal setting on my projector. I solved everything (with the help of you guys!) by changing the ATI CCC Pixel Format option to RGB:Full and putting my projector on ENHANCED. What I also did (on the advise of someone users here) was installing FFdshow and ONLY checked the 'RGB32' and 'HIGH QUALITY YV12 to RGB conversion' boxes in the 'Output' setting of ffdshow. In the upper 'Codecs' setting of ffdshow I only check 'Raw video' and set this to 'all supported'.
So I had to do a full HD format of my PC last night (had some other, non-related video, problems with my PC) and while installing everything it got my thinking about something:
Isn t my setup I used the last months (which seems ok by the way!) a 'double' setting and isn t it so that one of the two things I do (OR the ffdshow settings OR the ATI CCC pixel format setting) can be skipped? If so I would like to skip FFdshow HQ RGB because this eats some CPU.
So I tried playing some content last night WITHOUT ffdshow and with only the correct ATI CCC setting (also not use any shader or something like that in MPC-HC). Everything seems ok but I would like to know if I m correct in all things I ve put here.
IS it not needed to use FFdshow in my case and DOES it have no benefits (for my setup) at all to use it.
I ask this because I would like to have a HTPC as simple as possible and skipping ffdshow also saves CPU.
But maybe you guys have other suggestions to set it up different.
My hardware:
- Core2Quad Q6600
- 4GB internal mem
- Asus P5B-V motherboard
- Asus 4350 ati card with a native HDMI output going directly to my JVC HD100 projector (projector set to ENHANCED video)
And software:
- XP SP3 with .NET Framework 1.1, 2.0 and 3.0 installed
- MPC-HC latest version with EVR Custom as output
- Reclock
- CoreAVC 1.9.5 (only comes in when running .mkv files, not with my .wmv files)
- Haali Media Splitter
- ATI display driver and CCC 9.6
- march2009 release of DirectX 9
Thanks for all help and sorry for the clumsy English.
Cheers.
Well your right when you say that the ATI drivers might be doing exactly what ffdshow does when its in the chain, ie detecting the width / height of the video, and based on that deciding whether it is Rec 601 or Rec 709.
You will have to decide a few things when choosing whether you want ffdshow or your gfx card to do the conversion to RGB. Here are my feelings.
ATI / NVidia: I have mostly got experience with nvidia lately, and have found many colorspaces that it does an absolutely terrible job at converting to RGB. This is obviously ati / nvidia dependent, and I have seen different driver versions fix / break this conversion. For this reason, I never ever want to trust the drivers. I prefer to trust the ffdshow developers.
Also recently, ffdshow has introduced high quality dithering, and internally represents values in 10-12 bits. I am not sure if ATI or NVidia do dithering, but I don't think either does higher than 10 bits. MadVR is now doing 16bits and in comparisons even this is producing higher quality conversion than ATI / Nvidia / FFdshow.
I choose to use ffdshow, with ditering on, and high quality RGB32 checked.
The only real disadvantage is, that you can't use hardward de-interlacing if you output rgb from ffdshow, but thats a price I am willing to pay to have consistent output from all colorspaces.
THX-UltraII
26th June 2009, 12:38
Well your right when you say that the ATI drivers might be doing exactly what ffdshow does when its in the chain, ie detecting the width / height of the video, and based on that deciding whether it is Rec 601 or Rec 709.
You will have to decide a few things when choosing whether you want ffdshow or your gfx card to do the conversion to RGB. Here are my feelings.
ATI / NVidia: I have mostly got experience with nvidia lately, and have found many colorspaces that it does an absolutely terrible job at converting to RGB. This is obviously ati / nvidia dependent, and I have seen different driver versions fix / break this conversion. For this reason, I never ever want to trust the drivers. I prefer to trust the ffdshow developers.
Also recently, ffdshow has introduced high quality dithering, and internally represents values in 10-12 bits. I am not sure if ATI or NVidia do dithering, but I don't think either does higher than 10 bits. MadVR is now doing 16bits and in comparisons even this is producing higher quality conversion than ATI / Nvidia / FFdshow.
I choose to use ffdshow, with ditering on, and high quality RGB32 checked.
The only real disadvantage is, that you can't use hardward de-interlacing if you output rgb from ffdshow, but thats a price I am willing to pay to have consistent output from all colorspaces.
Thanks for your reply Mark.
So if I want to be sure that it is done right, it is best to keep using ffdshow. At least, that gives me the best trust in it.
But when using ffdshow, isn t a 'double' process done in this case? I mean, when I use FFdshow and change the ATI Pixel Shader to eg. 4:4:4 limited the colors get washed out so this means that ATI is still doing SOMETHING with the signal. So that s why I thought FFdshow could only do more harm because of the 'double' effect. (Also the beginning of this topics tells that there are more ways to do it and it is not mentioned what 2 methods at the same time do).
mark0077
26th June 2009, 13:45
No, the graphics card doesn't do any fiddling with the "signal" when you give it RGB (which is what it gets if you force ffdshow to output rgb). If ffdshow converts to RGB, the graphics drivers say... oh rgb, and send straight to screen. If its like yv12 or whatever, then graphics card does its own conversion. So no you shouldn't get a double conversion in this situation.
THX-UltraII
26th June 2009, 14:16
No, the graphics card doesn't do any fiddling with the "signal" when you give it RGB (which is what it gets if you force ffdshow to output rgb). If ffdshow converts to RGB, the graphics drivers say... oh rgb, and send straight to screen. If its like yv12 or whatever, then graphics card does its own conversion. So no you shouldn't get a double conversion in this situation.
thxz! You talked about 'high quality dithering' with ffdshow. Can you tell me what this is (compared to what I do now) and how to config this properly?
thxz!
THX-UltraII
26th June 2009, 14:55
here is a reply on the avs forum by the way. Totally different opinion. The guy who says it (Jong) is also supposed to be a HTPC guru:
http://www.avsforum.com/avs-vb/showthread.php?t=1126479
mark0077
26th June 2009, 15:09
here is a reply on the avs forum by the way. Totally different opinion. The guy who says it (Jong) is also supposed to be a HTPC guru:
http://www.avsforum.com/avs-vb/showthread.php?t=1126479
Everyone has the right to their own opinion, but if ffdshow is doing slightly higher bit depth conversion internally, it will give better results than ati or nvidia who i believe (not sure) use 10-bit.
Check out the madvr thread for screenshots comparing madvr, vs ffdshow vs drivers. The dithering brings this 10-12 bit representation down to 8-bit (your displays bit depth for each color) in a nicer way than just chopping off the 2-4 bits. My experience has told me to never rely on graphics cards / drivers anyways and madVR is too buggy for me to use.
clsid
26th June 2009, 15:15
Does anyone have more details on this: "ATI CCC Pixel Format option RGB:Full"? Is that a new option that was added, similar to the option NVIDIA has?
THX-UltraII
26th June 2009, 15:27
Does anyone have more details on this: "ATI CCC Pixel Format option RGB:Full"? Is that a new option that was added, similar to the option NVIDIA has?
It s been there far some time now. It seems to work but tonight I m going to try the FFdshow dither option to see how the quality is.
THX-UltraII
26th June 2009, 15:40
Does anyone have more details on this: "ATI CCC Pixel Format option RGB:Full"? Is that a new option that was added, similar to the option NVIDIA has?
And can you tell me how to config it correctly?
Is this the best FFdshow version to use for it? http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=214245
And what about the setup?
Picture 1:
Is it correct that I only need to check RGB32 and high quality YV12 to RGB conversion?
And what about the setting
- set closest matching colorspace
- set pixel aspect ratio in output media type
- set interlace flag in output media type
Leave them all on standard like it is in the picture or change somethings here?
http://img230.imageshack.us/img230/5316/ffdshow1.jpg (http://img230.imageshack.us/i/ffdshow1.jpg/)
Picture 2:
- YCbCr: Auto, BT.601 or BT.709?
- Can I choose Progressive at method for the best result(because I only watch full-hd content and standard def. dvds)?
- input levels and output levels, leave it that way?
http://img141.imageshack.us/img141/4851/ffdshow2.jpg (http://img141.imageshack.us/i/ffdshow2.jpg/)
thanks
clsid
26th June 2009, 16:21
Leave everything at defaults and just enable the RGB and high quality options.
mark0077
26th June 2009, 16:37
Does anyone have more details on this: "ATI CCC Pixel Format option RGB:Full"? Is that a new option that was added, similar to the option NVIDIA has?
The nvidia option only controls the output of video, not the entire desktop. In my case, the nvidia drivers incorrectly detect my TV as limited range TV, and when I then use the option (0-255 for video output), it all becomes a mess.
NVidia need something like ATI's option, something that controls the entire desktop and video content, not just video content. In my case I need to do an EDID override to get the nvidia drivers to send the entire desktop in full range, then its own 0-255 setting does a fairly good job of outputting video at the correct levels.
So as far as I believe, ATI's option controls the entire desktop = :D
LoRd_MuldeR
26th June 2009, 19:20
So as far as I believe, ATI's option controls the entire desktop = :D
What options? The last time I used CCC (back at the time I still had an ATI card), there was no such option :confused:
tetsuo55
26th June 2009, 23:15
Does anyone have more details on this: "ATI CCC Pixel Format option RGB:Full"? Is that a new option that was added, similar to the option NVIDIA has?
It's basically the same output you get when connecting a pc monitor over DVI
4:4:4 0-255, expansion is still a seperate option.
The good news is that ATI users can have an almost perfect set-up (assuming the dvi-hdmi dongle)
-ATI driver set to RGB:FULL
-Renderer (or sooner YUY to RGB conversion setting) should expand video content to 0-255 (unless the content already is 0-255)
Preferably the expanding part has a dynamic gamma that deals with blacker than black and whiter than white (i don't believe any of them do)
tetsuo55
26th June 2009, 23:34
clsid, maybe you could update the first post with some more technical information.
although it might confuse things a little more:
Actually all displays use 0-255 (electrically), the only difference is the exact point of "reference black" and "reference white"
PC > Reference black is on 0, reference white is at 255 (RGB)
Video > Reference black is on 16 for YCrCb and reference white is at Y 16-235 and CrCb 16-240
Now video can actually put data in 0-15 and 236-255 (some numbers are reserved and cannot be used). This extra data is used on analoge displays to intensify or darken parts of the screen, when the image is too dark or too bright.
Things like a bright flashlight in an extremely dark scene.
To simulate this effect, these values have to be taken into account by the YCrCb to RGB converter, probably most accurately by bending the Gamma curve, realtime, only when these extra values are availabe.
RGB for several reasons does not show this behaviour.
Leak
28th June 2009, 11:26
What options? The last time I used CCC (back at the time I still had an ATI card), there was no such option :confused:
I don't have it either, but that's because it's only available for displays connected via HDMI...
Here (http://img7.imageshack.us/img7/2720/pixelcolor.jpg) is a screenshot I found via Google image search...
np: Baxendale - I Built This City (Michael Mayer Mix) (Kompakt Total 6 (Disc 1))
honai
28th June 2009, 15:02
No, the graphics card doesn't do any fiddling with the "signal" when you give it RGB (which is what it gets if you force ffdshow to output rgb). If ffdshow converts to RGB, the graphics drivers say... oh rgb, and send straight to screen. If its like yv12 or whatever, then graphics card does its own conversion. So no you shouldn't get a double conversion in this situation.
Not true. When you choose anything like VMR or EVR as output renderer then indeed the GPU driver will apply all sort of "tweaks" to the image to "improve" quality. This cannot be prevented for those renderers, even with RGB output.
The only way to evade this is by using a custom renderer like HR (which has its own problems, btw) or madVR (perfect but development has stalled for a while).
mark0077
28th June 2009, 23:58
Not true. When you choose anything like VMR or EVR as output renderer then indeed the GPU driver will apply all sort of "tweaks" to the image to "improve" quality. This cannot be prevented for those renderers, even with RGB output.
The only way to evade this is by using a custom renderer like HR (which has its own problems, btw) or madVR (perfect but development has stalled for a while).
Well with the nvidia drivers at least, by default there is none of these "tweaks". Any of the hqv test results will show this. And I am referring to luminance anyways, and I can say when being fed RGB, the nvidia drivers don't touch luminance. Unfortunately after months of madVR development, it cant even play a DVD from my hard drive without giving macrovision errors.... for me at least, the only way to go is EVR-CP, and feed the drivers RGB from ffdshow.
honai
30th June 2009, 14:34
Any of the hqv test results will show this.
Well, no. The HQV tests don't actually measure if the rendered output is faithful to the source.
diman1982
6th July 2009, 17:05
I was very much confused with all this levels stuff for a long time. Honestly, converted levels test clip from this thread(TV_LEVELS_TEST_CLIPS.zip) confused me even more.
But then i found a great calibrating thread http://www.avsforum.com/avs-vb/showthread.php?t=948496
I downloaded test patterns(mp4 variant), started tweaking my nvidia 9500 output and adjusting my lcd tv and everything became clear for me.
Polcius
4th September 2009, 16:36
I don't fully understand the levels stuff.
I have a PC running Win7, hooked up to a Samsung HDTV via VGA (Nvidia 9500GT graphics card). Mainly, I use it to watch DVD's and some TV shows in .mkv.
In the TV, I can't select between "Auto" or "Native" colour spaces because they are greyed out.
In MPC-HC, in renderer settings, I can select to output 0-255 or 16-235. But in the Nvidia Control panel I ALSO can select between 0-255 or 16-235.
My question is wich way should I set it up, because the levels can be changed in many settings.
Thanks, and sorry for my English...
PD: Nvidia settings off.
In MPC HC. "View-> Renderer Settings-> Output Range". I'm using EVR Custom.
With 0-255, I see 2 bars.
With 16-235, I see 3 bars.
My problem is that when using 0-255 (blacks/whites) clipped, the colors look good & vivid, but the whites seem to "pop out" a lot. And when using 16-235, the white/black level is fine, but the colors seem washed out.
PD: I posted this to the MPC HC thread, but someone said I should post it in here.
XadoX
8th September 2009, 14:40
At the moment I am also trying to get real black bars on DVDs in Vista Media Center. Changing the Dynamic from 16-235 to 0-255 aso did not work (Nvidia 8600GT).
So I had to change the contrast and brightness also?
At the moment I am realy confused :confused:
juGGaKNot
8th September 2009, 21:46
off the bat when i do not use PC.601 in avs the color is washed out
if i add it all is k
if i set fullrange in the gfx card the black is too black
kmplayer and mpc-hc
Polcius
11th September 2009, 23:29
I want to use ffdshow as mark077 but I don't know if I'm doing it right.
First I set all the "output" settings (rgb32, high quality conversion...). Then I disable all the codecs on ffdshow, and set RAW Video to "all supported".
Now there's a step I don't know. I'm supposed to do something in MPC HC about "External filters", but I dunno.
THX-UltraII
14th September 2009, 19:11
guys, im back with some new questions involving output ranges etc.:
I had some changes in my config and don t know what to do now anymore for getting the right output ranges/luminance levels.
Here is my config:
1. Windows7
2. ATI HD4350 with the first question:
I can choose 4 options here. Is the last one still the best to pick nowdays?:
- ycbcr 4:4:4 pixel format
- ycbcr 4:2:2 pixel format
- rgb 4:4:4 pixel format studio (limited rgb)
- rbg 4:4:4 pixel format pc standard (full rgb)
3. Next the is a setting in MPC-HC which I didnt notice until yesterday:
when you right-click in mpc-hc and choose renderer settings you can select 2 different output ranges: 0-255 and 16-235. Which one do I need?
4. Coreavc:
I have 3 options @input levels and 3 @output levels:
- tv (16-235)
- pc (0-255)
- auto detect
Should I pick auto detect @ both in and output?
5. My JVC RS2 projector setting: leave it on enhanced?
For the info (and I think this was important): I use EVR Custom for output in MPC-HC
Thanks for all input
cheers
Mercury_22
14th September 2009, 20:27
Just my two C
You have to set all the components of your chain TV/Monitor/Projector, Graphics Card and player to use the same range
Since RGB (http://en.wikipedia.org/wiki/RGB) data has a range of 0-255 and YCbCr (http://en.wikipedia.org/wiki/Ycbcr) data has a range of 16-235 everything can be reduced to what you can use: RGB or YCbCr
So if you use VGA (http://en.wikipedia.org/wiki/VGA_connector) connection set everything to RGB = 0-255 but for DVI (http://en.wikipedia.org/wiki/Digital_Visual_Interface), HDMI (http://en.wikipedia.org/wiki/High-Definition_Multimedia_Interface), S-Video (http://en.wikipedia.org/wiki/S-Video), Composite video (http://en.wikipedia.org/wiki/Composite_video), Component video (http://en.wikipedia.org/wiki/Component_video), ... you should check what your TV, Monitor or Projector it's using RGB or YCbCr since most of the modern Graphics card can output both when you are using this types of connection.
So, again, if you use RGB set everything to 0-255 if you use YCbCr (http://en.wikipedia.org/wiki/Ycbcr) set everything to 16-235 !
P.S. A good place to start if you don't use VGA connection is in your Graphics card Pixel Format settings
73ChargerFan
15th September 2009, 00:17
4. Coreavc:
I have 3 options @input levels and 3 @output levels:
- tv (16-235)
- pc (0-255)
- auto detect
Should I pick auto detect @ both in and output?
I think input auto detect, since sources could be either.
Output pc levels.
ears1991
16th September 2009, 13:04
Hey guys this has been driving me nuts for ages
running win 7 x64 with an ati 4850
Ok so WMC always displays blacks as greys etc. but that is easily fixed using the NominalRange reg tweak
However, in powerdvd9 ultra, dvds display correctly but blu rays have the problem wmc did have with the blacks being shown as grey
If anyone could tell me how to fix this i would be soooo grateful!
I tried the bt601csc tweak but it didnt seem to do anything, i am using ati driver 9.9 (latest)
Havnt installed catalyst control center but when i have done it didnt seem to make any difference.
Any help would be greatly appreciated!
mark0077
16th September 2009, 13:13
You could try media player classic. If it doesn't give you black blacks you can use the well talked about ffdshow rgb32 conversion in tandem with mpc hc and your sorted.
ears1991
16th September 2009, 13:14
hmmm, does mpc fully support blu ray? last time i tried it didnt :S
mark0077
16th September 2009, 13:38
Nah, but 99% of my blu-rays play perfectly. There is one of my blu-rays that has the movie split into several files that mpc-hc can't support yet.
I think mpc-hc simply tries to open the largest .ts file on a blu-ray which is usually the movie and it plays perfectly.
ears1991
16th September 2009, 13:42
ahhh i see, i know that at least 2 of my blu rays are split in that same way so i guess its not an option =/ Thanks for the suggestion though :)
I cant believe it is so difficult to get correct black levels, im guessing this is ATI's fault as i am pretty sure this didnt happen with the very early 9.x drivers =/
mark0077
16th September 2009, 13:47
isn't there a new "pixel format" setting on ati's cards.... maybe that just controls the entire desktops output range, not video conversion from yv12 (or whatever) to RGB, which is what your really after. If media center was fixed by the 601 hack, then maybe it only works for certain video renderers.
I am guessing that that hack isn't implemented for whatever renderer powerdvd uses (does it use its own?). Maybe someone could confirm this. Any settings within powerdvd itself?
ears1991
16th September 2009, 14:01
I believe that setting is only for hdmi output, not dvi, however i think you are right in that it would control everything
Media center was fixed by the NominalRange hack, as the bt601 one does not appear to have any affect since the earlier ati 9.x drivers, and that NominalRange hack is specific to media center, so basically i guess i need something similar to that but for powerdvd?
Looked through powerdvd many times and the best i could do is simply lower the brightness for blu rays and then restore it for dvds... but still, i imagine this does not provide perfect blacks/whites =/
mark0077
16th September 2009, 14:23
Ya best not to be messing with brightness contrast. Its interesting you say you lower for blu-ray and restore for dvd's. Both should be using the same luminance so thats kinda strange to me.
I'm an Nvidia user so hopefully someone with an ATI card has a driver / registry hack to get you correct luminance. After years of messing with this stuff its amazing to see ATI and NVidia still struggling...... I always have to hack my nvidia drivers to get full range output to my Samsung TV..... shocking.
THX-UltraII
16th September 2009, 14:53
mark, could you take a look at my post from yesterday and share your thoughts? thanks
mark0077
16th September 2009, 16:40
guys, im back with some new questions involving output ranges etc.:
I had some changes in my config and don t know what to do now anymore for getting the right output ranges/luminance levels.
Here is my config:
1. Windows7
2. ATI HD4350 with the first question:
I can choose 4 options here. Is the last one still the best to pick nowdays?:
- ycbcr 4:4:4 pixel format
- ycbcr 4:2:2 pixel format
- rgb 4:4:4 pixel format studio (limited rgb)
- rbg 4:4:4 pixel format pc standard (full rgb)
3. Next the is a setting in MPC-HC which I didnt notice until yesterday:
when you right-click in mpc-hc and choose renderer settings you can select 2 different output ranges: 0-255 and 16-235. Which one do I need?
4. Coreavc:
I have 3 options @input levels and 3 @output levels:
- tv (16-235)
- pc (0-255)
- auto detect
Should I pick auto detect @ both in and output?
5. My JVC RS2 projector setting: leave it on enhanced?
For the info (and I think this was important): I use EVR Custom for output in MPC-HC
Thanks for all input
cheers
Hi THX, Ill try to answer your questions with my best guesses for each.
q2. I assume rbg 4:4:4 pixel format pc standard (full rgb) is correct.
q3. I think this setting is sent to the EVR / EVR-CP renderer to let it/your graphics card decide how best to convert yv12 (or whatever colorspace except for RGB) to your selection in q2. I am unsure the numbers are what the renderer / gfx card should assume as input or what to give as output.... not clear from GUI.
If your using ffdshow to convert to RGB32, this has no effect as your gfx card doesn't do the conversion anymore so it doesn't bother me as I use ffdshow to convert to RGB32.
q4. Well if your trying to send everything out as 0-255, you should pick this as output. For input, I suppose 99.9% of content will be 16-235 so that would be correct, but maybe auto does like ffdshow does, assume 16-235 unless specifically indicated otherwise by the file being played back. I am unsure what this setting is trying to do, never seen a luminance setting in a decoder before, be careful with this one as if you use it and ffdshow, both may be doing conversions. Maybe choosing the same setting as input and output will bypass coreavc's conversion? but you will need to ask a coreavc guru on this. If it was me I would be trying to bypass this in coreavc and let ffdshow be the only part in the chain to do my conversions.
q5. Enhanced sounds like assume 0-255 range as input, if so thats the way to go if you want everything in 0-255.
Hope this helps somewhat.
thewebchat
26th September 2009, 22:17
Throughout this thread, I see a lot of posts mentioning setting the output range of various renderers, but what difference can that make, since the output is always RGB which has neither PC nor TV ranges to begin with? Wouldn't the correct thing to change be the input range?
On another note, what should be done when trying to play video that uses full YUV range (0-255 source) in EVR/CP? If I use a clamping filter to restrict the YUV range to 16-235, that removes 14.2% of the detail that was in the source. However, if I pass fullrange YUV to EVR, it converts it to RGB incorrectly. Is the only solution to use software YUV/RGB conversion?
mark0077
27th September 2009, 11:23
Well rgb can still use limited or full range. So when using full range input you can use ffdshow rgb conversion and as input option chooose full range instead of auto which assumes limited range unless range is given in file type (rare)
Keiyakusha
27th September 2009, 16:24
thewebchat
AFAIK input range is something that can be changed only by reencoding and output is the range after decoding, which can be TV or PC depending on circumstances. So all is right here.
EDIT:
For example when using CoreAVC and video is h264 with any range and properly set --fullrange flag (if needed), then it's shouldn't be necessary to change anything regardless of input content. But in other cases if you have fullrange yuv as input - you should correct levels. I believe MPC-HC with EVR-CP renderer allows correcting levels in renderer (not using shader). And Haali's renderer too.
thewebchat
27th September 2009, 16:47
I don't understand what you are trying to say. EVR/CP will only convert using TV->PC range expansion. I don't even know what the option in MPC-HC to change the "output range" does, as it produces no difference and the output is RGB (converted with TV-PC of course) anyway. It is true that CoreAVC, on detecting the full range flag, will clamp the output levels to 16-235 when passing the decoded stream to the renderer. However, like I said, this removes 14.2% of the detail in the stream. Is there a way to force EVR-CP to use PC->PC for RGB conversion.
Keiyakusha
27th September 2009, 16:55
Ahh I see what do you mean. Well I not sure what output range in EVR-CP does, but I thought its something like:
0-255 -> convert to PC
16-235 -> do not convert anything
Jackie
5th October 2009, 18:05
Hi,
just for my understanding: I have an ATI HD 4850 and a Samsung LCD TV that can be set to limited and full range.
I can use both 0-255 and 16-235 setups correctly, the question is which one is the very best. To my understanding, most studio material is produced using YCbCR 4:2:2 with 16-235, ist that right? So isn't that the best setting to chose if your components all support it?
mark0077
5th October 2009, 18:12
Will you use your PC for anything else, like webpages, desktop work etc. If so, full range is the way to go for your tv setting, desktop set to output full range. ATI drivers should do 16-235 -> 0-255 for you automatically, if not some ATI users will surely be able to help with that.
If all you use is 16-235 then you can set everything to limited range, but I don't see any advantage, your TV is going to have to do a conversion from 16-235 to 0-255 internally anyways. At the end of the day your LCD will be outputting 0-255, so its a matter of whether you want your TV doing the 16-235 conversion, or your PC. I trust my Pc much more than my own Samsung TV, even for things like de-interlacing. Series 9 does a horrible job compared to software de-interlacers like yadif, and much much worse again than hardware de-interlacers.
Personally I would set your TV to full range, and output 0-255 from PC, just verify your ATI drivers are doing 16-235 conversion for you when watching movies. (I use ffdshow for this rather than my graphics card, both should do a great job)
Jackie
5th October 2009, 18:29
Will you use your PC for anything else, like webpages, desktop work etc. If so, full range is the way to go for your tv setting, desktop set to output full range. ATI drivers should do 16-235 -> 0-255 for you automatically, if not some ATI users will surely be able to help with that.
If all you use is 16-235 then you can set everything to limited range, but I don't see any advantage, your TV is going to have to do a conversion from 16-235 to 0-255 internally anyways. At the end of the day your LCD will be outputting 0-255, so its a matter of whether you want your TV doing the 16-235 conversion, or your PC. I trust my Pc much more than my own Samsung TV, even for things like de-interlacing. Series 9 does a horrible job compared to software de-interlacers like yadif, and much much worse again than hardware de-interlacers.
Personally I would set your TV to full range, and output 0-255 from PC, just verify your ATI drivers are doing 16-235 conversion for you when watching movies. (I use ffdshow for this rather than my graphics card, both should do a great job)
<zhanThanks alot, I understand your arguments, so I have set my ATI to FULL RGB 0-255, but my Samsung TV will display any colors below 16 from the test File BLACK_LEVEL_TEST_CLIP_HD.mp4 (see first page of this thread, I hace downloaded it there) as black. To my understanding, all black levels from 1-16 should also be seperately visible is that right?
This only happens when I set my Samsung TV (A LE40F86) to xvyCC "on", then everything looks right, but when xvyCC is off, these black levels are cut. To my understanding, this is not the purpose of xvyCC, so what's wrong here?
mark0077
5th October 2009, 18:32
Well if your watching content thats 16-235 (which is like 99% of material out there), you shouldn't be able to see the detail below 16 or above 235. Your graphics drivers should scale 16-235 to 0-255 removing those details.
If it doesn't you'll need to figure out what setting in your drivers does this, or you can use ffdshow and set it to output RGB32, and it will then instead do this conversion for you. Your graphics card in this case won't do any conversions as its getting RGB32. This is what I use and get excellent conversions. There are various threads about the settings to use here but enabling "dithering" and "high quality yv12 to rgb conversion" enabled in the Output options in ffdshow should almost do the trick.
Jackie
5th October 2009, 18:53
Thanks alot mark, I think I have figured out how it works now: I have set Full RGB as Pixel Format, and my Samsung TVs HDMI settings to "normal" instead of "low", I think now the results are correct. Can anybody tell me in detail what "HDMI setting" normal/low on Samsung LCD does, since it is not really clear from the manual.
mark0077
5th October 2009, 19:02
The normal / low from using my own TV is
Normal - Assume input is 0-255, basically just outputs what its given to screen
Low - Assume input is 16-235, therefore converts internally to 0-255 to give correct contrast
iSeries
12th October 2009, 13:54
Hi,
I'm having trouble getting Full RGB from my ATI 4550 to my LCD TV. In the ATI settings, it was set to output Full RGB (0-255) by default. However playback of a calibration file shows that nothing below 16 is being displayed (no matter how high I set Brightness), and nothing above 235 is being displayed (no matter how low I set the contrast). Also I had to set the brightness on my TV to a ludicrous level (something like 75) just to get 17-25 to flash. I've tried 'forcing' Full RGB through ffdshow as per the advice here but no luck. The only way I can get my TV to display 0-255 is by setting ffdshow to 16-235 and setting YCbCr 4:4:4 in the ATI control utility.
Is sending YCbCr 4:4:4 and letting my TV do the RGB conversion just as good as sending RGB?
ACrowley
17th October 2009, 18:39
anybody use Windows 7 ? Looks like W7 outputs correct liminacne Levels by default. I dont have to adjust it manually ,for all codecs/formats. All Streams are displayed as 0-255, from all Decoders with EVR
I use a ATI HD4870.
madshi
17th October 2009, 19:15
anybody use Windows 7 ? Looks like W7 outputs correct liminacne Levels by default. I dont have to adjust it manually ,for all codecs/formats. All Streams are displayed as 0-255, from all Decoders with EVR
I use a ATI HD4870.
<sigh> 0-255 is neither correct nor incorrect. It's correct for some displays and incorrect for other displays.
ACrowley
18th October 2009, 09:19
<sigh> 0-255 is neither correct nor incorrect. It's correct for some displays and incorrect for other displays.
ofcourse..but its usually correct for TFT PC Displays /PC Playback
madshi
18th October 2009, 09:24
ofcourse..but its usually correct for TFT PC Displays /PC Playback
Yes, and usually incorrect for home cinema projectors, plasma displays etc.
Mercury_22
18th October 2009, 17:48
Hi,
I'm having trouble getting Full RGB from my ATI 4550 to my LCD TV. In the ATI settings, it was set to output Full RGB (0-255) by default. However playback of a calibration file shows that nothing below 16 is being displayed (no matter how high I set Brightness), and nothing above 235 is being displayed (no matter how low I set the contrast). Also I had to set the brightness on my TV to a ludicrous level (something like 75) just to get 17-25 to flash. I've tried 'forcing' Full RGB through ffdshow as per the advice here but no luck. The only way I can get my TV to display 0-255 is by setting ffdshow to 16-235 and setting YCbCr 4:4:4 in the ATI control utility.
Is sending YCbCr 4:4:4 and letting my TV do the RGB conversion just as good as sending RGB?
Same problem here but I solved it by manually adjusting the settings in AVIVOS's "Basic Colors" : Brightness and Contrast !
I'm using full RGB and Brightness = 1 and Contrast = 98 And VERY IMPORTANT DISABLE DYNAMIC CONTRAST in "All Settings"
Delerue
9th December 2009, 02:57
I found a way to workaround the problem with Nvidia drivers after 180.42 version that bugs the black color with VMR 7 Windowed render. The problem seems to be with 'nvapi.dll' (or 'nvapi64.dll' if you use Windows x64). This DLL handles the interface of the Nvidia Control Panel, but not the driver itself. So, you can use a new driver with an old interface and everything works flawlessly. I'm sharing with you both x32 and x64 version of this DLL from ForceWare 180.42. Just find the '%windir%\system32' folder, make a backup of the current 'nvapi.dll' (or 'nvapi64.dll' if you use Windows x64) and finally copy the version below. I hope it'll help someone.
http://www.mediafire.com/?lnniezmnj1y
ears1991
17th December 2009, 22:34
HALLELUJAH 9.12 fixes the cruddy luminance levels at last!!!!
if im right in saying its been broken since 9.2, that makes it that it took ati 10 months to fix... nice
THX-UltraII
21st January 2010, 16:19
I just switched from my good old ATI 4350 to a new HD 5670 to finally have to possibility to bitstream HD audio.
However, what I already knew, the new 5xxx series has a bug. When you select 'Pixel Format PC Standard (Full RGB)' it is NOT sending this out actually. With the 4xxx series this was ok and I always had my projector set to 'Enhanced'. But now with the 5xxx series this doesn t work anymore. I already contacted ATI and they are aware of the problem and it will take a few drivers to fix it.
So I now set my projector back from 'Enhanced' to 'Normal', do I just have to choose Limited RGB now? Will the BTB and WTW be ok this way?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.