This moves setting the thread count to a minimum of 1 to
frame_thread_init(), allowing a value of zero to propagate
through to the codec if frame threading is not used. This
makes auto-threads work in libx264.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Although not documented, clang does support the --sysroot flag, and it
does the right thing. Use this flag intead of -isysroot which only
applies to header file searches, not the linker.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The assembler emits literal pools too far from the load instructions,
so we must do it explicitly at a suitable location.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Use the FATE_SAMPLES environment variable if samples location
is not set with the --samples configure option or on the make
command line.
Signed-off-by: Mans Rullgard <mans@mansr.com>
GCC 4.3 and later are more particular about signedness matching
in vector operations. The operations under if(rangered) were
missing assignments and thus had no effect.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This ensures the tools are rebuilt when necessary. Specifically,
lavfi-showfiltfmts was sometimes not rebuilt causing spurious test
failures.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This allows the CPU detection to work with assemblers not supporting
the xgetbv mnemonic. These include clang and some BSD versions.
All AVX code will be written for yasm, where the main assembler
is not involved.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The colon operator of expr always anchors the pattern at the start
of the string. An explicit ^ in the pattern has unspecified
behaviour, so remove it.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This makes the cc_ident value, which is used in FATE reports, include
all interesting parts of the gcc version string.
Signed-off-by: Mans Rullgard <mans@mansr.com>
When built with gcc 4.6, the MMX rgb24 to yuv conversion gives
wrong output. The compiler produces this warning:
libswscale/swscale_template.c:1885:5: warning: use of memory input without lvalue in asm operand 4 is deprecated
Changing the memory operand to a register makes it work.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The early disabling of irrelevant arch extensions is no longer
required, and removing it makes dependencies involving these
work as expected.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The avcodec_thread_free() compatibility wrapper calls ff_thread_free(),
which is not defined when threading is disabled. Make this call
conditional.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This makes "make documentation" build the man/html pages only for
the tools enabled in the build. It also fixes the dependency
tracking for the built man pages.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This moves the fields needed by asm near the top, before any
structs or other members which complicate the offset calculation.
Modifying other structs will no longer require updating the offsets,
and the asm code is slightly simpler due to the smaller offsets.
Signed-off-by: Mans Rullgard <mans@mansr.com>
poll() is only used by networking code, so the fallback should
only be built if networking is enabled. Also remove CONFIG_FFSERVER
condition from the declarations.
This should fix building on systems without poll(), broken
by a8475bbdb6.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Dragonfly, NetBSD, and OpenBSD do not support symbol versioning
although our link test passes. Disable it explicitly for these
systems.
Signed-off-by: Mans Rullgard <mans@mansr.com>
With the removal of the libmpeg2 bitstream reader, MIN_CACHE_BITS
is always >= 25, so tests against smaller values can be removed.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Some of the macros in get_bits.h include a final semicolon,
some do not. This removes these or adds do {} while(0) around
the macros as appropriate and adds semicolons where needed in
calling code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Using the libmpeg2 reader causes errors in a multitude of places,
including MPEG and H264 codecs. As the advantage of this reader
is questionable, removing it seems the sensible course of action,
especially considering the simplifications this allows elsewhere
with the bit cache size increasing from 17 to 25 bits as minimum.
Signed-off-by: Mans Rullgard <mans@mansr.com>
C99 variadic macros require more arguments than there are named
parameters in the definition. This means we must use an extra
indirection to avoid having two different macros for arrays with
one resp more than one dimension.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Instead of saving huge raw files, use the md5: output pseudo-protocol
to calculate the checksum of the file directly. This is especially
useful when testing on remote targets as it avoids transferring 3.6GB
over the network.
Some variants of mktemp require a template, so provide one when
checking for the command. We already supply a template in the
subsequent uses of mktemp.
Thanks to Michael Kostylev.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This does the same thing and also fixes the trapping in
some (possibly broken) shells.
Suggested by Michael Kostylev.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Recent gcc versions define __ARM_PCS or __ARM_PCS_VFP to indicate the
VFP ABI in use, and ARM RVCT defines __SOFTFP__ when using this ABI.
If none of these are defined, check $cross_prefix and $cc for the
substring "hardfloat", and finally fall back to a linker test. This
gives the correct result in most configurations.
Some linkers fail if this flag is used when creating an executable file.
Since the flag is meaningful only for shared libraries, dropping it from
the main link flags is correct.
This prevents gcc inserting useless UXTH instructions, at least
in some cases.
Originally committed as revision 25212 to svn://svn.ffmpeg.org/ffmpeg/trunk