[FFmpeg-devel] Patch: Inline asm fixes for Intel compiler on Windows

Carl Eugen Hoyos cehoyos at ag.or.at
Fri Jan 24 14:19:58 CET 2014

Matt Oliver <protogonoi <at> gmail.com> writes:

> On 5 January 2014 13:27, Matt Oliver <protogonoi <at> gmail.com> wrote:

> +// Determine if compiler support direct symbol references in inline asm
> +#if defined(__INTEL_COMPILER) && defined(_MSC_VER)
> +#   define HAVE_DIRECT_SYMBOL_REF 0
> +#else
> +#   define HAVE_DIRECT_SYMBOL_REF 1
> +#endif

You should test this in configure.
And please use this define all over the patch instead 
of "defined intel && defined msvc".

I would suggest you postpone the changes to libavfilter/libmpcodecs, 
test with --disable-filter=mp (or disable-gpl).
Once your initial patch hits git, send a patch for libmpcodecs 
either here or to mplayer-dev-eng and we will commit it.

> +//MMX versions

Is this move needed / related?
If not, please remove it, such unintended cosmetic 
changes should not be committed to the repository.

>              "r" (dest), "m" (dstW_reg), "m"(uv_off) \
> +
> +#define YSCALEYUV2PACKEDX_END2                    \

I don't know much about it, but doesn't this empty line 

> +//Declared in swscale_mmx.c (and referenced from rgb2rgb_template.c)
> +DECLARE_ALIGNED(8, extern const uint64_t, ff_bgr2YOffset);

Is there no common header?

> +#ifndef M_PI_2
> +#define M_PI_2         1.57079632679489661923  /* pi/2 */
> +#endif

Is this related? What does it fix?

> +#include "config.h"
>  #include <sys/time.h>
> +#endif
>  #include <time.h>
> -#include "config.h"

If this is needed on some platform, please provide an 
independent patch with a short explanation.

Carl Eugen

More information about the ffmpeg-devel mailing list