1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

4330 Commits

Author SHA1 Message Date
Derek Buitenhuis
1c417bad61 Merge commit '34c9eba982c75196392a3b0b245dd34297c4511d'
* commit '34c9eba982c75196392a3b0b245dd34297c4511d':
  configure: Refactor toolchain flag setting

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-16 17:44:33 +00:00
Luca Barbato
2edc718723 configure: Relax the implication of --enable for components
Do not error out if some subcomponents cannot be enabled.

Reported-By: RT|AO
2016-02-15 17:57:43 +01:00
Anton Khirnov
21f7cd4acd lavfi: add a filter for uploading normal frames to CUDA 2016-02-14 22:25:38 +01:00
Anton Khirnov
c51b2c79a7 Allow linking to CUDA dynamically instead of dlopen()ing it at runtime 2016-02-14 22:08:13 +01:00
Luca Barbato
a2bb771a3c configure: Restore the --enable-everything behaviour
Make sure that the minimum set of dependencies needed by the tools
and the examples are enabled.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-02-14 11:44:57 +01:00
Luca Barbato
5e1beec944 configure: Print which libraries will be built
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-02-14 11:44:57 +01:00
Luca Barbato
21c750f240 configure: Use require for the non-component options
And make sure to enable all the components needed

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-02-14 11:44:57 +01:00
Philip Langdale
8d34a2f803 vdpau: Support for VDPAU accelerated HEVC decoding
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-02-13 14:42:38 +01:00
Vittorio Giovara
f7d77b9a5d eatqi: Remove MpegEncContext dependency
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-02-09 20:04:59 +01:00
Diego Biurrun
34c9eba982 configure: Refactor toolchain flag setting
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-02-09 20:02:31 +01:00
Anton Khirnov
dd53af4b37 avplay: drop support for building without lavfi
lavfi has been considered to be stable for a while now, so it is enabled
in most configurations. Supporting avplay without lavfi requires a lot
of nontrivial ifdef mess for no good reason.
2016-02-09 11:31:24 +01:00
Timothy Gu
cb8646af24 configure: Enable GCC vectorization on ≥4.9 on x86
4.9 was released precisely nine years after the first GCC version with
autovectorizer (4.0) and six years after the first GCC version with
`-ftree-vectorize` default to enabled on `-O3` (4.3). We've given GCC
enough time to fix those bugs.

FATE passes here on a x86-64 machine with both GCC 4.9.2 and 5.3.1.

Some optimization hotspots benefit greatly from this change, especially
those without handwritten assembly. For instance, the main function in
vf_phase is now 1.6x faster (1.2x overall) on my machine.
2016-02-08 16:25:44 -08:00
Andreas Cadhalpun
e740c3fb90 configure: fall back to using full path if src is a directory
Or when building in-tree.
Also don't try to remove src on distclean in these cases.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-02-06 15:30:25 +01:00
Henrik Gramner
389b79842c msvc: Fix libx264 linking
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-02-06 13:56:39 +01:00
Luca Barbato
a38a4f44b5 configure: Support MSYS2 mingw-w64 64bit 2016-02-06 12:07:47 +01:00
Paul B Mahol
79991b2288 avfilter: add nnedi filter
Port of nnedi3 vapoursynth filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-02-01 13:16:15 +01:00
Stephen Hutchinson
70742e599b libx265: Enable 12-bit encoding
The configure detection is bumped to X265_BUILD >= 68,
since API version 68 corresponds with the x265 1.8
release tarball. The warnings inside x265 about
12-bit being experimental were removed prior to API
version 72 a short time later.  At this time of
writing, X265_BUILD is at version 80.

12-bit support in the HEVC standard was approved in
October 2014 as part of HEVC Version 2 and published
in January 2015:

http://www.itu.int/ITU-T/recommendations/rec.aspx?rec=12296
http://www.itu.int/rec/T-REC-H.265-201410-S
https://hevc.hhi.fraunhofer.de/rext

Reveiwed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-01 01:36:44 +01:00
Henrik Gramner
58313f2dda msvc: Fix libx264 linking 2016-01-31 22:13:17 +01:00
foo86
ae5b2c5250 avcodec/dca: add new decoder based on libdcadec 2016-01-31 17:09:38 +01:00
foo86
4608996772 avcodec/dca: remove old decoder
Remove all files and functions which are not going to be reused,
and disable all functions and FATE tests temporarily which will be.
2016-01-31 17:09:38 +01:00
Kieran Kunhya
e07e88cd82 avcodec: Remove libvo-aacenc support.
The internal encoder is superior to libvo-aacenc.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2016-01-29 17:26:42 -08:00
Timothy Gu
9ba54c1b82 avcodec: Remove libaacplus
TODO: bump minor

It's inferior in quality to fdk-aac and has an arguably more problematic
license.

As early as 2012, a HydrogenAudio user reported:

> It has however one huge advantage: much better quality at low bitrates than
> faac and libaacplus.

(https://hydrogenaud.io/index.php?PHPSESSID=ckiq394pdglka0kj2fin6ij8t7&topic=95989.msg804633#msg804633)

I myself have made a few spectrograms for a comparison of the two
encoders as well. The FDK output is consistently better than the
libaacplus one, in all bitrates I tested.

libaacplus license is 3GPP + LGPLv2. 3GPP copyright notice is completely
proprietory, as follows:

> No part may be reproduced except as authorized by written permission.
>
> The copyright and the foregoing restriction extend to reproduction in
> all media.
>
> © 2008, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC).
>
> All rights reserved.

(The latest 26410-d00 zip from 3GPP has the same notice, but the copyright
year is changed to 2015)

The copyright part of the FDK AAC license (section 2) is a copyleft
license that permits redistribution under certain conditions (and
therefore the LGPL + libfdk-aac combination is not prohibited by
configure):

> Redistribution and use in source and binary forms, with or without
> modification, are permitted without payment of copyright license fees
> provided that you satisfy the following conditions:
>
> You must retain the complete text of this software license in
> redistributions of the FDK AAC Codec or your modifications thereto in
> source code form.
>
> You must retain the complete text of this software license in the
> documentation and/or other materials provided with redistributions of
> the FDK AAC Codec or your modifications thereto in binary form.
>
> You must make available free of charge copies of the complete source
> code of the FDK AAC Codec and your modifications thereto to recipients
> of copies in binary form.
>
> The name of Fraunhofer may not be used to endorse or promote products
> derived from this library without prior written permission.
>
> You may not charge copyright license fees for anyone to use, copy or
> distribute the FDK AAC Codec software or your modifications thereto.
>
> Your modified versions of the FDK AAC Codec must carry prominent
> notices stating that you changed the software and the date of any
> change. For modified versions of the FDK AAC Codec, the term
> "Fraunhofer FDK AAC Codec Library for Android" must be replaced by the
> term "Third-Party Modified Version of the Fraunhofer FDK AAC Codec
> Library for Android."
2016-01-29 17:14:37 -08:00
Marton Balint
6bc610b39e configure: remove libzvbi GPL dependency
The COPYING.LIB file in the zvbi source tree as well as libzvbi.h references
the GNU Library General Public License version 2 since version 0.2.28.

Signed-off-by: Marton Balint <cus@passwd.hu>
2016-01-29 01:42:17 +01:00
Marton Balint
98e94dff7a configure: use -ldl for decklink
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-01-29 01:41:54 +01:00
wm4
14a90c9ef0 mmaldec: limit internal buffering
This uses a new MMAL feature, which limits the number of extra frames
that can be buffered within the decoder. VIDEO_MAX_NUM_CALLBACKS can
be defined as positive or negative number. Positive numbers are
absolute, and can lead to deadlocks if the user underestimates the
number of required buffers. Negative numbers specify the number of extra
buffers, e.g. -1 means no extra buffer, (-1-N) means N extra buffers.

Set a gratuitous default of -11 (N=10). This is much lower than the
firmware default, which appears to be 96.

This is backwards compatible, but needs a symbol only present in newer
firmware headers. (It's an enum item, so it requires a check in
configure.)
2016-01-28 17:24:53 +01:00
wm4
7b1b53f3a4 mmaldec: support MPEG-4
I guess this means part 2 in both cases. Not sure which profiles exactly
are actually supported properly.
2016-01-28 17:24:40 +01:00
wm4
0badf4564a configure: fix mmal build dependencies
The mmal decoders do not depend on the software decoders.
2016-01-28 17:23:23 +01:00
James Almer
77a44f577b configure: add missing avx2 support check
AVX2 support was introduced in Yasm 1.2.0 and NASM 2.10, and the
oldest versions currently supported are Yasm 0.8.0 and NASM 2.03

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-01-28 00:43:23 +01:00
James Almer
09d5c28c3d configure: fix openssl pkg-config check
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-27 17:56:35 -03:00
Derek Buitenhuis
cefad29df9 configure: Revert recent changes to disable-everything
These will be re-merged once it's been fixed properly.

This reverts:
 * Commit '8e7bea6dc6ac5b21484774a026847bec0771ab62'
   configure: Improve requesting specific features
 * Commit 'e93aa2c9e7b3599aee6a5820760fc1a2c629dea0'
   configure: Force-enable select_any dependencies only on --enable

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 20:32:12 +00:00
Derek Buitenhuis
3662e55943 Merge commit 'e93aa2c9e7b3599aee6a5820760fc1a2c629dea0'
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 19:52:48 +00:00
Derek Buitenhuis
3de3937ecd Merge commit '8e7bea6dc6ac5b21484774a026847bec0771ab62'
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 19:48:09 +00:00
Derek Buitenhuis
f97d2d2105 Merge commit 'e59708bb9d94f67381f19344b5e021591eb711bf'
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 19:33:32 +00:00
Derek Buitenhuis
bd7da0ae7b Merge commit '8fd361f53b3c17c1ae13a39e030c8fa3ab4d8f1f'
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 19:30:08 +00:00
Andreas Cadhalpun
38622007c4 vf_libopencv: add support for opencv 3
It dropped the old headers, but the replacements are already available
with opencv 2.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-25 23:49:22 +01:00
Andreas Cadhalpun
b46aae0936 build: use a link instead of changing current directory when compiling
If links don't work, fall back to using the full source path as was
previously done.

This should fix build failures with MSVC.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-25 20:43:34 +01:00
James Almer
1d8f9b7d1a avcodec/webp: fix decoder dependencies
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-24 20:30:33 -03:00
Timothy Gu
fe71fde246 configure: Maintain alphabetical order of components
This is not "pure" alphabetical order since some components are
intentionally kept together.
2016-01-24 09:43:48 -08:00
Kieran Kunhya
2d40a09b6e avformat: Remove support for libquvi
libquvi has not been updated since 2013.
It also has a number of security issues.
2016-01-24 16:01:04 +00:00
Charlie Arnold
22ee0a576f build: fix msvc build
Fix configure to set DST_PATH to the Windows style path when building with MSVC

Fixes ticket #5180.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-23 22:22:04 +01:00
Luca Barbato
c0c4d7a0a5 configure: Correctly add openssl cflags and libs 2016-01-23 14:34:06 +01:00
Andreas Cadhalpun
064963bd27 build: make out-of-tree builds bit-identical to in-tree builds
Previously the full source path was embedded inconsistently in the debug
information between in-tree/out-of-tree builds.

The 'vpath %.inc' becomes necessary for finding
libavfilter/all_channel_layouts.inc in out-of-tree builds.

The full source path is still embedded in the debug information, but
it's now independent of whether building in-tree or out-of-tree.

The biggest improvement of this patch is that gdb now always searches
for the path relative to the source directory. It still also searches
for the full path.
Previously it searched only for the full path in out-of-tree builds,
making the debug information generated by Debian's buildds rather hard
to use.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-22 00:30:59 +01:00
Luca Barbato
e93aa2c9e7 configure: Force-enable select_any dependencies only on --enable
Unbreak --enable-gnutls enabling tls_openssl_protocol

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-01-21 21:24:33 +01:00
Paul B Mahol
fa04ec728d avfilter: add afftfilter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-21 14:31:38 +01:00
James Almer
8bbb972350 configure: add missing library deps for showcqt_filter
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-21 00:49:02 -03:00
Luca Barbato
8e7bea6dc6 configure: Improve requesting specific features
Before this patch trying to enable only https by issuing

    --disable-protocols --enable-protocol=https --enable-gnutls

does not enable https, and

    --disable-all --enable-protocols

does not enable libavformat and the protocols component.

Now the default-enabled options are set after the explicitly
disabled/enabled options are evaluated.

If an explicitly enabled option cannot be enabled configure
will fail printing an error message.
2016-01-21 01:04:24 +01:00
Arttu Ylä-Outinen
7d1e985528 libkvazaar: Set frame rate as a rational number
Updates libkvazaar to pass the exact frame rate to Kvazaar by setting
the numerator and denominator separately instead of a single floating
point number. The exact frame rate is needed for writing timing info to
the bitstream.

Requires Kvazaar version 0.8.1.

Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
2016-01-20 17:29:13 +02:00
Luca Barbato
e59708bb9d configure: mips: Support both-endian compilers
Use mips{,64}eb to force big endian and mips{,64}el to force little
endian.
2016-01-19 20:47:49 +01:00
Luca Barbato
8fd361f53b configure: Use pkg-config to check for openssl 2016-01-19 20:47:49 +01:00
Arttu Ylä-Outinen
472d488ebc libkvazaar: Set frame rate as a rational number
Updates libkvazaar to pass the exact frame rate to Kvazaar by setting
the numerator and denominator separately instead of a single floating
point number. The exact frame rate is needed for writing timing info to
the bitstream.

Requires Kvazaar version 0.8.1.

Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-01-19 20:47:49 +01:00
Hendrik Leppkes
e816fe7401 Merge commit '7570c9e04f010c9b3bfdeb4338d330f2cdd25278'
* commit '7570c9e04f010c9b3bfdeb4338d330f2cdd25278':
  swfdec: support compressed swf

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-19 08:58:55 +01:00
James Almer
c1a3683f26 configure: disable -Wunused-const-variable
The option became too aggressive with GCC 6, generating nearly 500
warnings from static const variables defined in assorted headers

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-18 20:16:55 -03:00
Carl Eugen Hoyos
1f12a889da configure: The XMA decoders depend on wmapro.
Fixes compilation with --disable-fft.
2016-01-17 18:37:01 +01:00
Paul B Mahol
653f9d84ae avfilter: add spectrumsynth filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-14 20:51:20 +01:00
Ganesh Ajjanagadde
a0a47a09b0 lavu/libm: add isfinite fallback
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-13 20:00:19 -05:00
Paul B Mahol
57e4571679 configure: showspectrum now uses fft, add showspectrumpic
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-12 22:36:34 +01:00
Anton Khirnov
ee359c72ef nvenc: rename encoders
Change 'nvenc_<codec>' to '<codec>_nvenc', which is consistent with
other similar decoders and encoders (QSV, MMAL).
2016-01-12 09:23:34 +01:00
Clément Bœsch
7570c9e04f swfdec: support compressed swf
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-11 15:32:56 -05:00
Ricardo Constantino
be0f005da6 configure: Use libgcrypt-config's cflags
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-08 21:00:18 -03:00
Ricardo Constantino
e990d746d0 configure: Use libgcrypt-config if available
Signed-off-by: Ricardo Constantino <wiiaboo@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-08 20:36:48 +01:00
James Almer
08339cdb6c configure: remove unused bulitin check
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-07 20:11:00 -03:00
Clément Bœsch
2ce29d1765 lavu: add ff_parity() 2016-01-07 22:51:31 +01:00
Michael Niedermayer
23679d82f6 configure: use warn() for mips unknown cpu warning
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-06 22:15:14 +01:00
Vicente Olivert Riera
6282bdc2bf mips: display a warning message when using an unknown CPU
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-06 19:41:38 +01:00
Derek Buitenhuis
72673ad7ea avcodec: Remove libstagefright
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>
2016-01-06 16:43:06 +00:00
James Almer
78129978f0 configure: bump copyright year to 2016
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-02 16:28:31 -03:00
yukari yakumo
f87e29a615 configure: support --cpu=host and Clang
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-30 23:14:31 +01:00
Vicente Olivert Riera
dde994751b mips: put "disable mipsfpu" in a better place for loongson
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>
2015-12-30 20:21:57 +01:00
Vicente Olivert Riera
6a7e94cb14 mips: add mips32r6 architecture variant
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-30 20:21:45 +01:00
Ganesh Ajjanagadde
29bc293297 configure: make gcc 2 detection more robust
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>
2015-12-30 08:45:02 -08:00
Ganesh Ajjanagadde
63702014fa lavfi/af_anequalizer: remove cabs, cexp dependencies
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>
2015-12-28 16:47:23 -08:00
Ganesh Ajjanagadde
73616b1f21 lavu/libm,configure: remove exp10, exp10f detection
Subsequent commit introduces ff_exp10 instead.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-25 10:12:49 -08:00
Paul B Mahol
56c7d2b4da avfilter: add high-order parametric multiband equalizer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-25 14:22:28 +01:00
Michael Bradshaw
99eabcdd5f avcodec: add OpenJPEG 2.x compatibility
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-25 10:55:34 +01:00
Ganesh Ajjanagadde
e29db08cf7 lavu/libm: add exp10 support
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>
2015-12-23 09:22:59 -08:00
Ganesh Ajjanagadde
520a5d33f0 lavfi/af_aemphasis: remove unnecessary complex number usage
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>
2015-12-23 09:22:59 -08:00
Timo Rothenpieler
d7c2b75681 vaapi: Add VP9 hwaccell support
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-12-22 12:54:23 +01:00
Ganesh Ajjanagadde
dd68cde28a lavu/libm: add erf hack and make dynaudnorm available everywhere
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>
2015-12-21 09:03:11 -08:00
Ganesh Ajjanagadde
062e3e2382 lavu/libm: add copysign hack
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>
2015-12-19 14:05:49 -08:00
Ganesh Ajjanagadde
39f8c7961d lavu/random_seed: use arc4random() when available
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>
2015-12-17 08:12:41 -08:00
Hendrik Leppkes
efcc8fddd6 Merge commit 'e02de9df4b218bd6e1e927b67fd4075741545688'
* commit 'e02de9df4b218bd6e1e927b67fd4075741545688':
  lavc: export Dirac parsing API used by the ogg demuxer as public

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 14:48:46 +01:00
Vicente Olivert Riera
a2f2abc889 mips: add mips64r2 architecture variant
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-16 14:03:57 +01:00
Vicente Olivert Riera
e8bc43fe47 mips: i6400 core is not mips32r2, so disable mips32r2
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-16 14:03:57 +01:00
Paul B Mahol
e8586ecb86 configure: add conditional library dependency for sofalizer and showfreqs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-14 22:41:52 +01:00
Paul B Mahol
2f12172d67 avfilter/af_sofalizer: add frequency domain processing and use it by default
Code ported from SOFAlizer patch for VLC.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-14 21:58:08 +01:00
Paul B Mahol
0a19538bcf avfilter: add SOFAlizer audio filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-12 20:56:36 +01:00
Vicente Olivert Riera
69e80d6ce4 mips: i6400 core does have an FPU, so not disable it
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-12 19:47:17 +01:00
Vicente Olivert Riera
88d66f691a mips: add i6400 core optimizations
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-12 19:47:11 +01:00
Vicente Olivert Riera
1dcd96f72f mips: remove --mips64r6 configure option
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>
2015-12-12 19:47:06 +01:00
James Almer
a0050d9bf9 configure: fix vp9_d3d11va_hwaccel deps
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-07 13:12:21 -03:00
Hendrik Leppkes
357c62657a Merge commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da'
* commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da':
  build: Move -Wcast-qual to the extra_warnings

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 16:01:41 +01:00
Hendrik Leppkes
1e6cf7272f avcodec: implement vp9 dxva2 hwaccel 2015-12-07 09:38:59 +01:00
Anton Khirnov
e02de9df4b lavc: export Dirac parsing API used by the ogg demuxer as public
Also, stop using AVCodecContext for storing the stream parameters.
2015-12-06 10:28:04 +01:00
Hendrik Leppkes
3b0f63e110 Merge commit '9f57f134c19773d54269b6cb9ee455ff87c2e9e1'
* commit '9f57f134c19773d54269b6cb9ee455ff87c2e9e1':
  configure: ObjC support

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-05 12:21:33 +01:00
Vicente Olivert Riera
1a538a1490 mips: add p5600 core optimizations
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-04 20:51:01 +01:00
Vicente Olivert Riera
c8419035f4 mips: remove --mips32r5 configure option
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>
2015-12-04 20:50:57 +01:00
Paul B Mahol
5d2cc00dd0 avfilter: add audio emphasis filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-04 17:52:57 +01:00
Vicente Olivert Riera
a27401a05b mips: rename mipsdspr1 to mipsdsp
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-04 02:35:42 +01:00
Martin Storsjö
1077d8c845 configure: Add -framework CoreVideo when building the avfoundation indev
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>
2015-12-03 14:28:12 +02:00
Luca Barbato
cb49bb10ca build: Move -Wcast-qual to the extra_warnings
It amounts to about 1/2 of the warnings generated and does not help
spotting anything useful.
2015-12-02 23:49:10 +01:00
Kylie McClain
bf12a81cc6 configure: Replace pr since it is not provided by busybox
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>
2015-12-02 23:49:10 +01:00
James Almer
27ce53b52d avcodec/libdcadec: require first public release
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-11-29 12:53:14 -03:00
Matt Oliver
26a84e2dae configure: Add user options to enable gcrypt/gmp for rtmp(t)e support.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2015-11-30 02:25:37 +11:00
Hendrik Leppkes
bbfdeec020 Merge commit 'afdff8008149515afebf9992eae84be7d76e6b1e'
* commit 'afdff8008149515afebf9992eae84be7d76e6b1e':
  configure: Clearly state that MSYS native builds are discouraged

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-29 15:28:53 +01:00
Alexandre Lision
4f979418c7 avfoundation: Simple capture
Originally based on the capture written by
Thilo Borgmann <thilo.borgmann@mail.de>.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-11-26 10:55:28 +01:00
Luca Barbato
9f57f134c1 configure: ObjC support
Assume that the default C compiler and the default ObjC compiler match
(default for OSX).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-11-26 10:39:15 +01:00
Timothy Gu
798920033e configure: Fix pseudo-German 2015-11-24 18:18:12 -08:00
Luca Barbato
afdff80081 configure: Clearly state that MSYS native builds are discouraged
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.
2015-11-21 22:18:57 +01:00
Ganesh Ajjanagadde
275aca8fba configure+libm.h: add hypot emulation
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>
2015-11-21 08:51:49 -05:00
Hendrik Leppkes
4c8d86eb18 avformat: implement SChannel SSP TLS protocol
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).
2015-11-14 14:31:58 +01:00
wm4
b07cbf6724 mmaldec: add vc1 decoding support 2015-11-07 19:24:49 +01:00
Hendrik Leppkes
859c4ae402 Merge commit 'a0562e531723923b632684c7b51a9dd584bf534f'
* commit 'a0562e531723923b632684c7b51a9dd584bf534f':
  configure: Add a SONAME entry for the android target

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-02 11:58:16 +01:00
Hendrik Leppkes
d15adeacf3 Merge commit 'd35d0c723e3c8fc8cde76bf677f67928f5e179a8'
* commit 'd35d0c723e3c8fc8cde76bf677f67928f5e179a8':
  vdpau: remove dysfunctional H.263 support

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-02 11:58:01 +01:00
Hendrik Leppkes
6b5d6c93dd Merge commit '00b62968d079e63bf22028f253ac297292436ebe'
* commit '00b62968d079e63bf22028f253ac297292436ebe':
  os_support: Don't try to return the service name as a string in getnameinfo

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-02 11:43:50 +01:00
Hendrik Leppkes
9dc9b7e682 Merge commit '567ca142952c5be57e52c149c815dfe5d6ac6d41'
* commit '567ca142952c5be57e52c149c815dfe5d6ac6d41':
  configure: Add -D_CRT_NONSTDC_NO_WARNINGS when building with msvc

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-02 11:42:26 +01:00
Muhammad Faiz
306808f10f avfilter/showcqt: fix dependency with avformat
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-30 22:45:46 +01:00
Luca Barbato
a0562e5317 configure: Add a SONAME entry for the android target
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.
2015-10-30 13:02:02 +01:00
Rémi Denis-Courmont
d35d0c723e vdpau: remove dysfunctional H.263 support
The VDPAU API never explicitly supported H.263 in the first place.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-10-30 12:46:56 +01:00
Martin Storsjö
00b62968d0 os_support: Don't try to return the service name as a string in getnameinfo
Some systems may be lacking getservbyport; the previous ifdef wasn't
quite enough since it still assumed that struct servent was defined,
as pointed out by Clément Gregoire.

Simply remove the possibility to return non-numeric services in
getnameinfo; no caller of getnameinfo within libavformat
currently try to use getnameinfo for retrieving the port number without
NI_NUMERICSERV, and falling back on getservbyport may be non-threadsafe.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-10-30 10:03:58 +02:00
Martin Storsjö
567ca14295 configure: Add -D_CRT_NONSTDC_NO_WARNINGS when building with msvc
This silences warnings like this one:
libavformat/file.c(62) : warning C4996: 'read': The POSIX name for this
item is deprecated. Instead, use the ISO C++ conformant name: _read.
See online help for details.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-10-29 16:17:15 +02:00
James Almer
fc460fe618 avfilter/showcqt: fix compilation with libswscale disabled
Signed-off-by: James Almer <jamrial@gmail.com>
2015-10-29 02:11:58 -03:00
Rodger Combs
1e477a970f lavu: add AESNI CPU flag 2015-10-28 04:23:14 -05:00
Hendrik Leppkes
8b3228a329 Merge commit '533a6198505edd1379e1cd722852350ae4a85acc'
* commit '533a6198505edd1379e1cd722852350ae4a85acc':
  innoHeim/Rsupport Screen Capture Codec decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-27 13:58:44 +01:00
Hendrik Leppkes
8dde5dc05a Merge commit '233d2fa0443197df12b4f7823d591dad964149b3'
* commit '233d2fa0443197df12b4f7823d591dad964149b3':
  kvazaar: Add libkvazaar HEVC encoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-27 13:49:37 +01:00
Ganesh Ajjanagadde
8738885c7d Revert "configure: add -Wstrict-prototypes when available"
This reverts commit e6a93e59ad,
Wstrict-prototypes is already enabled.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-23 09:10:45 -04:00
Vittorio Giovara
533a619850 innoHeim/Rsupport Screen Capture Codec decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-10-23 14:56:43 +02:00
Ganesh Ajjanagadde
e6a93e59ad configure: add -Wstrict-prototypes when available
GCC (and Clang) have this useful warning that is not enabled by -Wall or
-Wextra. This will ensure that issues like those fixed in
4da52e3630
will trigger warnings.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-23 08:46:33 -04:00
Arttu Ylä-Outinen
233d2fa044 kvazaar: Add libkvazaar HEVC encoder
Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-23 11:59:27 +02:00
Julian Scheel
7ebe12fc55 mmaldec: Add mpeg2 decoding support
Register mmaldec as mpeg2 decoder. Supporting mpeg2 in mmaldec is just a
matter of setting the correct MMAL_ENCODING on the input port. To ease the
addition of further supported mmal codecs a macro is introduced to generate
the decoder and decoder class structs.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: wm4 <nfxjfg@googlemail.com>
2015-10-22 10:46:03 +02:00
Paul B Mahol
416e35e5aa avfilter: add zscale filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-18 18:01:56 +02:00
Carl Eugen Hoyos
9496f565dc configure: Simplify using --disable-all.
libavutil was always built, allow its dependencies to be enabled.
2015-10-18 14:27:51 +02:00
Vicente Olivert Riera
50366b4295 mips: disable all features in configure if no cpu is matched
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-15 20:19:10 +02:00
wang-bin
0861862b89 winrt: multithreading support
_beginthreadex is for desktop only. CreateThread is available for windows store apps on windows (and phone) 8.1 and later. http://msdn.microsoft.com/en-us/library/ms682453%28VS.85%29.aspx

Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2015-10-16 00:54:57 +11:00
Clément Bœsch
f2f55bd9ca build/videotoolbox: add missing CoreVideo framework 2015-10-15 10:43:55 +02:00
Hendrik Leppkes
fcfb66ba9b Merge commit 'c1aac39eaccd32dc3b74ccfcce701d3d888fbc6b'
* commit 'c1aac39eaccd32dc3b74ccfcce701d3d888fbc6b':
  build: add Solaris symbol versioning

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-14 13:54:50 +02:00
Jean-Yves Avenard
f05ff057ff configure: fix configure when using gcc
Fixes Ticket4922.

Commit 060102389e broke configure, since
the inversion ! was missed while converting the grep to a case
statement.

Reviewed-by: Nicolas George <george@nsup.org>
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-11 13:25:13 -04:00
Sean McGovern
c1aac39eac build: add Solaris symbol versioning
The versioning facility in the Solaris linker differs from Linux in 3 ways:

1. It does not support globs in linker scripts for
symbol versioning -- this is a GNU extension.

2. The linker argument is '-M', instead of '--version-script'.

3. It is picky about line endings.
Each symbol or directive must be on a line of it's own.

Let's use make_sunver.pl from GCC to generate a version script that works
correctly with the Solaris linker. It's function is to correctly expand the
globs in the original generated version script.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-11 15:42:36 +02:00
Hendrik Leppkes
0b28039a44 Merge commit 'd7a5a178c252b625537adc046392624ad543dea7'
* commit 'd7a5a178c252b625537adc046392624ad543dea7':
  configure: When disabling a library disable all the related components

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-10 09:37:51 +02:00
Christophe Gisquet
1896ac4abf build system: fix dependency generation
When trying to build the binary dct-test under MSYS2/Win64, the
makefile rule does not have the SUBDIR in the target for its
object file.

Consequently, modifications to various include files (e.g. C ones)
do not trigger a recompilation.

When tracing the dependency generating, the dependency generation
has this strange content (linebreak inserted):
sed -e "/^#.*/d" -e "s,^[[:space:]]*dct\\.o,libavcodec/dct.o," \
 > libavcodec/dct-test.d

For some reason, the $(*F) has weird content. It looks simpler to
use $(@F) instead of $(*F)\\.o, although this was tested on one
single version of make.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-09 13:17:34 +02:00
Clément Bœsch
8f6f357fde build: restore videotoolbox compilation on iOS 2015-10-09 10:59:31 +02:00
Ganesh Ajjanagadde
079d553b9e configure: add message to avoid manual modification of config.texi
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-08 16:29:31 +02:00
Luca Barbato
d7a5a178c2 configure: When disabling a library disable all the related components
This way is sufficient to use the component specific configure variable
and not guard against the global library configure variable in code
that is outside it (e.g. checkasm).
2015-10-07 18:45:50 +02:00
Arttu Ylä-Outinen
b9446d0b56 configure: Add version check for libkvazaar
Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
2015-10-07 17:03:51 +03:00
Rodger Combs
a2b8b16300 lavf: add chromaprint muxer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-04 01:37:31 +02:00
Ganesh Ajjanagadde
8d1226e623 configure: silence preprocessor noise from dependency generation
Currently, errors are thrown for various macros while building that are completely bogus.
They occur during the dependency (.d) generation phase, and have no bearing on the compiled output,
since only the stdout is piped into the sed command to generate the .d files.
They basically occur as the relevant -I paths are not (and cannot be passed) during
the dependancy generation phase.
As such, this patch silences them.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-03 21:59:24 +02:00
Carl Eugen Hoyos
64508b9af2 configure: Remove --disable-avutil which has no effect from help output. 2015-10-03 16:35:32 +02:00
Michael Niedermayer
de2f531699 configure: Change screenpresso_decoder to select zlib instead of dep
zlib is used as a suggest/select target not a dep

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-03 14:42:02 +02:00
Hendrik Leppkes
98ca981a23 Merge commit '8ae1d87a2440cea0564efe2a6c9c223478a05f44'
* commit '8ae1d87a2440cea0564efe2a6c9c223478a05f44':
  build: Add support for known custom allocators

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-03 12:29:19 +02:00
Hendrik Leppkes
4d2160c99a Merge commit '9a3202a98b2e095b54dd784c3e01a09a676fc3fa'
* commit '9a3202a98b2e095b54dd784c3e01a09a676fc3fa':
  Screenpresso SPV1 decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-03 12:22:41 +02:00
Paul B Mahol
f5afd1c738 configure: check rubberband version, allow only latest one
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-01 22:30:18 +02:00
Luca Barbato
8ae1d87a24 build: Add support for known custom allocators
Makes slightly easier to use jemalloc and tcmalloc.

The two are quite common choices for profiling and debugging.
2015-09-30 21:42:26 +02:00
Vittorio Giovara
9a3202a98b Screenpresso SPV1 decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-30 16:45:11 +02:00
Matt Oliver
3b03bde46e avformat/async: Allow compilation with native threads. 2015-09-30 13:41:53 +10:00
Vicente Olivert Riera
3f1f605301 configure: address a copy-paste typo
The correct instruction for mips32r1 is addi.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-09-29 18:31:20 +02:00
Hendrik Leppkes
071f6edb98 Merge commit '678f788fea3380e5cbbf75baac5cc0ce07a56a42'
* commit '678f788fea3380e5cbbf75baac5cc0ce07a56a42':
  configure: Set the initial ldflags to match the cflags

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-29 14:24:35 +02:00
Luca Barbato
678f788fea configure: Set the initial ldflags to match the cflags
Some gcc-based toolchain would fail to link if the abi set by the
cpuflags does not match the default.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-09-29 11:10:37 +02:00
Luca Barbato
1016a75cf3 configure: mips: Support mips r6, r2 and r1
Detect the different MIPS architecture variants.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-09-29 11:10:37 +02:00
Alex Smith
a58c22d612 configure: Support for HEASLR on mingw targets
The appropriate flag for HEASLR (--high-entropy-va) was added in
binutils 2.25.

Also set the image base >4GB so higher entropy gets applied to image
base randomization when used with HEASLR (8 -> 17 bits of
randomization).  Windows does this for compatibility because of "latent
pointer truncation issues".

Signed-off-by: Alex Smith <alex.smith@warpsharp.info>
2015-09-28 10:15:49 +02:00
Alex Smith
6e61231d64 configure: Disable automatic image base calculation
There's no reason for it.  ASLR will rebase it regardless so "preventing
collisions" isn't really relevant.  This also brings it in line with
what a msvc produced dll will have (an image base of 0x10000000).

Signed-off-by: Alex Smith <alex.smith@warpsharp.info>
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-27 19:30:09 +02:00
Alex Smith
20b079963b configure: Combine dynamicbase and nxcompat checks
They were added to binutils in the same version so it's safe to combine.

Signed-off-by: Alex Smith <theryuu@warpsharp.info>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-27 00:06:22 +02:00
Alex Smith
91b668acd6 configure: Force mingw's ld to keep the reloc section
Binutils will always strip the relocation information from executable
files even if it needs it (dynamicbase/ASLR).  We can work around this
by using the pic-executable flag combined with setting the correct entry
point since apparently ld forgets what that should be.  This problem
affects both 32 and 64-bit mingw-w64.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-23 01:11:53 +02:00
Ganesh Ajjanagadde
a0e6e471db configure: silence error if tput not found
If tput is not found for colorizing, error message should be squashed.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-21 10:20:45 +02:00
Paul B Mahol
2a0fc55995 avfilter: add rubberband wrapper
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-20 19:54:57 +02:00
Timothy Gu
712235dd8f configure: Print large lists in more columns if the screen size allows
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
2015-09-16 16:22:24 -07:00
Ganesh Ajjanagadde
6d1801b5aa configure: make assignment of variable to '=' explicit
op== is confusing, as it may easily be mistook for an equality check,
while in reality it is doing an assigment to '='.
This patch has the additional benefit of cleaning up 2 warnings from shellcheck.net.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-09-15 14:58:48 -07:00
Paul B Mahol
1bf7bd194b avfilter: add ocr filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-12 02:14:44 +00:00
Peter Belkner
1d2beb686e configure: fix build on mingw64 target with msys2 2015-09-12 15:23:52 +02:00
James Almer
b8e4df46ab configure: check for ID3D11VideoContext
Should fix compilation with mingw-w64 trunk, where ID3D11VideoDecoder is available
but ID3D11VideoContext still isn't.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-09-11 18:23:30 -03:00
Ganesh Ajjanagadde
07d33439f3 configure: colorize error messages
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-11 12:57:14 +02:00
Ricardo Constantino
2641eeeefe configure: add libsoxr to swresample's pkgconfig
Fixes linking in FFMS and f265 at least, when ffmpeg is compiled with
libsoxr.

Signed-off-by: Ricardo Constantino <wiiaboo@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-09 14:02:55 +02:00
Timothy Gu
617d53f4c7 configure: Reenable colorized warnings and check for tput's existence
Untested.
2015-09-07 20:41:38 -07:00
Michael Niedermayer
12e6b64cd4 Revert "configure: colorize warning messages"
This broke win32, MSYS

This reverts commit 3e830b6dc8.
2015-09-08 05:09:58 +02:00
Ganesh Ajjanagadde
3e830b6dc8 configure: colorize warning messages
This patch introduces color warning messages (yellow).
They are enabled whenever available.
Tested with zsh, bash, and sh (bash under --posix).

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-07 16:27:17 +02:00
Hendrik Leppkes
d02d208211 Merge commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b'
* commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b':
  DXV decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-07 16:07:07 +02:00
Hendrik Leppkes
1964aeae42 Merge commit '0c7707610f46a28b65eff935500c78c9781f8f4f'
* commit '0c7707610f46a28b65eff935500c78c9781f8f4f':
  lavc: Add a lzf decompressor

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-07 12:53:00 +02:00
Michael Niedermayer
69c344eed2 configure: Remove reference to no longer existing avcodec_encode_video()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-05 22:36:19 +02:00
Vittorio Giovara
c45fcf30cf DXV decoder
Support all DXDI and DXD3 normal quality videos.
2015-09-02 22:22:02 +02:00
Luca Barbato
0c7707610f lavc: Add a lzf decompressor
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-02 21:56:22 +02:00
Carl Eugen Hoyos
b009d5b1f7 configure: Do not let the webm muxer suggest external libraries.
This can fail as seen on fate and the usefulness of the suggestion is limited.
2015-08-28 06:03:58 +02:00
rogerdpack
832b4a4a43 configure: Print out enabled programs
Better message that ffplay is not going to be built by printing out what
will be built.

Based on a patch by Moritz Barsnick.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2015-08-27 16:26:54 -07:00
Timo Rothenpieler
1dd854e10f vaapi: Add hevc hwaccel support
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-08-27 17:05:44 +02:00
Ganesh Ajjanagadde
bfe525e632 configure: warn if GCC 4.2 is being used
The wiki, Ticket1464, and Ticket3970 warn about the usage of GCC 4.2.
This fixes Ticket3970.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-08-27 16:56:34 +02:00
Ganesh Ajjanagadde
f174bfea86 configure: remove unused apply() function
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-27 11:47:52 +02:00
Hendrik Leppkes
f5258a7d16 Merge commit 'e176639bcbf4b580edb462a6b0650e53cd5e3c04'
* commit 'e176639bcbf4b580edb462a6b0650e53cd5e3c04':
  webm: Explicitly select libvpx, libopus and libvorbis encoders

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:53:07 +02:00
Ganesh Ajjanagadde
6455e4fb5b configure: do not fork off grep subprocess while testing for whitespace
grep is not necessary for the functionality.
This avoids an unnecessary fork.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-26 11:53:15 +02:00
wm4
94a4be85a1 configure: aac encoder requires lpc
Fixes compilation with --disable-encoders --enable-encoder=aac
2015-08-25 19:48:11 +02:00
Luca Barbato
e176639bcb webm: Explicitly select libvpx, libopus and libvorbis encoders
And update the preference for the newer codecs now that the libraries
seem stable and widespread enough.

Bug-Id: 695
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-08-25 19:47:43 +02:00
Michael Niedermayer
d65b9114f3 avformat/file: Check for lstat() instead of dirent.h
Fixes build on mingw

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-25 13:08:44 +02:00
Mariusz Szczepańczyk
1f4c62e84e lavf/file: check for dirent.h support
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-25 02:06:06 +02:00
Ganesh Ajjanagadde
060102389e configure: do not fork off grep subprocess in probe_cc
grep is not required for the functionality in this instance.
This avoids an unnecessary fork, and also avoids a duplicated dumpversion call.
Furthermore, it also corrects behavior when no minor version number is present, see e.g
https://github.com/joyent/node/pull/25671.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-25 00:31:25 +02:00
Michael Niedermayer
034e6fbd9c configure: Check for CoreServices/CoreServices.h and make vda+viedotoolbox depend on it
Fixes arm cross build on osx

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-19 22:49:20 +02:00
Paul B Mahol
2fa019958b avfilter: add showfreqs filter 2015-08-19 16:15:13 +00:00
Stephen Hutchinson
c5308eea29 configure: force -mconsole when linking SDL under MinGW
When building SDL with MinGW, it sets -mwindows with the
assumption that the application is a GUI application. If this
is linked without passing -mconsole to configure via
--extra-ldflags, stdout will be silenced from cmd.exe while
running FFmpeg.

The -mwindows flag that causes this behavior is included in the
sdl_libs variable, so append -mconsole there rather than create
an sdl_ldflags case just to insert it (especially if -mconsole
must come *after* -mwindows in order to be effective).

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-18 21:20:50 +02:00
Arttu Ylä-Outinen
b807f7e286 configure: Use pkg-config for libkvazaar.
Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
Liked-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-18 12:30:39 +02:00
Hendrik Leppkes
fdca935013 Merge commit 'cb2dbe2c762dae44d890aa26620bcdd9022fd0f3'
* commit 'cb2dbe2c762dae44d890aa26620bcdd9022fd0f3':
  configure: arm: Assume softfp ABI on darwin

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-18 09:02:01 +02:00
Michael Niedermayer
21566b21d5 avfilter: add scale2ref filter
This filter can be used to scale one stream to match another or based on
another, useful to scale subtitles or other things to be overlayed

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-17 17:18:01 +02:00
Mariusz Szczepańczyk
767d780ec0 doc/examples: rename avio_list_dir -> avio_dir_cmd
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-16 02:16:47 +02:00
Martin Storsjö
cb2dbe2c76 configure: arm: Assume softfp ABI on darwin
Don't try to detect the float ABI by checking at the toolchain
name or by trying to assemble and link files with eabi_attributes.

This fixes the float ABI detection when building using clang
with -fembed-bitcode, where the current eabi_attributes check
accidentally passes.

This issue was pointed out by James Howe <james.howe@hp.com>.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-08-16 00:17:22 +03:00
Carl Eugen Hoyos
176698260c configure: mpegvideo depends on mpeg_er.
Fixes compilation with --disable-everything --enable-encoder=mjpeg
While there, clean up some recursive dependencies.
Reported-by: Bernhard Döbler, programmer bardware de
2015-08-08 11:02:25 +02:00
Shiz
b197f78329 configure: Silence error messages when probing compiler
On Xcode's clang on OS X, $cc --version will output a 'Configured with:'
line to stderr, which clobbers the configure script output. As this line
serves no further purpose, it should be silenced.

The same applies to apple-gcc 4.2.1, which complains that it can not
understand the kernel version it is running on.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-08-04 12:19:27 +02:00
Shiz
2480da12a4 configure: Silence error messages when probing compiler.
On Xcode's clang on OS X, $cc --version will output a 'Configured with:'
line to stderr, which clobbers the configure script output. As this line
serves no further purpose, it should be silenced.

The same applies to apple-gcc 4.2.1, which complains that it can not
understand the kernel version it is running on.

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-04 11:00:54 +02:00
Sebastien Zwickert
11d923d414 avcodec: add new Videotoolbox hwaccel. 2015-08-03 10:12:10 +02:00
Michael Niedermayer
7a0e085ec5 Merge commit 'c6e0829e3696c894d24c8088c3ee30a9c17534c2'
* commit 'c6e0829e3696c894d24c8088c3ee30a9c17534c2':
  configure: Don't force _WIN32_WINNT to an older version if targeting winphone/winrt

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-28 22:30:21 +02:00
Michael Niedermayer
77c3908d5c Merge commit 'd75b55635a02444c2f188c26e431a1cec992babe'
* commit 'd75b55635a02444c2f188c26e431a1cec992babe':
  dxva2/d3d11va: Set _WIN32_WINNT to 0x0602 instead of 0x0600

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-28 22:22:10 +02:00
Martin Storsjö
c6e0829e36 configure: Don't force _WIN32_WINNT to an older version if targeting winphone/winrt
This avoids having to manually set _WIN32_WINNT in --extra-cflags
when targeting these API families, which only was necessary to
work around configure setting _WIN32_WINNT to an older version
by default.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-28 19:37:49 +03:00
Martin Storsjö
d75b55635a dxva2/d3d11va: Set _WIN32_WINNT to 0x0602 instead of 0x0600
If _WIN32_WINNT is unset, we force it to a new enough value to
make sure the necessary definitions are visible.

When targeting Windows Phone or Windows RT, _WIN32_WINNT should
be at least 0x0602 - otherwise the windows headers themselves
can cause errors (which technically are bugs in the headers).

Raising this value here shouldn't hurt; the alternative would
be to not touch it at all if WINAPI_FAMILY is set to phone/app,
or to force setting it to 0x0602 in configure if unset (for phone/app).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-28 19:37:47 +03:00
Martin Storsjö
60a21b3d81 configure: Check for _M_ARMT to detect thumb when using MSVC
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-27 10:45:32 +03:00
Martin Storsjö
616b409c8f configure: Check MSVC defines for identifying hardfloat
This macro identifies whether VFPv3 is available; MSVC defaults
to hardfloat (except for older MSVC versions for CE, targeting
ARMv4).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-27 10:45:15 +03:00
Martin Storsjö
2192ff84dd configure: Default to armasm for --toolchain=msvc when targeting arm
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-27 10:45:08 +03:00
Martin Storsjö
e4015b00d4 configure: Simplify, remove an unnecessary intermediate variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-27 10:44:44 +03:00
Michael Niedermayer
d06ea6e5ce Merge commit '60a21b3d81c1a11cf5a08950eadd4e84ca2e597c'
* commit '60a21b3d81c1a11cf5a08950eadd4e84ca2e597c':
  configure: Check for _M_ARMT to detect thumb when using MSVC

Conflicts:
	configure

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 13:20:12 +02:00
Michael Niedermayer
8324d427c2 Merge commit '616b409c8f1e4fa568908212c01f6530da8d2e71'
* commit '616b409c8f1e4fa568908212c01f6530da8d2e71':
  configure: Check MSVC defines for identifying hardfloat

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 13:07:49 +02:00
Michael Niedermayer
d9f3efd3d6 Merge commit '2192ff84dd720968108bc1ca54e239f4c94eb61d'
* commit '2192ff84dd720968108bc1ca54e239f4c94eb61d':
  configure: Default to armasm for --toolchain=msvc when targeting arm

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 13:00:09 +02:00
Michael Niedermayer
a74e3fc18b Merge commit 'e4015b00d4e9e40dc1693a018edd51bf7a04993e'
* commit 'e4015b00d4e9e40dc1693a018edd51bf7a04993e':
  configure: Simplify, remove an unnecessary intermediate variable

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 12:51:52 +02:00
Michael Niedermayer
dcc540db6e Merge commit '342b0ba5f93b09b1d0c2597db44605300e6fcc53'
* commit '342b0ba5f93b09b1d0c2597db44605300e6fcc53':
  configure: Only redirect strtoll to _strtoi64 if necessary

Conflicts:
	configure

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 23:32:29 +02:00
Michael Niedermayer
27e61a716c Merge commit '5fd553d31272d5ed42a7a5a0ecaab7b3452da83a'
* commit '5fd553d31272d5ed42a7a5a0ecaab7b3452da83a':
  configure: Only redefine inline to __inline for msvc if necessary

Conflicts:
	configure

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 23:19:56 +02:00
Michael Niedermayer
867686997c Merge commit '0cff125200ab53fa3ae70d85b4f614f269fe3426'
* commit '0cff125200ab53fa3ae70d85b4f614f269fe3426':
  configure: Only add -FIstdlib.h for msvc/icl if necessary

Conflicts:
	configure

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 22:59:10 +02:00
Steve Lhomme
c5327df838 force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to use DVXA
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.

Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.

The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 22:02:20 +02:00
Martin Storsjö
342b0ba5f9 configure: Only redirect strtoll to _strtoi64 if necessary
This isn't necessary any longer on MSVC 2013 Update 4.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 20:33:09 +03:00
Martin Storsjö
5fd553d312 configure: Only redefine inline to __inline for msvc if necessary
This isn't necessary on MSVC 2015 any longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 20:33:01 +03:00
Martin Storsjö
0cff125200 configure: Only add -FIstdlib.h for msvc/icl if necessary
This is only necessary on MSVC 2010/2012 (and possibly on some
ICL versions). This both avoids an extra hack on newer MSVC
versions, and better documents what the extra compiler option
is used for.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 20:33:00 +03:00
Steve Lhomme
9b4b96c0de force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.

Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.

The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 20:18:03 +03:00
Michael Niedermayer
508b79e6c1 Merge commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986'
* commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986':
  lavc: add Intel libmfx-based HEVC decoder.

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/qsvdec.c
	libavcodec/qsvdec_h2645.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 01:20:46 +02:00
Michael Niedermayer
bb619f41be Merge commit 'bf52f773913cf74bdf0d2c8c2cb4473fa1b7801e'
* commit 'bf52f773913cf74bdf0d2c8c2cb4473fa1b7801e':
  lavc: add Intel libmfx-based MPEG2 decoder.

Conflicts:
	configure
	libavcodec/qsvdec_mpeg2.c

Some cosmetics merged, rest is related to the removed parser code and
thus not merged

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 00:59:57 +02:00
Ivan Uskov
fb57bc6c34 avcodec: Add QSV VC-1 video decoder.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 19:32:22 +02:00
Anton Khirnov
41d47ea85f lavc: add Intel libmfx-based HEVC decoder. 2015-07-25 17:37:01 +02:00
Anton Khirnov
bf52f77391 lavc: add Intel libmfx-based MPEG2 decoder. 2015-07-25 17:36:59 +02:00
Ivan Uskov
6d0123f40e avcodec: Add QSV MPEG-2 video decoder.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 17:31:18 +02:00
Hendrik Leppkes
0c0cd34f9c configure: fix LARGEADDRESSAWARE flag with MSVC
Otherwise it would get translated like a library path (-L option),
which breaks setting the flag.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-24 21:56:10 +02:00
Steve Lhomme
58ed7b6328 use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe
favor link over link.exe in case some wrapper script already exists
fallback to "link" in the path if the one next to cl is not found

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-24 20:02:32 +02:00
Steve Lhomme
c9edbe4af9 use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe
Fallback to "link" in the path if the one next to cl is not found.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-24 18:21:22 +03:00
Michael Niedermayer
da8b70b810 Merge commit 'a54e720e0289433d6bc3f7ba0a37fa5cabfaeea9'
* commit 'a54e720e0289433d6bc3f7ba0a37fa5cabfaeea9':
  configure: force -nologo- when detecting MSVC

Conflicts:
	configure

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-24 00:44:58 +02:00
Steve Lhomme
a54e720e02 configure: force -nologo- when detecting MSVC
The -nologo- option is the inverse of -nologo, reenabling printing the
"logo" version header. This is useful if the compiler actually is a
wrapper that forces -nologo.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-23 22:28:08 +03:00
James Almer
736a386055 configure: check for erf() and copysign()
They are not available on some compilers.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-20 13:18:09 -03:00
Chris Spencer
eb468b0be0 avdevice/decklink: Add missing libraries when building with DeckLink support on Windows.
Signed-off-by: Chris Spencer <spencercw@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 20:32:41 +02:00
Zhang Rui
f477a3f5ab avformat/async: support filling with a background thread.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 01:46:50 +02:00
Michael Niedermayer
c7c33ab721 Merge commit 'f5ee23004d1177ca6dd99b92cb4ff4b94b2eae09'
* commit 'f5ee23004d1177ca6dd99b92cb4ff4b94b2eae09':
  configure: Factor out g722dsp module

Conflicts:
	configure
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 23:04:47 +02:00
Michael Niedermayer
65b0f7ce08 Merge commit 'a623aa0069dff586241ad2ffedcd45ed840e2553'
* commit 'a623aa0069dff586241ad2ffedcd45ed840e2553':
  configure: Factor out wmv2dsp module

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:56:00 +02:00
Michael Niedermayer
115a9b5091 Merge commit 'd42191c78befc1983f23b1899b2dda513b72f1ed'
* commit 'd42191c78befc1983f23b1899b2dda513b72f1ed':
  configure: Factor out vp8dsp module

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:45:34 +02:00
Michael Niedermayer
3500eccb8e Merge commit 'd4aea1aa4060fb5ba7f5f426823b697d2a5af08b'
* commit 'd4aea1aa4060fb5ba7f5f426823b697d2a5af08b':
  configure: Factor out vp56dsp module

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:31:45 +02:00
Michael Niedermayer
fd29dd432c Merge commit '5cb4bdb2a03c3643f8f1e7d21d7094e61e0a4418'
* commit '5cb4bdb2a03c3643f8f1e7d21d7094e61e0a4418':
  configure: Factor out rv34dsp module

Conflicts:
	libavcodec/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:21:36 +02:00
Michael Niedermayer
77cd5193a5 Merge commit '575ec60e542114b2ef5b2f88b28eeb72389dda45'
* commit '575ec60e542114b2ef5b2f88b28eeb72389dda45':
  configure: Factor out mss34dsp module

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:59:45 +02:00
Michael Niedermayer
ccd3edf81f Merge commit '2edc77dc7be5f4a006c6295f4c827e5471f85262'
* commit '2edc77dc7be5f4a006c6295f4c827e5471f85262':
  configure: Factor out ividsp module

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:51:19 +02:00
Michael Niedermayer
948a15195c Merge commit 'b075869bc1e1aadea0a8dc819ebfb758adb9e3d0'
* commit 'b075869bc1e1aadea0a8dc819ebfb758adb9e3d0':
  configure: Factor out flacdsp module

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:42:14 +02:00
Michael Niedermayer
e56f14659f Merge commit 'e1319aa1c1be9b64117c19170344fb78841dd67c'
* commit 'e1319aa1c1be9b64117c19170344fb78841dd67c':
  libx264: Add support for the MPEG2 encoder

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:21:03 +02:00
Vittorio Giovara
f5ee23004d configure: Factor out g722dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
a623aa0069 configure: Factor out wmv2dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
d42191c78b configure: Factor out vp8dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
d4aea1aa40 configure: Factor out vp56dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
5cb4bdb2a0 configure: Factor out rv34dsp module 2015-07-17 18:46:24 +01:00