Now that there is CPU detection in YASM, there will always be one of
inline or external assembly enabled, which obviates the need to fall
back on CPU detection through compiler intrinsics.
All versions of MinGW-w64 prior to version 3, as well as
all versions of MinGW32 have broken implementations of
vsnprintf.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
with the exception of libpostproc runtime_cpudetect = no is not
supported thus having no as default really is quite odd, it results in
a libpostproc where HAVE_MMX* have very different meaning from the
rest of ffmpeg and it breaks any x86 cpu that doesnt support mmx2
because mmx2 is hardcoded as a result
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
v5.0 of the TI ARM compiler changes the version string.
This updates the detection to check for both the old and
the new strings.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This simplifies ensuring proper flags are used when the default
is overridden by the system or on the command line.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Some compilers are extra strict about register usage in main(),
disallowing ebp in inline asm there while allowing it elsewhere.
This change makes the test better reflect actual usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The headers on netbsd are not fully C99 compatible which leads to multiple
definitions of symbols in clang bit not with gcc.
AFAIK this has been fixed in netbsd trunk (didnt check though)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The 64 bit cl.exe version 16.00.30319.01 crashes with an internal
compiler error on the current check (and thus deduces it isn't
supported, even if the actual usage in libavuil/x86/cpu.c works
fine), but by assigning the value from the intrinsic to a variable,
or returning it, it works fine.
This error is fixed in cl.exe version 16.00.40219.01.
Signed-off-by: Martin Storsjö <martin@martin.st>
Some msvcrt versions (the static 64 bit libc in MSVC 10) have
a log2 function, but there is no declaration for it in the headers.
Therefore, the normal configure check might find it, but it can fail
during build or at runtime, depending on whether implicit function
declarations are an error or not.
Therefore simply ignore this function on this platform.
Signed-off-by: Martin Storsjö <martin@martin.st>
Rather than modify the mplayer filter sources, just disable
vf_mp if inline assembly is not available.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
It is included for the open/read/write/close functions. On
MSVC, where this header does not exist, the same functions
are provided by io.h, which is already included.
On windows, these functions are provided by io.h. Make sure
io.h is included if it exists, regardless of the setmode
function.
Signed-off-by: Martin Storsjö <martin@martin.st>
Conflicts:
configure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This reverts commit ba53720280.
A better implementation has been commited by the same author to qatar
Conflicts:
configure
Found-by: jamal <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Make internal small_strptime() function public, and use it in place of
strptime().
This allows to avoid a dependency on strptime() on systems which do not
support it.
In particular, fix trac ticket #992.
This disables the following warnings:
C4100: unreferenced formal parameter
(1035 occurrances)
C4214: nonstandard extension used : bit field types other than int
(609 occurances)
C4996: 'avpriv_snprintf': This function or variable may be unsafe.
Consider using _snprintf_s instead. To disable deprecation,
use _CRT_SECURE_NO_WARNINGS. See online help for details.
(351 occurrances)
Signed-off-by: Martin Storsjö <martin@martin.st>