* commit 'f46bb608d9d76c543e4929dc8cffe36b84bd789e':
dsputil: Split off pixel block routines into their own context
Conflicts:
configure
libavcodec/dsputil.c
libavcodec/mpegvideo_enc.c
libavcodec/pixblockdsp_template.c
libavcodec/x86/dsputilenc.asm
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f6ee61fb05482c617f5deee29a190d8ff483b3d1':
lavc: export DV profile API used by muxer/demuxer as public
Conflicts:
configure
doc/APIchanges
libavcodec/Makefile
libavcodec/dv_profile.c
libavcodec/dv_profile.h
libavcodec/version.h
libavformat/dvenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'adcb8392c9b185fd8a91a95fa256d15ab1432a30':
mjpeg: Split off bits shared by MJPEG and LJPEG encoders
Conflicts:
libavcodec/mjpegenc.c
libavcodec/mjpegenc.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Linear interpolation goes from 63 (llvm) or 58 (gcc) to 48 (yasm)
cycles/sample on 64bit, or from 66 (llvm/gcc) to 52 (yasm) cycles/
sample on 32bit. Bon-linear goes from 43 (llvm) or 38 (gcc) to
32 (yasm) cycles/sample on 64bit, or from 46 (llvm) or 44 (gcc) to
38 (yasm) cycles/sample on 32bit (all testing on OSX 10.9.2, llvm
5.1 and gcc 4.8/9).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7b9ef8d701c319c26f7d0664fe977e176764c74e':
mpeg: Split error resilience bits off into a separate file
Conflicts:
configure
libavcodec/Makefile
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '463a7cde563fd805864c48a76dd1b03fc24671ed':
Differentiate assembler and assembly in documentation and comments
Conflicts:
configure
doc/platform.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'fbf4d2197f35bddccec00ad53185ee4ab81778a0':
build: Record explicit dependency of intrax8 on error resilience
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c54e118722cbbdc04945538d1796d4472a1ff406':
build: Have the eatqi decoder depend on the MPEG-1 decoder
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9a9e2f1c8aa4539a261625145e5c1f46a8106ac2':
dsputil: Split audio operations off into a separate context
Conflicts:
configure
libavcodec/takdec.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil.asm
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The minimum Yasm/NASM version required to compile ffmpeg supports both
instruction sets
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '852c329a69ddfd635807f60454df07d021c64901':
configure: Drop duplicate pkg-config entry from help output
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
* commit '83aa4fc3feec7389ac781fece1e994f2dfd7ebdb':
configure: Directly support Android as target OS
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7b06ddb8352fe7f434414d7911ced94956bb25b2':
configure: use .altmacro for gnu as check on arm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Clang's integrated assembler (after 3.4) does not yet support the
'.altmacro' directive which is only used in arm asm. Support is planned:
http://llvm.org/bugs/show_bug.cgi?id=18918
* commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412':
build: check if AS supports the '.func' directive
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Move the GNU as check before the arch specific asm checks since the .dn
check requires gas compatible assembler.
Disable the VC-1 motion compensation NEON asm which is the only part
using that directive. The integrated assembler in the upcoming clang 3.5
does not support .dn/.qn without plans to change that. Too much effort
to implement it while it is rarely used.
http://llvm.org/bugs/show_bug.cgi?id=18199.
* commit '512f3ffe9b4bb86767c2b1176554407c75fe1a5c':
dsputil: Split off HuffYUV encoding bits into their own context
Conflicts:
configure
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/huffyuv.h
libavcodec/huffyuvenc.c
libavcodec/pngenc.c
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
In the configure script, add a pthread detection with
-ldl added to cflags, because uClibc requires -ldl to
link with native libpthread.
Tested with a custom ARM toolchain with uClibc 0.9.33.2 and gcc 4.6.3.
Signed-off-by: Neil Armstrong <narmstrong@neotion.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
with -f lavfi -i testsrc=s=hd1080 as source:
rotate=90*PI/180 vs transpose=clock: 42fps -> 64fps
rotate=180*PI/180 vs vflip,hflip: 75fps -> 77fps
rotate=270*PI/180 vs transpose=cclock: 43fps -> 63fps
Clang Undefined Behaviour Sanitizer seems to make non-constant constant
expressions, making the compilation fail when they are used within
inline assembly if no optimization is requested.
Add -O1 to the cflags to hide the misbehaviour.
Bug-Id: 683
This also fixes linking failures in doc/examples which where apparently
caused by the linking order between avcodec and avresample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222':
lavc: add a native Opus decoder.
Conflicts:
Changelog
configure
libavcodec/version.h
Fate tests pass with both avresample as well as swresample based opus decoder, but
are disabled (reference files are very large so i want to think a day or 2 about
if theres an alternative or if they could be avoided, they also dont match the
official samples)
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.
Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.
Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
It leverages the new hwaccel 1.2 features:
- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Add new -march values for Intel CPUs (introduced with GCC 4.9.x), add support
for the missing AMD btver* CPUs, and improve SunCC flags accordingly.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
It's been deprecated since ffmpeg 2.0
Signed-off-by: James Almer <jamrial@gmail.com>
Analysis of the usage of the switches by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Allow the configure tool to call the gas-preprocessor with an absolute
path when included with either the "--as" or with a separate "--gas"
option. The patch is backward compatible and will not break any current
configuration setups.
The new behavior that comes with this option can be utilized in the
following ways:
Examples:
- Just as single option that includes both the gas-preprocessor.pl and
cc/as at the same time:
$ configure --as="/opt/app/build-tools/gas-preprocessor.pl \
/Applications/Xcode.app/.../Developer/usr/bin/gcc"
- Call gas-preprocessor with a separate option in conjunction with --as:
$ configure --gas="/opt/app/build-tools/gas-preprocessor.pl" \
--as="/Applications/Xcode.app/.../Developer/usr/bin/gcc"
- Address only the the gas-preprocessor and it will automatically fall
back to as or cc whichever that's defined:
$ configure --gas="/opt/app/build-tools/gas-preprocessor.pl"
- Or if no gas-preprocessor.pl is explicitly defined, it falls back to
the old behaivor.
Some compilers when given -x objective-c will tell that they dont support
that but return success. Using a .m file instead returns proper failure in
that case
This should fix a build failure on freebsd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Further performance improvements and security fixes by
Vittorio Giovara, Luca Barbato and Diego Biurrun.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Would have shown the trailing semi-colon in lavu/log.c that broke detection of
256 colour capable terminals.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Based on original code by Christophe Gisquet in 2010, updated to work
with current ffmpeg APIs.
Supports grabbing a single window or an area of the screen, including
support for multiple monitors (Windows does funky stuff with negative
coordinates here).
I've moved most of the configuration to AVOptions; the input file name
is now only the string "desktop", or "title=<windowname>" to select a
single window. The AVOptions are the same as x11grab where possible.
Code has been added to support a "show_region" mode, like x11grab, which
will draw a rectangle on the screen around the area being captured.
Instead of duplicating code for paletted image handling, I make use of
the GDI API's ability to output DIB (BMP) images, which can be run
through ffmpeg's existing BMP decoder.
Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Additional fixes and enhancements by Vittorio Giovara, Gonzalo Garramuno,
Nicolas George, Paul B Mahol and Michael Niedermayer.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Build 13 has a crucial fix which makes x265_encode_headers work
as its always been documented.
Previous to this, the check was incorrect.
Also allows for use of the repeat headers flag.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Build 13 has a crucial fix which makes x265_encode_headers work
as its always been documented.
Previous to this, the check was incorrect.
Also allows for use of the repeat headers flag.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
The DCBZL instruction is not available for the e500v1 and e500v2
architectures, but may still be recognized by the toolchain, so we
need to explicitly disable it for these architectures.
References: PowerPC™ e500 Core Family Reference Manual (Freescale)
Found-by: Ståle Kristoffersen <staalebk@ifi.uio.no>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* commit '0f0d1d056e1a3ad3db32b7d1a06286b2841e91b1':
configure: Always use -DOPJ_STATIC when checking for openjpeg
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '57f09608e1600d1cf1679885a46f5004d522d68f':
dsputil: Move thirdpel-related bits into their own context
Conflicts:
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7a650caf6436ddfe417bdcb5ce520c96c779af7b':
configure: Split some logical blocks off from HAVE_LIST
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd0adf55c05beaf80420747dded2d1884bff377ec':
configure: Split some logical blocks off from CONFIG_LIST
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '07ea8a7e943ea6a7bdcd736e2fc3ed357dc15c57':
configure: Group and sort function/struct/type checks
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
AVX2 support was introduced in Yasm 1.2.0, and some distros
like Debian still feature version 1.1.0
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b4dd424d96f09f9bafb88e47f37df65dc4529143':
Remove all SPARC architecture optimizations
Conflicts:
Makefile
configure
libavcodec/sparc/dsputil_vis.c
libavcodec/sparc/dsputil_vis.h
libavcodec/sparc/hpeldsp_vis.c
libavcodec/sparc/simple_idct_vis.c
libavcodec/sparc/vis.h
libswscale/sparc/yuv2rgb_vis.c
libswscale/swscale_internal.h
If someone wants to maintain these (or other) SPARC optimizations, please
contact me or ffmpeg-devel.
I am happy to revert this removial if theres someone considering to
maintain this code.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bbb64356cca65d7a2a33f59b2267ee58f28a061a':
build: Record dependency of eatqi decoder on dsputil
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9ecf1b62f37ef9cbdf2d7300a052cd704c4ba731':
build: Drop stray MLP decoder dependency on dsputil
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '88b240646f57a62299c6c4c4d7554f0a80c3a29a':
build: Drop stray mpc8 decoder dependency on dsputil
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b3c6ee199e75bbad2908253f11e871500dd38531':
configure: Group toolchain options together in help output
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The values of {FLT,DBL}_{MAX,MIN} macros on some systems (older musl
libc, some BSD flavours) are not exactly representable, i.e.
(double)DBL_MAX == DBL_MAX is false
This violates (at least some interpretations of) the C99 standard and
breaks code (e.g. in vf_fps) like
double f = DBL_MAX;
[...]
if (f == DBL_MAX) { // f has not been changed yet
[....]
}
* commit 'c708b5403346255ea5adc776645616cc7c61f078':
timer: use mach_absolute_time as high resolution clock on darwin
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Not guaranteed to be in nanosecond resolution. On iOS 7 the duration
of one tick is 125/3 ns which is still more than an order of magnitude
better then microseconds.
Replace decicycles with the neutral UNITS. Decicycles is strange but
tenths of a nanosecond and unspecific "deci"-ticks for mach_absolute_time
is just silly.
* commit 'd48430c367947a64647c6959cf472f2c01778b17':
build: Let the SVQ3 decoder depend on the H.264 decoder
Conflicts:
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '84bf8817206126dab3c9abf6055b593389bcb241':
configure: Split x86 SIMD architecture extensions into separate list
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The SVQ3 decoder reuses large parts of the H.264 decoder so it
makes no sense to enable the former but not the latter.
Also drop unnecessary h263.o object from SVQ3 decoder object list.
The s390 architecture requires shared libraries to be built in PIC mode.
Otherwise applications will get wrong relocations at run-time, leading
to confusing segmentation faults.
CC: libav-stable@libav.org
* commit 'fb3b2f5d923a6e19d80f21eb4e081674bceec810':
configure: Set the thread type after resolving dependencies
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2f02bbcca050936686482453078e83dc25493da0':
build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder
Conflicts:
configure
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '34150be515cd9c43b0b679806b8d01774960af78':
build: Let the iac decoder depend on the imc decoder
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '8e0cf39faf02536dca08f4fe628a66d1ae022fde':
build: Let all MJPEG-related decoders depend on the MJPEG decoder
Conflicts:
configure
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0a36988e48dd581d29e77f768f987738bdf365f0':
build: Let AMV decoder depend on the SP5X decoder
Conflicts:
configure
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
A threading type might be detected originally, but later disabled
if one of its dependencies is unavailable.
This makes sure that the threading support item in the configure
output is right for setups where w32threads are available but
native atomics aren't.
Signed-off-by: Martin Storsjö <martin@martin.st>
These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.
Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.
The decode_hf implementations have following timings:
For x86 Arrandale:
C SSE SSE2 SSE4
win32: 260 162 119 104
win64: 242 N/A 89 72
The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
The current configure fails when static libbluray is compiled with libxml2
support.
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Framerate is now a sane rational instead of an integer, and
inputDepth is changed to what it actually is.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Framerate is now a sane rational instead of an integer, and
inputDepth is changed to what it actually is.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Moving cpunop from the HAVE_LIST to the ARCH_EXT_LIST_X86 has the side
effect of enabling it. The semantics of the check have to be changed
from enable if successful to disable if unsuccessful. This was missing
in 2b0bb69997 causing build errors with
nasm.
This fixes cpunop detection and unbreaks NASM assembly
Signed-off-by: Dave Yeo <daveryeo@telus.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '192ccc5034ad4ac1b5022fc16c1162267add6a0f':
build: The MPEG-4 video parser depends on h263dsp
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '874c751cc5b99cd68932e21c2c3a0d21134207e0':
threads: Check w32threads dependencies at the configure stage
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd261719319a505e1716e8b52fc955bef0503ff96':
configure: do not link libraries against program-specific dependencies
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '60e6cecf9bc7d6a238e6b316da52edcc6d1ef7f8':
configure: avserver does not need $ldl
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '6398d8fd813490fc3900baf8c788f803d8e17b73':
configure: clang: add -Qunused-arguments to as|ld_flags as well
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The DCBZL instruction is not available for the e500v1 and e500v2
architectures, but may still be recognized by the toolchain, so we need to
remove the test for it explicitly for these architectures.
References: PowerPC™ e500 Core Family Reference Manual (Freescale)
Found-by: Ståle Kristoffersen <staalebk@ifi.uio.no>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Enable compilation on machines with an old libfdk-aac.
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
7.1(wide) and 7.1(wide-side) channel layouts are supported in fdk_aac since october 2013 (commit fa3eba1644)
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes dependency file generation with gas-preprocessor.pl and clang.
Flags copied from GCC and tested with Apple's clang from Xcode 5 and
5.1 and clang 3.2, 3.3, 3.4 on Linux.
* commit '8267f9363532b23b3b8b4e27491ee2d412a8aec3':
configure: Set default HOSTCFLAGS/HOSTCPPFLAGS after compiler detection
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* cehoyos/master:
Avoid a possible overflow when reading Nikon avi files.
Add h263dsp dependency to mpeg1video and mpeg2video encoders.
Fix compilation with --disable-hwaccel=mpeg1_xvmc,mpeg2_xvmc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'dc4d726bab59f349d366916ba01df16289e5c81f':
build: Add separate hidden config option for the intrax8 code
Conflicts:
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
NEON and VFP are currently mandatory for all ARMv8 profiles. Both are
handled as extensions as far as cpuflags are concerned. This is
consistent with handling x86_64 which always has SSE2, but still
handles it as an extension.
Stack is always 16 byte aligned and clz, 64bit operations and unaligned
memory access are fast in aarch64 mode on ARMv8.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* qatar/master:
arm: Add an option for making sure NEON registers aren't clobbered
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9409c9bdbfd829353473ee6cc3e91c726481c069':
configure: Disable networking if winsock2.h is available but winsock functions aren't
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Previously, if neither of the checks for the closesocket function
succeeded, we still kept winsock2.h and networking in general
enabled.
When targeting the WinRT API subset, the winsock2.h header is
available (making the check for it succeed, giving the impression
that winsock is available), but tests that actually try to use
such a function will fail. In this case, disable the winsock2.h
feature and networking in general, as if the winsock2.h header
test would have failed in the first place.
Signed-off-by: Martin Storsjö <martin@martin.st>
New versions of FreeType have moved the location of their API
header(s) and hide the location behind a macro.
Since the location changes between versions and no other way
to know the location exists, this workaround becomes necessary.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
In particular the mutex initialization for example won't actually
compile with e.g. gcc 2.95.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This part of the script doesn't check if git command is available and produce error if not.
It is 2 years since address changed and it is more reasonable to remove it than fix it.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
this allows seperate installation of shared libs that should not conflict with
whatever is already installed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '8558595a59913a4667f57d5a4658b1340f1a4354':
configure: Express atomics/thread deps through the dependency system
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '11bb5e10c36539bcc303ceaac6f88d9ecb66e07f':
build: Define __printf__ to __gnu_printf__ on MinGW*/gcc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
avoids picking up a library that could produce invalid bitstreams and
fixes build issues with the same.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5db4e88ecd32485341f6150c00f5ee5bfa74f62d':
configure: Detect Solaris libc in an OpenIndiana/illumos compatible way
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some pthreads symbols might be present in libc (as shown on various *BSD)
but not all of them, leading to false positives.
Check for the most common compiler flags before the plain symbol check
to avoid known pitfalls.
* commit '7c3388711b7243d059db39aa04b754baf2156934':
configure: Add -D__USE_MINGW_ANSI_STDIO=1 to CPPFLAGS on MinGW32
Merged-by: Michael Niedermayer <michaelni@gmx.at>
No need to define it twice on mingw-w64 >= v3.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* commit 'c869fcdeac3b7cd71a852b928902daadeca55685':
configure: Move toolchain dependency declarations to a more appropriate place
Merged-by: Michael Niedermayer <michaelni@gmx.at>
It was misplaced during merge of commit 120797e2ef
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Directly loads AviSynth through LoadLibrary instead of relying on
Video for Windows, and supports using AvxSynth (via dlopen) to
open scripts on Linux and OS X.
Error messages from AviSynth/AvxSynth are now reported through
av_log and exit, rather than the traditional behavior of generating
an error video that the user would need to watch to diagnose.
The main rewrite was authored by d s <avxsynth.testing@gmail.com>
from the AvxSynth team, with additional contributions by
Oka Motofumi <chikuzen.mo@gmail.com>
Stephen Hutchinson <qyot27@gmail.com>
Diego Biurrun <diego@biurrun.de>
Anton Khirnov <anton@khirnov.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Include the freetype header, in-directly through a macro, like it
is done in the drawtext filter. Do not break if the header is moved.
Unfortunately the drawtext filter included the file where the include
macros are defined in a wrong way. This is not needed and breaks the
build. Remove that #include line too.
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Replace the inline awk script with a Perl script which tracks the
dependencies recursively.
This allows to correctly track dependencies for files including files
with a second level include (for example: ffmpeg-devices.texi ->
devices.texi -> outdevs.texi).
This also adds a dependency on perl for computing the dependencies, which
should not be a problem since perl is already required all the way for
building documentation.
This is a variant of commit 628ceac652
which was reverted due to out-of-tree build failure.
Originally written by James Almer <jamrial@gmail.com>
With the following contributions by Timothy Gu <timothygu99@gmail.com>
* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.
[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Detect msvcrt libc with a CPP check instead of a link check
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5ec467328122b80fac94c2d5e3e7540d50381868':
configure: Add detected C library and host compiler to informative output
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f058f384a0d76bfd125f4738dceab7c890186432':
configure: Do not use pthread_create to check for pthread
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Certain instrumentation addons leads to a false positive in configure
and link failures at the end of the build phase.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This more closely matches the actual use, also we use plain
strip without these flags for striping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This will check if -wN '..@*' is available and fall back on -x if not;
when none are available, do not run strip at all to prevent removing
functions that might be actually needed.
This reverts commit ca21116b3f.
Revert suggested by Jamal:
"Bad secondary effect i just noticed: Every time version.h is changed
(git pull for example), anything that includes config.h will be
recompiled. And that means pretty much every single file in the tree.
"
* qatar/master:
build: Check for pod2man instead of perl for manual page generation
Conflicts:
configure
doc/Makefile
The code that this changes is mostly not part of ffmpeg
thus only a few whitespaces end up being merged
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This partially reverts commit c0237d19a0
Some scripts make use of --disable-doc
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This allows installing into e.g. /usr/lib/ffmpeg and binaries linked
against ffmpeg will pick these .so file while binaries linked against
some fork or different version will pick the libraries in /usr/lib.
There will be still some issues for binaries that (indirectly) end up
depending on multiple variants, but for the simpler cases it should allow
different applications to use different (compatible) variants that
are installed at the same time.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* qatar/master:
configure: Avoid requiring c99wrap for working around msys path issues
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Msys is unable to convert unix style absolute paths to windows style
paths when combined with certain multichar MSVC options such as
-Fo<file>. We used to work around this issue by passing them as two
separate parameters separated by a space to c99wrap, which then mapped
them back to the actual parameter format that MSVC uses.
The only paths that actually are an issue are absolute unix style
paths, and the only place such absolute paths are used with the output
arguments (-Fo, -Fe, -Fi, -out:) are for the temp files within configure.
By setting TMPDIR to . for msvc/icl builds, we never need to use
absolute unix style paths for the file output, and we can use the
actual proper form of the file output parameters. This avoids requiring
the c99wrap wrapper for remapping the parameters for cases where the
c99 converter isn't invoked at all (MSVC2013 and ICL).
Signed-off-by: Martin Storsjö <martin@martin.st>
ICL doesn't return an error on unknown parameters, and will
always pass the symver_gnu_asm test, and since Windows
never has symbol versioning, just always disable it.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
On some platforms (such as msys), symlinks are (poorly) emulated
by simply creating a copy of the file.
This means that when building out of tree, the build tree gets
a copy of the original makefile, which can lead to unintuitive
build errors when the original makefile gets updated later.
Instead simply create a stub makefile which includes the real
one.
Signed-off-by: Martin Storsjö <martin@martin.st>
Originally written by Ronald S. Bultje <rsbultje@gmail.com> and
Clément Bœsch <u@pkh.me>
Further contributions by:
Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö <martin@martin.st>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
MSVC does support enough of C99 to work without the converter since
the 2013 version. Try to detect which version of the compiler in
the path needs to run the C99 converter or not. When the converter
is omitted, compilation time is reduced quite drastically.
Prior to this, users could still use --cc="c99conv -noconv cl"
when running MSVC 2013 to achieve the same.
This checks the version number instead of doing a normal compile
test, since this check needs to be done earlier in configure, before
the normal compile test helpers are usable.
Signed-off-by: Martin Storsjö <martin@martin.st>
a758c5e added probing for various tools, such as AS. Unfortunately, GNU
AS is reading stdin with -v, and thus configure is stalled with
configure arguments such as --as=as.
Fixes Ticket #1898.
* commit '0338c396987c82b41d322630ea9712fe5f9561d6':
dsputil: Split off H.263 bits into their own H263DSPContext
Conflicts:
configure
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
As another example of bizarre compiler behavior clang groks the
-Wmaybe-uninitialized option, but not -Wno-maybe-uninitialized
and spews a warning for every file that gets compiled.
* commit '23157d72b565e0228fec97f1eb059d4f8021a260':
configure: Split test_cflags function off from check_cflags
Merged-by: Michael Niedermayer <michaelni@gmx.at>
For some weird reason gcc does not check if the -Wno disabling variants
of warning flags match existing warning flags. Instead it swallows them
silently. That is, unless other warning or error messages are generated,
because then - for some even more bizarre reason - a complaint about the
unknown disable warning flag is issued along with the error or warning
message.
Thus to check for the availability of a warning disabling option, one
needs to check for the enabling variant instead and then add the
disabling variant to CFLAGS.
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:
Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diego Biurrun <diego@biurrun.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* commit 'dcd3eda6cb8884beeb67ef5eb61b4bb6b01d29ea':
configure: Move gcc-only -W option where it belongs
Merged-by: Michael Niedermayer <michaelni@gmx.at>
F4V is Adobe's mp4/iso media variant, with the most significant
addition/change being supporting other flash codecs than just
aac/h264.
Signed-off-by: Martin Storsjö <martin@martin.st>
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:
Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9e3946aadaef6f7d7ef15c31b5ff1e73d0ba79a1':
build: Require yasm 0.8.0 or higher
Conflicts:
configure
If someone wants to continue supporting older yasm/nasm versions, patches are of course welcome!
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is in preparation for removing a .rodata kludge
which was only required for older YASM versions.
The movbe instruction was introduced in 0.8.0, which already
had AVX, which was introduced in 0.7.0, and NASM introduced
movbe in 2.0.3, which is the same version which introduced
AVX support.
Also, make the failure message more accurate.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
The implementation of 25cb0c1a involves lots of spurious labels.
The effect of keeping those labels around is making debugging harder.
Those labels are meaningless, and complicate the disassembly. Also,
gdb can't tell the difference between them and function entry points.
This new strip command is irrelevant to any usage of Libav that would
have used the old fully stripped version, because the old one was for
non-debug use.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
otherwise enabling the filter would not work if the part hasnt been
enabled by other means already
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The reverted commit introduced undefined behavior.
undefined in the sense that the evaluation order of the dependencies affects the results
Fixes Ticket2920
This reverts commit c32db6adab, reversing
changes made to 05f1b4e2ec.
Alternative solutions would be to change the dependency solver to handle non trivial
dependencies or to enable zlib by default before the dependency solver, this would
leave a zlib dependency in the libs though then even when no zlib is needed or used.
Qansi-alias worked on 12.x, then caused miscompilation on 13.x, but now
works again passing all FATE tests for icl version 14.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Prior to this on msvc/icl there was no handling of deprecated functions
and the deprecated warning was disabled.
After enabling there are a number of warnings relating to the CRT and
the use of the non-secure versions of several functions. Defining
_CRT_SECURE_NO_WARNINGS silences these warnings.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '187105ff8a02bafc9c58d9d8363bb3f55a415635':
Fix references to deleted avcodec_encode_video() function
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e2cd766ca1b9bb2ba72aca5f6ba5d8be15743984':
configure: Mention that icl does not build both static and shared libs
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7f9e893f56db52078e0f46677ed337b2e25fa94d':
build: Report an error message when a pc file is not found
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Based on a patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-December/136677.html
The original patch was rebased by Tudor SUCIU <tudor.suciu@gmail.com>.
Lots of additional features and fixes are made by me.
Fixes ticket #2086.
Changes since last version:
- change default page to all pages
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '84146963d23d76b09af633e97413cd97d9b3021e':
configure: x86: Fix handling of i686 and cpunop features
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The i686 feature really is a CPU feature and should be handled as such.
The cpunop dependency on i686 should be expressed with a standard _deps
declaration instead of a manual test.
This reverts commit bf36dc50ea, reversing
changes made to b7fc2693c7.
Conflicts:
libavcodec/h264.c
Keeping support for the old VDPAU API has been requested by our VDPAU maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c9031c7c1446a1a63eff7c0bf50d1ee559adf3fb':
hlsenc: Add a proper dependency on the mpegts muxer
Conflicts:
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The hls muxer itself doesn't have any direct (object file level)
dependencies on mpegtsenc.o, and including that object file
directly doesn't ensure that it is registered so that the muxer
actually is accessible.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '61c31e4ee7ea79a9e74c0476b81244febf17e6d7':
configure: Properly set zlib dependencies for all components
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'a7d45e06e9757f49ea4e105cbefc3462a7324e9a':
configure: The W64 demuxer should select the WAV demuxer, not depend on it
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '255d9c570e117f0fcb8e51fa2c5996f3c4b2052b':
riff: Move demuxing code to a separate file.
Conflicts:
configure
libavformat/riff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3dd5c95deef51d7fbf6f4458ba42d1335d2f1472':
riff: Move muxing code to a separate file
Conflicts:
configure
libavformat/riff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>