Check for an instruction that causes the (very old) Apple GCC 4.2
to error out ("unrecognizable insn").
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'd45ebd4876ab8fc07736a644de07e1b1d11a8e5d':
configure: add support for neon intrinsics
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830':
build: Support executable only ldflags
Conflicts:
Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b396bbad100a7493691d09b8dceba91e3cd28e2e':
configure: Do not add extralibs to avresample .pc file
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bd499d9af668aef979ec9f3f3215b8dd508c7ec1':
build: Conditionally build and test iirfilter
Conflicts:
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'a578b0407dc983aecd72028e1127062689b67089':
configure: Assume runtime cpu detection on arm on --target-os=android as well
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* 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>