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

2467 Commits

Author SHA1 Message Date
Janne Grunau
896a5bff64 arm: check if AS supports .dn
Move the GNU as check before the arch specific asm checks since the .dn
check requires gas compatible assembler.

Disable the VC-1 motion compensation NEON asm which is the only part
using that directive. The integrated assembler in the upcoming clang 3.5
does not support .dn/.qn without plans to change that. Too much effort
to implement it while it is rarely used.

http://llvm.org/bugs/show_bug.cgi?id=18199.
2014-06-03 14:23:03 +02:00
Diego Biurrun
368f50359e dsputil: Split off quarterpel bits into their own context 2014-05-29 06:48:31 -07:00
Diego Biurrun
512f3ffe9b dsputil: Split off HuffYUV encoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
2014-05-27 08:54:53 -07:00
Diego Biurrun
0d439fbede dsputil: Split off HuffYUV decoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
2014-05-27 08:52:34 -07:00
Janne Grunau
afe1762654 build: export library dependencies in ${name}_FFLIBS
Removes an ugly $(if) to avoid conflicts with $(FFLIBS-) in the
top-level MAkefile.
2014-05-20 00:43:51 +02:00
Katerina Barone-Adesi
4d25c2bc76 build: Support building using clang-usan and disable-optimization
Clang Undefined Behaviour Sanitizer seems to make non-constant constant
expressions, making the compilation fail when they are used within
inline assembly if no optimization is requested.

Add -O1 to the cflags to hide the misbehaviour.

Bug-Id: 683
2014-05-16 19:58:34 +02:00
Tristan Matthews
7c5ca546a0 configure: fix enable-libopus help string 2014-05-15 18:17:01 +02:00
Anton Khirnov
b70d7a4ac7 lavc: add a native Opus decoder.
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.

Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.

Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
2014-05-15 06:49:34 +02:00
Janne Grunau
449511740f build: handle library dependencies in configure
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
2014-05-13 20:02:01 +02:00
Anton Khirnov
67afcefb35 lavc: Add new VDA hwaccel
It leverages the new hwaccel 1.2 features:

- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-11 15:00:03 +02:00
Alessandro Ghedini
1c0210c798 lavfi: add Bauer stereo-to-binaural audio filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-01 08:00:30 +02:00
Anton Khirnov
a61c2115fb configure: rework dxva in avconv handling
Move the dxva check after the dependencies have been detected, make sure
the ole32 library exists.

Fixes build on non-Windows.
2014-04-28 23:02:56 +02:00
Hendrik Leppkes
35177ba77f avconv: add support for DXVA2 decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 21:21:54 +02:00
Kostya Shishkov
e2834567d7 On2 AVC decoder 2014-04-23 19:57:44 +02:00
Kostya Shishkov
93e15a3238 fic: use correct IDCT
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 12:37:54 -04:00
Martin Storsjö
4936ef6492 configure: Handle armcc 5.0
The first line of the "armcc --vsn" output in one version is
"Product: ARM Compiler 5.04".

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-19 12:49:20 +03:00
Luca Barbato
f1b239ec8b drawtext: Add fontconfig support
Introduce the `font` option and make it optional to pass a fontfile.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-17 00:41:30 +02:00
Paul B Mahol
718907cd88 libtwolame MP2 encoding support
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-07 23:50:33 +02:00
Janne Grunau
8675bcb0ad aarch64: add armv8 CPU flag 2014-04-06 21:18:49 +02:00
Peter Ross
ac4b32df71 On2 VP7 decoder
Further performance improvements and security fixes by
Vittorio Giovara, Luca Barbato and Diego Biurrun.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-04-04 04:00:11 +02:00
Jimmy Christensen
38389058c3 OpenEXR decoder
Additional fixes and enhancements by Vittorio Giovara, Gonzalo Garramuno,
Nicolas George, Paul B Mahol and Michael Niedermayer.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-01 01:13:09 +02:00
Derek Buitenhuis
cd60631752 libx265: Bump version requirement
Build 13 has a crucial fix which makes x265_encode_headers work
as its always been documented.

Previous to this, the check was incorrect.

Also allows for use of the repeat headers flag.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-31 16:24:05 +01:00
Diego Biurrun
8ef33497a6 build: Add config option for CABAC code
This allows for more elegant dependency and object declarations.
2014-03-24 15:35:18 +01:00
Peter Krefting
54f7881615 configure: Remove dcbzl check for e500v1 and e500v2 architectures
The DCBZL instruction is not available for the e500v1 and e500v2
architectures, but may still be recognized by the toolchain, so we
need to explicitly disable it for these architectures.

References: PowerPC™ e500 Core Family Reference Manual (Freescale)

Found-by: Ståle Kristoffersen <staalebk@ifi.uio.no>

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-24 02:22:16 +01:00
Luca Barbato
fb7127b2c8 build: h264 parser depends on full h264 decoder 2014-03-23 22:41:11 +01:00
Luca Barbato
0f0d1d056e configure: Always use -DOPJ_STATIC when checking for openjpeg
Unbreaks windows systems not providing pkgconf files.

Reported-By: Rafaël Carré <funman@videolan.org>
2014-03-23 01:14:31 +01:00
Diego Biurrun
57f09608e1 dsputil: Move thirdpel-related bits into their own context 2014-03-22 06:17:30 -07:00
Diego Biurrun
606cc8afa1 configure: ppc: Disable ldbrx instruction by default
Only enable it for CPUs that support it.
This restores the behavior prior to 7a650caf.
2014-03-19 17:14:11 +01:00
Vittorio Giovara
be039278b5 mpegvideo: move ff_draw_horiz_band() to mpegutils.c
Drop the mpegvideo dependency for svq3 in configure.
2014-03-16 23:05:39 +01:00
Diego Biurrun
7a650caf64 configure: Split some logical blocks off from HAVE_LIST 2014-03-14 13:45:40 +01:00
Diego Biurrun
d0adf55c05 configure: Split some logical blocks off from CONFIG_LIST 2014-03-14 13:45:40 +01:00
Diego Biurrun
07ea8a7e94 configure: Group and sort function/struct/type checks
Group checks into logical groups and sort alphabetically within those groups
unless checks have close coupling. Keep closely coupled checks together.
2014-03-14 13:45:40 +01:00
Diego Biurrun
b4dd424d96 Remove all SPARC architecture optimizations
SPARC is no longer being used in any multimedia-related fields and the
VIS optimizations only represent a maintenance burden.
2014-03-13 05:50:28 -07:00
Diego Biurrun
bbb64356cc build: Record dependency of eatqi decoder on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
b5f112d820 configure: Add explicit dsputil dependency to mpegvideoenc
Previously, it was an implicit dependency through mpegvideo. Change
this, as implicit dependencies can cause all sorts of trouble.
2014-03-13 05:50:27 -07:00
Diego Biurrun
cd832f032f ffv1: Drop bogus dependency on dsputil
ffv1 does not use any part of the dsputil framework.
2014-03-13 05:50:27 -07:00
Diego Biurrun
0e29c5e128 build: Drop stray LPC dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
6cd76e5412 build: Drop stray MJPEG encoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
9ecf1b62f3 build: Drop stray MLP decoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
7d7be44f3e build: Drop stray PNG decoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
88b240646f build: Drop stray mpc8 decoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Luca Barbato
aa80742539 configure: Support older version of openjpeg1
It should work best for debian stable and people not installing the .pc
file.
2014-03-12 14:06:21 +01:00
Diego Biurrun
b3c6ee199e configure: Group toolchain options together in help output 2014-03-12 14:00:19 +01:00
Luca Barbato
390acbea06 configure: Provide --pkg-config-flags
Should be used only to pass extra flags to pkgconf invocation,
e.g. --static.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 21:55:11 +01:00
Luca Barbato
5926603ad6 configure: Document --pkg-config option 2014-03-11 19:52:40 +01:00
Diego Biurrun
7caf48e036 configure: miscellaneous cosmetics
Sort lists of components. Add some whitespace where it helps readability.
Consistently use double instead of single quotes around component lists.
2014-03-10 23:52:52 +01:00
Luca Barbato
4a8562394b configure: Use the right pkgconf file for openjpeg
The current release of version 1 uses libopenjpeg1.
2014-03-10 11:48:04 +01:00
Anton Khirnov
e854b8f9f4 Work around broken floating point limits on some systems.
The values of {FLT,DBL}_{MAX,MIN} macros on some systems (older musl
libc, some BSD flavours) are not exactly representable, i.e.
(double)DBL_MAX == DBL_MAX is false
This violates (at least some interpretations of) the C99 standard and
breaks code (e.g. in vf_fps) like
double f = DBL_MAX;
[...]
if (f == DBL_MAX) { // f has not been changed yet
    [....]
}
2014-03-10 10:27:17 +01:00
Janne Grunau
c708b54033 timer: use mach_absolute_time as high resolution clock on darwin
Not guaranteed to be in nanosecond resolution. On iOS 7 the duration
of one tick is 125/3 ns which is still more than an order of magnitude
better then microseconds.

Replace decicycles with the neutral UNITS. Decicycles is strange but
tenths of a nanosecond and unspecific "deci"-ticks for mach_absolute_time
is just silly.
2014-03-09 00:45:34 +01:00
Pierre Lejeune
0e0cefb222 build: Use pkg-config for openjpeg
Bug-Id: 387
CC: libav-stable@libav.org
2014-03-08 19:42:32 +01:00
Derek Buitenhuis
d67dbfa7c1 libx265: Support API version 9
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-06 20:21:27 +00:00
Diego Biurrun
d48430c367 build: Let the SVQ3 decoder depend on the H.264 decoder
The SVQ3 decoder reuses large parts of the H.264 decoder so it
makes no sense to enable the former but not the latter.

Also drop unnecessary h263.o object from SVQ3 decoder object list.
2014-03-06 18:23:41 +01:00
Diego Biurrun
84bf881720 configure: Split x86 SIMD architecture extensions into separate list
This avoids checking inline/external assembly dependencies for x86
extensions that do not play a role in inline/external assembly.
2014-03-06 13:29:00 +01:00
Reinhard Tartler
5ddc9f5052 configure: enable PIC on s390(x)
The s390 architecture requires shared libraries to be built in PIC mode.
Otherwise applications will get wrong relocations at run-time, leading
to confusing segmentation faults.

CC: libav-stable@libav.org
2014-03-04 21:40:36 -05:00
Vittorio Giovara
61b323ce7c vf_frei0r: refactor library loading from env variable
strtok_r is not needed any more, so remove it from configure.
2014-03-04 11:39:02 +01:00
Anton Khirnov
bc6461c286 af_compand: replace strtok_r() with av_get_token() 2014-02-28 21:55:46 +01:00
Diego Biurrun
fb3b2f5d92 configure: Set the thread type after resolving dependencies
A threading type might be detected originally, but later disabled
if one of its dependencies is unavailable.

This makes sure that the threading support item in the configure
output is right for setups where w32threads are available but
native atomics aren't.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-02-28 22:27:05 +02:00
Diego Biurrun
2f02bbcca0 build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder
Almost all of the code is shared so there is little point in
enabling one decoder/encoder without the other.
2014-02-28 21:17:01 +01:00
Diego Biurrun
34150be515 build: Let the iac decoder depend on the imc decoder
Almost all of the code is shared so there is little point in
enabling one decoder without the other.
2014-02-28 21:11:53 +01:00
Diego Biurrun
8e0cf39faf build: Let all MJPEG-related decoders depend on the MJPEG decoder
These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
2014-02-28 20:51:10 +01:00
Diego Biurrun
0a36988e48 build: Let AMV decoder depend on the SP5X decoder
This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
2014-02-28 20:44:53 +01:00
Christophe Gisquet
4cb6964244 dcadec: simplify decoding of VQ high frequencies
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.

Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.

The decode_hf implementations have following timings:

For x86 Arrandale:
        C  SSE SSE2 SSE4
win32: 260 162  119  104
win64: 242 N/A   89   72

The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
2014-02-28 13:03:22 +01:00
Anton Khirnov
291e49d4e7 af_compand: add a dependency on strtok_r 2014-02-26 21:59:14 +01:00
Anton Khirnov
e7dfaf16a4 libavfilter: example audio filtering program
Based on a patch by Andrew Kelley <superjoe30@gmail.com>

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-02-25 13:22:10 +01:00
Derek Buitenhuis
d00a504b24 libx265: Update API usage
Framerate is now a sane rational instead of an integer, and
inputDepth is changed to what it actually is.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 15:50:04 +00:00
James Almer
1b932eb150 x86: add detection for FMA3 instruction set
Based on x264 code

Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
James Almer
10b0161d78 x86: add missing XOP checks and macros
Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
Janne Grunau
5800ba0db6 configure: disable cpunop if the check fails
Moving cpunop from the HAVE_LIST to the ARCH_EXT_LIST_X86 has the side
effect of enabling it. The semantics of the check have to be changed
from enable if successful to disable if unsuccessful. This was missing
in 2b0bb69997 causing build errors with
nasm.
2014-02-23 15:29:20 +01:00
Luca Barbato
d6a27f885b configure: Add usan to the toolchain presets
clang-3.4 and gcc-4.9 have it.
2014-02-20 18:58:38 +01:00
Diego Biurrun
2b0bb69997 configure: Move cpunop into ARCH_EXT_LIST_X86
It is a processor feature, so it belongs there.
2014-02-20 18:20:08 +01:00
Diego Biurrun
6adf4290eb configure: Move inet_aton check into network function check block 2014-02-20 18:20:07 +01:00
Diego Biurrun
192ccc5034 build: The MPEG-4 video parser depends on h263dsp
The dependency is indirect through the h263/mpegvideo code.
CC: libav-stable@libav.org
2014-02-20 11:55:12 +01:00
Diego Biurrun
874c751cc5 threads: Check w32threads dependencies at the configure stage
Also add warning comment about threading implementations without matching
atomics implementation to the atomics fallback implementation.
2014-02-19 15:12:37 +01:00
Diego Biurrun
b339182eba Move all example programs to doc/examples
Also drop support for building examples in library directories.
2014-02-16 21:37:21 +01:00
Janne Grunau
d261719319 configure: do not link libraries against program-specific dependencies
Bug-Id: 635
2014-02-13 13:01:49 +01:00
Janne Grunau
60e6cecf9b configure: avserver does not need $ldl
Loadable plugins were removed in d010e95f86.
2014-02-13 00:29:14 +01:00
Derek Buitenhuis
50ea93158d Add libx265 encoder
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-12 13:13:17 +00:00
Kostya Shishkov
cde7df25ef Mirillis FIC video decoder
Does not contain cursor rendering yet.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-08 15:04:13 +00:00
Janne Grunau
6398d8fd81 configure: clang: add -Qunused-arguments to as|ld_flags as well 2014-02-08 13:38:36 +01:00
Janne Grunau
9e057f53aa configure: clang: explicitly state dep file and rule name in DEPFLAGS
Fixes dependency file generation with gas-preprocessor.pl and clang.
Flags copied from GCC and tested with Apple's clang from Xcode 5 and
5.1 and clang 3.2, 3.3, 3.4 on Linux.
2014-01-25 21:50:21 +01:00
Janne Grunau
fb87e69ff7 configure: add missing x86 dependency for i686 2014-01-25 21:50:20 +01:00
Diego Biurrun
8267f93635 configure: Set default HOSTCFLAGS/HOSTCPPFLAGS after compiler detection
This prevents the default HOSTCFLAGS from getting clobbered by flags
passed to configure on the command line.
2014-01-22 10:33:04 +01:00
Diego Biurrun
dc4d726bab build: Add separate hidden config option for the intrax8 code
This allows for slightly cleaner dependency specification.
2014-01-15 15:23:46 +01:00
Janne Grunau
b7b17ed66e aarch64: add cpuflags support for NEON and VFP
NEON and VFP are currently mandatory for all ARMv8 profiles. Both are
handled as extensions as far as cpuflags are concerned. This is
consistent with handling x86_64 which always has SSE2, but still
handles it as an extension.
2014-01-15 12:05:09 +01:00
Janne Grunau
032d4da8af aarch64: configure: set arch dependent features
Stack is always 16 byte aligned and clz, 64bit operations and unaligned
memory access are fast in aarch64 mode on ARMv8.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-01-14 22:19:27 +01:00
Robert Krüger
d8e763fda7 vf_yadif: Relicense from GPL to LGPL
All copyright holders have agreed to the relicensing.
2014-01-14 00:04:59 +01:00
Martin Storsjö
99e2012523 x86/arm: Add clobber tests to libavresample
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-13 14:13:27 +02:00
Martin Storsjö
44a0a98f92 arm: Add an option for making sure NEON registers aren't clobbered
This is pretty much based on the same test for XMM registers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-11 00:03:00 +02:00
Maxim Polijakowski
e6f0bb6527 ATRAC3+ decoder
Cleanup by Diego Biurrun.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-01-09 19:33:07 +01:00
Martin Storsjö
9409c9bdbf configure: Disable networking if winsock2.h is available but winsock functions aren't
Previously, if neither of the checks for the closesocket function
succeeded, we still kept winsock2.h and networking in general
enabled.

When targeting the WinRT API subset, the winsock2.h header is
available (making the check for it succeed, giving the impression
that winsock is available), but tests that actually try to use
such a function will fail. In this case, disable the winsock2.h
feature and networking in general, as if the winsock2.h header
test would have failed in the first place.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-06 18:55:04 +02:00
Luca Barbato
e61b8fa560 configure: Update freetype check to follow upstream
The freetype tutorial suggests to use #include FT_FREETYPE_H.

Bug-Id: 616
2014-01-06 11:44:10 +01:00
Diego Biurrun
52ccc4a0ec configure: Support preprocessor macros as header names
New versions of FreeType have moved the location of their API
header(s) and hide the location behind a macro.

Since the location changes between versions and no other way
to know the location exists, this workaround becomes necessary.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-05 11:48:13 +01:00
Diego Biurrun
bd0fba8797 configure: Explicitly disable w32threads if the test for it fails
This avoids false positive enabling of w32threads if explicitly
requested on the command line, but dependencies are missing.
2013-12-25 13:00:49 +01:00
Justin Ruggles
be7c323176 Add a libwebp encoder 2013-12-21 17:01:42 -05:00
Diego Biurrun
8558595a59 configure: Express atomics/thread deps through the dependency system 2013-12-19 20:53:56 +01:00
Diego Biurrun
11bb5e10c3 build: Define __printf__ to __gnu_printf__ on MinGW*/gcc
This is necessary to avoid GCC assuming MS style printf arguments.
2013-12-16 15:21:42 +01:00
Diego Biurrun
5db4e88ecd configure: Detect Solaris libc in an OpenIndiana/illumos compatible way 2013-12-14 14:09:40 +01:00
Luca Barbato
a5a3b398fd configure: Reorder pthreads checks
Some pthreads symbols might be present in libc (as shown on various *BSD)
but not all of them, leading to false positives.

Check for the most common compiler flags before the plain symbol check
to avoid known pitfalls.
2013-12-13 23:53:30 +01:00
Luca Barbato
7cbe1ea9df configure: Move the bz2 and zlib checks below phtreads
There are alternate implementations of those libraries that use pthreads.
2013-12-13 23:53:30 +01:00
Diego Biurrun
7c3388711b configure: Add -D__USE_MINGW_ANSI_STDIO=1 to CPPFLAGS on MinGW32
This enables a more C99-compliant implementation of printf et al.
2013-12-13 16:47:49 +01:00