1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00
Commit Graph

5108 Commits

Author SHA1 Message Date
Gyan Doshi
4b0a2a3c63 configure: bump year
(cherry picked from commit 7b58702cbd)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-07-01 13:33:44 +02:00
Guo, Yejun
33651c0940 configure: use vpx_codec_vp8_dx/cx for libvpx-vp8 checking
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit d9b2668766)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-21 10:42:52 +01:00
Guo, Yejun
01209d220b configure: add missing pthreads extralibs dependency for libvpx-vp9
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 402bf26237)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-21 10:42:52 +01:00
James Almer
48ca78728a configure: bump year
Happy new year!

(cherry picked from commit 3209d7b393)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-21 10:42:51 +01:00
Avi Halachmi (:avih)
3fb09dba40 configure: <fflib>_deps: validate, reduce sensitivity
- Allow to add deps in any order rather than "in linking order".
- Expand deps chains as required rather than just once.
- Validate that there are no cycles.
- Validate that [after expansion] deps are limited to other fflibs.
- Remove expectation for a specific output order of unique().

Previously when adding items to <fflib>_deps, developers were
required to add them in linking order. This can be awkward and
bug-prone, especially when a list is not empty, e.g. when adding
conditional deps.

It also implicitly expected unique() to keep the last instance of
recurring items such that these lists maintain their linking order
after removing duplicate items.

This patch mainly allows to add deps in any order by keeping just
one master list in linking order, and then reordering all the
<fflib>_deps lists to align with the master list order.

This master list is LIBRARY_LIST itself, where otherwise its order
doesn't matter.

The patch also removes a limit where these deps lists were expanded
only once. This could have resulted in incomplete expanded lists,
or forcing devs to add already-deducable deps to avoid this issue.

Note: it is possible to deduce the master list order automatically
from the deps lists, but in this case it's probably not worth the
added complexity, even if minor. Maintaining one list should be OK.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-10-08 21:01:24 -03:00
Avi Halachmi (:avih)
a634da282b configure: speed up check_deps()
x4 - x25 faster.

check_deps() recursively enables/disables components, and its loop is
iterated nearly 6000 times. It's particularly slow in bash - currently
consuming more than 50% of configure runtime, and about 20% with other
shells.

This commit applies few local optimizations, most effective first:
- Use $1 $2 ... instead of pushvar/popvar, and same at enable_deep*
- Abort early in one notable case - empty deps, to avoid costly no-op.
- Smaller changes which do add up:
  - Handle ${cfg}_checking locally instead of via enable[d]/disable
  - ${cfg}_checking: test done before inprogress - x2 faster in 50%+
  - one eval instead of several at the empty-deps early abort path.

- The "actual work" part is unmodified - just its surroundings.

Biggest speedups (relative and absolute) are observed with bash.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Tested-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>
Tested-by: Dave Yeo <daveryeo@telus.net>
Tested-by: Reino Wijnsma <rwijnsma@xs4all.nl>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 45499e557c)
2018-10-08 20:56:08 -03:00
Avi Halachmi (:avih)
df6e929e89 configure: speed up print_enabled_components()
x4 - x10 faster.

Inside print_enabled components, the filter_list case invokes sed
about 350 times to parse the same source file and extract different
info for each arg. This is never instant, and on systems where fork is
slow (notably MSYS2/Cygwin on windows) it takes many seconds.

Change it to use sed once on the source file and set env vars with the
parse results, then use these results inside the loop.

Additionally, the cases of indev_list and outdev_list are very
infrequent, but nevertheless they're faster, and arguably cleaner, with
shell parameter substitutions than with command substitutions.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Tested-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>
Tested-by: Dave Yeo <daveryeo@telus.net>
Tested-by: Reino Wijnsma <rwijnsma@xs4all.nl>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 923586a58f)
2018-10-08 20:56:02 -03:00
Avi Halachmi (:avih)
42355d12db configure: speed up flatten_extralibs_wrapper()
x50 - x200 faster.

Currently configure spends 50-70% of its runtime inside a single
function: flatten_extralibs[_wrapper] - which does string processing.

During its run, nearly 20K command substitutions (subshells) are used,
including its callees unique() and resolve(), which is the reason
for its lengthy run.

This commit avoids all subshells during its execution, speeding it up
by about two orders of magnitude, and reducing the overall configure
runtime by 50-70% .

resolve() is rewritten to avoid subshells, and in unique() and
flatten_extralibs() we "inline" the filter[_out] functionality.

Note that logically, "unique" functionality has more than one possible
output (depending on which of the recurring items is kept). As it
turns out, other parts expect the last recurring item to be kept
(which was the original behavior of uniqie()). This patch preservs
its output order.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Tested-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>
Tested-by: Dave Yeo <daveryeo@telus.net>
Tested-by: Reino Wijnsma <rwijnsma@xs4all.nl>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 58b81ac621)
2018-10-08 20:55:53 -03:00
Carl Eugen Hoyos
a6d85a97d0 configure: The eac3_core bitstream filter needs the ac3 parser.
Fixes linking with "--disable-everything --enable-bsf=eac3_core".
(cherry picked from commit 9461e7d3a5)
2018-06-13 12:04:12 +02:00
John Cox
72a34d2332 configure: fix arm inline asm checks
Commit 8c893aa3cd removed quotes that were required to detect
inline asm in clang:

check_insn armv5te qadd r0, r0, r0
.../test.c:1:34: error: expected string literal in 'asm'
void foo(void){ __asm__ volatile(qadd r0, r0, r0); }

The correct code is:

void foo(void){ __asm__ volatile("qadd r0, r0, r0"); }

Commit message written by Frank Liberato <liberato@chromium.org>

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit ad94f1c8ab)
2018-06-06 10:49:31 -03:00
Niklas Haas
93cee87b13 configure: fix configure check for lilv-0
This should be included as `<lilv/lilv.h>`, same as is done in af_lv2.c.
Forcing the extra lilv-0 breaks platforms where the include dir is
`/usr/include/lilv/lilv.h` rather than
`/usr/include/lilv-0/lilv/lilv.h`.

The new include path works for both, because the `pkg-config --cflags`
includes `-I/usr/include/lilv-0`.

(cherry picked from commit 32234e03a7)
2018-05-13 19:18:48 +03:00
Hendrik Leppkes
a73b464118 configure: fix clang-cl check in the MSVC section
Without properly grouping the checks, the second test would execute for
MSVC cl.exe, which results in configure getting stuck since cl.exe -? is
an interactive paginated help screen, waiting for input.
2018-04-19 09:58:48 +02:00
Timo Rothenpieler
9c787a21ce configure: add nvcc to CMDLINE_SET
This was somehow forgotten and nobody noticed until now.
2018-04-16 22:36:43 +02:00
James Almer
b6ec181240 configure: extend the check for bcrypt
Some old mingw-w64 builds seem to provide an incomplete implementation
of the API. Add an extra check to make sure it's disabled for those.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit c04609eefc)
2018-04-16 10:50:30 -03:00
Alexander Bilyak
9fd11e5188 configure: fix clang-cl detection
When using clang-cl it expects parameters passed in MSVC-style, so appropriate toolchain should be selected.
As soon as both clang and clang-cl report themselfs as "clang" with -v option the only chance to detect
clang-cl is passing -? option to both which is valid for clang-cl.exe and not for clang.exe.

Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-15 17:37:00 +02:00
Steve Lhomme
aedbf1640c avutil/random_seed: use bcrypt instead of the old wincrypt API
Remove the wincrypt API calls since we don't support XP anymore and bcrypt is
available since Vista, even on Windows Store builds.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-04-14 18:31:25 -03:00
Michael Niedermayer
876f9ac9a6 configure: make the C11 atomics check more robust
C11 atomics allow direct access. This check should prevent the usage
of bogus stdatomic.h available on some systems.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-04-13 11:08:17 -03:00
James Almer
e7a2f1f8d8 configure: disable direct stripping in OpenBSD
It appears strip -o creates new files without preserving permissions
from the source binary, resulting in non executable files.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-04-13 11:01:29 -03:00
Carl Eugen Hoyos
b5c877a554 configure: Disable direct stripping for AIX.
AIX strip doesn't know the option -o.
2018-04-12 02:30:21 +02:00
James Almer
aea610b0d6 configure: check for INIT_ONCE before enabling w32threads
Should fix compilation wiht some old mingw-w64 builds that
don't seem to define it.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-04-10 20:45:17 -03:00
James Almer
234a5e0831 configure: check that the required header for Linux Perf is available
Should fix compilation on targets like some old Android NDK versions.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-04-10 20:43:25 -03:00
Michael Niedermayer
8247e0304e configure: fix build
regression since 8f1382f80e
2018-04-01 02:58:42 +02:00
Josh de Kock
65452bcd64 lavd: remove linked lists
Signed-off-by: Josh de Kock <josh@itanimul.li>
2018-03-31 23:26:31 +01:00
Josh de Kock
d8ae40611b Revert "lavd: add new API for iterating input and output devices"
This reverts commit 0fd475704e.

Revert "lavd: fix iterating of input and output devices"

This reverts commit ce1d77a5e7.

Signed-off-by: Josh de Kock <josh@itanimul.li>
2018-03-31 23:26:31 +01:00
Josh de Kock
8f1382f80e lavfi: add new iteration API
Signed-off-by: Josh de Kock <josh@itanimul.li>
2018-03-31 23:26:30 +01:00
Martin Storsjö
f33f728470 arm: swscale: Only compile the rgb2yuv asm if .dn aliases are supported
Vanilla clang supports altmacro since clang 5.0, and thus doesn't
require gas-preprocessor for building the arm assembly any longer.

However, the built-in assembler doesn't support .dn directives.

This readds checks that were removed in d7320ca3ed, when
the last usage of .dn directives within libav were removed.

Alternatively, the assembly could be rewritten to not use the
.dn directive, making it available to clang users.

Signed-off-by: Martin Storsjö <martin@martin.st>
2018-03-31 21:54:56 +03:00
James Almer
a123e576a4 Merge commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57'
* commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57':
  Add Haivision SRT protocol

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 21:56:19 -03:00
James Almer
75bf51ef87 Merge commit '434b44cd6fb4bb9a2bf2bb29ef55ce1a315314b8'
* commit '434b44cd6fb4bb9a2bf2bb29ef55ce1a315314b8':
  configure: Simplify vararg check

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 21:30:16 -03:00
James Almer
e46fab0f3c Merge commit '8c7554e6a9b126bd6ee5bf80dae9e11e056db2f1'
* commit '8c7554e6a9b126bd6ee5bf80dae9e11e056db2f1':
  configure: Add check_x86asm() helper function to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 21:25:43 -03:00
James Almer
91bcf0b8cd Merge commit '17ee5b0c13bc17465b71bc9ca1cde9f0eed8b3ff'
* commit '17ee5b0c13bc17465b71bc9ca1cde9f0eed8b3ff':
  configure: Use indirection for the -o assembler flag also for x86asm

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 21:15:18 -03:00
James Almer
3bbec8e7c2 Merge commit 'b9ea301e02472d0982b0fa0f80294bd95885bde8'
* commit 'b9ea301e02472d0982b0fa0f80294bd95885bde8':
  configure: Use a more sensible suffix for x86 assembly tempfiles

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 21:06:25 -03:00
James Almer
44df2e8588 Merge commit '5292e97c42b05db7ad4e51c1ea756b12fdf721ff'
* commit '5292e97c42b05db7ad4e51c1ea756b12fdf721ff':
  configure: Document available options for the --toolchain parameter

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 21:03:33 -03:00
James Almer
23f4472944 Merge commit 'ea2f72a2c14c67a3b35dac6426d1e3c0fae33fd5'
* commit 'ea2f72a2c14c67a3b35dac6426d1e3c0fae33fd5':
  configure: Don't assume a 16 byte aligned stack on BSDs on i386

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 20:40:07 -03:00
James Almer
7e3c4d029b Merge commit '847190ebd99ffd57dc89bd568a33bf2d5c424129'
* commit '847190ebd99ffd57dc89bd568a33bf2d5c424129':
  configure: Don't assume an aligned stack on clang on windows

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 20:31:03 -03:00
James Almer
99cc3cf7a2 Merge commit '43778a501f1bfbceeddc8eaeea2ea2b3506beeda'
* commit '43778a501f1bfbceeddc8eaeea2ea2b3506beeda':
  Support AV1 encoding using libaom

This contains some extra changes taken from the libvpx encoder
wrapper, most of them contained in the set_pix_fmt() function.

Merged-by: James Almer <jamrial@gmail.com>
2018-03-29 00:05:45 -03:00
James Almer
0dc11d8bbd Merge commit 'c438899a706422b8362a13714580e988be4d638b'
* commit 'c438899a706422b8362a13714580e988be4d638b':
  Add AV1 video decoding support through libaom

This contains some extra changes taken from the libvpx decoder
wrapper, most of them contained in the set_pix_fmt() function.

Merged-by: James Almer <jamrial@gmail.com>
2018-03-28 18:09:46 -03:00
James Almer
18195e570c Merge commit 'dd7e63af93b2430b5d42b87a966160c66736342c'
* commit 'dd7e63af93b2430b5d42b87a966160c66736342c':
  configure: Restore original endianness test

The test was not changed in 67e8f476b7
Merging only the explanation.

Merged-by: James Almer <jamrial@gmail.com>
2018-03-28 15:39:26 -03:00
James Almer
23ba9b3fd1 Merge commit '31a53ab34e22fe1eec902f79ec1f19ab828a7a0c'
* commit '31a53ab34e22fe1eec902f79ec1f19ab828a7a0c':
  configure: Add check_as() helper function to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
2018-03-28 15:28:13 -03:00
James Almer
c00b218a8f Merge commit '18dc1ff0fb4572b1d50a44905aa1e76bc3bbb0ad'
* commit '18dc1ff0fb4572b1d50a44905aa1e76bc3bbb0ad':
  configure: Add check_ld() helper function to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
2018-03-28 15:19:35 -03:00
James Almer
67e8f476b7 Merge commit '9c37d765ef28b027414f86b0088b0c282a3c46d8'
* commit '9c37d765ef28b027414f86b0088b0c282a3c46d8':
  configure: Add check_cc/require_cc helper functions to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
2018-03-28 15:03:56 -03:00
Sven Dueking
a2fc8dbae8 Add Haivision SRT protocol
The protocol requires libsrt (https://github.com/Haivision/srt) to be
installed

Signed-off-by: Sven Dueking <sven.dueking@nablet.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2018-03-28 16:16:41 +02:00
Diego Biurrun
2124a97a49 configure: Drop unused helper function test_cflags_cpp() 2018-03-27 13:38:20 +02:00
Danil Iashchenko
9f17875134 libavfilter: Add OpenCL convolution filter
Behaves like existing convolution filter.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-03-26 22:26:35 +01:00
Diego Biurrun
434b44cd6f configure: Simplify vararg check 2018-03-26 18:59:44 +02:00
Diego Biurrun
8c7554e6a9 configure: Add check_x86asm() helper function to simplify some expressions 2018-03-26 18:59:43 +02:00
Diego Biurrun
17ee5b0c13 configure: Use indirection for the -o assembler flag also for x86asm
Similar indirections are used for the -o compiler/assembler flag to
account for differences in compiler/assembler syntax. For x86asm half
the infrastructure for doing the same currently exists unused.
Finish and use that infrastructure for consistency.
2018-03-26 18:54:56 +02:00
Diego Biurrun
b9ea301e02 configure: Use a more sensible suffix for x86 assembly tempfiles 2018-03-26 18:52:04 +02:00
Diego Biurrun
5292e97c42 configure: Document available options for the --toolchain parameter 2018-03-26 18:52:04 +02:00
Mark Thompson
ac993e73de hwcontext_opencl: Add support for mapping DRM objects to Beignet
Also use that to support mapping VAAPI to Beignet.
2018-03-22 23:19:00 +00:00
drfer3
6135c958cd lavfi: Add OpenCL avgblur filter
Behaves like the existing avgblur filter, except working on OpenCL
hardware frames. Takes exactly the same options.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-03-22 23:16:25 +00:00