View Full Version : Media Player Classic Home Cinema (MPC-HC) - DXVA!
Avish
16th April 2011, 16:20
Thanks for that! :)
I almost figured it yesterday.. opened editor, pasted the text, pressed enter.. but couldn't figure out how to save it! :)
Inspector.Gadget
16th April 2011, 22:56
Holy crap, so am I! What the heck's the model of your screen/graphics card combo? I get 62Hz outputting from the Intel card on this laptop with switchable graphics.
I tried ReClock for a while, it was pretty good for speeding up 30Hz-> 31Hz stuff where there is a noticeable pause in the video during each second of video when VSync is enabled. With ReClock, video was perfectly smooth but the ~5% speedup was quite noticable at times.
Hey namaiki, I wanted to get back to you on this since I see you're using a 9600m GT. I'm on a 9650m GT pushing an AUO "1088" commodity notebook LCD panel and can't find any information about the claimed capabilities of the panel itself (as distinct from the capabilities reported to Windows). Today I decided to try to create a custom resolution in the NVIDIA control panel and decided to go from 1920x1080@62hz@32bitdepth to 1920@1080@72hz@ 32bitdepth. It seems to work well for 24p content so far - the CRTL+J graph in MPC-HC has gone from a spirograph drawing to two mostly flat parallel lines and reported jitter is at zero. I've also been able to create 60hz and even 48z modes without my display immediately puking, though I haven't tested them for stability.
My sense is that most LCD panels take from 50 or 60 through 75 hz vertical refresh without complaint, though it is rumored that pushing a display at a non-recommended resolution can harm it (though wouldn't any modern panel just refuse to display an out-of-bounds signal?).
Anyway, if you feel confident, give this a shot and see if it helps. I'd appreciate also any information from more knowledgable people about whether I'm running a real risk of breaking the panel...
JanWillem32
17th April 2011, 02:18
Hey namaiki, I wanted to get back to you on this since I see you're using a 9600m GT. I'm on a 9650m GT pushing an AUO "1088" commodity notebook LCD panel and can't find any information about the claimed capabilities of the panel itself (as distinct from the capabilities reported to Windows). Today I decided to try to create a custom resolution in the NVIDIA control panel and decided to go from 1920x1080@62hz@32bitdepth to 1920@1080@72hz@ 32bitdepth. It seems to work well for 24p content so far - the CRTL+J graph in MPC-HC has gone from a spirograph drawing to two mostly flat parallel lines and reported jitter is at zero. I've also been able to create 60hz and even 48z modes without my display immediately puking, though I haven't tested them for stability.
My sense is that most LCD panels take from 50 or 60 through 75 hz vertical refresh without complaint, though it is rumored that pushing a display at a non-recommended resolution can harm it (though wouldn't any modern panel just refuse to display an out-of-bounds signal?).
Anyway, if you feel confident, give this a shot and see if it helps. I'd appreciate also any information from more knowledgable people about whether I'm running a real risk of breaking the panel...The maximum vertical refresh rate is often reported wrong by Windows. I recommend to use "monitor asset manager" to look up the monitor's Horizontal scan range maximum. The horizontal scan rate is what limits analog D-Sub and digital DVI/HDMI signals (for most devices) on the receiving part. (DisplayPort isn't scanned, but micro-packet based, so it will react differently.) As long as the horizontal scan rate maximum isn't exceeded, no harm can be done. Sometimes the Vertical scan range is wrong in the info, it will often just note the range as a single refresh rate. It's safe to ignore that. I've yet to see a monitor that doesn't indicate the correct maximum horizontal scan rate.
To calculate the maximum vertical scan rate: http://en.wikipedia.org/wiki/Horizontal_scan_rate .
My CRT has a signal-to-blanking ratio of about 1.046875, if the indicated rates of 128.5 kHz and 79.9 Hz are correct on my monitor. The resolution is 2048×1536. 128500/(1536*1.046875) = 79.9
It could be that some digitally connected display devices can use a signal-to-blanking ratio of 1, but I haven't seen or tested that yet.
I once found a list of special case refresh rates. These are 23, 29, 47, 59, 71, 89 and 119 fake Hz. These denote NTSC adapted refresh rates of 24/1.001, 30/1.001, 48/1.001, 60/1.001, 72/1.001, 90/1.001 and 120/1.001 Hz. The 24, 30, 48, 60, 72, 90 and 120 Hz frequencies are treated as whole numbers like all other refresh rates.
Edit: I also found the most probable reason why I never liked standard bicubic scaling: http://photocreations.ca/interpolator/index.html .
A few notes on this page:
-the images were not gamma-corrected during processing, that's why the processed images are so dark,
- 8-bit RGB was used obviously, as both spline and sync methods will never produce gray tints on former white areas like that with 16- or 32-bit floating point surfaces (haloing will still always be present with these methods, though)
-using a stopwatch isn't the most correct method for timing computer operations.
mindbomb
17th April 2011, 03:30
question: should the yv12 chroma upsampling shader be used as a screen space shader or a regular shader?
and can it ever be a bad thing to have this shader on?
Inspector.Gadget
17th April 2011, 05:06
As long as the horizontal scan rate maximum isn't exceeded, no harm can be done. Sometimes the Vertical scan range is wrong in the info, it will often just note the range as a single refresh rate. It's safe to ignore that. I've yet to see a monitor that doesn't indicate the correct maximum horizontal scan rate.
Thank you for the information and links. Unfortunately, even Monitor Asset Manager can't discover range maximums for vertical and horizontal scans on this display. The best information I could find is pulled from the manufacturer's spec sheet to my laptop's OEM. Any insight as to whether operating at 1920x1080/72hz is a bad idea?:p Thank you for your help.
http://img824.imageshack.us/img824/9009/timingf.png
JanWillem32
17th April 2011, 09:13
@Inspector.Gadget: I found a similar image in a document for a similar AUO panel. It also notes a period of 2048 maximum, but with the full list of specifications. It seems that that panel is limited to 75 Hz mostly because of the processor that does the 8-bit to 6-bit color downgrade. Extrapolating the Clock frequency also indicates that a 75 Hz frame rate will use a Clock frequency just below 100 MHz (could be a design limit).
Inspector.Gadget
17th April 2011, 15:19
@JanWillem32: Great. Thank you for your help and your extra research into the subject.
SamuriHL
17th April 2011, 15:34
So I'm going to pose this question here. This is a subtitle question to whatever developer knows subs the best. :) HD DVD's (I know, I know, a dead format...bear with me for a minute) apparently use some high res vobsub format. I've been taking my HD DVD's and converting them to an MKV container with the subtitles in tact. When I use either ffdshow or preferably mpc-hc's subtitle renderer, these subtitles don't show. At first we thought it might be the splitter, but, I tried multiple splitters and the subtitles are listed, and say they're on, but, they don't display. Does anyone have any time to take a quick look at this issue and see if it's an easy fix? It would make a *LOT* of people happy, myself included. I'd be eternally grateful for anyone who can look at this issue. If a sample is needed, please let me know and I'll make one. Thanks!!
JanWillem32
17th April 2011, 17:01
@SamuriHL: It's been discussed a few times on IRC, the problem also exists for other formats, such as DVB subtitles. Yesterday, we analyzed that the 8 bits (in total) format is probably not accepted by the subtitle renderer's mixer. We had a similar thing in the past with the blu-ray subtitles that also required new code to read the subtitle bitmap. I'm not very familiar with these things, but I know it's pretty hard to modify the outdated and badly documented subtitle renderer, unfortunately.
SamuriHL
17th April 2011, 17:08
Damn. There's a lot of people in the same boat as I am...converting HD DVD's to MKV in the hopes that we can salvage a dead format without having to repurchase a bunch of movies. I myself have over 30+ HD DVD's (probably more...I'm too lazy to count right now) that I don't mind converting, but, the subs are definitely necessary on some of them. I really do appreciate the response, though. Thank you!
nevcairiel
17th April 2011, 17:16
You should be able to use BDSup2Sub (http://forum.doom9.org/showthread.php?t=145277) to convert HD DVD Subs into "ordinary" DVD subs, or PGS subs.
Granted, its a bit more work then just watching the movie, but if you know that some movie really has "must have" subs for you, thats your tool.
SamuriHL
17th April 2011, 17:20
You should be able to use BDSup2Sub (http://forum.doom9.org/showthread.php?t=145277) to convert HD DVD Subs into "ordinary" DVD subs, or PGS subs.
Granted, its a bit more work then just watching the movie, but if you know that some movie really has "must have" subs for you, thats your tool.
Yea, I know. As I said in the other thread, I'm lazy and was hoping it'd just work. Technically speaking, I still have HD DVD playback capability with TMT5, but, I like the idea of having them all in MKV format so I can use madVR and MPC-HC.
robpdotcom
17th April 2011, 18:50
Samuri: I believe you said you have already put the movies into mkv? You could extract the subs with mkvExtract, convert them to idx, and put them in a separate directory to be loaded externally by MPC-HC.
It would be quicker than remuxing at least.
SamuriHL
17th April 2011, 18:59
That's a thought. I'm toying with Another EAC3TO Gui Plus right now to see if I can automate everything off the disc itself. I can rerip if necessary. I've only done a couple of MKV's so far. Trying to get the process down so that I can get all my discs converted. But yea, I could do IDX if I need to. Ideally if I can't use the subs as is I'd like to convert them to PGS subs and remux them in. I'm going to see what I can do. I don't blame the devs for not wanting to play in the subtitle renderer. We've seen the horror stories. I thought at one point someone said they were going to write a new sub renderer from scratch but I haven't seen anything on it recently. I don't know enough about subtitles to be of any help with the code, especially if it's already a mess. sigh.
JanWillem32
17th April 2011, 21:11
It's mostly the text-based renderer that needs renewing on the draw/composing parts, really. The font renderer renders in A4R4G4B4, the anti-aliasing quality of the GDI parts is below modern standards and animation can choke even a very a modern CPU (the GPU isn't used). The bitmap-based items can stay, as those won't get much more efficient than they already are. I might add better scaling than the forced bilinear filter later, as the standard scaling pixel shaders are easily shared with other renderers.
G_M_C
17th April 2011, 21:16
JanWillem: Was brouwsing your page & mediafire. Saw MPC-HT build 3033. What's new/changed in it (or did you already post changelog ?).
JanWillem32
17th April 2011, 22:28
I'm writing patches at the moment for the dfr3038 version to a new branch. There are so many things I patched months to weeks ago, and not to forget that there was a big contribution to the color management section, too. I hope to get everything set up today to get that code into that branch. For the other part, I'm a bit closer to get the VSync Offset function working again and I've made optimizations to the dithering codes.
edit: I just put the dfr3038 file sets in the folder. I've mostly updated the adaptive random and random ordered ditherers to have lower GPU usage this time.
GrofLuigi
18th April 2011, 02:04
I stumbled upon something (http://tedwvc.wordpress.com) about compiling and recent VC* MFC updates. Don't know how relevant it is, but I hope someone will find it useful (all posts from April 2011 seem to be).
:helpful:
GL
tetsuo55
18th April 2011, 07:26
Nice find GrofLuigi, that should help both vc 2010 and 2008!
betaking
18th April 2011, 07:47
I stumbled upon something (http://tedwvc.wordpress.com) about compiling and recent VC* MFC updates. Don't know how relevant it is, but I hope someone will find it useful (all posts from April 2011 seem to be).
:helpful:
GL
thanks find! :)
betaking
18th April 2011, 07:50
http://tedwvc.wordpress.com/2011/04/16/static-mfc-code-bloat-problem-from-vc2010-is-now-in-vc2008-sp1security-fix/
nevcairiel
18th April 2011, 15:56
That fix doesn't work with MPC-HC, there must be something weird about the setup of MPC-HC that blocks it.
JanWillem32
18th April 2011, 17:42
About the size problem with VS2008, can someone compare the size of the assembly blocks between the former builds and the current one? Assembly blocks are the .asm files in the same folders as the .cpp and .h files, they contain the compiled data of all program functions. If any of those files blows up in size considerably, it's most likely that the function in it is the culprit of making the complete .exe so big.
korsan
18th April 2011, 20:32
I have media files with srt subtitles on a network drive.
I can play them when I connect through windows explorer \\192.168.2.xxx\.
But the problem is that Mplayerc HC cannot detect the srt subtitles automatically when the files are on the network drive. This problem does not occur with Vlc player.
alexins
18th April 2011, 23:29
That fix doesn't work with MPC-HC, there must be something weird about the setup of MPC-HC that blocks it.
In the project for MPC-HC MSVC 2008, everything works fine. I was able to build MPC-HC (2008) and Standalone Filters.
This fix (http://tedwvc.wordpress.com/2011/04/16/static-mfc-code-bloat-problem-from-vc2010-is-now-in-vc2008-sp1security-fix/) should not be used in all the files stdafx.cpp.
hopstiii
19th April 2011, 13:21
I made this VirtualDub X264 DXVA guide. Can someone experienced point out if something is wrong there?
http://static3.nagi.ee/i/p/724/85/181214692f9840_o.jpg
LigH
19th April 2011, 14:07
:eek:
1) Whoever wants to create MPEG4-AVC (H.264) shall abandon the AVI container, and therefore a VfW codec as well. AVI does not completely support B frames, multiple references, or the difference between I and IDR frames.
2) The encoder "x264" has a lower-case x. The FourCC "X264" is not "the best FourCC" (if you used MP4 or MKV instead of AVI, you did not even need to care about that).
3) Absolutely slower calculation does not necessarily mean absolutely better quality. Especially not for a restricted encoding profile required for DXVA compatibility. The speed preset "Placebo" is exaggeration, not practicable. I would not even be certain if 9 reference frames are DXVA compliant...
hopstiii
19th April 2011, 14:24
:eek:
1) Whoever wants to create MPEG4-AVC (H.264) shall abandon the AVI container, and therefore a VfW codec as well. AVI does not completely support B frames, multiple references, or the difference between I and IDR frames.
What if i put that avi afterwards to mkv container with mkvmerge GUI?
-------
L4.1 standard is max 9 reference frames at 720p and 4 reference frames at 1080p. That was in wikipedia. Haven't tested it out jet (blender is still rendering animation (3 days more).
kypec
19th April 2011, 14:34
What if i put that avi afterwards to mkv container with mkvmerge GUI?
Why not use x264 CLI -> MKV/MP4 directly and save yourself the trouble of re-muxing?
gngn
19th April 2011, 14:52
revision 3035: "Fixed current time goes beyond end of file time (Happens when stepping/jumping)" Apr 16, has introduced a bug: if i open MPC-HC and select from Favorites a file that also has the "Remember position" checked, the file will not start from the saved position, but from the beginning. if i try it again without first closing MPC-HC's window, then it works, the file will play from the saved position.
Ger
19th April 2011, 15:10
Thanks for the info. I can confirm the issue. I did notice some weirdness yesterday, but didn't really think about it.
If a fix can't be made quickly, please revert 3035 (one line of code) in the meantime, as this can get very annoying for "Favorites" users.
hopstiii
19th April 2011, 15:44
Why not use x264 CLI -> MKV/MP4 directly and save yourself the trouble of re-muxing?
What's best of them:
Handbrake, Xvid4PSP, StaxRip, RipBot264, FairUse Wizard, MEGUI, AutoX264, HDConvertToX.
Im looking something that can mux atleast flac audio and x264 video, and x264 encoder GUI has fully featured options (no 16000 max bitrate.
Old days i used mediacoder but that's very unstable.
I like ripbot264 but that was somewhat not fully featured, but best so far. Megui crashed, seems unstable or not foolproof like i :p
fastplayer
19th April 2011, 15:56
^You're off-topic.
nurbs
19th April 2011, 19:51
What if i put that avi afterwards to mkv container with mkvmerge GUI?
If you do that the video will be stored in VfW compatibility mode. MKVs normally contain native H.264. Depending on how well the players stick to the MKV spec you might run into trouble, or not. The thing is that most people don't use VfW to encode H.264, so if there are problems there is a good chance that they are not widely known.
I think demuxing the avi to raw streams and muxing those with mkvmerge works, if you don't mind the extra effort.
sneaker_ger
19th April 2011, 20:02
If you do that the video will be stored in VfW compatibility mode.
mkvmerge converts VfW H.264 to native format by default.
hopstiii
19th April 2011, 20:24
Thanks for info :), and i'm sorry for offtopic :o
alexins
20th April 2011, 05:21
Media Player Classic HomeCinema (x86/x64), 1.5.2.3043 (http://www.xvidvideo.ru/media-player-classic-home-cinema-x86-x64/media-player-classic-homecinema-x86-x64-1-5-2-3043.html)
Changes (3042-3043): (http://www.xvidvideo.ru/changelog-media-player-classic-home-cinema.html)
Add : MPEG-4 ASP bitstream decoder support;
Fix: rev. 3035 - it's broken open from favorites with remember position;
Fix: temporary fix "YV12 Chroma Upsampling" for Ati - thanks to judelaw;
Change: remove "BPP" from resolution list in FullScreen page.
quasit
20th April 2011, 08:20
Why isn't there an English site for the nightlies?
MPCHC doesn't seem to support PCM/LPCM? When I close the warning the video plays but no audio. Works fin with XBMC.
Warning message: http://pastebin.com/WknqTs3P
Damien147
20th April 2011, 08:26
Changes (3042-3043)
Fix: temporary fix "YV12 Chroma Upsampling" for Ati - thanks to judelaw;
Just tested,thanks from me too judelaw.Works with avi files,with mpeg2,mkv file I tried it doesn't.
Just a note for ati users,if using external decoder you still have to activate the shader.
nevcairiel
20th April 2011, 08:28
Why isn't there an English site fore the nightlies?
You can get builds from here if you don't trust the russian page :p http://xhmikosr.1f0.de/
Its not really a "site", just a file dump, but it has nightlies for mpc-hc and ffdshow, and other things.
suanm
20th April 2011, 10:16
I want built-in second subtitle in mpc-hc,I'm expecting author for mpc-hc can add built-in second subtitle in mpc-hc
suanm
20th April 2011, 10:18
thank author in mpc-hc in advance
fairchild
20th April 2011, 10:23
Fix: temporary fix "YV12 Chroma Upsampling" for Ati - thanks to judelaw;
[/LIST]
Dumb question but, is this needed at all if you use ffdshow for decoding along with (High Quality YV12 to RGB Conversion + Dithering)?
I'm guessing no, but thought I'd ask anyway. :)
fastplayer
20th April 2011, 10:28
^Fortunately, no.
alexins
20th April 2011, 12:28
Can someone give me a link for English RC translation file? I cannot seem to find it in the trunk.
/src/apps/mplayerc/mplayerc.rc
Superb
20th April 2011, 13:56
Hebrew translation for the installer: http://www.sendspace.com/file/3d4fhz (directly from today's trunk; rev3045)
The only thing I didn't know what to write was the language id:
he.langid=00000000 // FIXME
Will try to translate the rc, next...
ceb
20th April 2011, 17:26
I just wanted to say that my problem with EVR CP seems to be resolved, I'm using version 1.5.2.3045 64-bit BE Mod.
Looking at the changelog I think it's the "temporary fix "YV12 Chroma Upsampling" for Ati" although not being an expert I may be totally wrong.
Anyway, thanks judelaw!
fastplayer
20th April 2011, 19:12
Revision 3046
Modified Wed Apr 20 17:41:23 2011 UTC by xhmikosr
go back to using SSE for MSVC2010 builds too, now that SP1 is available
Many thanks from my T-Bred 2600+! :D
Ger
20th April 2011, 19:33
Fix: rev. 3035 - it's broken open from favorites with remember position;
Fix: temporary fix "YV12 Chroma Upsampling" for Ati - thanks to judelaw;
@Aleksoid and judelaw :thanks:
EVR-CP chroma issue introduced in 2837 is indeed fixed with default 8-bit surface and ATI (I've only tested with r3045 BE mod rather than trunk, but that shouldn't matter). Can also confirm that the favorites issue introduced in 3035 is fixed. Your contributions are very much appreciated. The latest revision is once again the greatest revision AFAIAC. :)
Just a note for ati users,if using external decoder you still have to activate the shader.
Not confirmed. NV12 and YUY2 (and HQ RGB32 as before) from ffdshow to EVR-CP are now working fine for me without shaders. I'm guessing your external decoder is outputting RGB32 but without the High (Full) Quality conversion.
What this fix does AFAICS is to use X8R8G8B8 surface rather than A8R8G8B8 when an ATI card is detected (and no 10, 16, 32 bit surfaces are enabled in renderer settings), and that is apparently enough to get rid of the blocky reds.
So as long as none of the 10-bit or HFPP/FFPP options are checked (as long as the surface is X8R8G8B8), the shader isn't needed for ATI anymore, much like in EVR Sync and in r2836 and earlier. If you're feeding non-HQ RGB32 from the decoder or using either of the 10-bit/FP options it seems you'll still need a shader to get rid of the blocking issue with ATI.
Interesting to note that the same fix also cured ceb's black screen with Catalyst 11.3 and BE mod problem that I was unable to reproduce.
BTW, I think we established Nvidia isn't affected, but does anyone know if a similar check is also needed for Intel?
Damien147
21st April 2011, 01:40
@Ger
You are right,I had FFPP on.
By the way guys,is there any point of having ffpp enabled with nv12 output?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.