Commit Graph

5196 Commits

Author SHA1 Message Date
Peter Ross
533ba0b6b5 configure: detect djgpp libc 2018-11-28 22:16:07 +11:00
Carl Eugen Hoyos
737b5f5869 configure: Add -Wno-char-subscripts.
Silences many warnings on systems with signed char where
the compiler cannot distinguish between char and int8_t.
2018-11-25 00:39:01 +01:00
Carl Eugen Hoyos
63c8558667 configure: Disable direct stripping on sunos.
Sunos strip doesn't know -o.
Reported-by: Michael Kostylev
2018-11-25 00:38:34 +01:00
Paul B Mahol
0279cb4f69 avcodec: add truehd_core bitstream filter 2018-11-23 22:03:56 +01:00
Marton Balint
972ded33c0 avfilter/vf_freezedetect: add filter to detect frozen input
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-19 22:11:42 +01:00
hwrenx
bddcbb932f configure: update api version of libxavs2
abolish parameter IntraPeriod &&
replaced by IntraPeriodMax/Min

Signed-off-by: hwrenx <hwrenx@126.com>
2018-11-19 18:20:49 +01:00
Mark Thompson
2ce3a48f30 configure: Add missing xlib dependency for VAAPI X11 code
Fixes #7538.
2018-11-14 22:56:18 +00:00
Marton Balint
936d18fb42 avfilter/vf_minterpolate: use common scene sad functions
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-11 20:30:50 +01:00
Marton Balint
7748f395de avfilter/vf_select: use common scene sad functions
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-11 20:30:50 +01:00
Marton Balint
6c2a7a8e9a avfilter/vf_framerate: factorize SAD functions which compute SAD for a whole frame
Also add SIMD which works on lines because it is faster then calculating it on
8x8 blocks using pixelutils.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-11 20:30:50 +01:00
James Almer
beaa350e24 avcodec: libdav1d AV1 decoder wrapper.
Originally written by Ronald S. Bultje, with fixes, optimizations and
improvements by James Almer.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-05 21:48:11 -03:00
Mark Thompson
e9d2e3fdaa configure: Add missing V4L2 M2M decoder BSF dependencies 2018-11-05 14:22:10 +00:00
Mark Thompson
a4fb2b1150 configure: Add missing IVF muxer BSF dependency 2018-11-05 14:22:05 +00:00
Mark Thompson
34429182b9 configure: Fix av1_metadata BSF dependency 2018-11-05 00:34:33 +00:00
Philip Langdale
d5272e94ab avfilter/vf_yadif_cuda: CUDA accelerated yadif deinterlacer
This is a cuda implementation of yadif, which gives us a way to
do deinterlacing when using the nvdec hwaccel. In that scenario
we don't have access to the nvidia deinterlacer.
2018-11-02 11:26:30 -07:00
James Almer
2d2af23349 avformat/ivfenc: use the av1_metadata bsf to insert Temporal Delimiter OBUs if needed
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-01 22:55:22 -03:00
James Almer
6a112349c2 configure: add missing optional SDL2 dependency to OpenGL outdev
Signed-off-by: James Almer <jamrial@gmail.com>
2018-10-24 21:12:32 -03:00
James Almer
ebc3d04b8d avcodec: add an AV1 parser
Simple parser to set keyframes, frame type, structure, width, height, and pixel
format, plus stream profile and level.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-10-03 20:48:49 -03:00
Mark Thompson
476a77128a lavc: Add AV1 metadata bitstream filter
Can adjust colour and timing information.
2018-09-26 23:41:34 +01:00
Mark Thompson
c8c81ac502 lavc: Add coded bitstream read/write support for AV1 2018-09-26 23:27:53 +01:00
Paul B Mahol
efb65abedf avfilter: add audio denoising (afftdn) filter 2018-09-25 19:54:06 +02:00
Marton Balint
db6b4b56b3 avdevice/decklink: add support for selecting devices based on their unique ID
Also bump the API version requirement to 10.9.5, because on olders versions
there were some reports of crashes using the undocumented, yet available
BMDDeckLinkDeviceHandle.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-09-23 18:55:29 +02:00
Mark Thompson
ff0eb2bce3 vaapi_encode_mjpeg: Use CBS to store parameters and write headers
Also adds greyscale, 4:2:2, 4:4:4 and RGB support.
2018-09-23 14:42:34 +01:00
Mark Thompson
525de2000b lavc/cbs: Add JPEG support 2018-09-23 14:42:34 +01:00
Mark Thompson
a00763be88 configure: Use pkgconfig for VAAPI
Set the minimum version to 0.35.0 (libva 1.3.0) and remove redundant
configure tests.  This also allows the proprietary libmfx fork of libva,
which always shows the version number 0.99.0 (independent of the actual
version).
2018-09-23 14:42:33 +01:00
James Almer
98518e90aa avcodec: add missing mpegvideo dependencies to SpeedHQ decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2018-09-15 12:35:16 -03:00
James Almer
6304268e39 configure: add missing avcodec dependency to avfilter when bm3d filter is enabled
Signed-off-by: James Almer <jamrial@gmail.com>
2018-09-14 21:17:04 -03:00
Paul B Mahol
0ac937f80d configure: bm3d filter depends on dct in avcodec 2018-09-13 11:27:20 +02:00
hwren
85a921f461 lavc, doc, configure: add libxavs2 video encoder wrapper
Signed-off-by: hwren <hwrenx@126.com>
2018-09-11 21:48:42 +01:00
Roman Arzumanyan
90ba17652a avfilter: add nvidia NPP based transpose filter
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2018-09-10 12:11:41 +02:00
Devin Heitmueller
8732dfa995 avdevice/decklink: Add support for EIA-708 output over SDI
Hook in libklvanc and use it for output of EIA-708 captions over
SDI.  The bulk of this patch is just general support for ancillary
data for the Decklink SDI module - the real work for construction
of the EIA-708 CDP and VANC line construction is done by libklvanc.

Libklvanc can be found at: https://github.com/stoth68000/libklvanc

Updated to reflect feedback from Marton Balint <cus@passwd.hu>,
Carl Eugen Hoyos <ceffmpeg@gmail.com>, Aaron Levinson
<alevinsn_dev@levland.net>, and Moritz Barsnick <barsnick@gmx.net>

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-09-09 22:42:26 +02:00
Paul B Mahol
a5278b672a avcodec: add RemotelyAnywhere Screen Capture decoder 2018-09-08 15:59:10 +02:00
James Almer
ce265b0bf5 Merge commit '39f3b6f3fc2b46b405b680cce3599f1b370e342d'
* commit '39f3b6f3fc2b46b405b680cce3599f1b370e342d':
  configure: Move add_fooflags() helper functions into canonical order

Merged-by: James Almer <jamrial@gmail.com>
2018-09-02 17:35:51 -03:00
James Almer
9a88a47be4 Merge commit '5691c746cf62e69806aae1baf0a6e8252d519444'
* commit '5691c746cf62e69806aae1baf0a6e8252d519444':
  configure: Group toolchain parameter mangling functions together

Merged-by: James Almer <jamrial@gmail.com>
2018-09-02 17:33:30 -03:00
James Almer
ce47f1589e Merge commit '5cb62f9d952e24fff62737a57e89cf43d9c2333a'
* commit '5cb62f9d952e24fff62737a57e89cf43d9c2333a':
  configure: Rename check_header() --> check_headers()

Merged-by: James Almer <jamrial@gmail.com>
2018-09-02 17:29:54 -03:00
James Almer
73d193d1d0 Merge commit '25c2a27c9ec0150210d75ee5ac8ed1bfa14c1a56'
* commit '25c2a27c9ec0150210d75ee5ac8ed1bfa14c1a56':
  configure: Make require_cc() and require_cpp_condition() functions consistent

Merged-by: James Almer <jamrial@gmail.com>
2018-09-02 17:18:58 -03:00
James Almer
41cd5af325 Merge commit '23be4eebf8aaa7519b12b2a49e5c5c6c4d076e6a'
* commit '23be4eebf8aaa7519b12b2a49e5c5c6c4d076e6a':
  build: Group external library protocols separately

Merged-by: James Almer <jamrial@gmail.com>
2018-09-02 16:50:45 -03:00
Marton Balint
1124df0397 avformat/libsrt: add pkt_size parameter to libsrt
Also make sure we set the URL context max packet size accordingly.

Based on a patch by Tudor Suciu <tudor.suciu@gmail.com>

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-09-01 21:57:59 +02:00
Avi Halachmi (:avih)
09e49a8fb0 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-08-31 01:44:03 +02:00
Shiyou Yin
e13e52fd0d configure: [loongson] revert no-expensive-optimizations
Add gcc version check before add -fno-expensive-optimizations flag.
Only when gcc version is lower than 5.3.0, this flag is needed.
More bug info see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67736
https://gcc.gnu.org/ml/gcc-patches/2012-05/msg00401.html

Signed-off-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-08-27 23:30:54 +02:00
Paul B Mahol
ad2ac1e7dd avcodec: add WinCAM Motion Video decoder 2018-08-27 22:06:19 +02:00
Paul B Mahol
f7d749e95b avcodec: add MatchWare Screen Capture Codec 2018-08-27 22:06:19 +02:00
Avi Halachmi (:avih)
45499e557c 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>
2018-08-27 11:34:10 -03:00
Avi Halachmi (:avih)
923586a58f 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>
2018-08-27 11:34:10 -03:00
Avi Halachmi (:avih)
58b81ac621 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>
2018-08-27 11:34:09 -03:00
Michael Niedermayer
4251a44e7d configure: do not add fsanitize cflags with ossfuzz if coverage is tested
Found-by: Max Moroz
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-08-23 16:00:26 +02:00
James Almer
728760de35 Revert "avcodec/libaomdec: auto insert dump_extra bitstream filter"
This reverts commit e45ed15594.

The Matroska spec was updated to not remove Sequence Header OBUs from key
frames, so this is no longer needed.
2018-08-17 15:17:59 -03:00
Danil Iashchenko
5423fe29da lavfi: add erosion_opencl, dilation_opencl filters
Add erosion_opencl, dilation_opencl filters. Behave like existing erosion and dilation filters.
2018-08-12 21:52:06 +01:00
Kyle Swanson
87cc7e8d4e lavfi/vf_libvmaf: update to use libvmaf v1.3.9
Signed-off-by: Kyle Swanson <kswanson@netflix.com>
2018-08-10 12:00:12 -07:00
James Almer
e45ed15594 avcodec/libaomdec: auto insert dump_extra bitstream filter
Some containers, like Matroska, may propagate key frames with no Sequence
Header OBU since it's provided in extradata instead.
With this change, the Sequence Header will be appended to the packet data
before calling aom_codec_decode().

Signed-off-by: James Almer <jamrial@gmail.com>
2018-08-02 12:41:05 -03:00