View Full Version : Media Player Classic Home Cinema (MPC-HC) - DXVA!
MatMaul
15th February 2009, 15:58
New version available at link in signature:
* Updated to latest SVN.
* Animated subtitles now works with buffering.
I have a massive hit performance with this version when I use subtitles (standard srt), my cpu usage just doubles and I get jerky playback (confirmed by the CTRL+J graph).
no problem with the version 8.
Kado
15th February 2009, 16:01
@ikarad
Check here (http://forum.doom9.org/showthread.php?p=1248235#post1248235).
Beliyaal
15th February 2009, 16:25
I have a massive hit performance with this version when I use subtitles (standard srt), my cpu usage just doubles and I get jerky playback (confirmed by the CTRL+J graph).
no problem with the version 8.
A performance hit is expected as the subtitles are animated. The problem is that the subtitle provider always reports animated subtitles even when they aren't. Next version will have a switch for disabling animated subtitles and flashing subtitles will not occur even on slow CPUs.
Egh
15th February 2009, 16:31
@Beliyaal:
thanks for the animated subs fix! Somebody had to do it really, all these years since classic appeared ;)
As for the subs, I reckon there's a bug, and I reckon it is caused by new subtitles feature, as I have last x64 build from from xvidvideo.ru before it went down, and it doesn't have such a problem.
I have two monitors, and the output is selected as "Current". That allows me to move the window between my monitors and although initially it shows blank screen in several seconds it recovers (Haali renderer is used on Nvidia 185.20 7900GTX just in case you need it). This kind of behavior was implemented relatively recently, maybe 2-3 months ago (before if you moved MPCHC window then you had to restart video from beginning).
In short, Both x64 and your ver9 build recover video playback after being moved to a different monitor however Ver9 doesn't recover subtitle rendering (even if I move it back to original monitor and restart the video).
MatMaul
15th February 2009, 16:31
A performance hit is expected as the subtitles are animated. The problem is that the subtitle provider always reports animated subtitles even when they aren't. Next version will have a switch for disabling animated subtitles and flashing subtitles will not occur even on slow CPUs.
any chance to modify the provider to report animated subtitles correctly ?
because with this kind of performance hit animated subtitles need to be disabled by default.
pbmtp
15th February 2009, 16:38
Hi Beliyaal,
i found why your version is not working on my computer after compiling a version of mpc-hc based on your last patch. In CEVRAllocatorPresenter constructor you load mfplat.dll which is not present on my computer. Thus EVR custom presenter fail to init and mpc-hc fall back to default video renderer. After installing windows media player 11 which install that dll all is working fine. I think you should note that information somewhere for future users.
pb
Kado
15th February 2009, 17:34
@beliyaal
Have you tried to reproduce my issue? The cpu usage is not the problem but the subs not showing up.
Also I suppose that although you need a 3d gpu to use the internal subtitle renderer the subs are rendererd by the cpu it self, the gpu is just for presentation right?
Beliyaal
15th February 2009, 17:55
@beliyaal
Have you tried to reproduce my issue? The cpu usage is not the problem but the subs not showing up.
Also I suppose that although you need a 3d gpu to use the internal subtitle renderer the subs are rendererd by the cpu it self, the gpu is just for presentation right?
I was not able to reproduce with your sub file.
It might actually be the CPU-usage (yes the subtitles are rendered with CPU and displayed with D3D). The next version will show subtitles even when the CPU is too slow.
Or it might be the move between monitors bug that has something to do with it.
ikarad
15th February 2009, 17:59
@ikarad
Check here (http://forum.doom9.org/showthread.php?p=1248235#post1248235).
v1.2.989 is the last version?
Beliyaal
15th February 2009, 18:09
any chance to modify the provider to report animated subtitles correctly ?
because with this kind of performance hit animated subtitles need to be disabled by default.
I'm thinking that having it enabled by default on 4 hardware threads or more CPU:s should be safe.
Mercury_22
15th February 2009, 19:03
Revision 995 - Directory Listing
Modified Sun Feb 15 15:57:23 2009 UTC (2 hours ago) by casimir666
Changed : improved DXVA VC1 decoder
Added : support for Flac in Ogg splitter
Improved DXVA VC1 :eek: :thanks:
Only if someone will be kind enough to compile this rev :) :rolleyes: :helpful:
Egh
15th February 2009, 19:11
It might actually be the CPU-usage (yes the subtitles are rendered with CPU and displayed with D3D).
No wonder, that's why MPC (HC) is best in subs quality! Although I wonder if it is possible for slow CPU users to reduce AA as it takes most of the CPU I reckon (for those who doesn't know -- MPC uses x8 supersampling for subs rendering).
Leak
15th February 2009, 19:46
bwahn, I think you also need to compile the Baseclasses.
Simplest way is to copy only the .cpp and .h files from the SDK's Baseclasses' directory into the baseclasses directory of the mpc-hc trunk (it should already be existing and have a Visual Studio project inside it but no source code files). Then in Visual Studio build the Baseclasses project in the MPC-HC solution.
Is that (still) supposed to work? Because if I only do that the BaseClasses solution compiles fine, but I'm getting 46 errors all over when compiling the MPC-HC solution that it can't find 'streams.h'...
Sure, I can get everything to compile fine by adding the BaseClasses folder to VS2008's global include directories, but shouldn't the affected solutions rather include a relative path to the BaseClasses folder?
(Copying the headers to trunk/include doesn't quite fix it either, as a few projects don't even reference that directory...)
np: Distance - Feel Me (Chestplate)
STaRGaZeR
15th February 2009, 21:03
No wonder, that's why MPC (HC) is best in subs quality! Although I wonder if it is possible for slow CPU users to reduce AA as it takes most of the CPU I reckon (for those who doesn't know -- MPC uses x8 supersampling for subs rendering).
Are you 100% sure about that?
Kado
15th February 2009, 21:17
@ikarad
It was the last compiled version before xvidvideo.ru went offline.
@Egh
Have you read the warning on the subtitles page in mpc-hc options, because the way in understand it it means that it uses no anti-aliasing and if you force anti-aliasing it will only use more cpu cycles!
Snowknight26
15th February 2009, 21:28
As soon as you open MPC-HC, if you hit Ctrl+C, the window shinks as if a file was closed.
Beliyaal
16th February 2009, 00:55
New version available in link in signature:
* Updated to latest SVN.
* Animated subtitles can now be turned off in options.
* Better handling of animated subtitles when computer isn't fast enough. No flashing should occur.
@STaRGaZeR: Can you check if the sync is correct in this one with animated subtitles enabled? In the clip I tried the subtitle disappear at exactly the frame of a scene change.
MatMaul
16th February 2009, 01:12
I noticed an other bug (animation disabled) :
if I seek before the current position in the video the subtitles don't show up anymore. if I seek after no problem.
Beliyaal
16th February 2009, 01:15
I noticed an other bug (animation disabled) :
if I seek before the current position in the video the subtitles don't show up anymore. if I seek after no problem.
Edit: Looks looks like a new bug, will look at fixing it. It works if you seek longer forward before seeking backward it also works.
gngn
16th February 2009, 01:31
i get 50% CPU load even with DXVA on.
XP SP3
VMR9 renderless
182.05 Nvidia drivers
edit: actually i get 50% only with the encodes of one specific anime series, and after alot of backward/forward seeking and "Display stats" on/off ....
STaRGaZeR
16th February 2009, 01:43
New version available in link in signature:
* Updated to latest SVN.
* Animated subtitles can now be turned off in options.
* Better handling of animated subtitles when computer isn't fast enough. No flashing should occur.
@STaRGaZeR: Can you check if the sync is correct in this one with animated subtitles enabled? In the clip I tried the subtitle disappear at exactly the frame of a scene change.
The desync is still there. Things like turning the subs on/off (in Haali's splitter) or seeking randomly decreases/increases the delay. I've seen up to 2 frames.
I'm also experiencing MatMaul's issue.
EDIT: In fact if you turn on subtitles and then you do a stop-play, all lines will be in sync. Looks like everything that requires the player to do anything other than playing continuously breaks the sync. Turning subs on/off, changing between fullscreen and windowed and seeking so far.
Beliyaal
16th February 2009, 01:49
Ok, new build:
* Fixed subtitle not appearing when seeking bug.
* Fixed subtitles disappearing when changing monitors.
Kado
16th February 2009, 02:00
@Beliyaal
Patch 11 fixed my previousely reported issue. CPU gets loaded but thats normal because it also happens with 0 buffering, even when using SVN builds.
Thanks for the fresh builds, new features and bug fixes!
Beliyaal
16th February 2009, 02:07
EDIT: In fact if you turn on subtitles and then you do a stop-play, all lines will be in sync. Looks like everything that requires the player to do anything other than playing continuously breaks the sync. Turning subs on/off, changing between fullscreen and windowed and seeking so far.
That was the final clue I needed! Fixed and new build available.
STaRGaZeR
16th February 2009, 02:56
That was the final clue I needed! Fixed and new build available.
Fixed, and big http://www.xtremesystems.org/forums/images/smilies/clap.gif to you :D
Concerning the perfomance issue with animations enabled I see the same CPU utilization than with buffering disabled on regular SVN builds. Just make sure that they're disabled by default so nobody complains and everything is the same as before but with the option to enable them.
Another thing to consider: in your builds when the player is set to Playback->Playback->Repeat forever and the file ends, the image freezes for 3-4 seconds, then it resumes showing the frames located 3-4 seconds after the beginning of the file. Sound plays fine from the beginning as it should, so it's only the video part.
PS: the memory leak is impressive, ~300MB up each time I open a new file :eek:
EDIT:
http://thumbnails13.imagebam.com/2686/371f9626851837.gif (http://www.imagebam.com/image/371f9626851837)
Looks like the old issue with bicubic resizer, the transparent grid, is back in your builds too. Look at their faces and eyes. I think this was an issue before but Casimir found a solution and it's not present in SVN builds. This does not happen just after opening the player, maybe you have to open several files to see it because it's totally random.
Egh
16th February 2009, 03:55
@Egh
Have you read the warning on the subtitles page in mpc-hc options, because the way in understand it it means that it uses no anti-aliasing and if you force anti-aliasing it will only use more cpu cycles!
and @STaRGaZeR:
Oh lol :) It is not even recent addition, it is the way the Gabest himself designed it ;)
Of course Cashimir or anyone else could have changed this, but in MPC it is done the way I described.
Kado -- do not confuse AA done by GPU and the old good software way. If you render any picture with x2 resolution and then downsize it by half then you can tell you use supersampling (it is even used in some old but still great AVS scripts :P).
What MPC does, it takes subs and renders them onto a texture (target resolution of the texture is selected in the options). But actual character rendering is done on the texture 8 times larger than target. I.e. each target pixel is 8x8==64 original texels. Otherwise explain how MPC does rendering with subpixel precision regarding such styling parameters like width, shadow etc in the ASS styles.
Regarding subs rendered completely by D3D, there have been some attempts to do so (by Haali for instance) but they all failed in comparison by quality with software rendering of MPC.
Update: quickly сhecked the new ver12 out: seems that subtitle rendering now properly recovering when MPC window is moved to a different monitor. Good job, cheers!
Snowknight26
16th February 2009, 04:23
FLAC > 2.0 channels doesn't work* in either the x86 build of r997.
THX-UltraII
16th February 2009, 09:37
That was the final clue I needed! Fixed and new build available.
this is exactly what I needed! Big thumbs up for your version! I really like the feature that the menu can be shown in the d3d (remove tearing) mode!
Can you explain what the checkbox Alternate VSync does and which users this feature need?
thxz.
marc99
16th February 2009, 10:04
Beliyaal, version 12 doesn't play smooth HD+subs. Version 9 works better.
Mercury_22
16th February 2009, 11:10
Regarding the DTS BUG present in both versions SVN ( starting with SVN rev 984 ) and Beliyaal's Nobody else beside me has problems playing DTS-HD XLL lossless streams starting with SVN 984 ?
I mean the only way I can play those XLL streams is if MPC-HC starts playing them first (from the beginning), but if I change to the other stream type (e.g. AC3) when I change back to the DTS-HD XLL lossless stream I'm losing the sound and if I'm switching again to the other stream type (e.g. AC3) I have sound but the video starts acting strange (accelerated) And if MPC-HC starts playing with the other stream type I CAN'T play the DTS-HD XLL lossless stream at all
:helpful:
P.S. SVN 983 it's working OK DTS-HD XLL Sample1 50MB (http://rapidshare.com/files/185566143/TEST.m2ts.html), DTS-HD XLL Sample2 100MB (http://rapidshare.com/files/190091030/BARAKA.m2ts.html), DTS-HD XLL Sample3 100MB (http://rapidshare.com/files/190095940/CHRONOS.m2ts.html)
and confirmed here
I have reproduced your bug and I'm working on it. Please refrain from putting yourself in a position where you need to change back to DTS-HD in the meantime!
I've discovered that the BUG it's NOT occurring when changing between DTS HD and DTS HD MASTER
Only when changing from a different than DTS ( HD ? ) audio stream type to DTS HD MASTER ( XLL, 1536Kbps ) the sound it's LOST, the PAUSE command it's NOT working anymore and the video it's accelerated
:helpful:
@ Beliyaal : I hope this gives you more clues :rolleyes:
Sample DTS HD - DTS HD MASTER (http://rapidshare.com/files/198706825/TestDTS-DTS.m2ts.html)
rt87
16th February 2009, 11:53
That was the final clue I needed! Fixed and new build available.
With Ver 12, my subtitles don't animated even "Disable animation" is unchecked (10 subpictures are buffered).
THX-UltraII
16th February 2009, 12:10
Looks like the old issue with bicubic resizer, the transparent grid, is back in your builds too. Look at their faces and eyes. I think this was an issue before but Casimir found a solution and it's not present in SVN builds. This does not happen just after opening the player, maybe you have to open several files to see it because it's totally random.
So choosing 'bilinear (PS 2.0)' is the 'workaround' till it gets fixed correct?
chros
16th February 2009, 12:20
@Beliyaal: can you work on the D3D fullscreen switch to make it work on-the-fly?
tetsuo55
16th February 2009, 13:34
Beliyaal, doesn't the splitter tell the subtitle renderer what type of subtitles it is sending?
Not all subtitle types support animation (SRT, vobsub for example do not).
This way subtitle type could automatically enable/disable animation support
I don't think the on/off button is needed once the overhead issue is fixed. There is already a warning that animated subtitles are cpu intensive when the person downloads/creates them
Beliyaal
16th February 2009, 13:54
Beliyaal, version 12 doesn't play smooth HD+subs. Version 9 works better.
How is the CPU usage? What is your hardware configuration? The new version has higher priority for the subtitle thread, so if you computer isn't fast enough it will probably work worse.
With Ver 12, my subtitles don't animated even "Disable animation" is unchecked (10 subpictures are buffered).
Are you maybe using an external subtitle filter instead of the internal one?
@Beliyaal: can you work on the D3D fullscreen switch to make it work on-the-fly?
How do you change to D3D fullscreen on the fly? Some keyboard combo that isn't in the menu?
Beliyaal
16th February 2009, 13:59
Beliyaal, doesn't the splitter tell the subtitle renderer what type of subtitles it is sending?
Not all subtitle types support animation (SRT, vobsub for example do not).
This way subtitle type could automatically enable/disable animation support
I don't think the on/off button is needed once the overhead issue is fixed. There is already a warning that animated subtitles are cpu intensive when the person downloads/creates them
The system for this is already in place, the problem is that the subtitle provider doesn't report if the subtitle is animated. If someone feels that it's important they can fix it in:
RTS.cpp: CRenderedTextSubtitle::IsAnimated
SSF.cpp: CRenderer::IsAnimated
rt87
16th February 2009, 14:18
How is the CPU usage? What is your hardware configuration? The new version has higher priority for the subtitle thread, so if you computer isn't fast enough it will probably work worse.
Are you maybe using an external subtitle filter instead of the internal one?
How do you change to D3D fullscreen on the fly? Some keyboard combo that isn't in the menu?
I'm using haali's splitter.
for subtitle filter, I keep external VSFilter blocked in MPC.
tetsuo55
16th February 2009, 14:24
The system for this is already in place, the problem is that the subtitle provider doesn't report if the subtitle is animated. If someone feels that it's important they can fix it in:
RTS.cpp: CRenderedTextSubtitle::IsAnimated
SSF.cpp: CRenderer::IsAnimated
I don't think either of those subtitle formats are really used by anyone.
The only subtitle format's that could possibly contain animated parts are:
JACOSub .jss
MPEG-4 Timed Text .ttxt
Ogg Writ
RealText .rt
SAMI .smi
Structured Subtitle Format .ssf
(Advanced) SubStation Alpha .ssa or .ass (advanced)
Universal Subtitle Format .usf
My list could be incomplete but none of the other formats support styling in any way, its just plain text or images.
From the above list only (Advanced) SubStation Alpha is popular and Universal Subtitle Format is being revived.
Of all the possible formats only these 2 will need to have animation enabled.
THX-UltraII
16th February 2009, 14:30
@Beliyaal:
Can you explain what the checkbox Alternate VSync does and which users this feature need?
Beliyaal
16th February 2009, 14:38
I don't think either of those subtitle formats are really used by anyone.
The only subtitle format's that could possibly contain animated parts are:
JACOSub .jss
MPEG-4 Timed Text .ttxt
Ogg Writ
RealText .rt
SAMI .smi
Structured Subtitle Format .ssf
(Advanced) SubStation Alpha .ssa or .ass (advanced)
Universal Subtitle Format .usf
My list could be incomplete but none of the other formats support styling in any way, its just plain text or images.
From the above list only (Advanced) SubStation Alpha is popular and Universal Subtitle Format is being revived.
Of all the possible formats only these 2 will need to have animation enabled.
At least ass is implemented through the RTS.cpp file.
Beliyaal
16th February 2009, 14:40
@Beliyaal:
Can you explain what the checkbox Alternate VSync does and which users this feature need?
If the VSync is broken in the graphics driver this can help. Especially together with lock back buffer. What it does is check the scan line manually and try to flip at the correct moment.
Beliyaal
16th February 2009, 14:42
I'm using haali's splitter.
for subtitle filter, I keep external VSFilter blocked in MPC.
Are you sure that the subtitle you are trying to view is animated? You can PM me the sample that doesn't work if you want.
rack04
16th February 2009, 14:45
If the VSync is broken in the graphics driver this can help. Especially together with lock back buffer. What it does is check the scan line manually and try to flip at the correct moment.
Should lock back buffer be used otherwise?
marc99
16th February 2009, 14:46
How is the CPU usage? What is your hardware configuration? The new version has higher priority for the subtitle thread, so if you computer isn't fast enough it will probably work worse.
Core 2 Duo 4300.
V9 subtitles=ON CPU usage 10-20%.
V12 subtitles=ON CPU 60-70%.
V12 subtitles=OFF or animation=OFF CPU 10-20%.
nitec
16th February 2009, 14:48
MPC and Vobsub accepts ASS tags in .srt subtitles. You can make positioning, coloring, animations, karaoke etc with .srt subtitles too. I have .srt files that have these effects. So you can add .srt to animated subtitles category.
Beliyaal
16th February 2009, 14:51
Should lock back buffer be used otherwise?
It doesn't hurt. It for example prevents the graphics card from buffering up a lot of frames and thus should prevent possible latency.
rack04
16th February 2009, 14:54
What output colorspace does MPC-HC use with internal transform filters?
Kado
16th February 2009, 15:31
@Beliyaal
Using patch 11 ou 12 MPC drops frames like hell if using buffered subs (desktop res 1680x1050) while they are visible and with no buffering frames are only dropped right before the subs show up (like svn builds).
Try with haruhi video (http://rapidshare.com/files/113536801/Suzumiya_Haruhi_no_Yuuutsu_-_C4_-_Special_Ending_-__Hitsuji__e569a2b7_.mkv.html).
PC specs are in the signature.
Play with the file for a while back and forth, and open it some times as it may play normally the first time.
STaRGaZeR
16th February 2009, 15:41
and @STaRGaZeR:
Oh lol :) It is not even recent addition, it is the way the Gabest himself designed it ;)
Of course Cashimir or anyone else could have changed this, but in MPC it is done the way I described.
Nice, that explains why the subs are so blurred (in fact they're antialiased). It's possible to change the level of AA?
Core 2 Duo 4300.
V9 subtitles=ON CPU usage 10-20%.
V12 subtitles=ON CPU 60-70%.
V12 subtitles=OFF or animation=OFF CPU 10-20%.
Check V12 subtitles=ON or animation=OFF.
cca
16th February 2009, 15:57
@Beliyaal
Using patch 11 ou 12 MPC drops frames like hell if using buffered subs (desktop res 1680x1050) while they are visible and with no buffering frames are only dropped right before the subs show up (like svn builds).
Try with haruhi video (http://rapidshare.com/files/113536801/Suzumiya_Haruhi_no_Yuuutsu_-_C4_-_Special_Ending_-__Hitsuji__e569a2b7_.mkv.html).
PC specs are in the signature.
Play with the file for a while back and forth, and open it some times as it may play normally the first time.
I tried the same video since I happen to already have it, it seems that the texture resolution selected in the subtitles setup page can make a difference, if I select "Desktop" it drops frames, with 1024x768 it doesn't. My current setup on my sig.
EDIT: Forgot to mention, my desktop resolution is 1360x768 aero is enabled, I also use reclock.
EDIT2: Tried another video, "Rozen Maiden" encoded by Ayu, it has a pretty heavy soft karaoke. It drops frames even with 800x600 texture resolution. Clearly the current rendering engine we have is not ready, we a lesser spec PC animated subs are a no go, better to use VSfilter.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.