View Full Version : Media Player Classic Home Cinema (MPC-HC) - DXVA!
nevcairiel
3rd May 2011, 14:49
:stupid: Use pastebin :eek:
betaking
3rd May 2011, 14:54
:stupid: Use pastebin :eek:
can you try compiled last svn??
SamuriHL
3rd May 2011, 15:00
I already did for x86 a little while ago. I had no problems.
Mercury_22
3rd May 2011, 15:05
I already did for x86 a little while ago. I had no problems.
Can you compile the x64 ? (with 2010SP1 and 4.6.0 http://xhmikosr.1f0.de/index.php?folder=dG9vbHM=)
betaking
3rd May 2011, 15:08
16>------ 已启动生成: 项目: libavcodec_gcc, 配置: Release Win32 ------
16>正在执行生成文件项目操作
16>make.exe 64BIT=yes -j4
12>FontInstaller.cpp
why make 64BIT? i use vc compile32BIT!
SamuriHL
3rd May 2011, 15:08
I haven't tried x64 cause I don't use it. I'm also still using 4.5.2, not 4.6.0. Haven't seen the need to change it as it's working still. I am using 2010SP1, though. I can try the x64 build with what I have if that helps?
Mercury_22
3rd May 2011, 15:10
I haven't tried x64 cause I don't use it. I'm also still using 4.6.0. Haven't seen the need to change it as it's working still. I am using 2010SP1, though. I can try the x64 build with what I have if that helps?
Yes it helps cause you have 4.6.0 !
I'm just interested if you can compile the ffmpeg x64
Edit : you've edit your post ? you have 4.6.0 or 4.5.2 ?
SamuriHL
3rd May 2011, 15:11
Yes it helps cause you have 4.6.0 !
I'm just interested if you can compile the ffmpeg x64
See my update. Typo. Doing too many things at once. I DON'T have 4.6.0 is what I meant to type.
Mercury_22
3rd May 2011, 15:14
See my update. Typo. Doing too many things at once. I DON'T have 4.6.0 is what I meant to type.
:) ok
Still if it's not too much trouble can you build it and let us know how it went ?
SamuriHL
3rd May 2011, 15:15
Yea, I kicked it off a bit ago. :) Figured why not if it might help.
SamuriHL
3rd May 2011, 15:28
MPC-HC's compilation started on Tue 05/03/2011-10:10:38.97
and completed on Tue 05/03/2011-10:27:04.80
bin10\MPC-HomeCinema.1.5.2.3069.x64.MSVC2010.exe
So, yea, I built the 64 bit version no problem.
Mercury_22
3rd May 2011, 15:30
MPC-HC's compilation started on Tue 05/03/2011-10:10:38.97
and completed on Tue 05/03/2011-10:27:04.80
bin10\MPC-HomeCinema.1.5.2.3069.x64.MSVC2010.exe
So, yea, I built the 64 bit version no problem.
Ok thanks!
Let us know when you update to 4.6.0 http://xhmikosr.1f0.de/index.php?folder=dG9vbHM=
nevcairiel
3rd May 2011, 15:38
This obsession with always upgrading to the latest gcc will only cause you guys problems.
Like it did today. :p
SamuriHL
3rd May 2011, 15:44
I'm not sure I understand why upgrading to 4.6.0 makes any difference. Is it going to generate some super optimized code that'll run on my vic 20? :D In any case, I grabbed 4.6.0 full and am recompiling the x64 build with it. I, otoh, backed up my WORKING 4.5.2 MSYS dir. ;)
Mercury_22
3rd May 2011, 15:47
I'm not sure I understand why upgrading to 4.6.0 makes any difference. Is it going to generate some super optimized code that'll run on my vic 20? :D In any case, I grabbed 4.6.0 full and am recompiling the x64 build with it. I, otoh, backed up my WORKING 4.5.2 MSYS dir. ;)
I'm just interested if you can update / patch / compile ffmpeg x64 :thanks:
Also, you just need to backup your x64 libgcc.a and libmingwex.a and you can use them with 4.6.0
SamuriHL
3rd May 2011, 15:55
I'm just interested if you can update / patch / compile ffmpeg x64 :thanks:
Also, you just need to backup your x64 libgcc.a and libmingwex.a and you can use them with 4.6.0
Um, all I'm doing is a full build of what's in SVN with 4.6.0. I haven't patched or touched anything. And by full build, I mean completely clean. It's the only way I build MPC-HC as I've had problems doing incremental builds in the past and would rather take longer to build it right the first time than fight with it. :) Seems to be building fine so far, but, it's not done. I build on my core2duo laptop, so, it's not especially quick. :)
SamuriHL
3rd May 2011, 15:57
67>MPCVideoDec.lib(utils.o) : warning LNK4217: locally defined symbol toupper im
ported in function ff_toupper4
67>MPCVideoDec.lib(w32thread.o) : warning LNK4217: locally defined symbol _begin
threadex imported in function avcodec_thread_init
67>MPCVideoDec.lib(sww32thread.o) : warning LNK4217: locally defined symbol _beg
inthreadex imported in function sws_thread_init
67>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol _vsnprintf i
mported in function av_log_default_callback
67>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol __iob_func i
mported in function av_log_default_callback
67>MPCVideoDec.lib(interf_dec.o) : warning LNK4049: locally defined symbol __iob
_func imported
67>MPCVideoDec.lib(sp_dec.o) : warning LNK4049: locally defined symbol __iob_fun
c imported
67>MPCVideoDec.lib(mdct.o) : error LNK2001: unresolved external symbol ___chkstk
_ms
67>MPCVideoDec.lib(mpegvideo.o) : error LNK2019: unresolved external symbol ___c
hkstk_ms referenced in function ff_update_duplicate_context
67>MPCVideoDec.lib(error_resilience.o) : error LNK2001: unresolved external symb
ol ___chkstk_ms
67>MPCVideoDec.lib(dsputil_mmx.o) : error LNK2001: unresolved external symbol __
_chkstk_ms
67>MPCVideoDec.lib(rv34.o) : error LNK2001: unresolved external symbol ___chkstk
_ms
67>c:\dev\projects\mpc-hc\bin10\mpc-hc_x64\mpc-hc64.exe : fatal error LNK1120: 1
unresolved externals
67>
67>Build FAILED.
67>
67>Time Elapsed 00:01:44.96
========== Build: 65 succeeded, 1 failed, 0 up-to-date, 1 skipped ==========
**ERROR: Build failed and aborted!**
Well, there you have it. 4.6.0 = broken. I'm not about to run crazy patches or any other nonsense to get it to build. I see no value in updating to a new compiler. Unless someone can explain to me what the value is other than "but it's newer and shiny." I'm reverting to 4.5.2.
Mercury_22
3rd May 2011, 16:00
67>MPCVideoDec.lib(utils.o) : warning LNK4217: locally defined symbol toupper im
ported in function ff_toupper4
67>MPCVideoDec.lib(w32thread.o) : warning LNK4217: locally defined symbol _begin
threadex imported in function avcodec_thread_init
67>MPCVideoDec.lib(sww32thread.o) : warning LNK4217: locally defined symbol _beg
inthreadex imported in function sws_thread_init
67>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol _vsnprintf i
mported in function av_log_default_callback
67>MPCVideoDec.lib(log.o) : warning LNK4217: locally defined symbol __iob_func i
mported in function av_log_default_callback
67>MPCVideoDec.lib(interf_dec.o) : warning LNK4049: locally defined symbol __iob
_func imported
67>MPCVideoDec.lib(sp_dec.o) : warning LNK4049: locally defined symbol __iob_fun
c imported
67>MPCVideoDec.lib(mdct.o) : error LNK2001: unresolved external symbol ___chkstk
_ms
67>MPCVideoDec.lib(mpegvideo.o) : error LNK2019: unresolved external symbol ___c
hkstk_ms referenced in function ff_update_duplicate_context
67>MPCVideoDec.lib(error_resilience.o) : error LNK2001: unresolved external symb
ol ___chkstk_ms
67>MPCVideoDec.lib(dsputil_mmx.o) : error LNK2001: unresolved external symbol __
_chkstk_ms
67>MPCVideoDec.lib(rv34.o) : error LNK2001: unresolved external symbol ___chkstk
_ms
67>c:\dev\projects\mpc-hc\bin10\mpc-hc_x64\mpc-hc64.exe : fatal error LNK1120: 1
unresolved externals
67>
67>Build FAILED.
67>
67>Time Elapsed 00:01:44.96
========== Build: 65 succeeded, 1 failed, 0 up-to-date, 1 skipped ==========
**ERROR: Build failed and aborted!**
Well, there you have it. 4.6.0 = broken. I'm not about to run crazy patches or any other nonsense to get it to build. I see no value in updating to a new compiler. Unless someone can explain to me what the value is other than "but it's newer and shiny." I'm reverting to 4.5.2.
OK :thanks:
EDIT: And if it's not too much after you revert to 4.5.2 please delete the x64 libgcc.a and libmingwex.a (in C:\mpc-hc\lib64) and try to rebuild them and let me know if it works cause it seems to me that first time you didn't update them :thanks: for your help
SamuriHL
3rd May 2011, 16:02
No problem. Just remember that when upgrading to newer compilers, backing up your working config is probably the best idea. :) I still have 4.6.0 extracted in case this gets fixed and there's some reason to move to it, but, I'm sticking with what works for now.
betaking
3rd May 2011, 16:13
i found why can not compiler last svn!
gccbuild.bat is build ffmpegx86 why this is bat build x64
TITLE "make.exe 64BIT=yes %make_args% %*"
ECHO make.exe 64BIT=yes %make_args% %*
make.exe 64BIT=yes %make_args% %*
EXIT /B
and i Modified below, the re-compile without any problem!
TITLE "make.exe %make_args% %*"
ECHO make.exe %make_args% %*
make.exe %make_args% %*
EXIT /B
betaking
3rd May 2011, 16:23
gccbuild_2010.bat no problem
TITLE "make.exe VS2010=yes %make_args% %*"
ECHO make.exe VS2010=yes %make_args% %*
make.exe VS2010=yes %make_args% %*
EXIT /B
hoborg
3rd May 2011, 17:48
Hi
This sample (https://rapidshare.com/files/460405805/Vier-001.mkv) will crash MPC-HC DXVA decoder on ~22s.
There seems to be problem in video itself, but decoder should handle it, not crash i think.
This might not be the correct place to post this, but I found a bug in the BE mod version, seeking with the 5sec forward key's aren't working, it will go forward once, then backward again. Seeking backwards works fine.
This is in both x86 and x64 with both MPC-HC and LAV Splitter for MKV.
Any improvement if you disable "Fast seek (on keyframe)" in Options->Tweaks?
Any improvement if you disable "Fast seek (on keyframe)" in Options->Tweaks?
Nope, I already tried that option and sadly didn't do anything.
molitar
4th May 2011, 00:37
Latest MPC-Home has been modified in the dumbest way! No wonder people can't get DXVA to work with corecodec the person who did it set all the filters to internal and it now does not use any of FFDShow by default! dumb.. so if your having issues.. go back to the older version that works properly and has not been set to use all internal filters.. otherwise your going to be guessing what filters need to be deactivated.
tetsuo55
4th May 2011, 00:59
Latest MPC-Home has been modified in the dumbest way! No wonder people can't get DXVA to work with corecodec the person who did it set all the filters to internal and it now does not use any of FFDShow by default! dumb.. so if your having issues.. go back to the older version that works properly and has not been set to use all internal filters.. otherwise your going to be guessing what filters need to be deactivated.Internal filters have been enabled for years. Its only codecpacks that provide modified mpc-hc builds with different default settings.
robpdotcom
4th May 2011, 02:01
I thought one of the beauties of MPC-HC was supposed to be that you don't really need any external filters/codecs.:confused:
I guess there are just so many codecpacks that bundle MPC-HC with ffdshow that people assume they are part of the same program.
molitar
4th May 2011, 02:56
Default settings for mpc before that were enabled were.
cda
cdxa
directshow media
dvd video title
dvd2avi
fli
flac
flv
realmedia
shoutcast
realaudio
ps2 audio
qt pcm
real video
them were the defaults.. now the new even after resetting everything is all filters enabled which breaks coreavc and ffdshow causing issues with playback. dropped the older version 1.4.2677.0 back and deleted the ini and the filter settings were those above.. deleted ini and dropped newer version 1.5.1.2903 and all filters were checked and ffdshow and coreavc stopped working because mpc was trying to handle all the rendering. Now thing is with haali media splitter dxva mode does not really work in mpc home.. but with the new coreavc I set it to EVR and with haali I get the red coreavc showing dxva is working properly. So to use the newer version I had to go uncheck just about every filter to get it to work properly.
Octo-puss
4th May 2011, 05:50
Latest MPC-Home has been modified in the dumbest way! No wonder people can't get DXVA to work with corecodec the person who did it set all the filters to internal and it now does not use any of FFDShow by default! dumb.. so if your having issues.. go back to the older version that works properly and has not been set to use all internal filters.. otherwise your going to be guessing what filters need to be deactivated.
I thought corecodec and ffdshow were two completely different things.
tetsuo55
4th May 2011, 08:46
@Molitar: reset the registry settings: http://sourceforge.net/apps/trac/mpc-hc/wiki/Troubleshooting_guidelines
namaiki
4th May 2011, 08:49
Default settings for mpc before that were enabled were
...
dropped the older version 1.4.2677.0 back and deleted the ini and the filter settings were those above..
molitar, those are CCCP defaults, not MPC-HC defaults. CCCP's MPC-HC is a custom build.
Mercury_22
4th May 2011, 11:02
Since :) Mercury_22, mingw-w64 commit half of this patch... patch only delayimp.c why no one made the update to the SVN ?
P.S. If a patch it's really needed here (http://www.multiupload.com/SSDOCXF4VM) it is (I've just deleted everything after "\ No newline at end of file")
I'm still waiting for some help about compiling the x64 with gcc 4.6.0 (xhmikosr alexins ? :) )
The MSVC2010 builds (and now also MSVC2008 after latest windows updates) of MPC and the standalone filters are about 1.2MB larger than in the past. This is caused by changes that MS made to MFC code that results in a lot of extra (unneeded) code being linked into the builds. That sucks. But fortunately I have been able to implement a fix for this problem, based on this (http://tedwvc.wordpress.com/2010/05/27/how-to-make-small-statically-linked-mfc-exes-in-visual-c-2010/) blog post.
Everyone please test the following build to see if there are any negative side effects:
http://www.mediafire.com/file/apb97r929cy3ltb/mpc_3062_mfcfix.rar
It contains MPC r3062 plus a couple of the standalone filters.
You will notice that MPC is much smaller now. That is partly due to the fix, partly due to the fact that most of the internal filters are not included in this build. I repeat, the missing internal filters is not a bug. It is intentional and unrelated to the MFC fix. I simply don't need/use them.
madshi
4th May 2011, 14:17
@clsid, is there an easy way to compile MPC without the internal filters?
betaking
4th May 2011, 14:20
TO CLSID.THANKS! if we test ok? can you put this patch to svn?
roytam1
4th May 2011, 14:35
The MSVC2010 builds (and now also MSVC2008 after latest windows updates) of MPC and the standalone filters are about 1.2MB larger than in the past. This is caused by changes that MS made to MFC code that results in a lot of extra (unneeded) code being linked into the builds. That sucks. But fortunately I have been able to implement a fix for this problem, based on this (http://tedwvc.wordpress.com/2010/05/27/how-to-make-small-statically-linked-mfc-exes-in-visual-c-2010/) blog post.
Everyone please test the following build to see if there are any negative side effects:
http://www.mediafire.com/file/apb97r929cy3ltb/mpc_3062_mfcfix.rar
It contains MPC r3062 plus a couple of the standalone filters.
You will notice that MPC is much smaller now. That is partly due to the fix, partly due to the fact that most of the internal filters are not included in this build. I repeat, the missing internal filters is not a bug. It is intentional and unrelated to the MFC fix. I simply don't need/use them.
Yeah it look nice to me, thanks.:)
@clsid, is there an easy way to compile MPC without the internal filters?Yes, very easy! See src\apps\mplayerc\internal_filter_config.h
can you put this patch to svn?If no bugs are found and the other devs don't object, then of course it will get committed.
The problem with the built-in software MPEG-2 decoder. (MPEG-2 video 4:2:2)
http://i039.radikal.ru/1105/09/fa4cda307ecbt.jpg (http://radikal.ru/F/i039.radikal.ru/1105/09/fa4cda307ecb.jpg.html)
sample 1 (http://www.mediafire.com/?u68ko5qreaoxxn6)
422_sample_from_DVB.mpeg (http://samples.multimedia.cx/MPEG2/mpeg422/422_sample_from_DVB.mpeg)
With ffdshow (libavcodec and libmpeg2) is no problem.
SamuriHL
4th May 2011, 19:09
Yes, very easy! See src\apps\mplayerc\internal_filter_config.h
Now that rocks! :thanks:
SamuriHL
4th May 2011, 22:45
Ok, maybe :stupid: but if I change the header file to 0's instead of 1's for the internal filters, my compile breaks. Am I doing it wrong? The defines are still needed right? And we are supposed to set them to 0 for filters we don't want to include? Sorry, I'm not having the best of days with compiling. :thanks:
1 = include, 0 = don't include
SamuriHL
4th May 2011, 23:10
That's what I thought. When I set them all to don't include, the build fails.
Try with at least one enabled. That should fix the zero sized array errors.
SamuriHL
4th May 2011, 23:21
Yea, I tried with all the ffmpeg ones enabled. Didn't seem to help. I didn't get a chance to trap the errors to see what was breaking, but, as soon as I put them all back to 1 it built successfully. :confused:
Will commit a fix for it in a moment.
SamuriHL
4th May 2011, 23:35
Thank you. That's much appreciated!
Btw, here is another small tweak to reduce size:
Index: src/apps/mplayerc/PPageFileMediaInfo.h
===================================================================
--- src/apps/mplayerc/PPageFileMediaInfo.h (revision 3078)
+++ src/apps/mplayerc/PPageFileMediaInfo.h (working copy)
@@ -22,7 +22,7 @@
#pragma once
-#define USE_MEDIAINFO_STATIC
+//#define USE_MEDIAINFO_STATIC
// CPPageFileMediaInfo dialog
SamuriHL
4th May 2011, 23:49
That removes the mediainfo static lib. What functionality does that impact?
MediaInfo is then no longer embedded. Instead you must put mediainfo.dll in the MPC folder if you want internal MediaInfo functionality (File->Properties->MediaInfo).
SamuriHL
5th May 2011, 00:06
Oh. I never use that anyway, so, that's ok. Nice. :) I discovered that yes, you do need at least one internal filter still else you get 0 array errors. Oops. :D
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.