View Full Version : Media Player Classic Home Cinema (MPC-HC) - DXVA!
alexins
20th February 2012, 08:29
bug report:
MPCVideoDec.ax r4081 access violation when doing decoder performance test with GraphStudioNext using swordfish.rmvb.
Confirm, if you use the output to the NULL renderer, the MPCVideoDec.ax falls
kypec
20th February 2012, 10:05
Use that: http://forum.doom9.org/showthread.php?t=56972:thanks: Helix YUV codecs finally helped me to play Avisynth scripts.
I somehow assumed that Avisynth outputs by default the raw(est) video & audio streams that should be natively supported by any decent media player nowadays... :confused:
ryrynz
20th February 2012, 10:55
People still use timeCodec? Its a rather limited tool. GraphStudio(Next) is much better for benchmarking. :)
Sure is, not only that you need Haali's splitter installed to use it. :scared:
chros
21st February 2012, 11:14
What the 'Round up to power of two' does at Options -> Subtitles?
When it's checked it has a serious impact on vga performance with madvr and lavcuvid and 1080p content on my geforce 9600m gt (laptop card) ...
So, for now, I unchekced it ... (I saw the explanation in the tip, but I don't quite understand it.)
Thanks!
Aleksoid1978
21st February 2012, 12:32
forgot to mention: MPCVideoDec.ax access violation when connecting to Null Renderer with that sample, it works with other renderer.
Fix - thanks to Nev for source :)
clsid
21st February 2012, 15:39
What the 'Round up to power of two' does at Options -> Subtitles?
When it's checked it has a serious impact on vga performance with madvr and lavcuvid and 1080p content on my geforce 9600m gt (laptop card) ...
So, for now, I unchekced it ... (I saw the explanation in the tip, but I don't quite understand it.)
Thanks!
If the max texture size is for example set to 1920x1080, this option will change it to 2048x2048.
@devs
Perhaps the effect of the option could be limited to low resolutions? Since default max texture is 800x600, something like this:
Index: DX7SubPic.cpp
===================================================================
--- DX7SubPic.cpp (revision 4087)
+++ DX7SubPic.cpp (working copy)
@@ -271,7 +271,7 @@
ddsd.ddpfPixelFormat.dwGBitMask = 0x0000FF00;
ddsd.ddpfPixelFormat.dwBBitMask = 0x000000FF;
- if (m_fPow2Textures) {
+ if (m_fPow2Textures && ddsd.dwWidth < 1024 && ddsd.dwHeight < 1024) {
ddsd.dwWidth = ddsd.dwHeight = 1;
while (ddsd.dwWidth < (DWORD)m_maxsize.cx) {
ddsd.dwWidth <<= 1;
Index: DX9SubPic.cpp
===================================================================
--- DX9SubPic.cpp (revision 4087)
+++ DX9SubPic.cpp (working copy)
@@ -427,7 +427,7 @@
int Width = m_maxsize.cx;
int Height = m_maxsize.cy;
- if (m_fPow2Textures) {
+ if (m_fPow2Textures && Width < 1024 && Height < 1024) {
Width = Height = 1;
while (Width < m_maxsize.cx) {
Width <<= 1;
JanWillem32
21st February 2012, 15:47
That option forces the subtitle renderer to allocate textures with padding to 256, 512, 1024 or 2048 pixels in width and height independently. For another example: a resolution of 640×480 would get padded to 1024×512.
Even most video chips from the last few years of the previous millennium were capable of handling non-power of 2 textures. The last video chip that could not was introduced June 2000. That was the Intel IGP used in the i815 series chipset (for the Pentium 3).
All chips that have base level support for DirectX 9.0 (required to run a DirectX 9.0 renderer, such as VMR-9 or EVR) support non-power of 2 textures. For that reason, I removed the option "Round up to power of two" in the builds that I modified. This was one of the easier things to edit. Most parts of the subtitle renderer were or are still a lot harder to edit. I'd be happy to explain more of the technical details on request.
chros
21st February 2012, 19:20
@clsid, JanWillem32: thanks for the explanation ...
professor_desty_nova
22nd February 2012, 09:06
That option forces the subtitle renderer to allocate textures with padding to 256, 512, 1024 or 2048 pixels in width and height independently. For another example: a resolution of 640×480 would get padded to 1024×512.
Even most video chips from the last few years of the previous millennium were capable of handling non-power of 2 textures. The last video chip that could not was introduced June 2000. That was the Intel IGP used in the i815 series chipset (for the Pentium 3).
All chips that have base level support for DirectX 9.0 (required to run a DirectX 9.0 renderer, such as VMR-9 or EVR) support non-power of 2 textures. For that reason, I removed the option "Round up to power of two" in the builds that I modified. This was one of the easier things to edit. Most parts of the subtitle renderer were or are still a lot harder to edit. I'd be happy to explain more of the technical details on request.
Maybe "Round up to power of two" could be now off by default in the regular versions of MPC-HC.
JanWillem32
22nd February 2012, 10:19
That would still allow this useless option to be enabled at all. Also, those who used an older version of MPC-HC (and never changed the default setting) will still have this option enabled because of the setting saved in the registry or INI file.
Man4life
22nd February 2012, 11:30
While kypec doesn't use FFDShow I believe, for people who do, the easiest way to get a free YV12 decoder for AVI/Avisynth is to change the merit of FFDShow's Raw Video Decoder to 00400000 with software like DirectShow Filter Manager (http://www.softella.com/dsfm/index.en.htm).
People who don't use FFDShow can use the Helix Codecs indeed.
I tried both ways but didn't work, what to do?
chros
24th February 2012, 11:21
I have a question about the audio renderers: what is MPC audio renderer is for?
My setup is: 2 channel analog audio output, ffdshow audio decoder (normalizing, mixer), MPC audio renderer.
Strange is, I can only use the volume control of mpc-hc if I only select 32-bit floating point at the 'output formats' in ffdshow (other output formats are unchecked).
Which renderer, output format should I use for better quality/performance (analog audio output)?
Thanks!
JanWillem32
24th February 2012, 14:00
MPC audio renderer was a very nice experiment, but unfortunately, it never became more than an experiment.
The standard mode can only handle 16-bit stereo input and output (32-bit and 24-bit integer audio formats can be hacked in). The fact that your volume controls don't work means that it's active. It's meant to bitstream audio to an audio output without using the Windows system mixer. Note that when the MPC audio renderer fails, the graph builder silently selects the system mixer (can be seen in the filters section).
A custom audio renderer can be useful, for example to resample audio to a custom rate, to up- or downmix channels, or for professionals, get a lower latency.
The issue is that MPC audio renderer has not been worked on for a very long time already. Also, Windows since 2000 has had a decent system mixer (although very dependent on drivers) and since Vista the system mixer has been excellent (I once had an article on it, definitely worth reading).
I also tried to work on the audio renderer, but it's unfortunately very dated. If someone has the resources to work on it, it's very welcome. (Work on a better channel mixer is welcome, too.)
Anyway, for best playback, just check the options in the drivers and the Windows control panel. Some filters may be enabled by default, please test if these give any enhancement. Most filters just make things all sparkly, but very fake. Also take a look at the setup for 44.1/48/96/192 KHz sampling rates. It's generally not a good idea to let the system mixer resample everything to 44.1 KHz if you're watching movies (that usually have 48 KHz natively).
chros
24th February 2012, 14:19
MPC audio renderer was a very nice experiment, but unfortunately, it never became more than an experiment.
The standard mode can only handle 16-bit stereo input and output (32-bit and 24-bit integer audio formats can be hacked in). The fact that your volume controls don't work means that it's active. It's meant to bitstream audio to an audio output without using the Windows system mixer. Note that when the MPC audio renderer fails, the graph builder silently selects the system mixer (can be seen in the filters section).
Indeed, the system mixer was used (I didn't recognise it.)
Thanks for the explanation.
A custom audio renderer can be useful, for example to resample audio to a custom rate, to up- or downmix channels, or for professionals, get a lower latency.
The issue is that MPC audio renderer has not been worked on for a very long time already. Also, Windows since 2000 has had a decent system mixer (although very dependent on drivers) and since Vista the system mixer has been excellent (I once had an article on it, definitely worth reading).
Where can I find this article?
Anyway, for best playback, just check the options in the drivers and the Windows control panel. Some filters may be enabled by default, please test if these give any enhancement. Most filters just make things all sparkly, but very fake. Also take a look at the setup for 44.1/48/96/192 KHz sampling rates. It's generally not a good idea to let the system mixer resample everything to 44.1 KHz if you're watching movies (that usually have 48 KHz natively).
So, I selected Directsound in the Ouputs, and 16bit 48KHz in the Control panel ...
JanWillem32
24th February 2012, 15:16
I don't know where I read the article anymore. http://en.wikipedia.org/wiki/Technical_features_new_to_Windows_Vista doesn't link to it, but does mention a lot of things.
Also, from the first line of the Audio paragraph: "designed to provide low-latency 32-bit floating point audio". Doesn't your audio playback device support anything better than 16-bit input? The system mixer is generally fine with mixing even 192 KHz 7.1 audio in 32-bit floating point format. It's common that a driver can't accept the 32-bit floating point raw, but 32-bit integer or 24-bit integer is usually properly supported.
Also, if no mixing is required at all, most drivers will try to pass trough the raw output from the program that's playing a sound, as long as the format configured in the control panel is equal or better than the format of the audio that is playing. (My receiver often indicates format switching from one PCM to another PCM format, depending on the audio track.)
chros
24th February 2012, 15:32
I think I found a bug related to subresync (ctrl+6): when you save the subtitle file (foo.srt) another foo.style is created (as earlier versions) but if you open foo.mkv the subtitle isn't displayed (altough it's loaded, you can see at ctrl+6) until you rename/delete foo.style .
I tried r4040,r4081.
foo.style content:
ScriptType: v4.00+
PlayResX: 384
PlayResY: 288
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,0,&H40340000,&H20808080,&H2000ffff,&Ha5000000,1342177280,-1,0,0,0,0,1079574528,100.00,0,0,0,0,3,0,1073741824,0
chros
24th February 2012, 15:39
I don't know where I read the article anymore. http://en.wikipedia.org/wiki/Technical_features_new_to_Windows_Vista doesn't link to it, but does mention a lot of things.
Also, from the first line of the Audio paragraph: "designed to provide low-latency 32-bit floating point audio". Doesn't your audio playback device support anything better than 16-bit input? The system mixer is generally fine with mixing even 192 KHz 7.1 audio in 32-bit floating point format. It's common that a driver can't accept the 32-bit floating point raw, but 32-bit integer or 24-bit integer is usually properly supported.
The audio device is an integrated Realtek High Definition Audio (ALC888S) with the following options:
16 bit and 24 bit : 44.1, 48, 96, 192 KHz
In ffdshow all outputs are checked, and now it outputs PCM stereo 48000Hz, 32bit float to the Directsound renderer.
Remicade
24th February 2012, 21:56
Lav Video better than MPC Decoder ?
ajp_anton
25th February 2012, 00:48
I have added new refresh rates in Nvidia's control panel, and I can choose them with Windows (7)'s own "advanced settings", but only if "Hide modes that this monitor cannot display" is unchecked.
madVR works fine with these new refresh rates, but I can't access them with MPC-HC's own refresh rate changer. Is there a fix for this?
Snowknight26
25th February 2012, 10:44
Small suggestion: 1080p60 H.264 content should not be allowed to be hardware accelerated on ATI/Intel GPUs. They can't handle it and make the GUI of the player extremely unresponsive.
JanWillem32
25th February 2012, 11:58
I have a ATi HD4890, and as long as I don't try to enable the original VSync functions in EVR CP or VMR-9 r., DXVA isn't a problem with the 1080 i and p 60/1.001 fps H.264 samples I have. I'm pretty sure it's the same case for the Intel chipsets.
Also note that when any form of DXVA is used, my video card clocks itself to 500 MHz by default. With software playback, its full 3D clocks of 850 MHz are used by default, just like any other 2D/3D rendering program. Neither fit my needs, so I just override them with the overclocking option in ATi tray tools, using two profiles for MPC-HC. (Mostly because the fan is really noisy on the full 3D clocks.)
vivan
26th February 2012, 18:45
Small suggestion: 1080p60 H.264 content should not be allowed to be hardware accelerated on ATI/Intel GPUs. They can't handle it and make the GUI of the player extremely unresponsive.Actually, current intel IGP (in SB) are the fastest h/w decoders. And they can handle any 1080p@60fps content, even with extreme bitrates.
On opposite, nVidia ION (geForce 9400M) can't hande 1080p@60fps video.
So, it depends on video and hardware, and so such restriction is rather strange.
nevcairiel
26th February 2012, 18:52
Actually, current intel IGP (in SB) are the fastest h/w decoders. And they can handle any 1080p@60fps content, even with extreme bitrates.
AMD works fine too, at least 5xxx and above.
vivan
26th February 2012, 19:03
I'm not sure about 5xxx - I have problems with 60fps video playback on 5870 (benchmarks shows about 55-57 fps on my video)... But it affects only playback, GUI is working fine.
Maybe something should help, but, anyway, with i7 970 h/w decoding doesn't make much sense (at least nVidia/ATI).
cengizhan
26th February 2012, 20:24
I have an amd 6850. tried playing avatar60p with lav, ms dtv and mpc-hc dxva decoders. all of them dropped lots of frames (~1100).
renq
27th February 2012, 08:01
HD6950 UVD3 p60 decoding performance:
3.Basketball - 1088p60fpsRef8-10Mbps
http://hotfile.com/dl/103920724/9787...0Mbps.mkv.html
AVG- 76,834 FPS
4.Girls.YoonYoon-1080p60fpsRef5-21Mbps
http://hotfile.com/dl/104289405/996e...part1.rar.html
http://hotfile.com/dl/103944105/604c...part2.rar.html
AVG - 76,559 FPS
5.Birds_1080p60fpsReF2-30Mbps
http://hotfile.com/dl/103925856/9ba0...0Mbps.mp4.html
AVG - 75,807 FPS
6.Cat-1080p60fpsRef4-25Mbps
http://hotfile.com/dl/103936273/521d...Mbps.m2ts.html
AVG - 77,147 FPS
Rig:
Windows 7 X64 SP1
DXVAChecker 2.6.2 64bit
LAVFilter 0.45
AMD Catalyst 12.1 WHQL (8.93-111205a-132104C-ATI)
Default Vid Quality settings in CCC:
* Edge Enh- 10
* De-noise 64
* Mosquito NR 50
* De-block 50
* Dyn contrast enabled, ESVP (Enforce smooth video playback) enabled
THX-UltraII
27th February 2012, 13:43
Is MPC-HC capable of playing 3D content and not, will it be in the near future?
(Can t use the search function for '3D').
JanWillem32
27th February 2012, 17:09
My DirectX 11 renderer prototype has an option to display 3D graphics. It's an imported module (just like most of the renderer itself) and I can't test it myself. The code will need a lot of editing before it will 'fit' properly in the profile of MPC-HC. I'm not even going to try to integrate 3D support into one of the current renderers. The renderer prototype can't even render from (2D) MediaFoundation or DirectShow video sources at the moment. I'm prioritizing the final integration of my edited internal renderers for now, I can't afford to work on new prototypes.
In short, I'm sorry. I can add the renderer part of the support, but I'm too busy with other things for now.
WonderCsabo
28th February 2012, 14:04
Hi guys!
I have a strange problem. If i use subtitles, the Ctrl+J statistics graph is messed up (lot of glitches, spkes). When i turn off subtitles, it immediately gets back to normal.
Is this natural? :S I'm using latest stable build, dxva, evrcp, accvs. I tried to play with the options but no improvements.
Also, any news on this (https://sourceforge.net/apps/trac/mpc-hc/ticket/1087) bug?
chros
28th February 2012, 18:21
Hi guys!
I have a strange problem. If i use subtitles, the Ctrl+J statistics graph is messed up (lot of glitches, spkes). When i turn off subtitles, it immediately gets back to normal.
Is this natural? :S I'm using latest stable build, dxva, evrcp, accvs. I tried to play with the options but no improvements.
Is 'Round up to power two' checked at Options -> Subtitles ? If it is, then try with unchecked state...
WonderCsabo
28th February 2012, 20:22
Thanks! It does not help. :(
v0lt
29th February 2012, 17:47
I have a strange problem. If i use subtitles, the Ctrl+J statistics graph is messed up (lot of glitches, spkes). When i turn off subtitles, it immediately gets back to normal.
Is this natural?
This is normal. Always has been. Reduce the texture resoliution for the subtitles. For example try 800x600.
WonderCsabo
29th February 2012, 21:16
That looks very ugly on a FullHD display. Maybe it always have been, but it's not normal for a good player. :(
clsid
29th February 2012, 22:16
Disabling "Allow animation when buffering" should help. If you are an anime freak and need animation, then also disable sub pic buffer to 0.
molitar
1st March 2012, 07:52
Subtitles do not display I have played around with Aegis Subtitler and I noticed that the subtitles style manager that the default character encoding the text is invisible.. but if I change it to shift-jis encoding it's visible.. Also ANSI is invisible also. Any idea what may cause this? Perhaps my default character encoding is missing somewheres? Is there a way to set this default character encoding?
WonderCsabo
1st March 2012, 09:19
Disabling "Allow animation when buffering" should help. If you are an anime freak and need animation, then also disable sub pic buffer to 0.
Thanks! It helped, but i still have one spike, almost when any subtitle is displayed.
Thunderbolt8
1st March 2012, 17:10
Now everything works regularly
for those who have problems reading the above post, this is the most important part which basically tells you no need to bother with the rest of it :D
WonderCsabo
1st March 2012, 18:40
Thanks! It helped, but i still have one spike, almost when any subtitle is displayed.
I turned off MPC-HCs internal subtitle renderer, and tried FFDShows. With that, there are no glitches at all. :S
clsid
1st March 2012, 22:28
The r4088 change to MPA Splitter breaks playback of this AVI file:
http://www.zshare.net/video/99206424d021dd53/
alexins
1st March 2012, 22:57
The r4088 change to MPA Splitter breaks playback of this AVI file:
http://www.zshare.net/video/99206424d021dd53/
I have not seen any problems with this file.
http://s005.radikal.ru/i210/1203/8c/bd11806d5288t.jpg (http://radikal.ru/F/s005.radikal.ru/i210/1203/8c/bd11806d5288.png.html)
MediaInfo:
General
Complete name : F:\incoming_files\2012\0302\rle.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 2.63 MiB
Duration : 50s 0ms
Overall bit rate : 441 Kbps
Video
ID : 0
Format : RLE
Format/Info : Run-length encoding
Codec ID : 0x00000001
Codec ID/Info : Run length encoded 8bpp RGB image
Duration : 50s 0ms
Bit rate : 439 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 8.000 fps
Bits/(Pixel*Frame) : 0.179
Stream size : 2.62 MiB (99%)
Title : HCNnew3.avi ЛЮГЮµ #1
Aleksoid1978
1st March 2012, 23:25
I have not seen any problems with this file.
http://s005.radikal.ru/i210/1203/8c/bd11806d5288t.jpg (http://radikal.ru/F/s005.radikal.ru/i210/1203/8c/bd11806d5288.png.html)
MediaInfo:
General
Complete name : F:\incoming_files\2012\0302\rle.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 2.63 MiB
Duration : 50s 0ms
Overall bit rate : 441 Kbps
Video
ID : 0
Format : RLE
Format/Info : Run-length encoding
Codec ID : 0x00000001
Codec ID/Info : Run length encoded 8bpp RGB image
Duration : 50s 0ms
Bit rate : 439 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 8.000 fps
Bits/(Pixel*Frame) : 0.179
Stream size : 2.62 MiB (99%)
Title : HCNnew3.avi ЛЮГЮµ #1
Problem exists - disable internal Avi Splitter and try to open:) .I fix this later - reduce deep of search a valid MPA header.
molitar
2nd March 2012, 06:39
Is it possible to increment volume by 1 and not 5?
for those who have problems reading the above post, this is the most important part which basically tells you no need to bother with the rest of it :D
I make a useful contribution, I do not speak English and for this I used Google translator.
For this I apologize for the understanding of the post
But if this has created problems and does not affect anyone, then remove it
Again sorry
Mercury_22
2nd March 2012, 10:34
@alexins Your MPC-HC x64 it's not closing when I send a "Window Close" command to it but all your MPC-HC x86 version and MPC-HC x64 BE are closing when I send a "Window Close" command to them
Can you Please help fix this ? :thanks:
P.S. http://sourceforge.net/apps/trac/mpc-hc/ticket/1938
alexins
2nd March 2012, 11:13
@alexins Your MPC-HC x64 it's not closing when I send a "Window Close" command to it but all your MPC-HC x86 version and MPC-HC x64 BE are closing when I send a "Window Close" command to them
Can you Please help fix this ? :thanks:
P.S. http://sourceforge.net/apps/trac/mpc-hc/ticket/1938
With this problem trying to understand Aleksoid1978, he found no differences in the code.
Mercury_22
2nd March 2012, 11:40
With this problem trying to understand Aleksoid1978, he found no differences in the code.
Then what's the difference between your BE mod and this one http://www.mediafire.com/?nbb4gclb828ax ? just the GUI part beside revision :)
P.S. @Aleksoid1978 If it helps I'm using TerraTec HomeCinema (as my Remote Control software) http://ftp.terratec.de/Receiver/TerraTec_HomeCinema/
ryrynz
2nd March 2012, 13:09
I don't think there are many if any differences at all between the builds, Blitzker just filled in while Alexins was away which was nice.
Could I get a developer add a couple of rather trivial things to be displayed via the OSD via hotkey please?
The OSD displays the audio properties When the audio is changed which is great but I'd like to just be able to display the properties without changing the audio. Also the filename for the currently playing file displays for a couple of seconds on initial playback, I'd like the OSD to be able to display this via hotkey as well.
Functionality for both is obviously already there, they just require the ability to link to hotkeys, thanks.
kasper93
2nd March 2012, 16:40
I bought DVB-T tuner on chip IT6135 and I have few issues with mpc-hc.
1. 64bit version crash when I'm trying to open options->capture tab. Memory dump after crash http://dl.dropbox.com/u/16282309/MPC-HC/mpc-hc64_dump.7z
2. 32bit version fail to play any stream with internal filters. Works good with LAV.
3. Video freeze when stream changes aspect ratio. I must reset playback manually.
4. My tuner only works with "Microsoft network provider" sets but not with "Microsoft DVBT network provider" I think it is because of chip, but it takes me some time to find out why it's not working :)
5. Why mpc-hc load 2x video decoder and 3x audio decoder? http://dl.dropbox.com/u/16282309/MPC-HC/filters.png Stream contains two audio tracks so why 3x audio decoder?
6. It isn't working with madVR, but I think it should be fixed in madVR.
Thanks in advance for any interest in this case.
Traps
3rd March 2012, 15:42
Does anyone else have the problem with .SUP subtitles not displaying at all in fullscreen? Using LAV Splitter, LAV Video decoder and MadVR renderer, file is mkv with embedded .sup. Subtitles are displayed properly in windowed mode but they dissapear in fullscreen. With Haali splitter the subtitles are shown in fullscreen but they're stretched. Potplayer shows the subtitles properly with same splitter/decoder/renderer.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.