View Full Version : Media Player Classic Home Cinema (MPC-HC) - DXVA!
ikarad
19th February 2011, 18:20
The driver models of Vista and XP are really different. That always makes a big difference.
YUY2 is a 4:2:2 format, it will only get preference with the internal formats if the source is also 4:2:2. It will always distort if you let one component handle conversion from 4:2:0 to 4:2:2 and another from 4:2:2 to 4:4:4, that's why.
In the mixer, there's nothing in my build that will really block it, though (or any format at all). The normal nightly builds have a less advanced convertor to NV12, by the way.
For both the 4:2:0 and the 4:2:2 formats a compatibility option to convert to RGB32 is implemented. (That usually fails on anything but 8-bit surfaces.)
The best choice is to use xp or vista in my case (mixer output on rgb32 + ffdshow in yuy2 or nv12 + ffdshow in yuy2)?
JanWillem32
19th February 2011, 19:14
The mixer uses an ordered list of formats. The closest matching format that supports interlacing in a 4:2:0 fashion is NV12, for 4:2:2 formats YUY2 is usually used. It's too bad that NV12 has a low merit with ffdshow tryouts (lower than YUY2, YVYU and UYVY), so you have to switch manually. Luckily, 4:2:2 format video is still somewhat rare.
Using RGB conversion before the mixer is a compatibility option. I even advise people to avoid it by using VMR-9 instead of EVR.
If you can get ffdshow with an NV12 connection to the EVR mixer and get proper hardware deinterlacing, it's a good connection.
ikarad
19th February 2011, 19:23
The mixer uses an ordered list of formats. The closest matching format that supports interlacing in a 4:2:0 fashion is NV12, for 4:2:2 formats YUY2 is usually used. It's too bad that NV12 has a low merit with ffdshow tryouts (lower than YUY2, YVYU and UYVY), so you have to switch manually. Luckily, 4:2:2 format video is still somewhat rare.
Using RGB conversion before the mixer is a compatibility option. I even advise people to avoid it by using VMR-9 instead of EVR.
If you can get ffdshow with an NV12 connection to the EVR mixer and get proper hardware deinterlacing, it's a good connection.
I use software deinterlacing (I don't like hardware because I can't use filters) and YUY2 (YUY2 is better than YV12, doesn't it?) because when I see interlaced movies (japan anime at 30fps interlaced. Yes it still exist evens in bluray), I use decomb avisynth filter (It is not compatible with rgb mode) to realize inverse telecine and to have the original framerate of video.
chros
19th February 2011, 19:32
@chros: All display devices have unique characteristics and will wear out in time. Professionals calibrate monthly with calibration devices and calibration patterns. Those are a bit expensive. For a less expensive option, you can download a lot of things to help with manual calibration.
Some good samples: http://www.avsforum.com/avs-vb/showthread.php?t=948496 .
I do not recommend using .ICC or .ICM files made from other display devices other than your own, as they will never match.
Thanks, I'll check out the link ...
janos666
19th February 2011, 19:38
Could you update your build with JanWillem32's patch that relaxed FullFP support detection?
It wasn't too hard to merge the changes but it wasn't trivial either (This recommended Turtoise SVN Client looks completely crazy sometimes. It showed me it will clear some lines but I got many compiler errors because they left there ; and the new patch file is buggy too, so I think other lines left there too and those just didn't cause compiler errors to help me find and clear them...), so this build is very experimental (but worked for me): MPC-HC x86 2938@JanWillem32 + CMS Test v5 (http://www.mediafire.com/?tp57vj8tuw962k5)
janos666
19th February 2011, 20:01
YUY2 is better than YV12, doesn't it?
Only if your video is 4:2:2. If you have a video encoded with 4:2:0 then it involves a redundant, inefficient, lossy transformation.
ikarad
19th February 2011, 20:16
edit edit
JanWillem32
19th February 2011, 20:30
You can check the properties of an input file with either File, Properties (internal MediaInfo data), or use MediaInfo externally. The download is available on http://mediainfo.sourceforge.net .
To be buried in this very busy thread for the third time:
When using ffdshow tryouts, it's usually best to let the mixer do a lot of the conversion work. In the output tab of the video decoder, use "Set pixel aspect ratio in output media type", "Set interlace flag in output media type" and "Allow output format changes during playback".
The next problem is the actual supported output types. I420/IYUV and YV12 are often refused by EVR, that leaves only NV12 as an option for 4:2:0 chroma sub-sampled video. Unfortunately, YUY2, YVYU and YUYV are selected by default instead. The only solution to that, is to disable those formats. Only enable YUY2, YVYU or YUYV if you want to play an actual 4:2:2 chroma sub-sampled video (not very common).
That should make a good NV12 connection without any chroma conversions before the mixer.
ikarad
19th February 2011, 20:39
You can check the properties of an input file with either File, Properties (internal MediaInfo data), or use MediaInfo externally. The download is available on http://mediainfo.sourceforge.net .
To be buried in this very busy thread for the third time:
When using ffdshow tryouts, it's usually best to let the mixer do a lot of the conversion work. In the output tab of the video decoder, use "Set pixel aspect ratio in output media type", "Set interlace flag in output media type" and "Allow output format changes during playback".
The next problem is the actual supported output types. I420/IYUV and YV12 are often refused by EVR, that leaves only NV12 as an option for 4:2:0 chroma sub-sampled video. Unfortunately, YUY2, YVYU and YUYV are selected by default instead. The only solution to that, is to disable those formats. Only enable YUY2, YVYU or YUYV if you want to play an actual 4:2:2 chroma sub-sampled video (not very common).
That should make a good NV12 connection without any chroma conversions before the mixer.
Thanks.
Some months ago I had seen that YUY2 offers a better quality than YV12 and by consequently I have used YUY2
http://www.homecinema-fr.com/forum/viewtopic.php?f=1196&t=29900151
Ger
19th February 2011, 20:43
The next problem is the actual supported output types. I420/IYUV and YV12 are often refused by EVR, that leaves only NV12 as an option for 4:2:0 chroma sub-sampled video. Unfortunately, YUY2, YVYU and YUYV are selected by default instead. The only solution to that, is to disable those formats.
STaRGaZeR has pretty much said/suggested he will change that (http://forum.doom9.org/showthread.php?p=1478939#post1478939). No one has objected to the new priority yet, so I think it will happen.
JanWillem32
19th February 2011, 21:11
@ikarad: They probably mean that they prefer to obscure a chroma bug problem of the mixer (there are actually 2). I'm already adding options to the renderer to get at least spline5 working as an option to up-sample chroma with automatic 4:2:0 and 4:2:2 detection when enabled.
@Ger: Thank you. That seems to be a good discussion of how to improve that tab.
cyberbeing
19th February 2011, 21:30
MPC-HC x86 2938@JanWillem32 + CMS Test v5 (http://www.mediafire.com/?tp57vj8tuw962k5)
Some things I noticed:
First off, Inverse Curve + Dim (2.35 Gamma) results the closest match to Argyll CMS (dispcal -g709 -a0.1 -f1.0 -k1.0) with a Matrix + 3 Curve ICC profile. Noticeably different then madVR+yCMS, but the gamma appears reasonably close. (I'll need to do some measurements to confirm this).
Inverse Curve + Bight (2.2 Gamma) is very significantly brighter. Inverse Curve + Dark (2.4 Gamma) is very significantly darker.
Lookup Quality High is extremely slow as you noted. I counted 42 seconds... Is there no way to just cache this data on the HDD, since it will always be the same if the ICC profile doesn't change?
Unfortunately Lookup Quality High seems required. Using Medium results in moderate banding. Low results in heavy banding. Both are pretty much unusable quality wise.
Changing lcms settings while a video is playing or paused seems buggy. Sometime lmcs just disables itself and won't activate again until the video is re-opened.
Re-opening the video from the playlist results in an 'Out of Memory' error reported by MPC-HC.
I still get extremely poor looking results when using a XYZ LUT or LAB LUT ICC profile, but that is nothing new.
When I find time, I'll re-calibrate, create a fresh profile, and take some measurements with your patch.
ikarad
19th February 2011, 21:36
@ikarad: They probably mean that they prefer to obscure a chroma bug problem of the mixer (there are actually 2). I'm already adding options to the renderer to get at least spline5 working as an option to up-sample chroma with automatic 4:2:0 and 4:2:2 detection when enabled.
Thank you.
Your option is also available in builds from xvidvideo.ru or not?
Is it usefull to select YUY2 to correct chroma bug (if I use old version of mpc-hc) or to select NV12 (or YV12) without to make convertion?
JanWillem32
19th February 2011, 21:54
http://forum.doom9.org/showthread.php?p=1463132#post1463132 YUY2 can have "half" a chroma bug. The good news is that even old builds can compile and add pixel shaders. http://forum.doom9.org/showthread.php?p=1457640#post1457640 I should really organize my thread, I've had over 1000 downloads, but no proper guide and such things in the OP.
Some types of video cards (no exact data which brands and generations) have a blurry linear filter forced on the chroma data in the mixer. I don't have a solution for that problem yet, unfortunately.
If you want quality comparison on the chroma scalers, 7z packed 8-bit PNG screenshots are available in my folder.
janos666
19th February 2011, 22:18
Some things I noticed:
First off, Inverse Curve + Dim (2.35 Gamma) results the closest match to Argyll CMS (dispcal -g709 -a0.1 -f1.0 -k1.0) with a Matrix + 3 Curve ICC profile. Noticeably different then madVR+yCMS, but the gamma appears reasonably close. (I'll need to do some measurements to confirm this).
Inverse Curve + Bight (2.2 Gamma) is very significantly brighter. Inverse Curve + Dark (2.4 Gamma) is very significantly darker.
I will contact with Graeme Gill again to find better fitting CIECAM02 parameters.
Lookup Quality High is extremely slow as you noted. I counted 42 seconds... Is there no way to just cache this data on the HDD, since it will always be the same if the ICC profile doesn't change?
I though about that myself because the slowest part is the CIECAM02 transform (much slower than the basic color transformation).
But it would be a relatively big job for me. (MPC-HC should check if the ICC profile is changed or not and load the cached texture from the HDD or create a new one. I think it would require to declare a basic file format which holds the texture and a copy of the ICC profile.)
But it's only a couple of seconds with my CPU. And it's single threaded. I think it wouldn't be too hard to make it multi-threaded. (But yet again, I am not a real programmer, so I would leave it for others...)
Changing lcms settings while a video is playing or paused seems buggy. Sometime lmcs just disables itself and won't activate again until the video is re-opened.
Re-opening the video from the playlist results in an 'Out of Memory' error reported by MPC-HC.
These are caused by the same problem. I ran into it when I tried to use even bigger 3DLUTs. (Very High is "only" 227x227x227 now. I would hit 256x256x256.)
I planned to consult with some developers about this. (May be it's an internal limitation which could be mellowed.)
I still get extremely poor looking results when using a XYZ LUT or LAB LUT ICC profile, but that is nothing new.
Did you try the -qu option for ArgyllCMS/colprof? (And Graeme did some changes in the upcoming 1.3.3 which will may help.)
Mangix
19th February 2011, 22:48
off-topic but why not use pngout to compress the PNGs? I doubt 7z is any good at it...
JanWillem32
19th February 2011, 23:52
I used '"optipng 0.6.4.exe" -zc9 -zm9 -zs0-3 -f0-5 -preserve *.png' to compress them, and 7z in storage mode. It's a set of 12 images, 18.2 MB in size.
matthew_eli
20th February 2011, 01:17
@Namaiki
I've replayed to Ticket #878:
https://sourceforge.net/apps/trac/mpc-hc/ticket/878#comment:9
could you please look at this?
namaiki
20th February 2011, 09:03
@Namaiki
I've replayed to Ticket #878:
https://sourceforge.net/apps/trac/mpc-hc/ticket/878#comment:9
could you please look at this?
Please post a Ctrl+J graph of that H.264 video being played in MPC-HC.
jeremy33
21st February 2011, 22:07
The settings of catalyst are already exactly like you describe.
My build is from xvidvideo.ru (2937) and it's already 0-255 in renderer settings.
So if I understand, this is ok :
EVR custom (without Full Float Point Processing) + ffdshow RGB32 with ffdshow yCbcr specification to BT.709
http://img835.imageshack.us/img835/534/rgb32.th.jpg (http://img835.imageshack.us/i/rgb32.jpg/)
madVR + ffdshow YV12
http://img695.imageshack.us/img695/5025/madvrffdshow.th.jpg (http://img695.imageshack.us/i/madvrffdshow.jpg/)
madVR + Internal Filter
http://img210.imageshack.us/img210/9641/madvrinternal.th.jpg (http://img210.imageshack.us/i/madvrinternal.jpg/)
And this is not ok :
EVR custom (with Full Float Point Processing) + ffdshow NV12
http://img137.imageshack.us/img137/8901/nv12.th.jpg (http://img137.imageshack.us/i/nv12.jpg/)
EVR custom (with Full Float Point Processing) + Internal Filter
http://img405.imageshack.us/img405/3690/evrinternal.th.jpg (http://img405.imageshack.us/i/evrinternal.jpg/)
So the renderer does not work like it should ?
JanWillem32, I think my problem happen with ATI series below HD5xxx. Several people on a french forum are in the same case.
cca
22nd February 2011, 00:52
But JanWillem32 has an ATI 4890 if I remember right, a card older than the 5xxx series!
jeremy33's result kinda alarmed me, so I tried the test too, no problems with JanWillem32's latest test build using EVR CP + Full Floating Processing + FFDshow NV12. Mixer appears to receive NV12 and outputs also NV12.
Casshern
22nd February 2011, 02:16
I used '"optipng 0.6.4.exe" -zc9 -zm9 -zs0-3 -f0-5 -preserve *.png' to compress them, and 7z in storage mode. It's a set of 12 images, 18.2 MB in size.
Tried the last test build "dfr2947 large lut". Instead of a black screen i get white noise static with all formats (NV12, YUY2, RGB 32). For obvious reason it does not show on a screenshot, but I guess this could be called progress?!
Matching_Mole
22nd February 2011, 08:26
I have a quick question about th EVR renderer and its action on color without the color management feature activated.
Currently I resize video and convert it into RGB32 in FFDshow. In MPC I use the EVR Sync renderer and set up the Video Frame option in "Normal Size" in order to avoid any re-resizing from the renderer. But, even if the data are already in RGB32 when they are sent to the EVR presenter, do it make additional conversion/operation on the data and if yes what are they?
NB: obviously I set up all the video options in Catalyst Center of my old ATI 2600 XT in "Use Application Setting".
ikarad
22nd February 2011, 09:38
JanWillem32, I think my problem happen with ATI series below HD5xxx. Several people on a french forum are in the same case.
I have a nvidia card and I have the same problem.
GTPVHD
22nd February 2011, 21:15
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c3202ce6-4056-4059-8a1b-3a9b77cdfdda
Microsoft has released Windows 7 Service Pack 1(SP1) RTM/Final.
cca
22nd February 2011, 21:28
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c3202ce6-4056-4059-8a1b-3a9b77cdfdda
Microsoft has released Windows 7 Service Pack 1(SP1) RTM/Final.
Already installed, this service pack bring nothing new really, it's just a collection of previously released hotfixes plus some unreleased ones. Has no effect in video playback as far as I can tell.
SamuriHL
22nd February 2011, 21:32
Already installed, this service pack bring nothing new really, it's just a collection of previously released hotfixes plus some unreleased ones. Has no effect in video playback as far as I can tell.
Actually, there's a few video related hotfixes that are included that were never on windows update. One of them is HDMI handshaking related if I remember right. So you may not notice any difference, but, there's definitely some stability fixes in there.
Mixer73
23rd February 2011, 01:15
Already installed, this service pack bring nothing new really, it's just a collection of previously released hotfixes plus some unreleased ones. Has no effect in video playback as far as I can tell.
Personally when a service pack comes out its a nice time to slipstream the SP and do a clean install...
bobdynlan
23rd February 2011, 13:01
http://support.microsoft.com/kb/2488113 This one will help with some rare Visual Studio 2010 BSODs. Please try it out. I don't know why it's listed as optional on WU.
vood007
23rd February 2011, 15:06
Is there a way to reset the "Overwrite Aspect Ratio" to default on player start?
mr.duck
23rd February 2011, 16:31
Is there a way to reset the "Overwrite Aspect Ratio" to default on player start?
Also is it possible to just have the options: Default, 4:3, 16:9?
pdanpdan
23rd February 2011, 19:40
@JanWillem32
In the latest build, there is a strange bug - after a movie is over or on movie change, the last image in previous movie remains on screen. Sound from new movie works, and the progress bar moves, but no image from the new movie.
Win 7 x64, mpc-hc tester dfr2947 (32/64, large LUT's or not), EVR Custom, D3D Fullscreen on 2nd monitor.
It I don't use D3D Fullscreen it works. Also it was working in the previous version (dfr2941 I think).
thymej
24th February 2011, 00:45
http://blogs.msdn.com/b/windowssdk/archive/2010/04/07/coming-soon-win-sdk-for-windows-7-and-net-4.aspx
It's not Windows SDK 7.1 problem and only 1 XP SP2 user has reported experiencing BSoD, if it was serious every XP SP2 users will be reporting BSoDs, but this hasn't happen so it's only the single reporter's machine.
BTW, its not a single reported machine, I have the same issue and same BSoD, I have SP3 because I needed to use PowerShell 2.0 for XP on the system with with MPC-HC BSoD.
Edit: I will try the hotfix (943232) for the sfx.dll file soon
LigH
24th February 2011, 14:18
And on top of all: Why bold?
G_M_C
24th February 2011, 17:19
bold = critical
The fact that you write your comment in bold doesnt make it nessesarily true ofcourse, let alone that is makes it critical.
Problems are only critical when there are many more people that have the same opinion as you, and when the problem breaks functionality. And that doesnt include naming.
So since naming in itself can never be critical, just a matter of taste perhaps, why dont you just rename you copy or something like that ?
nevcairiel
24th February 2011, 18:29
MPC-HC will not be renamed because you don't like the name. Sorry.
In fact, i don't think anyone would rename any project because of you.
Thunderbolt8
24th February 2011, 18:29
for me it's critical.
hahaha :D , you're just kidding about renaming right?you were kidding with your post, right?
leeperry
24th February 2011, 18:52
for me it's critical.
http://www.pixelz.fr/6/d/7/bbf630ba877ba24e256ad5febfd6a.png
It's got your name on it http://forum-images.hardware.fr/images/perso/alphat.gif
burfadel
24th February 2011, 19:14
If anything, it could be 'MPC - Home Cinema', but still reference Media Player Classic elsewhere. I think of more important though is that gui change which has seemed to have gone quiet. There's already the option there for a basic skin change when you place in the image file, but I'd like something that reflect Windows 7 whilst still retaining the simplesness, NOT something that reflects Windows 95! Yes, the interface is circa Windows 95, at least 15 years old! I know the 'classic' refers to the pre WMP 7 inbuilt Windows media player, but since thats probably lost on people now there's really no point retaining it, keeping an interface which makes the player look more 'media player ancient' that 'media player classic'...!
mr.duck
24th February 2011, 19:24
Sina™, your suggestions are so bad I want to cringe.
MPC is already the best available. I mean just look at it...
http://img576.imageshack.us/img576/5948/mpc.png
A bit of TV I was just watching. The status and seekbar tuck behind the Windows 7 taskbar nicely.
G_M_C
24th February 2011, 21:19
for me it's critical.
hahaha :D , you're just kidding about renaming right?
No i wasnt. And there seem to be more people on this board that dont agree with you.
Renaming? The source code is available, so you can adapt your version to your need if you want, im sure changing the name can be changed also.
yesgrey
25th February 2011, 00:35
suggestion:
the name: media player classic home cinema, is too long, it's a sentence & it's a great feed for comedians: media player classic home cinema high definition extra plus. :D (1000 kilometer length of the name)
You got it wrong... All your suggested names are even bigger! except the last one, which has one less character.
"mpc-hc", that's how you should call it. ;)
bobdynlan
25th February 2011, 01:12
foobar2000 is a great player under the hood, like mpc-hc, but will also not win any design competitions, with all those gui elements floating around like crazy on resize, spartan playlist, limited search ...etc.
for me it's critical.
nircmdc (http://www.nirsoft.net/utils/nircmd.html)win settext class "MediaPlayerClassicW" "BOOH!"
Critical needs require critical tools :helpful:
thuan
25th February 2011, 03:38
foobar2000 is a great player under the hood, like mpc-hc, but will also not win any design competitions, with all those gui elements floating around like crazy on resize, spartan playlist, limited search ...etc.
I thought you were talking about a different player and not foobar2000. Albeit I do agree that there're audio players with initially easier to get used,too. I do not see the current version has such problems as you described, not to mention I see its search facilities are far advanced compared to other.
As for MPC-HC, I also don't see a point to rename the project, I and most others are fine with it. Also, as it has stuck as a brand name, not only something technical.
adam777
25th February 2011, 12:19
you're just playing with words.
it's just a free, incomplete project: (worst dvd features i ever saw, freezes a lot when i pause dvd movies, chapter switching freezes & lots of more).
after 1000 century of development, it's extremely buggy.
Centuries of development!
Millennia of development!
janos666
25th February 2011, 13:22
[B]suggestion:
the name: media player classic home cinema, is too long, it's a sentence & it's a great feed for comedians
I agree that the name is too long and yes, it's a little funny too: Media Player Classic - Home Cinema (supplement after the "classic" word). I think they should have dropped the "Classic" word when they added the "Home Cinema" (but it's only my opinion and it's not a real problem). But I think a renaming would be a very bad idea now! I hate when a software is renamed without any good reason (for example, last time it happened with a reason).
[B]suggestion:
suggestion names: minimaplay, winplay, lightplay.
unusual name: eknom,
Well, it must be a joke. At least I laughed.
The default skin is not very "top-modern-stylish" but it's fully functional and OK.
I think you are free to provide a patch with skin support and your custom skin (not if I personally like your concept but others may do...) :D
-----------
The only thing I would change is to make the "Jump (medium)" default instead of the "Framestep".
It's very annoying for anybody who switches from almost any other player and she/he don't know the way how to change that.
I think this is the main reason of the "uninstall after the first try" scenarios.
It doesn't require university degree to use the "Options" menu but she/he will decide to uninstall before she/he could find this option.
janos666
25th February 2011, 13:54
people are different... (you can laugh forever, who cares?)
i'm a designer & this terrible design is not tolerable.
it's 2011, not 2000.
did you ever heard of "design efficiency"? of course not.
Like I said: I think you are free to make a new (optionally selectable , or may be new default) skin.
I don't care about the player skin because I watch movies in full screen. :p
cca
25th February 2011, 14:18
@janos666 and everyone else: Why you bother feeding the trolls? MPC is opensource, anyone is free to use it, contribute in it, or not bother with it at all. Useless comments just make this thread pile up junk.
Virtual_ManPL
25th February 2011, 15:32
i don't work for free.
http://img132.imageshack.us/img132/6993/1267256959605.jpg
Saying this in open source program thread...
v0lt
25th February 2011, 15:58
I agree that "Media Player Classic Home Cinema" - a very long name.
several variants of names:
Media Player Classic (the same player, but another version.)
Classic Player
Classic Media Player (why not?)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.