<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix"><br>
</div>
<blockquote
cite="mid:CAK4YBZtAmVcJM0d6qa6nVpU237c90HaUFgyMWCfGCgCHXgjy1A@mail.gmail.com"
type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Sep 16, 2014 at 6:26 AM,
Steve Borho <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:steve@borho.org" target="_blank">steve@borho.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>
<div>On 09/16, Kovacs Peter wrote:<br>
> Hi All,<br>
><br>
> maybe somebody else will also find this useful,
so let me share my<br>
> experience with compiling x264 with Visual Studio
2010 SP1 and Intel(R) C++<br>
> Compiler XE 15.0.<br>
> I have used the latest stable tarball
(x264-snapshot-20140915-2245-stable).<br>
> -create a new Win32 console application, create
an empty project<br>
> -create appropriate filters under Source files
and Header files to retain<br>
> structure: common, encoder, extras, filters,
filters/video, input, output<br>
> -add .c and .h files from these directories to
the project (including those<br>
> not located in subdirs), except:<br>
> common/opencl.c, common/opencl.h,
encoder/rdo.c, encoder/slicetype.c,<br>
> input/ffms.c, input/lavf.c, output/mp4.c,
output/mp4_lsmash.c<br>
> -right click the project file, and choose to use
Intel C++ compiler<br>
> -in project properties, under C/C+ / Language
[Intel C++] / Enable C99<br>
> support, choose Yes for All Configurations<br>
> -in project properties, under C/C+ / Output
Files, change Object File Name<br>
> to "$(IntDir)/%(RelativeDir)/", for All
Configurations (to get rid of these<br>
> link errors <a moz-do-not-send="true"
href="http://stackoverflow.com/questions/3695174/visual-studio-2010s-strange-warning-lnk4042"
target="_blank">http://stackoverflow.com/questions/3695174/visual-studio-2010s-strange-warning-lnk4042</a>)<br>
> -in project properties, under C/C+ / General, add
"extras" and "." into<br>
> Additional Include Directories, for All
Configurations<br>
> -in project properties, under C/C+ /
Preprocessor, add "HAVE_CONFIG_H" into<br>
> Preprocessor definitions, for All Configurations<br>
> -create x264_config.h and config.h with the
attached contents, and add them<br>
> to the project<br>
> -compile!<br>
><br>
> This will result in an x264 binary that does not
use asm functions, OpenCL,<br>
> or any other acceleration, nor will support many
input/output formats, but<br>
> can be used for experimentation, studying the
code via single stepping, and<br>
> implement experiments (for the impatient).<br>
> The patches from Steve Borho for VC12 were much
appreciated - this small<br>
> guide is for those who are still using VS2010.<br>
><br>
> Project files are attached for reference. Hope
somebody will find this<br>
> useful.<br>
<br>
</div>
</div>
For what it's worth, it wasn't my patches that eventually
landed in<br>
x264. It was Kemuri-9's much superior patches<br>
<br>
However you might also find this attached cmake file
useful. I don't<br>
have a system with Intel C installed to verify, but this
should build<br>
x264 with Intel C or MSVC 2013. If yasm is detected, it
will use that to<br>
build the assembly code, making the binary somewhat
useful.<br>
<br>
To use with Intel C, copy CMakeLists.txt into the x264
root folder,<br>
then:<br>
<br>
mkdir build<br>
cd build<br>
call "%ICPP_COMPILER14%\bin\compilervars.bat" intel64<br>
set CC=icl<br>
set CXX=icl<br>
cmake -G "NMake Makefiles" ..<br>
make<br>
<span><font color="#888888"><br>
--<br>
Steve Borho<br>
</font></span><br>
</blockquote>
<div><br>
</div>
<div>Peter,</div>
<div><br>
</div>
<div>x264 does already support using Intel's Compiler for
Windows, when it's combined with Visual Studio 2005 or
later.</div>
<div>However, we do not utilize visual studio's proprietary
build system in our support (we're not particularly
looking to maintain multiple build systems)</div>
<div><br>
</div>
<div>Instead we utilize MSYS, like we do for utilizing MinGW
to build x264.</div>
<div><br>
</div>
<div>Looks like the documentation i wrote when we first
added support is still available [1], though it's for
Intel Compiler 11.1 with Visual Studio 2008.</div>
<div>But I don't expect there's been that many changes to
where you can't follow the flow with VS2010 + IC15</div>
<div><br>
</div>
<div>[1] <a moz-do-not-send="true"
href="http://kemuri9.net/dev/x264/other/intel_howto.html"
target="_blank">http://kemuri9.net/dev/x264/other/intel_howto.html</a></div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
Dear Steven,<br>
<br>
thanks for pointing this out. Indeed, the steps in the referenced
guide still work with this combination of tools (using this
workaround <a class="moz-txt-link-freetext" href="https://software.intel.com/en-us/forums/topic/531996">https://software.intel.com/en-us/forums/topic/531996</a>).<br>
However please note that the original purpose of making a VS project
for it was to facilitate single stepping in the code for students
who are more familiar with VS. If I'm not mistaken, compiling with
the Intel compiler using above methods does not allow that.<br>
<br>
Best regards,<br>
Peter<br>
<br>
</body>
</html>