summaryrefslogtreecommitdiff
path: root/configure
Commit message (Collapse)AuthorAge
* avcodec: Remove libstagefrightDerek Buitenhuis2016-01-06
| | | | | | | | | | | | | | | | | | It serves absolutely no purpose other than to confuse potentional Android developers about how to use hardware acceleration properly on the the platform. The stagefright "API" is not public, and the MediaCodec API is the proper way to do this. Furthermore, stagefright support in avcodec needs a series of magic incantations and version-specific stuff, such that using it actually provides downsides compared just using the actual Android frameworks properly, in that it is a lot more work and confusion to get it even running. It also leads to a lot of misinformation, like these sorts of comments (in [1]) that are absolutely incorrect. [1] http://stackoverflow.com/a/29362353/3115956 Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* configure: bump copyright year to 2016James Almer2016-01-02
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* configure: support --cpu=host and Clangyukari yakumo2015-12-30
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* mips: put "disable mipsfpu" in a better place for loongsonVicente Olivert Riera2015-12-30
| | | | | | | | Let's disable the ISAs first, and then the core capabilities, as we do for the rest of the cores. This way the code is better organized. Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* mips: add mips32r6 architecture variantVicente Olivert Riera2015-12-30
| | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* configure: make gcc 2 detection more robustGanesh Ajjanagadde2015-12-30
| | | | | | | | Solves an issue that will get triggered when gcc 20 rolls in. Found-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* lavfi/af_anequalizer: remove cabs, cexp dependenciesGanesh Ajjanagadde2015-12-28
| | | | | | | | | Replaces by real arithmetic. Tested the validity of these transformations separately. Numerical differences are ~1e-15, and should not matter: it is not even clear which is more precise mathematically. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* lavu/libm,configure: remove exp10, exp10f detectionGanesh Ajjanagadde2015-12-25
| | | | | | Subsequent commit introduces ff_exp10 instead. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* avfilter: add high-order parametric multiband equalizer filterPaul B Mahol2015-12-25
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec: add OpenJPEG 2.x compatibilityMichael Bradshaw2015-12-25
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu/libm: add exp10 supportGanesh Ajjanagadde2015-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | exp10 is a function available in GNU libm. Looks like no other common libm has it. This adds support for it to FFmpeg. There are essentially 2 ways of handling the fallback: 1. Using pow(10, x) 2. Using exp2(M_LOG2_10 * x). First one represents a Pareto improvement, with no speed or accuracy regression anywhere, but speed improvement limited to GNU libm. Second one represents a slight accuracy loss (relative error ~ 1e-13) for non GNU libm. Speedup of > 2x is obtained on non GNU libm platforms, ~30% on GNU libm. These are "average case numbers", another benefit is the lack of triggering of the well-known terrible worst case paths through pow. Based on reviews, second one chosen. Comment added accordingly. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* lavfi/af_aemphasis: remove unnecessary complex number usageGanesh Ajjanagadde2015-12-23
| | | | | | | | | | | | | complex is not available on all platforms. Furthermore, it is trivial to rewrite complex number expressions to real arithmetic, and in fact sometimes advantageous for performance reasons: by wrapping as a complex, one forces a particular Cartesian representation that is not necessarily optimal for the purpose. Configure dependencies also removed, and aemphasis is now available across all platforms. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* vaapi: Add VP9 hwaccell supportTimo Rothenpieler2015-12-22
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* lavu/libm: add erf hack and make dynaudnorm available everywhereGanesh Ajjanagadde2015-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Source code is from Boost: http://www.boost.org/doc/libs/1_46_1/boost/math/special_functions/erf.hpp with appropriate modifications for FFmpeg. Tested on interval -6 to 6 (beyond which it saturates), +/-NAN, +/-INFINITY under -fsanitize=undefined on clang to test for possible undefined behavior. This function turns out to actually be essentially as accurate and faster than the libm (GNU/BSD's/Mac OS X), and I can think of 3 reasons why upstream does not use this: 1. They are not aware of it. 2. They are concerned about licensing - this applies especially to GNU libm. 3. They do not know and/or appreciate the benefits of rational approximations over polynomial approximations. Boost uses them to great effect, see e.g swr/resample for bessel derived from them, which is also similarly superior to libm variants. First, performance. sample benchmark (clang -O3, Haswell, GNU/Linux): 3e8 values evenly spaced from 0 to 6 time (libm): ./test 13.39s user 0.00s system 100% cpu 13.376 total time (boost based): ./test 9.20s user 0.00s system 100% cpu 9.190 total Second, accuracy. 1e8 eval pts from 0 to 6 maxdiff (absolute): 2.2204460492503131e-16 occuring at point where libm erf is correctly rounded, this is not. Illustration of superior rounding of this function: arg : 0.83999999999999997 erf : 0.76514271145499457 boost : 0.76514271145499446 real : 0.76514271145499446 i.e libm is actually incorrectly rounded. Note that this is clear from: https://github.com/JuliaLang/openlibm/blob/master/src/s_erf.c (the Sun implementation used by both BSD and GNU libm's), where only 1 ulp is guaranteed. Reasons it is not easy/worthwhile to create a "correctly rounded" variant of this function (i.e 0.5ulp): 1. Upstream libm's don't do it anyway, so we can't guarantee this unless we force this implementation on all platforms. This is not easy, as the linker would complain unless measures are taken. 2. Nothing in FFmpeg cares or can care about such things, due to the above and FFmpeg's nature. 3. Creating a correctly rounded function will in practice need some use of long double/fma. long double, although C89/C90, unfortunately has problems on ppc. This needs fixing of toolchain flags/configure. In any case this will be slower for miniscule gain. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* lavu/libm: add copysign hackGanesh Ajjanagadde2015-12-19
| | | | | | | | | | | | For systems with broken libms. Tested with NAN, -NAN, INFINITY, -INFINITY, +/-x for regular double x and combinations of these. Old versions of MSVC need some UINT64_C hackery. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* lavu/random_seed: use arc4random() when availableGanesh Ajjanagadde2015-12-17
| | | | | | | | | | | | | | | arc4random() was designed as a superior interface for system random number generation, designed for OpenBSD and subsequently incorporated by other BSD's, Mac OS X, and some non-standard libc's. It is thus an improvement to use it whenever available. As a side note, this may or may not get included in glibc, and there is a proposal to create a posix_random family based on these ideas: http://austingroupbugs.net/view.php?id=859. Tested on Mac OS X. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* Merge commit 'e02de9df4b218bd6e1e927b67fd4075741545688'Hendrik Leppkes2015-12-17
|\ | | | | | | | | | | | | * commit 'e02de9df4b218bd6e1e927b67fd4075741545688': lavc: export Dirac parsing API used by the ogg demuxer as public Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: export Dirac parsing API used by the ogg demuxer as publicAnton Khirnov2015-12-06
| | | | | | | | Also, stop using AVCodecContext for storing the stream parameters.
| * configure: Add -framework CoreVideo when building the avfoundation indevMartin Storsjö2015-12-03
| | | | | | | | | | | | | | This fixes builds with --disable-vda, which previously failed with undefined references to CVImageBuffer* and CVPixelBuffer* functions. Signed-off-by: Martin Storsjö <martin@martin.st>
| * configure: Replace `pr` since it is not provided by busyboxKylie McClain2015-12-02
| | | | | | | | | | | | | | | | | | | | While pr is a valid POSIX.1 command, its usage in configure is a little borderline and is possible to replace it with printf. Bug-Id: 913 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | mips: add mips64r2 architecture variantVicente Olivert Riera2015-12-16
| | | | | | | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mips: i6400 core is not mips32r2, so disable mips32r2Vicente Olivert Riera2015-12-16
| | | | | | | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | configure: add conditional library dependency for sofalizer and showfreqsPaul B Mahol2015-12-14
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter/af_sofalizer: add frequency domain processing and use it by defaultPaul B Mahol2015-12-14
| | | | | | | | | | | | Code ported from SOFAlizer patch for VLC. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter: add SOFAlizer audio filterPaul B Mahol2015-12-12
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | mips: i6400 core does have an FPU, so not disable itVicente Olivert Riera2015-12-12
| | | | | | | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mips: add i6400 core optimizationsVicente Olivert Riera2015-12-12
| | | | | | | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mips: remove --mips64r6 configure optionVicente Olivert Riera2015-12-12
| | | | | | | | | | | | | | | | | | | | Having a configure option with the same name as a MIPS ISA is confusing, so better to remove it. This option was being used to add some optimizations to a specific core (i6400). We will add the optimizations just when the i6400 core has been detected, in a later patch. Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | configure: fix vp9_d3d11va_hwaccel depsJames Almer2015-12-07
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da'Hendrik Leppkes2015-12-07
|\| | | | | | | | | | | | | * commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da': build: Move -Wcast-qual to the extra_warnings Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * build: Move -Wcast-qual to the extra_warningsLuca Barbato2015-12-02
| | | | | | | | | | It amounts to about 1/2 of the warnings generated and does not help spotting anything useful.
| * avfoundation: Simple captureAlexandre Lision2015-11-26
| | | | | | | | | | | | | | Originally based on the capture written by Thilo Borgmann <thilo.borgmann@mail.de>. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avcodec: implement vp9 dxva2 hwaccelHendrik Leppkes2015-12-07
| |
* | Merge commit '9f57f134c19773d54269b6cb9ee455ff87c2e9e1'Hendrik Leppkes2015-12-05
|\| | | | | | | | | | | | | * commit '9f57f134c19773d54269b6cb9ee455ff87c2e9e1': configure: ObjC support Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * configure: ObjC supportLuca Barbato2015-11-26
| | | | | | | | | | | | | | Assume that the default C compiler and the default ObjC compiler match (default for OSX). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | mips: add p5600 core optimizationsVicente Olivert Riera2015-12-04
| | | | | | | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mips: remove --mips32r5 configure optionVicente Olivert Riera2015-12-04
| | | | | | | | | | | | | | | | | | | | Having a configure option with the same name as a MIPS ISA is confusing, so better to remove it. This option was being used to add some optimizations to a specific core (p5600). We will add the optimizations just when the p5600 core has been detected, in a later patch. Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter: add audio emphasis filterPaul B Mahol2015-12-04
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | mips: rename mipsdspr1 to mipsdspVicente Olivert Riera2015-12-04
| | | | | | | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/libdcadec: require first public releaseJames Almer2015-11-29
| | | | | | | | | | Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | configure: Add user options to enable gcrypt/gmp for rtmp(t)e support.Matt Oliver2015-11-30
| | | | | | | | Signed-off-by: Matt Oliver <protogonoi@gmail.com>
* | Merge commit 'afdff8008149515afebf9992eae84be7d76e6b1e'Hendrik Leppkes2015-11-29
|\| | | | | | | | | | | | | * commit 'afdff8008149515afebf9992eae84be7d76e6b1e': configure: Clearly state that MSYS native builds are discouraged Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * configure: Clearly state that MSYS native builds are discouragedLuca Barbato2015-11-21
| | | | | | | | | | | | | | | | | | MSYS, as per cygwin, by default uses a custom posix abstraction in the form of a "msys2.dll". Programs build that way are harder to distribute and use. MSYS2 provides alternate launcher scripts that provide a MINGW environment nearly out of box.
* | configure: Fix pseudo-GermanTimothy Gu2015-11-24
| |
* | configure+libm.h: add hypot emulationGanesh Ajjanagadde2015-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is known that the naive sqrt(x*x + y*y) approach for computing the hypotenuse suffers from overflow and accuracy issues, see e.g http://www.johndcook.com/blog/2010/06/02/whats-so-hard-about-finding-a-hypotenuse/. This adds hypot support to FFmpeg, a C99 function. On platforms without hypot, this patch does a reaonable workaround, that although not as accurate as GNU libm, is readable and does not suffer from the overflow issue. Improvements can be made separately. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avformat: implement SChannel SSP TLS protocolHendrik Leppkes2015-11-14
| | | | | | | | | | | | | | | | | | | | | | | | This implementation does not support TLS listen sockets and loading CA/Certs from files. The Windows API does not support loading PEM certs, and would either require a manual loader or instead be limited to loading Windows PFX certificates TLS listen sockets would have to be implemented quite separately, as many of the APIs are different for server-mode (as opposed to client mode).
* | mmaldec: add vc1 decoding supportwm42015-11-07
| |
* | Merge commit 'a0562e531723923b632684c7b51a9dd584bf534f'Hendrik Leppkes2015-11-02
|\| | | | | | | | | | | | | * commit 'a0562e531723923b632684c7b51a9dd584bf534f': configure: Add a SONAME entry for the android target Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * configure: Add a SONAME entry for the android targetLuca Barbato2015-10-30
| | | | | | | | | | | | | | | | In order to load libraries in Android they need to be unversioned. The android target section was derived from the BSD ones, and they that simply drop the SONAME Android M requires to have a SONAME entry but unversioned.
* | Merge commit 'd35d0c723e3c8fc8cde76bf677f67928f5e179a8'Hendrik Leppkes2015-11-02
|\| | | | | | | | | | | | | * commit 'd35d0c723e3c8fc8cde76bf677f67928f5e179a8': vdpau: remove dysfunctional H.263 support Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>