View Full Version : Media Player Classic Home Cinema (MPC-HC) - DXVA!
tetsuo55
29th July 2009, 14:50
Nice buy.
The 6 mentioned on that site form the basis, there are ofcourse a bunch of good specialisation books for things like gaming, directx, security, etc.. that are not on that list.
St Devious
29th July 2009, 15:03
Sounds good ;).
If you want to learn C++ quickly and fully (at least the theoretical part) i recommend reading these books (in order)
http://www.cprogramming.com/books.html
These books are written in such a way that you learn it really quickly and its based on learning through doing.
The 2nd book for example, has a lot of "find the bug(s) in this code" exercises.
Anyone who wants to learn C++ should read these books.
thanks, I was looking for something like this
stax76
29th July 2009, 15:04
I prefer MPC as it's lightwight.
Some consider it being rather monolithic titanic instead of lightweight and modular, IIRC full compilation took 15 minutes on my dual core, an average .NET application compiles in 2 seconds.
without any bloated library and stuff just for the eye
It already uses some rather heavy libraries.
All coding/development should target the quality of media, not the look of the application itself.
I think a good applications shouldn't have any weak areas and should also get all the small things right since that what makes a application great.
And I don't see why all media players should have skin support (most of those skins are ugly, besides). Does e.g. Microsoft Word have skins? No.
Skins aren't required especially since Aero already looks good but a modern OSD is essential for me, WMP had the play controls first as regular controls, then on the skin and then in WMP 12 finally on the OSD and that's the best solution I think. A lot media center applications try to do a lot things and also fail in many areas like insane bloat but that don't mean it's not possible to do it better and to make it modular, lightweight, efficient etc.
St Devious
29th July 2009, 15:08
Third release candidate with a few fixes is available here :
32 bits (http://www.zshare.net/download/63243532593f468d/)
64 bits (http://www.zshare.net/download/6324357383070895/)
please use mediafire for uploading instead of zshare. mediafire doesn't have any wait time or popups like zshare
Its interesting to note that the above 32bit download is just one exe file of 2 MB. The builds that I downloaded off xvidvideo.ru were larger size with a 6MB exe file plus other dll's. WHat's the difference ?
kieranrk
29th July 2009, 15:23
And another problem: some quicktime movies only work with QT Alternative (no dxga), and do not work when renamed to *.hdmov (mpc-hc changes into an audio player and only plays noise). E.g. try one of the 1080p trailers on http://www.apple.com/trailers/sony_p...ngofpelham123/
QT alternative causes more problems that it's worth. You should remove it if possible and just use mpc-hc, ffdshow and haali's splitter.
Some consider it being rather monolithic titanic instead of lightweight and modular, IIRC full compilation took 15 minutes on my dual core, an average .NET application compiles in 2 seconds.
That statement is meaningless.
BatKnight
29th July 2009, 15:26
QT alternative causes more problems that it's worth. You should remove it if possible and just use mpc-hc, ffdshow and haali's splitter.
Then what do you suggest being used to play the trailers from Apple Trailers' site? By uninstalling QT Alternative one loses the interface to play the .mov file. You can only download it to watch it.
Bat
clsid
29th July 2009, 15:30
The minimalistic GUI is a reason why many people are using MPC. Skinning is not something that would improve MPC.
The current OSD is indeed pretty ugly and could use some work. Replacing GUI elements by the OSD is a cool idea.
The playlist functionality also far too basic to be usable. That needs improving as well. Particularly a 'snap to edges' function would be useful like Winamp has. Plus proper functionality to manage the contents of the playlist.
The long compilation time is mainly due to the many internal filters. Removing some of the lesser used ones (DSM, RoQ, Nut) and providing them only as a stand-alone filter could be a consideration for the future to make the player more light-weight.
I would also like to see the DXVA decoders being separated from the FFmpeg ones in the code.
The built-in DSM converter is also something that could be removed.
tetsuo55
29th July 2009, 15:33
thanks, I was looking for something like thisNo problem, please join the team when you get good at it :PThe minimalistic GUI is a reason why many people are using MPC. Skinning is not something that would improve MPC.
The current OSD is indeed pretty ugly and could use some work. Replacing GUI elements by the OSD is a cool idea.
The playlist functionality also far too basic to be usable. That needs improving as well. Particularly a 'snap to edges' function would be useful like Winamp has. Plus proper functionality to manage the contents of the playlist.
The long compilation time is mainly due to the many internal filters. Removing some of the lesser used ones (DSM, RoQ, Nut) and providing them only as a stand-alone filter could be a consideration for the future to make the player more light-weight.
I would also like to see the DXVA decoders being separated from the FFmpeg ones in the code.
The built-in DSM converter is also something that could be removed.
The playlist needs to be redone completely imho, more like foobar2000.
The DXVA is basically a patched FFmpeg decoder, it cannot be detached.
Dunno what the DSM converter is, sounds pretty useless
Keiyakusha
29th July 2009, 15:43
I agree that skins is not good idea, but I'd like to see new GUI for MPC-HC, maybe with full aero/jump lists/etc support or something like that.
The builds that I downloaded off xvidvideo.ru were larger size with a 6MB exe file plus other dll's
These was some bonus stuff like interface language translations. MPC-HC can work without that.
St Devious
29th July 2009, 15:46
No problem, please join the team when you get good at it :P
that is why I'm trying to learn it. This motivates me and provides me a goal to learn it. I have basic knowledge of loops and classes. Have to read a bit again and see what I need to do after that.
tetsuo55
29th July 2009, 15:53
On a very basic level MPC-HC can be devided into a few sub-parts.
Casimir666 oversees everything in this diagram.
GUI > Vacancy
Playlist > Vacancy
Video Renderer > Beliyaal and Ar-Jar
Audio Render > Vacancy
DXVA > Casimir
Subtitles > Vacancy
Splitters > Vacancy
Documentation/Wiki > Vacancy
External libraries > CLSID, Alexoid, _XXL, etc..(sorry if i forgot you)
Reviewing code for security > Vacancy
Reviewing code for speed > Vacancy
Commenting code > Vacancy
As you can see we need a lot of dev's who are interested in the sections which have vacancy's
I have some ideas on how to get almost all the bugfixes and feature requests in, especially for playlist and splitters. But this requires a dev that is truly interested in these subjects.
clsid
29th July 2009, 16:08
The DXVA is basically a patched FFmpeg decoder, it cannot be detached.
It uses some FFmpeg code. That does not mean it can't be detached.
Btw, is anyone else getting compilation errors after yesterdays Visual Studio ATL update?
leeperry
29th July 2009, 16:09
I was wondering what you think about make a new GUI more attractive for MPC-HC ?
you could try to send a letter to :
J'y crois, c'est déjà bien
18, Avenue des Champs-Élysées
75008 Paris
France
maybe that'll help!
or maybe using Crystal XP, or some GUI app as you said?
tetsuo55
29th July 2009, 16:12
It uses some FFmpeg code. That does not mean it can't be detached.
Btw, is anyone else getting compilation errors after yesterdays Visual Studio ATL update?Oh you mean only using those parts of ffmpeg truly required for the DXVA decoder.
kieranrk
29th July 2009, 16:14
Then what do you suggest being used to play the trailers from Apple Trailers' site? By uninstalling QT Alternative one loses the interface to play the .mov file. You can only download it to watch it.
Bat
http://www.davestrailerpage.co.uk/
stax76
29th July 2009, 17:31
Generally there are two different types of skins:
1. Normal skin around the video like many WMP versions have and most other players.
2. OSD skin on top of the video usually using visual effects like animations and transparency offering everything from simple messages, play controls to advanced menus entering media center area.
Type 1 is not needed, most users agree here especially people use Aero. Type 2 would be cool I think a lot users would agree, anything is better than the ugly blue box! WMP 12 uses a gradient effect to display a message on top, looks good and shouldn't be hard to implement, maybe something like this could be a start for better OSD features.
alex_3d42
29th July 2009, 18:18
2. OSD skin on top of the video usually using visual effects like animations and transparency offering everything from simple messages, play controls to advanced menus entering media center area.
Agree with that but only if we can deactivate it.
Somebody can compile the version 1197 for windows x64 please :D
Spec-Chum
29th July 2009, 20:39
It uses some FFmpeg code. That does not mean it can't be detached.
Btw, is anyone else getting compilation errors after yesterdays Visual Studio ATL update?
1197 x86 and x64 both compiling fine here. What errors you getting?
Aleksoid1978
30th July 2009, 01:32
Agree with that but only if we can deactivate it.
Somebody can compile the version 1197 for windows x64 please :D
Here - http://aleksoid.tosei.ru/Dist/
Snowknight26
30th July 2009, 03:04
Not sure why you'd need r1197 when all that has changed between that and r1194 is relating to how you compile MPC-HC.
boyumeow
30th July 2009, 04:39
In order for you to determine that the code works for you, you must know what the options do, so you can answer the questions that no one else can answer. Cool !
Here is a paste of my previous post:
As I feel what U r asking is more on fundamental, I suggest check out ar-jar website (http://www.ostrogothia.com/), if that still doesn't answer ur question, maybe U should try Google or the Libraries for books. Thanks.
Octo-puss
30th July 2009, 04:44
Oh and regarding CPU usage - I disabled WMP in Programs and features, and CPU usage went from 30% to say 10% reported. Still using DXVA according to MPC.
cweb
30th July 2009, 08:07
QT alternative causes more problems that it's worth. You should remove it if possible and just use mpc-hc, ffdshow and haali's splitter.
That statement is meaningless.
But qt alternative is needed for itunes too. I don't think one could use ffdshow or haali's with itunes then.
clsid
30th July 2009, 14:52
QT Alternative does not cause problems, it just extends MPC functionality. If you don't want MPC to use the QuickTime framework then is is easy to do so. Rename .mov to .hdmov (or something else). Or Options -> Player -> Formats -> QuickTime file -> set to DirectShow.
chiyuwang
30th July 2009, 16:14
There is a comment in file MP4Splitter.cpp line: 727
FIXME: slow search & stss->m_Entries is private
Is there anyone tell me what is that?
When I play 2 H264 movies with DXVA 1.0, and do pause and seek at same time, one of the movie cant set position properly. Is it related to that comment, or it is something else, is it possible to be fixed?
kieranrk
30th July 2009, 16:42
QT Alternative does not cause problems, it just extends MPC functionality.
Why would you ever want to use the Quicktime Framework? It has the slowest and most broken H.264 decoder I've ever seen.
MPC-HC + Haali's can do virtually everything that Quicktime can do and with DXVA where available.
iron2000
30th July 2009, 17:31
I think the UI is pretty ok except for the jagged edges of the playback symbols and I don't really like the mute button icon and stereo indicator icon.
The buttons go according to the visual style, thats good.
Maybe the seeker can follow the visual style too?
tetsuo55
30th July 2009, 17:35
Why would you ever want to use the Quicktime Framework? It has the slowest and most broken H.264 decoder I've ever seen.
MPC-HC + Haali's can do virtually everything that Quicktime can do and with DXVA where available.i wish the same was true about realmedia, but there really is no viable open source replacement to realalternative
_xxl
30th July 2009, 18:55
I have a question. What does this option and why was added to mpc-hc?
AdditionalOptions="/MP"
Casimir666
30th July 2009, 19:05
I have a question. What does this option and why was added to mpc-hc?
I think it's to improve compilation time on mutiprocessor machines
tetsuo55
30th July 2009, 19:12
I have a question. What does this option and why was added to mpc-hc?Casimir is right, but the option is pretty complex and could be improved further for enhanced speed.
Here is the short description
Visual C++ Compiler Options
/MP (Build with Multiple Processes)
The /MP option can reduce the total time to compile the source files on the command line. The /MP option causes the compiler to create one or more copies of itself, each in a separate process. Then these copies simultaneously compile the source files. Consequently, the total time to build the source files can be significantly reduced.
Here is the full description:
http://msdn.microsoft.com/en-us/library/bb385193.aspx
Spec-Chum
30th July 2009, 20:58
I think it's to improve compilation time on mutiprocessor machines
Funnliy enough, I thought doing a rebuild was taking less time (like noticablebly less) when I last compiled...
clsid
30th July 2009, 23:01
Why would you ever want to use the Quicktime Framework? It has the slowest and most broken H.264 decoder I've ever seen.
MPC-HC + Haali's can do virtually everything that Quicktime can do and with DXVA where available.
It is useful to play old QuickTime files that are not playable with DirectShow filters.
For H.264 it is of course recommended to use DirectShow. The download utility that is included with QTA automatically renames HD files to .hdmov so that DirectShow is used for playback.
Aleksoid1978
31st July 2009, 04:40
Hi all.
I update Png, Vorbis and Ogg lib, test it :
http://aleksoid.tosei.ru/Dist/MPCHC_1202_x86.7z
http://aleksoid.tosei.ru/Dist/MPCHC_1202_x64.7z
and exe only:
http://aleksoid.tosei.ru/Dist/Exe_only/mplayerc_1202.7z
http://aleksoid.tosei.ru/Dist/Exe_only/mplayerc64_1202.7z
her34
31st July 2009, 05:16
Hi all.
I update Png, Vorbis and Ogg lib, test it :
http://aleksoid.tosei.ru/Dist/MPCHC_1202_x86.7z
http://aleksoid.tosei.ru/Dist/MPCHC_1202_x64.7z
and exe only:
http://aleksoid.tosei.ru/Dist/Exe_only/mplayerc_1202.7z
http://aleksoid.tosei.ru/Dist/Exe_only/mplayerc64_1202.7z
ogg videos still don't play in mpc
sample:
http://www.mozilla.com/en-US/firefox/video/?video=meet
direct link:
http://videos.mozilla.org/firefox/3.5/meet/meet.ogv
ADude
31st July 2009, 06:03
As I feel what U r asking is more on fundamental, I suggest check out ar-jar website (http://www.ostrogothia.com/), if that still doesn't answer ur question, maybe U should try Google or the Libraries for books. Thanks.
You need to read my question more carefully.
The question is not related to the details of vertical sync, it is related to what the options actually do in a technical sense.
Here is an example of something similar. The "power" button on your PC or laptop can be setup to turn off the PC, put it in sleep or standby mode, or put it in hibernate mode. One can understand the meaning of all those modes, but yet, without documentation of the button, you would not know which mode the button was setup to do.
Here is a paste of my previous post:
Someone decided to incorporate the code before it was adequately explained.
We are hoping the settings can be technically
described, so that we can test them prior to a "stable" version release.
For example, I tried the new sync display. With "Vsync" unchecked in the Renderer settings, other settings will change the graph. There is no documentation on the graph, but perhaps it is just showing what the code would do if it is turned on ? I am assuming that unchecking "Vsync" in the Renderer settings turns off all of MPC-HC's Vsync code and allows the graphic card drivers to do the sync in whatever manner they have been set to do - is that correct ? There are different graph results with the 4 different combinations of "Vsync" and "Alternate Vsync" checked, for example.
PS I am disappointed that code was added to MPC-HC that no one understands...
Tiduz
31st July 2009, 06:51
Im having a strange problem, im using newest mpc hc build from xvid.ru, it uses Microsoft MPEG-2 video decoder for DXVA, but i get weird transparant like vertical bars in dark scenes.
I never had that problem before, i get them on MKV and TS files, only ones that are DXVA accelerated, is there any fix for this?
I have no idea how this happened because i changed nothing, reverting back to older player didnt work either, and i uninstalled all codecs and reinstalled and still the same problem >:|
Aleksoid1978
31st July 2009, 06:52
ogg videos still don't play in mpc
sample:
http://www.mozilla.com/en-US/firefox/video/?video=meet
direct link:
http://videos.mozilla.org/firefox/3.5/meet/meet.ogv
Play : MPCHC+HaaliMediaSplitter
http://pic.ipicture.ru/uploads/090731/thumbs/Lf2lh74nEm.png (http://ipicture.ru/Gallery/Viewfull/21528877.html)
boyumeow
31st July 2009, 09:27
You need to read my question more carefully.
The question is not related to the details of vertical sync, it is related to what the options actually do in a technical sense.
Here is an example of something similar. The "power" button on your PC or laptop can be setup to turn off the PC, put it in sleep or standby mode, or put it in hibernate mode. One can understand the meaning of all those modes, but yet, without documentation of the button, you would not know which mode the button was setup to do.
Here is a paste of my previous post:
PS I am disappointed that code was added to MPC-HC that no one understands...
From what U have written, I believe U might have not try out ar-jar website. Sorry if I misunderstood ur msg, thanks.
chiyuwang
31st July 2009, 09:56
Anybody got runtime error in file BaseVideoFilter.cpp line 533?
pmt->subtype = *fmts[iPosition/2].subtype;
_xxl
31st July 2009, 10:10
Sample? What mpc-hc version do you use? Do you use internal splitters and decoders? For example internal avisplitter is known to be buggy and crashes mpc when used.
her34
31st July 2009, 18:18
Play : MPCHC+HaaliMediaSplitter
http://pic.ipicture.ru/uploads/090731/thumbs/Lf2lh74nEm.png (http://ipicture.ru/Gallery/Viewfull/21528877.html)
hi, i should have been more specific. i meant the mpc-hc internal splitter is still broken
neoufo51
31st July 2009, 18:30
ogg videos still don't play in mpc
sample:
http://www.mozilla.com/en-US/firefox/video/?video=meet
direct link:
http://videos.mozilla.org/firefox/3.5/meet/meet.ogv
Working fine on 1202 running on Win7, latest Nvidia drivers, EVR CP.
Keiyakusha
31st July 2009, 18:44
Working fine on 1202 running on Win7, latest Nvidia drivers, EVR CP.
Sure it's working, but not with internal splitter.
hi, i should have been more specific. i meant the mpc-hc internal splitter is still broken
I don't think this has something to do with updated libs...
Tiduz
31st July 2009, 20:11
I now have an image of my problem, when i disable DXVA i dont get this, i have no idea why, i never had this problem :(
using: Media Player Classic - Homecinema v1.2.1179.0
Transform Filter in MPCHC DXVA mode on for both VC1 and H264
heres an example:
http://i32.tinypic.com/1yk6qr.jpg
73ChargerFan
1st August 2009, 01:08
Attention "It works on my machine" people:
IT SHOULD WORK ON EVERYONE'S COMPUTER
(Thanks neoufo51 for your system specs, that kind of post is informative.)
betaking
1st August 2009, 03:49
HI,CM666 !when i update last vc2008 security patch KB973924! i can't compiled last svn!
error C2039: '_Swap_adl' : is not a member of 'std' c:\program files\microsoft visual studio 9.0\vc\include\xutility 2764
error C3861: '_Swap_adl': identifier not found c:\program files\microsoft visual studio 9.0\vc\include\xutility 2764
Tiduz
1st August 2009, 06:40
I finally solved it, Goddamn i did so much and it was so simple.
For some reason after i updated my Ati driver it turned on De-Noise and Dynamic contrast, so i turned it off and now its fixed:D
_xxl
1st August 2009, 07:07
HI,CM666 !when i update last vc2008 security patch KB973924! i can't compiled last svn!
error C2039: '_Swap_adl' : is not a member of 'std' c:\program files\microsoft visual studio 9.0\vc\include\xutility 2764
error C3861: '_Swap_adl': identifier not found c:\program files\microsoft visual studio 9.0\vc\include\xutility 2764
No error for me. It compiles fine.
Kurtnoise
1st August 2009, 08:17
HI,CM666 !when i update last vc2008 security patch KB973924! i can't compiled last svn!
error C2039: '_Swap_adl' : is not a member of 'std' c:\program files\microsoft visual studio 9.0\vc\include\xutility 2764
error C3861: '_Swap_adl': identifier not found c:\program files\microsoft visual studio 9.0\vc\include\xutility 2764
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/4bc93a16-4ad5-496c-954c-45efbe4b180b
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.