View Full Version : VMR9 + Catalyst 7.7, different colors than 7.6
ChiDragon
14th August 2007, 18:20
I guess this is a PC scale/TV scale issue. From what I've read through a brief search, ATI started "correcting" the VMR9 output in a Catalyst display driver 6 version. I can confirm that the colors were washed out when I tried to use VMR9 with years-old drivers to display subtitles on my AIW Radeon 9800 Pro.
I'm using a Radeon X1950 Pro now (on XP), and was surprised to find that everything looked right with VMR9 when I first tried it, using Catalyst 7.6. When I upgraded to 7.7 it was back to same old, same old. I've switched back and forth between the two versions a few times to confirm I wasn't crazy, and even reformatted between two of them.
Some screenshots:
VDubMod (http://chidragon.thedessie.com/DF01%20VDubMod.png)
MPC using VMR9 with 7.6 (http://chidragon.thedessie.com/DF02%20MPC%20VMR9%20DD%207.6.png)
MPC using VMR9 with 7.7 (http://chidragon.thedessie.com/DF03%20MPC%20VMR9%20DD%207.7.png)
As you can see there's a slight difference between VirtualDub and 7.6, but a huge one between the two of them and 7.7. This also applies to VMR7 but not to the overlay mixer. These screens are from an XviD, but the same applies to DivX (decoded by XviD on my machine) and MPEG-2. I haven't compared anything else. Forcing XviD to output RGB "fixes" the problem, but of course doesn't affect MPEG-2s.
Is anyone else experiencing this? I don't really mind using the older drivers for now, but I thought it was an odd reversion worth documenting.
MatMaul
14th August 2007, 19:43
yeah ati/amd, I don't know why, remove the automatic 16-235=>0-255 level remap with yuv output since 7.7 => go back to 7.6 drivers for me ....
I haven't tested yet the fresh 7.8 version.
Demi9OD
14th August 2007, 20:43
Actually the 7.7 screenshot is correct for PC monitors. You are seeing blacks as greys because the color black is represent by a 16 value, and not a 0. You can either set your TV input to 16-235 (if it supports this), or run it through a Lanczos resize in MPC which, for whatever reason, will expand the colorspace back to 0-255 in MPC. I have not tried the 8.8 drivers either yet.
arfster
15th August 2007, 04:14
If you're using an ATI 2400/2600, there's a bug where as soon as you hit HD resolutions (meaning 720 vertical lines), levels get PC>TV expanded. This happens with EVR and VMR9/dxva, but not VMR9 software mode.
If you want to demo it, run a ffdshow resize on a DVD and switch it on/off. 718 vertical lines = no expansion, 720 = expansion.
foxyshadis
15th August 2007, 07:52
It's because they want to drive people insane in a conspiracy to get people to buy hardware players that just work. I can't think of any other reason for all the back-and-forths over the years.
(With an X1400 mobility, I get the dubious benefit that it's always been wrong, except for like two updates in the 6.something era, so at least it's consistent. We laptop folks must be the Rodney Dangerfields.)
arfster, I don't think it's a bug, because they also switch from BT.601 to BT.709 colorometry at the same time. I think the pointless confusion is intentional.
At least nvidia gives you a registry option so you can make it permanent, while they play their games with the defaults.
HeadBangeR77
15th August 2007, 09:53
I've just installed the latest Omega drivers, based on Catalyst 7.4 (the guy is really busy, so they are not released as regularly as it used to be), and everything is fine. I guess they must have messed sth up with the latest official ones, since a couple of drivers before 7.6 also used to be correct. Or the "Omega" guy is aware of the issue, and fixes it, as he fixed everything back to the times when I had my first 8500. ;)
CruNcher
15th August 2007, 13:16
foxyshadis nahh Nvidia is not better @ the moment with driver coding and bugs squashing then ATI the other way is the case this bug you show here seems to be nothing agains't this http://forums.nvidia.com/index.php?showtopic=15184&st=20 :P
Look how fast they (ATI) fixed the last security hole in their driver, but ok Nvidia would have done that most probably @ the same speed, because it was a media hyped bug and here you see what i mean we need media attention ;) for such stuff.
Demi9OD
15th August 2007, 15:03
What problems does the expansion actually cause on a display calibrated for 0-255? Do you actually lose shadow detail or do you get banding because of the expansion? Correct me if I am wrong but this is what is happing I think.
[--|------------|--]
--[|----------------|]--
Is that correct? 0-16 and 235-255 are clipped off the side, they are no longer part of the output, and 16-235 are expanded via hardware to 0-255.
MatMaul
15th August 2007, 19:58
Is that correct? 0-16 and 235-255 are clipped off the side, they are no longer part of the output, and 16-235 are expanded via hardware to 0-255.
no, that was the behaviour before 7.7 drivers, and it is the good behaviour I think with yuv output.
with yuv output you don't care about 0-16 and 235-255 bounds, when data reach those values it's because of compression artefacts. On very rare case (few hdtv sample if I remember) the stream is encoded with full 0-255 pc range but it's not common at all.
(it's what I understood but I can say bullshit too, other people correct me if I'm wrong :p)
now there is no conversion, so 16-235 is displayed on a 0-255 display => the black is grey because 16 is black for the video but it's grey for your monitor
Demi9OD
15th August 2007, 20:21
MatMaul There is no conversion until you reach 720p res, at that point, when there is conversion, I am asking how it is done.
MatMaul
15th August 2007, 20:36
MatMaul There is no conversion until you reach 720p res, at that point, when there is conversion, I am asking how it is done.
with 7.6 drivers and before I have an automatic 16-235=>0-255 conversion on my computer (I speak about vmr9 renderless of course).
the black is not grey like with 7.7 drivers, in any resolution.
arfster
16th August 2007, 01:00
What problems does the expansion actually cause on a display calibrated for 0-255?
More or less nothing, assuming the expansion is done properly (it seems to be with 2xxx cards), and assuming your HDTV calibrates to 0-255 properly - quite a few clip at arbitrary black levels, like below 8 or 6.
Ideally a card should _not_ expand though, as 16-235/240 is the original the video format is stored in, and what display standards use. Sure, have it as an option for those displaying on PC monitors, but it's simply wrong to do it without asking.
The really irritating thing for me is that it's not consistent. SD, no expansion. HD, expansion. I could make ffdshow filters to auto expand only SD, but then I get no hardware deinterlacing.
HeadBangeR77
16th August 2007, 02:00
Ideally a card should _not_ expand though, as 16-235/240 is the original the video format is stored in, and what display standards use. Sure, have it as an option for those displaying on PC monitors, but it's simply wrong to do it without asking.
Why, I'm gonna ask? Should we be doomed to washed out blacks and dimmed whites? Just because it's the original storage standard for TV? Following this kind of logic all DVD players and decoders shouldn't deinterlace without kindly asking us first. ;)
The really irritating thing for me is that it's not consistent. SD, no expansion. HD, expansion. I could make ffdshow filters to auto expand only SD, but then I get no hardware deinterlacing.
And here we shall agree on this matter. I should say it's double inconsistent, since it seems to change with almost every new edition of graphic drivers. And this is what really pisses us all off! The number on threads on this problem is still growing. I can't see any logic behind such a behaviour, as foxyshadis already stated above.
cheers
HDBR77
wozio
16th August 2007, 07:00
Yes, I also think that levels should be always expanded. Imagine HTPC where user interface is displayed using full 0-255 range but video played is presented in video range. Of course display must be calibrated to video so user interface and everything else (pictures for example) is displayed wrong.
Of course option possible to set by user would be best.
Anyone tried 7.8?
mrkazador
16th August 2007, 10:45
I dont know what is wrong with ATI! Over the past drivers they keep changing Vmr levels, for what reason? I HAVE NO IDEA :mad: Driving me insane, why cant they just leave it at the proper levels of 16-235? Even a switch in the control panel so the user can choose what they like.
breez
16th August 2007, 17:03
On X1950Pro with 7.8 (WinXP):
No expansion below 720p for EVR and VMR9 (renderless) and expansion at or above 720p.
I also noticed that with EVR chroma upsampling is smooth if the renderer scales the video even a little bit. For example output a 1296x729 to my 1280x1024 screen, EVR scales to 1280x720 and chroma is upsampled correctly. If I output straight 1280x720, EVR does no scaling and chroma upsampling appears blocky. VMR9 has bad chroma upsampling in every case. I'm not sure if this behavior with EVR was introduced in these newer drivers or if it was always there, but I'm happy nonetheless as this means I can finally stop wasting CPU cycles on colorspace conversion.
arfster
16th August 2007, 19:43
Anyone tried 7.8?
No fix for HD levels expansion, and they broke MPEG2 1080i acceleration with VMR9 (it weaves regardless of what deinterlacing mode you select). Cyberlink MPEG2 decoder does the same thing with EVR, although ATI's own avivo ds filter works fine and uses vector-adaptive as it should do.
wozio
17th August 2007, 10:55
How is it possible that they keep breaking something and after two moths fixing it. After few months they are breaking it once again. I remember 6.6 was latest previous drivers with correct expanding behaviour, or at least consistent (expansion for all sources). They they've broken it in 6.7 and fixed, I don't know, in 7.2???
Demi9OD
17th August 2007, 14:27
I don't know that they are really breaking it, because they are catering to different markets with the same product. Those using PC displays and those using TV displays. If anything, there just needs to be a toggle switch in CCC for 16-235 or 0-255.
foxyshadis
21st August 2007, 23:59
I suspect that an engineer changes it, someone complains, another engineer changes it back, someone else complains, cycle repeats. There just hasn't been a top-level decision on what to do with anything but the HD, or engineers are ignoring/don't know of whatever decision has been reached, so they keep screwing it up.
It should be as simple as, if you output RGB, expand the levels. If you output YUV (coax, s-video, or component), don't. Only violate this if the stream carries explicit instructions in the VIDEOINFOHEADER2 (which has optional levels and colorometry fields), or a (currently non-existant) registry override is set. I don't see what's so hard about these rules.
This does presume that LCD TVs that can take vga, dvi, and hdmi do not do level conversion. I'd have to look into that, since I don't have one.
CruNcher
22nd August 2007, 00:45
How about they useing a cvs/svn and every dev works on his branch and mybe he forgot to update his local branch and so his old files get into the SVN/CVS and boom old errors are back, happens from time to time in Open Source projects too, now the dev that fixed the previous problems in his branch changes something and commits so the online branch has now the previous fix again ;D
wozio
22nd August 2007, 07:08
This does presume that LCD TVs that can take vga, dvi, and hdmi do not do level conversion. I'd have to look into that, since I don't have one.
Newest TVs do have an option to expand or not (for example in samsung lcd this option is called 'HDMI black level'). But for display it doesn't matter, they can/must be calibrated to either tv or pc scale. Problem is when inoput signal is in two differrent scales as it is on current ati drivers, sd video at tv levels and everything else on pc levels...
arfster
22nd August 2007, 17:51
My support ticket from ATI (6 weeks ago!) came back, and the engineers apparently say HD levels expansion is intended.
Woudln't be surprised if they're just trying to get rid of me though. It's kinda daft to have a CCC option that specifically allows selection between PC and MCE levels, then ignore it with HD.
Rash
6th September 2007, 02:31
At least nvidia gives you a registry option so you can make it permanent, while they play their games with the defaults.
No, they don't. Well, at least not anymore. There used to be a registry setting on Forceware 83.xx (xx because I don't remember the number).
Now on Vista EVR does 16-235 no matter what, SD, HDTV, 2k, 4k (I'm a video producer). That just drives me really, really crazy on all those programs that can't use Haali Renderer. :(
I suspect that an engineer changes it, someone complains, another engineer changes it back, someone else complains, cycle repeats. There just hasn't been a top-level decision on what to do with anything but the HD, or engineers are ignoring/don't know of whatever decision has been reached, so they keep screwing it up.
It should be as simple as, if you output RGB, expand the levels. If you output YUV (coax, s-video, or component), don't. Only violate this if the stream carries explicit instructions in the VIDEOINFOHEADER2 (which has optional levels and colorometry fields), or a (currently non-existant) registry override is set. I don't see what's so hard about these rules.
I completely agree with you. Too bad driver makers don't read forums much (well, at least not video forums). That what you said would be perfect.
A friend of mine said something like that does happen. Well, sort of. If he plugs his video card to his monitor using RBG (analog) it does 0-255 for all videos. If he plugs it using DVI he gets 16-235 for all videos. I can't test it, but I use DVI and I get 16-235 on ALL resolutions!
This does presume that LCD TVs that can take vga, dvi, and hdmi do not do level conversion. I'd have to look into that, since I don't have one.
I have one and mine works basically as a computer monitor (I connect it using DVI). So I get 16-235 and black is not black. :(
This is all really frustrating. Specially when you see your videos washed out and with wrong colors and you know other people will see it that way.
wozio
6th September 2007, 07:20
Now on Vista EVR does 16-235 no matter what, SD, HDTV, 2k, 4k (I'm a video producer). That just drives me really, really crazy on all those programs that can't use Haali Renderer. :(
Such behaviour is much better than expand for hd don't for sd. You always have color controls in driver control panel where you can expand by yourself for each application. This operation is done in drivers so it is the same as expanded always.
laserfan
7th September 2007, 13:52
This comment was made re: v7.8
No fix for HD levels expansion, and they broke MPEG2 1080i acceleration with VMR9 (it weaves regardless of what deinterlacing mode you select). Cyberlink MPEG2 decoder does the same thing with EVR, although ATI's own avivo ds filter works fine and uses vector-adaptive as it should do.
Is there a consensus here to use 7.6 for now? I'm a new owner of a high-end card X1950PRO and Cyberlink PDVD Ultra and all the settings are making me dizzy... :eek:
Rash
7th September 2007, 18:01
Such behaviour is much better than expand for hd don't for sd. You always have color controls in driver control panel where you can expand by yourself for each application. This operation is done in drivers so it is the same as expanded always.
Well, not exactely. I can correct colors on NVIDIA Control Panel alright. But I still can't get rid of grey bars. Have a look.
http://rash.apanela.com/images/lost_color.png
This is horrible!
Demi9OD
7th September 2007, 19:24
I think 7.7 with reg fixes is the way to go.
trdenoise 0
dxva_nodetailenhance 0
usebt601sc 1
For me with XP and an X1900 card this was all I needed, they are all strings created directly under /0001, no UVD folder in XP.
wozio
8th September 2007, 08:28
Well, not exactely. I can correct colors on NVIDIA Control Panel alright. But I still can't get rid of grey bars. Have a look.
http://rash.apanela.com/images/lost_color.png
This is horrible!
This is problem of media player. Grey bars are not a part of video but background drawed by player. If you are using windows media player, then there is option to choose background color, try to change it.
wozio
8th September 2007, 08:30
dxva_nodetailenhance 0
Does it work for you? On my x1650 there was no difference. Can you post screenshots with it enabled and disabled?
Rash
9th September 2007, 00:08
No, it is not Wozio. My background color is set to 0,0,0 but they are still displayed as 16,16,16. This problem is related to EVR (Enhanced Video Renderer) since it shows up on all players that use it. And EVR creates 16,16,16 bars to compensate for the video according to my video card's driver. So if I don't mess with my video card's brightness and contrast I can't see the edges of the video (it is "masked").
I have done several tests that confirm this. Too bad nobody (driver makers and Microsoft) cares about it.
arfster
9th September 2007, 23:10
Does it work for you? On my x1650 there was no difference. Can you post screenshots with it enabled and disabled?
It's dxva_detailenhance afaicr.
I did screenshots with a 2400 a while back, and it was clearly sharpening. Didn't like it, so turned it off. GPU% (aka shaders) difference was minimal, unlike trdenoise.
raynor
21st October 2007, 21:06
How about the new Catalyst 7.10 ?
Have they fixed it yet (i.e. reverted it to always expand to
0-255 on DVI connections) ?
As I don't have an ATI card, I can't check. But I'm suffering
from the same issue with my NVidia card, and am considering
switching to ATI in the future. But only if they finally fix this
issue for good. :devil:
It would be nice if any ATI owner could post in the future, when
this problem has been fixed (again).
By the way, for those interested, I found the discussion in this thread
enlightening: http://forum.inmatrix.com/index.php?showtopic=5661
Bottom line: Be it ATI or NVidia, this whole thing is a terrible mess :eek:.
arfster
21st October 2007, 21:19
How about the new Catalyst 7.10 ?
Have they fixed it yet (i.e. reverted it to always expand to
0-255 on DVI connections) ?
Nope. Three months and three driver revisions since I reported the bug too.
Not too critical now though, you can reverse it back to 16-235 by setting brightness 16, contrast 86 in CCC. You just have to set UseBT601CSC=1 in registry so SD behaves the same as HD (by default HD expands, SD doesn't).
raynor
21st October 2007, 21:51
So If I understand you correctly, if I had an ATI card :rolleyes:,
all I would have to do is set UseBT601CSC=1 in the registry,
and VMR9/EVR color levels would be "correct" (0-255 that is)
for SD as well as for HD material ?
That sounds like an O.K. fix for me. Does it work with Vista, too ?
The thing is, with my NVidia card I'm doing fine with XP
and NVidia's own registry hack, but numerous users have reported
that NV's registry hack does not work under Vista, leaving
them in the dust (and preventing me from upgrading to Vista).
Cheers,
Raynor
arfster
21st October 2007, 22:07
So If I understand you correctly, if I had an ATI card :rolleyes:,
all I would have to do is set UseBT601CSC=1 in the registry,
and VMR9/EVR color levels would be "correct" (0-255 that is)
for SD as well as for HD material ?
Well, imo 16-235 is correct, since it's the original. However, otherwise you're right - that setting results in both SD and HD being equally expanded to 0-255.
In Vista, this works for everything in EVR, and everything in VMR9 when accelerated. For VMR9 without acceleration, it doesn't work by default in same apps (eg MPC, although DVBviewer is fine). Only when you move a colour control is the expansion engaged. I just avoid vmr9 altogether nowadays, EVR is better behaved generally.
The only problem is with HD 720p material with >16/9 aspect ratio, because these are encoded with bt709 as is all HD stuff. However, the card assumes they're SD because they're less than 720 lines vertical (eg 1280/2.35=544), and expands them using bt601. Makes a bit of a mess.
CruNcher
22nd October 2007, 13:50
http://www.theinquirer.net/en/inquirer/news/2007/09/18/nvidia-cynically-fiddled-video-benchmarks
http://www.fudzilla.com/index.php?option=com_content&task=view&id=2777&Itemid=34
big slap in the face for Nvidias PureVideo quality i wonder if PureVideo 3 gonna perform now as ATI Adaptive TNR when being released in some weeks :P
Rash
29th October 2007, 17:40
Whoa, big slap. That must have hurt.
Demi9OD
29th October 2007, 19:56
But the 8800GTs! They are my gaming/hd dream card -_-
raynor
29th October 2007, 22:53
But the 8800GTs! They are my gaming/hd dream card -_-
Dream card for gaming ... yes, no doubt about it ;)
Dream card for HD & General Video Playback ... no, IMHO :devil:
At least ATI has a registry fix that supposedly works for both Vista
& XP (see above), while the NVidia registry fix for the "washed out
colors" / expansion issue works only for XP, leaving you with
some trouble if you use Vista (which I luckily do not, yet)
PS: Regarding the UseBT601CSC Key, Is this key already there in the registry by default,
so that I will only have to set it to "1", when I get me an ATI card, or does it have to be created
from scratch ? If so, where exactly ?
On a sidenote, what is BT601 ? What is BT709 ? Could somebody please briefly expain this for
non-video experts ? What does this have to do with the 16-235 / 0-255 color expansion issue ?
:thanks:
arfster
30th October 2007, 15:12
PS: Regarding the UseBT601CSC Key, Is this key already there in the registry by default,
Nope - it's one of a range of hidden keys the relevant ATI video dll reads out of the registry, which all take default values when
not there (in this case 0).
Exdeus did a little script that semi-automates the addition of a few video-related tweaks for the 2400/2600, including usebt601csc:
http://exdeus.home.comcast.net/~exdeus/ati-hd2x00/
There's a link there to my post on avsforum detailing the above changes.
On a sidenote, what is BT601 ? What is BT709 ? Could somebody please briefly expain this for
non-video experts ? What does this have to do with the 16-235 / 0-255 color expansion issue ?
:thanks:
They're colour spaces - BT601 is for SD, BT709 for HD. If you want to expand/contract levels you have to know which the original video uses, as you'll get colour errors if you use the wrong one.
The ATI drivers use 720 vertical lines as a cutoff - anything below it assumes BT601, equal and above BT709. This causes problems for 720p files with wide aspect ratios which have not encoded the black bars, so the encode is 1280*550 or thereabouts - these are from a HD source and thus use BT709, but the drivers screw up and assume from the vertical resolution they're SD. If you recontract the auto-expansion (via CCC brightness16, contrast86) it'll use the same method though, so you get back to the original.
thuan
4th November 2007, 10:39
@arfster: I can't get on the comcast page, can you post the script somewhere else?
EDIT: Using 2400XT on Vista 32bit with Catalyst 7.10 and yes I have washed out color with VMR9 and the funny behavior with EVR, as expanded color range for HD and not for SD.
thuan
6th November 2007, 09:13
Here's the link to the post on avsforum about this issue:
http://www.avsforum.com/avs-vb/showpost.php?p=11622510&postcount=2011
raynor
6th November 2007, 22:43
Using 2400XT on Vista 32bit with Catalyst 7.10 and yes I have washed out color with VMR9 and the funny behavior with EVR, as expanded color range for HD and not for SD.
Without the UseBT601CSC=1 Fix,
I guess ? (Please clarify ;))
thuan
7th November 2007, 04:43
Well, to sum it up yes.
With that registry key present it works right. As in expand for all video whether it's SD or HD in EVR mode. In VMR9 mode it's only works with DXVA mode or after you touch a slider in any program that has procamp without DXVA. All tested on the above configuration.
raynor
16th February 2008, 08:07
*BUMP*
It's been a while, and I'm just curious ...
any change (concerning SD/HD color levels expansion)
with the 8.2 Catalyst ?
Thx for any feedback,
raynor
LoRd_MuldeR
16th February 2008, 15:31
At least the nasty V-Sync bug with OpenGL is still not fixed.
If I remember correctly, then Catalyst 7.6 was the last working one...
arfster
16th February 2008, 21:23
It's been a while, and I'm just curious ...
any change (concerning SD/HD color levels expansion)
with the 8.2 Catalyst ?
Nope - still expands HD, while leaving SD at 16-235. They haven't even bothered to do the easy fix for levels consistency of setting usebt601csc to 1 by default.
I went through all this with their tech support extensively in July last year and still not even the slightest progress, so clearly they just don't give a monkeys about video playback. They even marked my bug report as resolved, presumably because it hadn't been touched for months - I bitchily opened it again, no comment in response.
raynor
25th February 2008, 03:44
One more thing:
Could anybody comment on the current situation
with NVIDIA + Vista ?
Does it expand the levels to 0-255 when using EVR,
(i.e. have they fixed their drivers by now), or
is the picture still washed out (i.e. no expansion).
My latest information was that with NVIDIA + WinXP
there is a registry fix, whereas with Vista the situation was
more or less hopeless.
Any information would be greatly appreciated, as i will have
to buy a new graphics card soon, and having 0-255 levels
is a must have for me. So, if NVIDIA hasnt fixed its Vista drivers,
I will have to go with ATI, because at least there is a working
registry fix for ATI cards (i.e. for Vista too).
raynor
27th February 2008, 03:38
Are there no Nvidia card owners who are runnig Vista
and could please quickly check out if the video colors are still
washed out (i.e. not expanded) with the latest drivers using VMR9
and (especially) EVR (e.g. using MPC Home Cinema) ?
Any comments would really help me make a decision and
would be greatly appreciated.
All the best,
Raynor.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.