[x264-devel] MSVC patch test results under MSVC 2013

Martin Storsjö martin at martin.st
Mon Mar 24 11:33:09 CET 2014


On Mon, 24 Mar 2014, Joe Stevens wrote:

> All,
> 
> First, many thanks to Matt, Steve, and Martin for posting various patchs to
> allow compilation with MSVC.  I was able to sucessfully apply them to latest
> x264 source and build with the latest current release of MSVC 2013. 
> However, it looks as if (1) the submitted patches don't allow compilation of
> AviSynth support, and (2) for some reason x264 compiled with MSVC is much
> slower than the latest GCC.  Details follow:
> 
> 1. Compilation:
> 
> [output with default 'configure' results]
> cl -DNDEBUG -O2 -W0 -I. -I. -nologo -DHAVE_STRING_H -I./extras  -c
> -Foinput/avs.
> o input/avs.c
> avs.c
> input/avs.c(383) : error C2275: 'AVS_VideoFrame' : illegal use of this type
> as a
> n expression
>         .\extras/avisynth_c.h(390) : see declaration of 'AVS_VideoFrame'
> input/avs.c(383) : error C2065: 'frm' : undeclared identifier
> input/avs.c(389) : error C2065: 'frm' : undeclared identifier
> input/avs.c(390) : error C2065: 'frm' : undeclared identifier
> make: *** [input/avs.o] Error 2

This looks like one of the main bugs in MSVC 2013 which is fixed in the 
upcoming update2 (you can download the CTP version of the update already), 
see https://connect.microsoft.com/VisualStudio/feedback/details/808472 for 
details.

If you use this version of MSVC 2013, you only need the two patches that I 
posted, nothing else. If not, some of the other patches that were posted 
might need to be extended to work around more issues that crop up all the 
time - but it's quite futile to try to work around those issues since it 
will be fixed properly quite soon.


As for performance, MSVC doesn't support inline assembly, so that might be 
one casuse for the lower performance.

// Martin


More information about the x264-devel mailing list