Part C: Downloading and compiling the MPC-HC source.1. Use a subversion client to checkout mpc-hc's trunk to C:\mpc-hc (or anywhere else you like) Repository URL: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk The recommended svn client is TortoiseSVN 2. When using TortoiseSVN a) Create an empty directory where you want to store the source files. e.g: C:\mpc-hc b) Right-click on that directory and choose "SVN checkout". c) Put https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk in "URL of Repository" and press OK. d) Wait for the source tree to be downloaded. 3. Open the solution file C:\mpc-hc\mpc-hc.sln Change the solution's configuration to "Release Unicode" (in the toolbar). 4. Right click the MPCVideoDec project, and open up its Properties. There, go to Configuration Properties->Librarian->General. Change the "Additional Library Directories" to: For Win32 platform$(OutDir);$(SolutionDir)lib;$(MINGW32)\lib\gcc\i686-pc-mingw32\4.4.4;$(MINGW32)\i686-pc-mingw32\lib\ For x64 platform$(OutDir);$(SolutionDir)lib64;$(MINGW64)\lib\gcc\x86_64-w64-mingw32\4.4.4;$(MINGW64)\x86_64-w64-mingw32\lib\ Another way to do it, is by copying the needed mingw libs into the root\lib and root\lib64 folders. Note: If you update your GCC, make sure you change the version number in the above paths, e.g. 4.5.1. 5. Press OK to save the changes and close the Properties window. 6. Press F7 to build the solution. 7. You now have mpc-hc.exe under C:\mpc-hc\bin\mpc-hc_x86. 8. Open the solution file C:\mpc-hc\mpciconlib.sln 9. Press F7 to build the solution. 10. You now have mpciconlib.dll under C:\mpc-hc\bin\mpc-hc_x86. 11. Open the solution file C:\mpc-hc\mpcresources.sln In Visual Studio go to Build->Batch Build->Press Select All->Press Build 13. You now have mpcresources.XX.dll under C:\mpc-hc\bin\mpc-hc_x86. Part D: (optional) Building the installer.Download Inno Setup Quick Start PackUnicode v5.3.10 or newer. Install everything and then go to C:\mpc-hc\distrib, open mpc-hc_setup.iss with Inno Setup or ISTool and compile it. Part E: Building ffmpeg x64 (libavcodec) with GCCWhen building ffmpeg (project libavcodec_gcc)in 32 bit mode GCC is used and according to the makefile that is automatically invoked from the solution. Doing so for 64 bit, requires some additional steps (in accordance with this post by Spec-Chum):
Run MSYS and cd to the trunk\src\filters\transform\MPCVideoDec\ffmpeg_x64 folder
Example: cd /h/mpchc/trunk/src/filters/transform/MPCVideoDec/ffmpeg_x64/ (notice that the first part will most probably differ for the exact paths)
checkout the mingw files by running: $ ./buildffmpeg.sh --updatemingw
run the buildmingwlibs.sh script, only to compile: ./buildmingwlibs.sh --compilemingw
Or ./buildmingwlibs.sh --updatemingw --compilemingw After the compilation is done, libgcc.a and libmingwex.a will be placed in trunk\lib64 Now libavcodec can be compiled from within the mpc-hc visual studio solution file, and it will be linked correctly with the other components. Attachments