MSVC 2010 (or more precisely, Windows SDK 7.0 which comes with MSVC
2010) sets _WIN32_WINNT to the constant for Windows 7 if nothing is
set. This could lead to the libav configure script detecting and
using functions only present in Windows 7 or newer, which in most
cases isn't desired. If the caller explicitly wants this, the caller
can add the _WIN32_WINNT define via --extra-cflags, setting the desired
version.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '8e673efc6f5b7a095557664660305148f2788d30':
prores: update FATE test to account for alpha plane present in the test sample
configure: Add basic valgrind-massif support
Conflicts:
tests/fate/prores.mak
tests/ref/fate/prores-alpha
Merged-by: Michael Niedermayer <michaelni@gmx.at>
With the parameter --toolchain valgrind-massif, the configure
script sets reasonable defaults that can be overridden as explained
in the documentation.
* qatar/master:
configure: Use linker hardening flags on mingw
vc1: Make INIT_LUT() self contained
vc1: Simplify code by using INIT_LUT()
vc1: Move INIT_LUT() further up to allow using it in more places
vc1dec: Remove some now unused variables
vc1dec: Do not allow field_mode to change after the first header
vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_header
vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma()
vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma()
vc1dec: Factorize picture pointer selection code
vc1dec: Factorize srcU/V offseting
vc1dec: Fix tff == 0 handling in init_block_index()
vc1dec: Update destination pointers in context for fields
Conflicts:
libavcodec/vc1.c
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This makes it consistent with the msvc builds which automatically set
the DEP and ASLR flags by default. There really is no good reason why
they shouldn't be set.
The fact that binutils does not set them on by default boggles the mind.
Signed-off-by: Martin Storsjö <martin@martin.st>
If this is explicitly disabled for win32/mingw, it should also
be disabled for cygwin, for consistency and for the same reasons
as for win32/mingw.
Signed-off-by: Martin Storsjö <martin@martin.st>
These platforms do not have any notion of PIC. On some compilers,
enabling pic produces a number of warnings.
This avoids trying to produce PIC loads in the ARM assembly - there
are no relocation types in PE/COFF that correspond to
BFD_RELOC_32_PCREL (R_ARM_REL32 in ELF).
As a side-effect, this avoids enabling PIC on mingw64, getting rid
of the warnings about PIC not having any effect on that platform.
Signed-off-by: Martin Storsjö <martin@martin.st>
This allows it to be overridden, either by the user on the command
line, or by other sections of the configure script.
Signed-off-by: Martin Storsjö <martin@martin.st>
When targeting the "windows store application" (metro) API subset
(or the windows phone API subset), the getenv function isn't
available. If it is unavailable, just define getenv to NULL.
The check uses check_func_headers, since the function actually
might exist in the libraries, but is hidden in the headers.
The fallback is in config.h since msvc can't do -D defines with
parameters on the command line, and it's used both within the
libraries and the frontend applications (so a libavutil internal
header wouldn't be enough).
Signed-off-by: Martin Storsjö <martin@martin.st>
With the parameter --valgrind-memcheck, the configure script sets
reasonable defaults that can be overridden as explained in the
documentation.
The idea of using set_defaults is from Luca Barbato.
* qatar/master:
compat: msvc: Make sure the object files are included when linking statically
id3v2: check for end of file while unescaping tags
Conflicts:
configure
libavformat/id3v2.c
Note, ffmpeg is not affected by the out of buffer write bug
Merged-by: Michael Niedermayer <michaelni@gmx.at>
If building libav with -MD in the cflags (for making the MSVC compiler
generate code for using a dynamically linked libc), the system headers
that declare strtod, snprintf and vsnprintf declare the functions as
imported from a DLL. To hook up wrappers of our own for these functions,
the function names are defined to avpriv_*, so that the calling code
within libav calls the wrappers instead. Since these functions
are declared to be imported from DLLs, the calling code expects to
load them from DLL import function pointers (creating references to
_imp__avpriv_strtod instead of directly to avpriv_strtod). If the
libav libraries are not built as DLLs, no such function pointers (as
the calling code expects) are created.
The linker can fix this up automatically in some cases (producing
warnings LNK4217 and LNK4049), if the object files are already
included. By telling the linker to try to include those symbols
(without the _imp prefix as the calling code ends up using),
we get the object files included, so that the linker can do the
automatic fixup. This is done via config.h, so that all (or at least
most) of the object files in our libraries force including the compat
files, to make sure they are included regardless of what files from our
static libraries actually are included.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'ffb068ce8e99df121d18a5b9b1d820f3ea8697fb':
configure: Don't do enable_deep_weak on disabled variables
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4d810ad2e943a59658ddf00a397121c2b62f7157':
configure: Use a different variable name in push/popvar
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This avoids cases where configure tries to weakly enable an item
which actually is disabled, ending up still enabling dependencies
of the item which itself is only enabled weakly.
More concretely, the h264 decoder suggests error resilience, which
is then enabled weakly (unless manually disabled). Previously,
dsputil, which is a dependency of error resilience, was enabled
even if error resilience wasn't enabled in the end.
Signed-off-by: Martin Storsjö <martin@martin.st>
The variable name 'var' is commonly used to iterate through arguments
in other functions. When the pushvar function internally uses the
variable 'var', it makes pushing/popping the variable 'var' not
work as intended.
Signed-off-by: Martin Storsjö <martin@martin.st>
vidstabdetect and vidstabtransform common functions for interfacing
vid.stab are in libavfilter/vidstabutils.c
Signed-off-by: Georg Martius <martius@mis.mpg.de>
* commit '28bc406c84b04a5f1458b90ff52ddbec73e46202':
mjpeg: Use hpeldsp instead of dsputil for half-pel functions
svq1enc: Use hpeldsp instead of dsputil for half-pel functions
Conflicts:
configure
libavcodec/mjpegdec.c
libavcodec/svq1enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129':
svq3: Use hpeldsp instead of dsputil for half-pel functions
mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
svq1: Use hpeldsp instead of dsputil for half-pel functions
mimic: Use hpeldsp instead of dsputil for half-pel functions
Conflicts:
configure
libavcodec/motion_est.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The next commit will introduce a proper decimation filter to be used
along with the field matching filter. To avoid confusion with this
filter which has currently a very limited usage (and will not work
properly with the fieldmatching filter), the new decimation filter will
take the decimate name, and this filter is renamed to mpdecimate.
* qatar/master:
FATE: add a test for the interlace filter
lavfi: new interlace filter
Conflicts:
Changelog
configure
doc/filters.texi
libavfilter/Makefile
libavfilter/allfilters.c
tests/fate/filter.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
* commit 'fc43c19a567aa945398dccb491d972c11ec2a065':
matroska: Update the available size after lace parsing
clang: use -fsantize=address and -fsanitize=thread
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '817dff578f13ce97576c609ab141508b9dc782e9':
configure: Check for the atomic.h functions used in the suncc atomics header
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The "suncc" atomics implementation uses a suncc specific memory
barrier, but also relies on a few atomic functions from atomic.h,
that are not suncc specific but specific to solaris. This made
the current implementation fail on suncc on linux.
* commit 'e9cc98839574c7e8d546e890ebbf57d1766e5d8a':
win32: Allow other programs to open the same files
configure: Add error_resilience as dependency to the eatqi decoder
Conflicts:
configure
libavformat/os_support.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd767e2f969933b4e450ed4e69ea2bf8ca864838c':
configure: fix dependencies of XvMC and old vdpau mpeg2 decoders
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This makes standalone compilation of the eatqi decoder
succeed. The dependency comes from the shared mpeg12dec.o file.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
h264: Make it possible to compile without error_resilience
Conflicts:
configure
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Error resilience is enabled by the h264 decoder, unless explicitly
disabled. --disable-everything --enable-decoder=h264 will produce
a h264 decoder with error resilience enabled, while
--disable-everything --enable-decoder=h264 --disable-error-resilience
will produce a h264 decoder with error resilience disabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
This allows dropping the mpegvideo dependency from a number of
components.
This also fixes standalone building of the h264 parser, which
was broken in 64e438697.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
configure: Enable hwaccels without external dependencies by default.
doc/developer: Clarify symbol naming prefixes section.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Dynamically loads the library itself, rather than through VfW.
Supports AvxSynth on Linux and OS X.
Supports the new colorspaces added in AviSynth 2.6 when used
with AviSynth 2.6.
Only compile if CONFIG_ENCODERS is enabled, i.e. if at least one
encoder is to be compiled. This prevents it from being includes in
a decoder-only build.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2eaa3663fda750dac66d41fe8541a8744d5563a4':
avplay: enable only when SDL 1.2 is found
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Not all gcc configurations have an implementation of all the atomic
operations, and some gcc configurations have some atomic builtins
implemented but not all.
Thus check for the most essential function, whose presence should
indicate that all others are present as well, since it can be used
to implement all the other ones.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '65f1d45dcc71186ede72fff950996099d23359bd':
lavu: add support for atomic operations.
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4be368b504c6f4a03051448728fc62cd0ed506b2':
avstring: Fix isxdigit to not accept non-hex characters
configure: Add missing videodsp dependencies to some decoders
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51':
configure: Add missing h264chroma dependencies to vp5, vp6
Add missing error_resilience includes to files that use ER
Conflicts:
configure
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Not all gcc configurations have an implementation of all the atomic
operations, and some gcc configurations have some atomic builtins
implemented but not all.
Thus check for the most essential function, whose presence should
indicate that all others are present as well, since it can be used
to implement all the other ones.
Signed-off-by: Martin Storsjö <martin@martin.st>
These could be used for reference counting, or for keeping track of
decoding progress in references in multithreaded decoders.
Support is provided by gcc/msvc/suncc intrinsics, with a fallback using
pthread mutexes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This makes the decoder independent of mpegvideo.
This copy of the draw_horiz_band code is simplified compared to
the "generic" mpegvideo one which still has a number of special
cases for different codecs.
Signed-off-by: Martin Storsjö <martin@martin.st>
This fixes a possible mis-detection of iconv on OS X.
OS X with macports often has two version of libiconv.2.dylib
installed, one with symbols like "_iconv_open" and one with
"_libiconv_open", so test for iconv with all flags to make
sure the detection uses the same library as the actual
compilation / linking.
Tested-by: Paul Sturbaum
* commit '813b82b927b19532e3bc3397b972c8a27b9f6326':
configure: Fix silly typo in logging command of check_struct()
fate: remove last incomplete frame from mpeg2-field-enc test
Conflicts:
tests/fate/video.mak
tests/ref/fate/mpeg2-field-enc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* cehoyos/master:
buildsys: only include log2_tab per library for shared builds
Add h264chroma dependency for cavs decoder to configure.
Add h264qpel dependency for snow codec to configure.
Add h264chroma dependency for vp5 and vp6 decoder to configure.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
It seems to break a lot on MacOS because of a mixup between multiple
iconv libraries. The issue is that the configure check link with no
particular library path (so it uses /usr/lib/libiconv.dylib where all
the symbols are defined). OTOH, the final build might link with extra
library paths, such as the ports lib directory (typically you get
-L/opt/local/lib because of an extra library such as SDL). Whatever this
option position (before or after -liconv), it will try to link with
/opt/local/lib/libiconv.dylib, and the issue is that this version has
the same symbols as the ones in /usr/lib/libiconv.dylib except that they
all start with 'lib' (libiconv_open, libiconv_close, ...). I don't plan
to try to workaround this mess, so any better solution is welcome.
* commit 'e951b6d94c441d46b396ef12da1428297d77251d':
vorbisdec: cosmetics: rename variable avccontext to avctx
configure: Identify icc compiler with a less ambiguous pattern
Conflicts:
libavcodec/vorbisdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b58b00aeca21de00ab6da2944684f784d9d6bc47':
configure: Separate "ln" command line arguments
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3fc09b0081184f26edbb62d2d72ae89bf9e21768':
configure: Move list of external libs to a separate variable
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '45235ac488363e3360bf2f2275102d1ec66eba0f':
configure: Move x11grab option to a more suitable place in the help output
lavr: allow setting internal_sample_fmt option by string
lavr: Add "resample_cutoff" option as a duplicate of "cutoff"
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
If you want it back (yeah i want it back too)
then you just need to volunteer to maintain the code in configure
thats related to hwaccel autodetection.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0a8da1a3e5f0b9329dfb89d17356ff5444c02351':
configure: Do not redundantly list enabled hwaccel libs
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7432e872066d6960a9fbd31c51a94ebe6183389e':
configure: Add print_3_columns helper function and use where appropriate
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '4db96649ca700db563d9da4ebe70bf9fc4c7a6ba':
avutil: Ensure that emms_c is always defined, even on non-x86
configure: Move MinGW CPPFLAGS setting to libc section, where it belongs
avutil: Move emms code to x86-specific header
Conflicts:
configure
libavutil/internal.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '56dea32f09e71460add14a1b6d0fbe6eb16f02a4':
doc: developer: Fix wording in "naming conventions" section
openbsd: Add minor number to shared library install name
Conflicts:
doc/developer.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '304b806cb524fb040f8e09a241040f1af2cb820b':
build: Make library minor version visible in the Makefile
x86: mpeg4qpel: Make movsxifnidn do the right thing
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '620289a20e022b9c16c10d546ef86cc0bb77cc84':
sh4: Fix silly type vs. variable name search and replace typo
configure: Group all hwaccels together in a separate variable
Add av_cold attributes to arch-specific init functions
Conflicts:
configure
libavcodec/arm/mpegvideo_armv5te.c
libavcodec/x86/mlpdsp.c
libavcodec/x86/motion_est.c
libavcodec/x86/mpegvideoenc.c
libavcodec/x86/videodsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp
configure: Add a comment indicating why uclibc is checked before glibc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
On Cygwin systems MinGW headers can be present if the corresponding
packages have been installed. Since the MinGW libc is checked for
first, this results in newlib getting misdetected as MinGW libc.
* commit '2c10e2a2f62477efaef5b641974594f7df4ca339':
build: Make the H.264 parser select h264qpel
x86: h264qpel: add cpu flag checks for init function
Conflicts:
libavcodec/x86/h264_qpel.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Previously PIC was enabled as a magic workaround for binaries that
built fine, but failed to function at all. This problem no longer
exists, possibly since the introduction of symbol versioning.
The function is known to be missing in at least one target (MSVC).
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Barcelona/amdfam10 does not support SSE4 instructions.
Also, Bulldozer supports AVX instructions, so use them instead.
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ef5d41a5534b65f03d02f2e11a503ab8416bfc3b':
x86inc: Rename "program_name" to "private_prefix"
configure: Run SHFLAGS through ldflags_filter()
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
These flags are as linker-specific as other LDFLAGS and thus
need to be translated to the correct linker syntax.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
icc should not complain when 2 enum values are combined (for example when
used as flags)
Adding casts to suppress these would not help code quality
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0eecafc948b74c247ebbc59f18f508db5d590d0b':
configure: Make the new srtp protocol depend on the rtp protocol
lavf: Add a fate test for the SRTP functions
lavu: Add a fate test for the HMAC API
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd8c772de53d29afb1bada88afa859fce8489c668':
nutdec: Always return a value from nut_read_timestamp()
configure: Make warnings from -Wreturn-type fatal errors
x86: ABS2: port to cpuflags
vdpau: Remove av_unused attribute from function declaration
h264: fix ff_generate_sliding_window_mmcos() prototype.
Conflicts:
configure
libavformat/nutdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5e753ed502d3597077d8675ca1438e1bcade1459':
suncc: Replace more GCC flags by their equivalents in suncc_flags()
libtheoraenc: fix granularity of video quality
oggparsetheora: fix comment header parsing
h264: don't clobber mmco opcode tables for non-first slice headers.
Conflicts:
libavcodec/h264_refs.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df':
libvpx: make vp8 and vp9 selectable
libvpx: support vp9
nut: support vp9 tag
mkv: support vp9 tag
rtpdec: Make variables that should wrap unsigned
Conflicts:
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: enable pic for shared libs on AArch64
zmbv: Reset the decoder on keyframe errors
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is a port of virtual dub's histogram equalization filter by Donald
A. Graft. Based on the work by Jérémy Tran <tran.jeremy.av@gmail.com>,
done for SOCIS 2012.
This is a port of the kerndeint filter (libmpcodecs/vf_kerndeint) by
Donal A. Graft (original avisynth plugin author), and is based on the
work by Jérémy Tran <tran.jeremy.av@gmail.com> done for SOCIS 2012.
Also fixes linking in various configs with only individual parts enabled
because the RTP muxer chaining code depends on the general RTP code,
which is now accounted for.
Ported from MPlayer. Original author is A'rpi, with various
contributions from Michael Niedermayer. The original documentation was
mostly written by Diego Biurrun. See the MPlayer history for full
credits.
The filter is under GPL like the original filter, even if it differs
quite a lot. There is not much point in making it LGPL since pp is under
GPL.
Beginning with version 1.5.1 openjpeg defaults to install its headers to
/usr/include/openjpeg-${major}.${minor} instead of /usr/include without
providing a compatibility symlink making the old test fail.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* qatar/master:
configure: formatting cosmetics
h264: use mbaff ref indices in fill_colmap() only for mbaff references
Conflicts:
libavcodec/h264_direct.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b8f3ab8e6a7ce3627764da53b809628c828d4047':
ac3dec: output planar float only
svq3: make slice type value unsigned to match svq3_get_ue_golomb return type
configure: Have protocols select network code instead of depending on it
Conflicts:
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This fixes the automatic use of $foo_extralibs when feature foo
is enabled indirectly through a _select or _suggest.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This fixes the automatic use of $foo_extralibs when feature foo
is enabled indirectly through a _select or _suggest.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit '096abfa15052977eed93f0b5e01afd2d47c53c1f':
parser: fix large overreads
bitstream: add get_bits64() to support reading more than 32 bits at once
arm: detect cpu features at runtime on Linux
Conflicts:
libavcodec/parser.c
libavformat/mpegts.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7f2b3dcabd108926bde819ad574017f4161d1546':
configure: arm: check inline and external asm support for extensions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575':
configure: add check_insn function
configure: clean up check_inline_asm and check_as functions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f0fe245bc31cf4fa3b3ed0240cd1ab6f0d5043ea':
configure: arm: set fast_clz and fast_unaligned in cpuflags section
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9ebd45c2d58ad9241ad09718679f0cf7fb57da52':
configure: do not bypass cpuflags section if --cpu not given
dct-test: arm: indicate required cpu features for optimised funcs
snow: fix build after 594d4d5df3
arm: fix use of uninitialised value in ff_fft_fixed_init_arm()
avpicture: Don't assume a valid pix fmt in avpicture_get_size
Conflicts:
libavcodec/avpicture.c
libavcodec/snow.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is consistent with usual ARM nomenclature as well as with the
VFPV3 and NEON symbols which both lack the ARM prefix.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This allows compiling optimised functions for features not enabled
in the core build and selecting these at runtime if the system has
the necessary support.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This tests instruction set support in both inline and external asm.
If both fail, the base config option is disabled.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The check_insn function tests an instruction in both inline asm and
standalone assembly, and sets _external/_inline config properties
accordingly.
Signed-off-by: Mans Rullgard <mans@mansr.com>
These are properties of the targeted core and do not depend on
specific assembly support in the toolchain which if missing will
render the controlling options here disabled.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Probe for the toolchain default architecture version if no --cpu flag
is present or an unknown cpu is specified. Works with gcc, clang and
armcc.
This allows configuring based on the arch version even if it is not
explicitly specified to configure. It also causes an explicit -march
flag to be added to CFLAGS and ASFLAGS, which in turn lets us do
proper instruction set tests with the assembler.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This will allow arch-specific ways of determining the target
variant when none is specified on the command line.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The check_inline_asm function should check the actual C compiler,
not the one used for assembly files. Usually these are the same,
but they might be different, typically when using a compiler other
than gcc.
The check_as should, as its name suggests, test the type of input
the AS command is used with, i.e. a standalond assembly (.S) file.
Finally, check for gnu assembler using the modified check_as as
this reflects actual usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
ppc: always use pic for shared libraries
build: cosmetics: Move CONFIG_RTPDEC entry to a more suitable place
fate: ea, h264: prettyprinting and ordering cosmetics
Conflicts:
tests/fate/ea.mak
tests/fate/h264.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The detection detects the default but not if it even works.
Check building a simple piece of code and disable thumb if it fails
This fixes a compile failure
If someone has a better idea, just replace this by it!
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Strip ordinals from mingw generated def files
configure: arm: detect default thumb state of compiler
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The def files are used for generating import libraries for
other toolchains (in particular, for generating import libraries
for MSVC for DLLs built with mingw).
The def files produced by mingw/gcc contains ordinals for each
exported function. When MSVC tools generate import libraries
from such a def file, MSVC links to the DLL by the ordinals
instead of linking by name.
Since the def files aren't maintained by hand, the ordinal
numbers are assigned (more or less) randomly and any caller
linking to the libs by ordinals will break as soon as the libraries
export more/fewer functions.
Therefore, strip out the ordinals from the generated def files,
to make users link to the libraries by name.
Callers linking to the DLLs using the gcc provided import library
link by name as they should.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
fate: fft: Fix libavcodec dependency
build: Make the ISMV muxer select the MOV muxer
configure: move arm arch extensions to a separate variable
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Use headers in the check for _beginthreadex for w32threads
avutil: Use a configure check to enable windows console functions
avutil: Include io.h with a separate condition from windows console functions
Conflicts:
libavutil/log.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
When targeting the metro API subset, this function still exists in
the link libraries, but is excluded from the headers. This makes
sure w32threads is automatically disabled when targeting this API
subset (since not all the necessary functions for it are available).
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
avutil: Include io.h with a separate condition from MapViewOfFile
cmdutils: Use a configure check for enabling CommandLineToArgvW
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This simplifies the condition to avoid hardcoding the systems
where the function exists. This also simplifies support for
newer Windows API subsets where this function doesn't exist,
such as Windows Phone 8 and the "metro" API subset of Windows 8.
Signed-off-by: Martin Storsjö <martin@martin.st>
This makes sure minimal configurations such as
"--disable-everything --enable-avconv" will enable the filters
necessary for running avconv, instead of just keeping avconv
disabled (even if the user specified "--enable-avconv").
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '3c370f5abc55739a261534b9f9bdc739cedbbbb9':
riff: only warn on a bad INFO chunk code size instead of failing
configure: Add separate list for libraries and use where appropriate
x86: float_dsp: add SSE version of vector_fmul_scalar()
Conflicts:
configure
libavformat/riff.c
libavutil/x86/float_dsp.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
GCC does not appear to have a -march= string for Westmere, which is a
bit surprising as it has a few more instructions than a Nehalem, but
a few less than a Sandy Bridge.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
This is useful for debugging. Dependencies for these files are not
generated due to limitations in many compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit '1c5805521c3e406886341d752ebf38f8d41e1d13':
PGS subtitles: Set AVSubtitle pts value
configure: Refactor CPPFLAGS settings for glibc/uclibc
configure: add basic support for ARM AArch64
build: set -U__STRICT_ANSI__ for newlib
Conflicts:
configure
libavcodec/pgssubdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
x86: lavr: fix stack allocation for 7 and 8 channel downmixing on x86-32
lavr: fix the decision for writing directly to the output buffer
parisc: work around bug in gcc 4.3 and later
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is (erroneously) required to enable various things in the
newlib headers. As cygwin uses newlib, it is covered by this.
Signed-off-by: Mans Rullgard <mans@mansr.com>
A bug in tail call optimisation in gcc 4.3 and later on parisc causes
numerous tests to fail. Disabling this optimisation gives a working
build. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55023
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit 'bf5f46b4cc47b7a4568119f224057d4ff91b6cdd':
APIChanges: add entry for av_read_packet deprecation
mxfdec: fix typo in mxf_read_seek()
avserver: use freopen to redirect stdin/out/err to /dev/null
avserver: remove daemon mode
configure: Check for -Werror parameters on clang
doxygen: remove obsolete options from Doxyfile
configure: Add option to disable all command line programs
Conflicts:
Changelog
configure
doc/APIchanges
doc/ffserver.conf
doc/ffserver.texi
ffserver.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3b4296f41473a5b39e84d7a49d480624c9c60040':
avformat: clarify stream id for muxing
fate: Add dependencies for aac, alac, amrnb, amrwb, atrac tests
ppc: do not pass redundant compiler flags
avutil: change GET_UTF8 to not use av_log2()
segment: fix NULL pointer dereference in seg_write_header()
Conflicts:
tests/fate/aac.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The -mpowerpc64 and -mpowerpc-gfxopt flags are implicitly set by
-mcpu as needed. Passing them explicitly is redundant and can
conflict with user-supplied flags.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit 'ef1b23ad21e3f12fc4ff2a73a6d4d4cd9d630c4b': (21 commits)
jvdec: set channel layout
iss: set channel layout
ipmovie: set channel layout
iff: set channel layout
idroqdec: set channel layout
gxfdec: set channel layout when applicable
gsmdec: set channel layout
flvdec: set channel layout
dv: set channel layout
dsicin: set channel layout
daud: set channel layout
cdxl: set channel layout
bmv: set channel layout
bink: set channel layout
bfi: set channel layout
bethsoftvid: set channel layout
apc: set channel layout
amr: set channel_layout
ppc: replace pointer casting with AV_COPY32
ppc: fix some unused variable warnings
...
Conflicts:
libavformat/amr.c
libavformat/iff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
All modern assemblers have this capability. Older NASM versions
that lack the capability produce code that crashes at runtime,
so it's better to error out during the build process instead.
CC: libav-stable@libav.org
Do not quote second argument to filter{,_out} in check_ld. We want to keep/remove all the space-separated words matching the -l* pattern, not keep everything if the whole argument begins with -l and remove it otherwise.
This also fixes errors like:
./configure: eval: line 418: syntax error near unexpected token `-l*'
./configure: eval: line 418: `case in -l*) ;; *) echo ;; esac'
when run with ./configure --enable-openal
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Some awk versions do not treat the result of unary + on a (numeric)
string as numeric, giving wrong results when used in a boolean context
Using unary - instead is logically equivalent works as expected.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
pixfmt: support more yuva formats
swscale: support gray to 9bit and 10bit formats
configure: rewrite print_config() function using awk
FATE: fix (AD)PCM test dependencies broken in e519990
Use ptrdiff_t instead of int for intra pred "stride" function parameter.
x86: use PRED4x4/8x8/8x8L/16x16 macros to declare intrapred prototypes.
Conflicts:
libavcodec/h264pred.c
libavcodec/h264pred_template.c
libavutil/pixfmt.h
libswscale/swscale_unscaled.c
tests/ref/lavfi/pixdesc
tests/ref/lavfi/pixfmts_copy
tests/ref/lavfi/pixfmts_null
tests/ref/lavfi/pixfmts_scale
tests/ref/lavfi/pixfmts_vflip
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8':
dv: use AVStream.index instead of abusing AVStream.id
lavfi: add ashowinfo filter
avcodec: Add a RFC 3389 comfort noise codec
lpc: Add a function for calculating reflection coefficients from samples
lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients
lavr: document upper bound on number of output samples.
lavr: add general API usage doxy
indeo3: remove duplicate capabilities line.
fate: ac3: Add dependencies
Conflicts:
Changelog
doc/filters.texi
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/version.h
libavfilter/Makefile
libavfilter/af_ashowinfo.c
libavfilter/allfilters.c
libavfilter/version.h
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some awk versions do not treat the result of unary + on a (numeric)
string as numeric, giving wrong results when used in a boolean context
Using unary - instead is logically equivalent works as expected.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This isn't too useful as a normal codec, but can be used in
voip style applications. The decoder updates the noise
generator parameters when a packet is given to it for decoding,
but if called with an empty packet, it generates more noise
according to the last parameters.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
configure: fix tests for 2-arg math functions
doc: git-howto: Clarify comment about pushing series of commits
ivi_common: Drop unused function parameter from decode_band()
cook: Remove some silly Doxygen comments
cook: Remove senseless maybe_reformat_buffer32() function
cook: cosmetics: Better names for joint_decode() function parameters
cook: cosmetics: Better name for ccpl COOKSubpacket member
doxygen: Add av_alloc_size to list of predefined macros
doxygen: Drop some pointless entries from PREDEFINED macros list
h263: avoid memcpys over array bound in motion vector caching for obmc
Conflicts:
configure
doc/git-howto.texi
libavcodec/cook.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>