* commit '0026e356d044e72b6e743b234708b8b8af457ac0':
configure: Die if gas is unavailable under aarch64 as well as ARM
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This removes the avcodec dependency and make the code almost twice as
fast. More to come.
The DCT factorization is based on "Fast and numerically stable
algorithms for discrete cosine transforms" from Gerlind Plonkaa &
Manfred Tasche (DOI: 10.1016/j.laa.2004.07.015).
* commit 'ed6d9ce914d552eeda16af857da97c4b1aea1e3f':
configure: Include the armcc build number in the compiler identification
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This tries to find the most expressive part of the output of
armcc --vsn to include, giving a compiler identification of
"ARM Compiler 5.04 update 2 (build 82)" instead of just
"ARM Compiler 5.04" for armcc 5.0.
4.x versions of armcc output the following, for "armcc --vsn":
ARM C/C++ Compiler, RVCT4.0 [Build 925]
For evaluation purposes only
Software supplied by: ARM Limited
ARM C/C++ Compiler, 4.1 [Build 894]
For evaluation purposes only
Software supplied by: ARM Limited
5.0 versions output this:
Product: ARM Compiler 5.04
Component: ARM Compiler 5.04 update 2 (build 82)
Tool: armcc [5040081]
For evaluation purposes only
Software supplied by: ARM Limited
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '15201e256035a3e8f9d3d7b96fc327467e1a8ead':
configure: check $as first before using $gas as GNU as
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
llvm's integrated assembler supports the AArch64 asm on darwin since
August 2014. So check $as first before using gas-preprocessor.pl via
$gas. Makes the checks specific for that the architecture specific asm
needs. PPC Altivec and AArch64 needs on ':vararg' for macro arguments.
Arm needs in addition the '.altmacro' directive.
Initialise VC1DSPContext for parser as well as for decoder.
Note, the VC-1 code doesn't actually use the function pointer yet.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* commit 'a0ce85ac7de098d3f9b53b51b77a09bad700a011':
configure: Globally add ZLIB_CONST to CPPFLAGS if zlib is enabled
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e4a462e3eafdfe336f4d079c3ba72a9cdb4748b0':
configure: Use require_pkg_config for Speex
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
pulse-simple is additional library built on top of PulseAudio.
It causes ffmpeg to link to library which is not needed anymore.
This commit removes that redundant dependency.
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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>