Log in

View Full Version : [Solved:Use WMR7 (Renderless)] MPC uses TV (16-235) luma levels for playing avs files


Avenger007
18th July 2008, 20:18
WMP correctly uses PC (0-255) colors to play avs files but MPC doesn't. How can I change that?
I'm using MPC version 6.4.9.1 with VMR9 (renderless).

clsid
18th July 2008, 21:17
Try with a different renderer.
or
Mess around with the other settings such as "VMR9 mixer mode".
or
Enable the included shader to convert the levels.

Avenger007
18th July 2008, 22:32
Try with a different renderer.
or
Mess around with the other settings such as "VMR9 mixer mode".
I tried those but they didn't help. :(

or
Enable the included shader to convert the levels.
How do I do that?

Also, why would MPC use TV levels by default? :confused:

wozio
19th July 2008, 07:33
Also, why would MPC use TV levels by default? :confused:

It is not a matter of MPC but renderer. You could also try to set drivers, both ati and nvidia needs to have refistry tweaks to output pc levels properly.

Regards
Piotr

Avenger007
19th July 2008, 08:01
It is not a matter of MPC but renderer. You could also try to set drivers, both ati and nvidia needs to have refistry tweaks to output pc levels properly.

Regards
Piotr
But it shows fine in windows media player. So why can't MPC do the same?

7o9
19th July 2008, 09:07
But it shows fine in windows media player. So why can't MPC do the same?

MPC is not WMP. Different players, different things.

It can do what you want, it's just more configurable. Hit the right buttons and it's fine.

Also, perhaps try MPC-Home Cinema. Your version is rather old.

Avenger007
19th July 2008, 20:32
MPC is not WMP. Different players, different things.
This isn't about features of the players or anything like that, it's about getting MPC to use the correct levels. MPC uses PC (0-255) for all media files, so why not for avs files?
It can do what you want, it's just more configurable. Hit the right buttons and it's fine.
Show me how to convert between levels in MPC for avs files and I'll be fine. :)
Also, perhaps try MPC-Home Cinema. Your version is rather old.
I tried but it didn't help.

Avenger007
24th July 2008, 03:09
it's all ok here.
Thanks for the response, but are you saying that both MPC and WMP can play avs files and all other media files using PC (0-255) levels?
Can you switch between PC and TV levels and tell the difference?
What renderer are you using?

I can't figure out why MPC can't use PC levels for avs files like it does for all media files. :confused:

Sharktooth
24th July 2008, 03:11
i use overlay and everything is played back in PC scale with any player.
whatch out from opening 2 concurrent media players... it will bork.

Avenger007
24th July 2008, 03:22
whatch out from opening 2 concurrent media players... it will bork.
From my experience when using overlay, the 1st instance uses TV colors but all other instances uses PC colors including, surprisingly, avs files.
Using VMR9 (renderless) causes all media files to use PC colors and all avs files to use TV colors no matter how many instances are open concurrently.

Sharktooth
24th July 2008, 04:07
it usually depends on the video card or vcard drivers.

Avenger007
24th July 2008, 04:15
it usually depends on the video card or vcard drivers.
What does video card or vcard drivers have to do with MPC using TV levels for avs files only and PC levels for all media files?
I have video card settings set to use application settings.

Sharktooth
24th July 2008, 04:23
colorspace conversions depending on various factors (like resolutions and others)... bugs in drivers.

Avenger007
24th July 2008, 04:39
Thanks for the info and the replies but I don't think drivers are the problem since I've had this problem over several versions of drivers including the latest version.
I guess a good question might be, when using overlay, does the 1st instance uses PC colors and all other instances use TV colors?
I might be mixing up the two but I highly doubt it since my version of PC colors looks better (less contrast/saturation) than TV colors.

ranpha
24th July 2008, 08:32
How about using Haali Renderer, then force HR to output PC level?

Avenger007
24th July 2008, 08:53
I tried it and luma levels was set to PC (0-255) in HR properties but it didn't help. :(

ranpha
24th July 2008, 08:58
I tried it and luma levels was set to PC (0-255) in HR properties but it didn't help. :(

The avs output is still RGB32, not YV12 etc right?

Avenger007
24th July 2008, 09:15
File -> Properties in MPC for the avs file says YV12.

ranpha
24th July 2008, 09:46
File -> Properties in MPC for the avs file says YV12.

There's the problem. Haali did not accept YV12 input, only RGB32.

http://pix.nofrag.com/2/6/f/3845787ee7b7488cbc7a7f906453dtt.jpg (http://pix.nofrag.com/2/6/f/3845787ee7b7488cbc7a7f906453d.html)

Avenger007
24th July 2008, 09:57
What about VMR9 (renderless)? That's what I'm currently using.
WMP plays all media files and avs files using PC levels, how can make MPC do the same?

ranpha
24th July 2008, 10:14
Try running the avs file in MPC and list the exact name of the renderer used. Is it something in the region of "Video Renderer" instead of "Video Mixing Render 9 (Renderless)" etc.? Also, what is your VGA card? because I want to know why you can use the PC level pixel shader.

clsid
24th July 2008, 10:24
http://pix.nofrag.com/2/6/f/3845787ee7b7488cbc7a7f906453dtt.jpg (http://pix.nofrag.com/2/6/f/3845787ee7b7488cbc7a7f906453d.html)
Putting stuff in the "External Filters" section of MPC options is pointless, unless:
1) You want to block a filter
2) You want to add a filter that is not registered on the system (yes that is possible! only for decoders though, doesn't work properly with splitters).
3) You want to adjust the merit of a filter
4) You want to adjust the mediatypes the filter accepts

For example placing Haali renderer there is totally useless. That will be used if and only if you select it as the preferred renderer in the options.

Edit: You probably added it there to show that it only accepts RGB32, right? Nevermind the above in that case :)

ranpha
24th July 2008, 10:27
Putting stuff in the "External Filters" section of MPC options is pointless, unless:
1) You want to block a filter
2) You want to add a filter that is not registered on the system (yes that is possible! only for decoders though, doesn't work properly with splitters).
3) You want to adjust the merit of a filter
4) You want to adjust the mediatypes the filter accepts

For example placing Haali renderer there is totally useless. That will be used if and only if you select it as the preferred renderer in the options.

Nope, I list it there so that I can show TS that Haali only accept RGB32 input. I have no other way to show that.

Edit: Actually, putting renderers there can be kinda useful too. For example, if I set the renderer to System Default, and then put an exotic renderer like Nero Video Renderer (set it to Prefer), MPC-HC can actually use it to display videos.

Avenger007
24th July 2008, 10:30
Try running the avs file in MPC and list the exact name of the renderer used. Is it something in the region of "Video Renderer" instead of "Video Mixing Render 9 (Renderless)" etc.? Also, what is your VGA card? because I want to know why you can use the PC level pixel shader.
Options->Playback->Output...DirectShow Video set to VMR9 (renderless).
Since WMP can use PC levels, I don't see how the VGA card matters.

ranpha
24th July 2008, 11:05
Options->Playback->Output...DirectShow Video set to VMR9 (renderless).
Since WMP can use PC levels, I don't see how the VGA card matters.

Well, just because you specify VMR 9 (renderless), it does not mean that renderer will be used. That's why I'm asking you to run the avs file and see what is the renderer being used (right-click on the video are and select Filters).

It has to be Video Mixing Render 9 (Renderless) being listed there to confirm that VMR9 really is being used. If yes, and 3D Surfaces has been used, you should be able to use PC level pixel shaders. If you can't even if Video Mixing Render 9 (Renderless) is used, well then that's why knowledge of your VGA card will come to play.

Avenger007
24th July 2008, 12:17
It says Video Mixing Render 9 (Renderless) and below that it says AVI Decompressor (YV12). They both appear irrespective of the media type used in the avs file.
Video is rendered in 2D, 3D doesn't show a difference.
Video card is Radeon X800XL.

Sharktooth
24th July 2008, 12:27
Driver bugs.... try the latest catalyst 8.7.
in ATI drivers the scaling depends on the res too. SD -> TV scale.... HD -> PC scale...

wozio
25th July 2008, 08:52
Yes, it is clearly drivers bug, ATI uses TV scale for SD sources and PC scale for HD sources (vsize >= 720). IT doesn't matter that WMP shows correct values since it can use different renderer.

And driver does matter since there is done conversion from YV12 to RGB using TV or PC scale. And ATI drivers behave like that since 6.12 or something like that. Try to force using PC scale for all resolution using "UseBT601CSC"="1" setting in registry.

Avenger007
25th July 2008, 23:59
I installed Catalyst 8.7 but that didn't help. I also tried an HD clip with DirectShowSource but it still used TV levels.

Just to mention something I said before, if I use overlay then the 1st instance of MPC uses TV levels but all other concurrent instances use PC levels including avs files.
How do you explain that? :confused:

ranpha
26th July 2008, 05:58
I installed Catalyst 8.7 but that didn't help. I also tried an HD clip with DirectShowSource but it still used TV levels.

Just to mention something I said before, if I use overlay then the 1st instance of MPC uses TV levels but all other concurrent instances use PC levels including avs files.
How do you explain that? :confused:

Did you apply the "UseBT601CSC"="1" registry fix?

Try using older drivers such as version 6.x (the one that comes with classic control panel).

Avenger007
26th July 2008, 07:27
Did you apply the "UseBT601CSC"="1" registry fix?
No.
Try using older drivers such as version 6.x (the one that comes with classic control panel).
I'm not convinced it's a driver problem.

clsid
26th July 2008, 12:26
Well, MPC does also not deliberately mess up the levels. I doubt it does anything level related. That's all up to the decoders and renderers.

ranpha
26th July 2008, 18:07
No.


If you insist on using the modern Catalyst driver, why you did not want to apply that registry fix?

Avenger007
26th July 2008, 22:31
Because I'm looking for the cause of the problem.
If overlay mixer is used, does the first instance use TV levels and the other instances use PC levels?

clsid
26th July 2008, 23:50
There can be only one instance of the Overlay Mixer. The second instance will fall back to using the system default renderer (= VMR-7 on XP).

Avenger007
27th July 2008, 00:30
The second instance will fall back to using the system default renderer (= VMR-7 on XP).
THANK YOU very much for that bit of information!!!
I switched to Video Mixing Render 7 (Renderless) and now all media files and avs files use PC luma levels. :)
:thanks:
But why couldn't WMR9 do the same? :confused:

Sharktooth
27th July 2008, 03:37
bugs in drivers/videocard bios.

wozio
27th July 2008, 07:06
But why couldn't WMR9 do the same? :confused:
We are telling you for some days, this is bug in drivers, which can be fixed using registry tweak.

Avenger007
27th July 2008, 07:44
How/where exactly am I supposed to apply this registry fix?
Is there any advantage to using WMR9 instead of WMR7?

wozio
27th July 2008, 10:46
Google for it and you will find thread on avsforum how apply fix.

With VMR9 you can use pixel shader based bicubic scaling for example which is much better than usuall VMR9/7 bilinear. Don't forget to set mixing mode and yuv mixing, this give best overall results.