This is added in 10.11, so we add a #define when building against older SDKs.
The decoder actually supports 7.1-channel eac3, but since the parser only
reports 6 channels, we end up decoding the 5.1 downmix (same as the internal
decoder) for now.
Previously, with JACK installed, the configure script would enable the
JACK indev; this broke on OS X due to an incomplete pthreads
implementation. Add some simple macros to map libdispatch to pthreads
on OS X.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
The relocation hack broke debugging on mingw-w64 when using gdb. This
makes the reloc hack dependent on --disable-debug so it's still enabled
for release builds.
This is simply an immediate fix for the issue of broken debugging, we
should probably still look at the possibility of reverting it outright
if it proves to be more trouble than it's worth. For now keeping it
enabled for release builds is a reasonable trade off.
Signed-off-by: Alex Smith <theryuu@warpsharp.info>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
The intrax8 decoding process does not imply any kind of error
resilience, and the only call present is more related to how mpegvideo
works rather than anything else.
Therefore have the parent decoders carry out er when actually needed.
Autodetected by default. Encode using -codec:v h264_videotoolbox.
Signed-off-by: Rick Kern <kernrj@gmail.com>
Signed-off-by: wm4 <nfxjfg@googlemail.com>
This commit also disables the async fate test, because it
used internal APIs in a non-kosher way, which no longer
exists.
* commit '2758cdedfb7ac61f8b5e4861f99218b6fd43491d':
lavf: reorganize URLProtocols
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
The pkg-config file contains all opencv libraries, not only the
neccessary ones.
This change makes it possible to use the libopencv-imgproc-dev Debian
package instead of libopencv-dev, saving about 200 MB of useless
build-dependencies.
In particular one doesn't need to install the parts of opencv that
depend on ffmpeg libraries.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
We don't know which features are available when the user selects a
generic core, so don't disable anything by default and let the user
decide.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Fixes build of lavd/jack on linux if dispatch happens to be available on
this platform. dispatch, as well as its dependencies kqueue and pwq are
generally not installed / distribued on linux systems. If it happens to
be the case, you want to explicitely link against the libraries (using
-ldispatch) as opposed to darwin where it is part of the standard
library and -ldispatch doesn't work.
* commit '21f7cd4acd8dc4b4796b55966dd015cb037164d8':
lavfi: add a filter for uploading normal frames to CUDA
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This currently doesn't do anything, but will be used later for hwaccel
filters and libavutil.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Instead of a linked list constructed at av_register_all(), store them
in a constant array of pointers.
Since no registration is necessary now, this removes some global state
from lavf. This will also allow the urlprotocol layer caller to limit
the available protocols in a simple and flexible way in the following
commits.
Revert "configure: Don't enable examples when --disable-everything is used"
reverted as the problematic commit will be reverted too
This reverts commit 02dfa64c08.
Revert "Merge commit 'a2bb771a3cded8a05137c0effb34f61a2bc78e22'"
This reverts commit e8ebcb0034, reversing
changes made to 3bff005be8.
Revert "Merge commit '21c750f240b9d0c41a258d1adee2d9f75ff378b6'"
This reverts commit 470bfab470, reversing
changes made to f97ee815cf.
Revert "Revert "configure: Revert recent changes to disable-everything""
This reverts commit f97ee815cf.
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Immediate commit suggested by BBB
* commit '5e1beec944dacd6b4ed7d710125dd508c41ca969':
configure: Print which libraries will be built
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* commit '21c750f240b9d0c41a258d1adee2d9f75ff378b6':
configure: Use `require` for the non-component options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
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.
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.
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>
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=12296http://www.itu.int/rec/T-REC-H.265-201410-Shttps://hevc.hhi.fraunhofer.de/rext
Reveiwed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
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>
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.)
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>