Commit Graph

4759 Commits

Author SHA1 Message Date
Clément Bœsch
7e503828b0 Merge commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277'
* commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277':
  build: Add name parameter to check_lib() helper function

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:15:07 +02:00
Clément Bœsch
dfbfbbfa48 Merge commit '1faffe7e8fab21186a233011bc8a62f47962e2cd'
* commit '1faffe7e8fab21186a233011bc8a62f47962e2cd':
  configure: Disentangle vfw32 and user32 lib handling

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:42:17 +02:00
Clément Bœsch
f9ecf5498c Merge commit 'f7174d7ed045445d00a6d557236737d09ad32343'
* commit 'f7174d7ed045445d00a6d557236737d09ad32343':
  configure: fix linking with MSVC when using --disable-optimizations

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:39:37 +02:00
Clément Bœsch
9c1b09f73e Merge commit 'ef9a711be718ed3802a263d1d9ed340a4aaef224'
* commit 'ef9a711be718ed3802a263d1d9ed340a4aaef224':
  configure: put d3d11 check in alphabetical order

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:38:10 +02:00
Michael Niedermayer
5b499bf4a0 Make tools/target_dec_*_fuzzer buildable with configure and make
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-24 23:17:47 +02:00
James Almer
79778bb9b0 Merge commit '972c71e9cb63e24f57ee481e413199c7d88a8813'
* commit '972c71e9cb63e24f57ee481e413199c7d88a8813':
  lavc: add support for filtering packets before decoding

Merged-by: James Almer <jamrial@gmail.com>
2017-04-22 22:35:27 -03:00
Paul B Mahol
61088051bd avcodec: add Screen Recorder Gold Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-18 15:04:12 +02:00
Paul B Mahol
a96db6be06 avcodec: add Mandsoft Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-18 15:03:12 +02:00
Clément Bœsch
17f848ca07 Merge commit 'fc368497f2fff54ddf5316224c573c9d1939fb25'
* commit 'fc368497f2fff54ddf5316224c573c9d1939fb25':
  configure: Add missing dxva2 dependency for dxva2_lib

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 13:45:21 +02:00
Clément Bœsch
d1c8b96608 Merge commit 'f1248fae90b45501af4e8743d373e79191470331'
* commit 'f1248fae90b45501af4e8743d373e79191470331':
  configure: Handle dxva2 optional components in the standard way

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 13:42:33 +02:00
Clément Bœsch
15bca8c67d Merge commit 'f8a1ead0ae4402df0503c83f213f57b785a5f20f'
* commit 'f8a1ead0ae4402df0503c83f213f57b785a5f20f':
  build: Add -D_XOPEN_SOURCE=600 to CPPFLAGS on Cygwin

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 10:27:18 +02:00
Clément Bœsch
9bf3d84089 Merge commit 'be2d555c980220e65d0ca5c3d78e6cc1e24451a5'
* commit 'be2d555c980220e65d0ca5c3d78e6cc1e24451a5':
  build: Use _extralibs variable names instead of _libs everywhere

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 10:22:52 +02:00
Clément Bœsch
0ba67a8eb1 build: remove special freetype check
Since 52ccc4a0e was merged, it's pointless to keep our special version.
2017-04-17 10:03:26 +02:00
Clément Bœsch
0a0517bbf5 Merge commit '0507cd5b9f3c3769645bc6e9177eaf760f490d1c'
* commit '0507cd5b9f3c3769645bc6e9177eaf760f490d1c':
  build: Rename host_libs/HOSTLIBS variables to host_extralibs/HOSTEXTRALIBS

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 09:39:31 +02:00
Clément Bœsch
9ae1ffe641 Merge commit '1818a640cfdccd52e97edf13564f45bc3d0d93eb'
* commit '1818a640cfdccd52e97edf13564f45bc3d0d93eb':
  build: Fix dependencies for alsa/jack/sndio support

Added explicit enable (which will be automatically added later on in
ee480790c) to actually fix this commit. Without the explicit enables,
alsa, jack and sndio gets disabled.

Also added jack, alsa and sndio to the have list so the HAVE_* are
populated to make (this fixes the SKIPHEADERS chunks).

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 09:28:34 +02:00
Clément Bœsch
3390a2be9d Merge commit 'af451ac0de6776e97d6a3ff95eac257b7964002e'
* commit 'af451ac0de6776e97d6a3ff95eac257b7964002e':
  configure: Drop redundant and partly bogus vaapi/vdpau header checks

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-15 18:38:45 +02:00
Aaron Levinson
9e86a61870 avdevice/decklink: remove pthread dependency
Purpose: avdevice/decklink: Removed pthread dependency by replacing
semaphore used in code appropriately.  Doing so makes it easier to
build ffmpeg using Visual C++ on Windows.  This is a contination of
Kyle Schwarz's "avdevice/decklink: Remove pthread dependency" patch
that is available at https://patchwork.ffmpeg.org/patch/2654/ .  This
patch wasn't accepted, and as far as I can tell, there was no
follow-up after it was rejected.

Notes: Used Visual Studio 2015 (with update 3) for this.

Comments:

-- configure: Eliminated pthreads dependency for decklink_indev_deps
   and decklink_outdev_deps and replaced with threads dependency

-- libavdevice/decklink_common.cpp / .h:
a) Eliminated semaphore and replaced with a combination of a mutex,
   condition variable, and a counter (frames_buffer_available_spots).
b) Removed include of pthread.h and semaphore.h and now using
   libavutil/thread.h instead.

-- libavdevice/decklink_dec.cpp: Eliminated include of pthread.h and
   semaphore.h.

-- libavdevice/decklink_enc.cpp:
a) Eliminated include of pthread.h and semaphore.h.
b) Replaced use of semaphore with the equivalent using a combination
   of a mutex, condition variable, and a counter
   (frames_buffer_available_spots).  In theory, libavutil/thread.h and
   the associated code could have been modified instead to add
   cross-platform implementations of the sem_ functions, but an
   inspection of the ffmpeg source base indicates that there are only
   two cases in which semaphores are used (including this one that was
   replaced), so it was deemed to not be worth the effort.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-04-15 12:26:21 +02:00
Aaron Levinson
bceb3d0f86 Support building C++ files with MSVC
Made appropriate changes to be able to successfully
build C++ files using a Visual C++ build on Windows.

Based on an earlier patch by Kyle Schwarz.

Comments:

-- compat/w32pthreads.h: Made appropriate changes to w32pthreads.h to
   get it to build when it is being included in a C++ file and built
   with Visual C++.  This is mostly a copy of Kyle Schwarz's patch as
   described above.

-- configure:
a) Now calling set_ccvars CXX to cause the various CXX_ variables to
   be setup properly.  For example, with MSVC (Microsoft Visual C++),
   this causes CXX_O to be set to -Fo$@ instead of using the default
   value.  The default value does not work with Visual C++.  This
   change will also have the impact of correcting CXX_O (and possibly
   CXX_C) for other compilers, although this is really only relevant
   for the Intel compiler, in addition to MSVC.
b) Now using cl for the C++ compiler for the MSVC toolchain.  This is
   currently only relevant for building the
   Blackmagic/Decklink-related files under avdevice.

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
2017-04-13 23:57:31 +02:00
James Almer
0dd2777309 configure: add missing golomb dependency to hevcparse
Based on a dependency addition from fbec58daa2
2017-04-13 18:15:39 -03:00
James Almer
40f3f0298a Merge commit 'f55c0a64ae40dc8e0a131a590e123cd14d0c0f7a'
* commit 'f55c0a64ae40dc8e0a131a590e123cd14d0c0f7a':
  build: Drop stray golomb dependencies

Merged-by: James Almer <jamrial@gmail.com>
2017-04-13 18:14:04 -03:00
James Almer
8c71d1b060 Merge commit '6bd9590b33742f1cceecc0c0d81b3caf3d8a4e1a'
* commit '6bd9590b33742f1cceecc0c0d81b3caf3d8a4e1a':
  build: Have old H.264/HEVC nvenc encoders select their new counterparts

Merged-by: James Almer <jamrial@gmail.com>
2017-04-13 17:20:50 -03:00
James Almer
41b8b2ca28 Merge commit '404cb74793284aa03e2e1a7e911c980c4cba0e9e'
* commit '404cb74793284aa03e2e1a7e911c980c4cba0e9e':
  configure: Pass CFLAGS_HEADERS through the right CFLAGS filter

Merged-by: James Almer <jamrial@gmail.com>
2017-04-13 17:01:01 -03:00
Carl Eugen Hoyos
a081acc440 configure: Fix decklink license dependency. 2017-04-12 22:49:06 +02:00
James Almer
d8e5a4818b Merge commit '3d6135eacf3b6a82c3024620c6a28169960464a7'
* commit '3d6135eacf3b6a82c3024620c6a28169960464a7':
  configure: Simplify OMX check

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 14:51:31 -03:00
James Almer
6992c806e6 Merge commit '601f8dde13ccd0e1993b7840a0304fa2cfe53432'
* commit '601f8dde13ccd0e1993b7840a0304fa2cfe53432':
  configure: Move COMPONENT_LIST to the bottom of CONFIG_LIST

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 14:49:09 -03:00
James Almer
fa1fe495fc Merge commit '29d2e03ed96d9f7b8cb2cc87dca0a63c2a6eff70'
* commit '29d2e03ed96d9f7b8cb2cc87dca0a63c2a6eff70':
  configure: Simplify and fix avfoundation indev handling

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 14:46:08 -03:00
James Almer
498e9e8e2a avcodec/hevc_parse: split build dependencies
Reviewed-by: nevcairiel
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-09 13:55:17 -03:00
James Almer
adf9f0416f Merge commit '2a096440768b1086bb437939f827b8b7a5716bf7'
* commit '2a096440768b1086bb437939f827b8b7a5716bf7':
  configure: Separate package name and version requirements in helper functions

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 13:11:08 -03:00
James Almer
0905c679eb Merge commit 'ffb9025f39b274abfc4ad2b264205a44cc0238a4'
* commit 'ffb9025f39b274abfc4ad2b264205a44cc0238a4':
  configure: Simplify MMAL check

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 12:43:55 -03:00
James Almer
e5ac47c068 Merge commit '660470cd62c59f25cc52c731af6230e7bc1aba62'
* commit '660470cd62c59f25cc52c731af6230e7bc1aba62':
  build: Add missing audio_frame_queue dependency for libwavpack encoder

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 12:41:21 -03:00
James Almer
521197ebec Merge commit 'e1dc5358af0dadef548114ec9cabba766b7c6260'
* commit 'e1dc5358af0dadef548114ec9cabba766b7c6260':
  build: Create a component for MPEG audio header decoding

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 12:29:58 -03:00
Clément Bœsch
41a2208035 Merge commit '6ef3360a38efe027cb6ebf9785870048ca7eb38b'
* commit '6ef3360a38efe027cb6ebf9785870048ca7eb38b':
  configure: Add misssing qpeldsp dependency to mss2 decoder

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 15:05:31 +02:00
Clément Bœsch
210678d3c5 Merge commit '3794062ab1a13442b06f6d76c54dce51ffa54697'
* commit '3794062ab1a13442b06f6d76c54dce51ffa54697':
  Remove Plan 9 support

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 14:52:00 +02:00
Clément Bœsch
a329b822e1 Merge commit '4a1ef543983b7480e2822f6ac281ba361d1f893d'
* commit '4a1ef543983b7480e2822f6ac281ba361d1f893d':
  build: Drop support for old versions of libdc1394

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 14:22:43 +02:00
Clément Bœsch
d14a1bd8e4 Merge commit '2575b1917b2703fae41a4b4901ad85c888374dfd'
* commit '2575b1917b2703fae41a4b4901ad85c888374dfd':
  build: Add separate flags for checkheaders targets

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 15:09:57 +02:00
Clément Bœsch
3d0475ef38 Merge commit '984e50e74ba71301720652e56232161a994bd0b5'
* commit '984e50e74ba71301720652e56232161a994bd0b5':
  build: Add -Wpedantic and -Wextra to extra warning flags

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 15:00:25 +02:00
Clément Bœsch
efb0ea2af4 Merge commit '518a22471e40604a158180a0660aabeeec65e07f'
* commit '518a22471e40604a158180a0660aabeeec65e07f':
  configure: Be more helpful when requiring options set

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:51:56 +02:00
Clément Bœsch
8aaacbf7fd Merge commit 'c21d78a903da378af48c9e5f971fe989592ddb65'
* commit 'c21d78a903da378af48c9e5f971fe989592ddb65':
  configure: Integrate X11 checks into vaapi/vdpau checks

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:13:43 +02:00
Clément Bœsch
f98ccbd6a0 Merge commit '8b56dbe7435d8cfe3964f447fc45fe98db5d9042'
* commit '8b56dbe7435d8cfe3964f447fc45fe98db5d9042':
  configure: Do not add newlines in filter()/filter_out() functions

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:11:21 +02:00
Clément Bœsch
8e0bea5515 Merge commit '9254344e11f9b016088ec6250724f74377f5d7a0'
* commit '9254344e11f9b016088ec6250724f74377f5d7a0':
  configure: Move hardware-accelerated codec deps out of hwaccel section

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:08:51 +02:00
Clément Bœsch
09027c8977 Merge commit 'd4f2a681cb6d4e913f1c879ad376313255d6cf4c'
* commit 'd4f2a681cb6d4e913f1c879ad376313255d6cf4c':
  configure: MMAL-related decoders should depend on, not select, mmal

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 13:51:57 +02:00
James Almer
12290077d1 Merge commit 'bf2f748fc74fff5272075e1fe1c07b4152421526'
* commit 'bf2f748fc74fff5272075e1fe1c07b4152421526':
  configure: Use correct libm linker flag during math function checks

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:16:57 -03:00
James Almer
b26b4d62be Merge commit '04698d528cac334b6b5cabd3384f01406a766285'
* commit '04698d528cac334b6b5cabd3384f01406a766285':
  configure: Use correct variable name in libsnappy test

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:08:21 -03:00
James Almer
743eae3cd6 Merge commit '30f0d1b997f15d667c05feab0b54f0b2814ba7a9'
* commit '30f0d1b997f15d667c05feab0b54f0b2814ba7a9':
  configure: Remove old avisynth support leftover

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:06:02 -03:00
James Almer
b9886e569a Merge commit '5bcc6f76f180d0f88269018727c92fc562fb8abb'
* commit '5bcc6f76f180d0f88269018727c92fc562fb8abb':
  configure: Disable warning C4703 with MSVC

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:03:05 -03:00
Clément Bœsch
4069394fd4 Merge commit '1dd2b6c91ca5f26207805720d4f5564de60b241b'
* commit '1dd2b6c91ca5f26207805720d4f5564de60b241b':
  examples/qsvdec: switch to the hwcontext API

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 21:07:59 +02:00
Clément Bœsch
ab04d9bf63 Merge commit 'ffe89e1edb0281ff65d1bda88253784e9283b717'
* commit 'ffe89e1edb0281ff65d1bda88253784e9283b717':
  configure: Move mjpeg_vaapi_decoder dependency declarations to the right place

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-01 11:29:34 +02:00
Clément Bœsch
e06b8b07d5 Merge commit 'e0b164576f7467b7b1127c18175e215dc1df011f'
* commit 'e0b164576f7467b7b1127c18175e215dc1df011f':
  qsv: Add VP8 decoder

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-01 11:21:02 +02:00
Carl Eugen Hoyos
fa0a6ce34d configure: Fix GPL dependency for avisynth / avxsynth. 2017-04-01 11:05:13 +02:00
James Almer
678ab33861 Merge commit 'b6582b29277e00e5d49f400e58beefa5a21d83b8'
* commit 'b6582b29277e00e5d49f400e58beefa5a21d83b8':
  qsv: Add VC-1 decoder

See fb57bc6c34.
Merged for cosmetic purposes to reduce differences with libav.

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 17:42:12 -03:00
James Almer
0ad9aff022 Merge commit '2dd464868c64fa21a6e3bd63ad364ff12999c7d0'
* commit '2dd464868c64fa21a6e3bd63ad364ff12999c7d0':
  configure: Move license checks directly after command line parsing

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:39:10 -03:00
James Almer
8d50dd976d Merge commit 'c78495d1cdac6dd13786a7e5571b606604a360bd'
* commit 'c78495d1cdac6dd13786a7e5571b606604a360bd':
  configure: Log name and parameters of all helper functions where it makes sense

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:36:38 -03:00
James Almer
3795899978 Merge commit '8a6e7a67cb2943f552569801539829a304971302'
* commit '8a6e7a67cb2943f552569801539829a304971302':
  configure: Use check_cpp in CPP flags tests

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:34:25 -03:00
James Almer
e5177e8f8d Merge commit '831005b2302cbeb377e3f00fd18c78928bcec185'
* commit '831005b2302cbeb377e3f00fd18c78928bcec185':
  configure: Log correct test name and use correct filter when testing objective C flags

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:32:32 -03:00
James Almer
f0df60d392 Merge commit 'fe7bc1f16abaefe66d8a20f734ca3eb8a4ce4d43'
* commit 'fe7bc1f16abaefe66d8a20f734ca3eb8a4ce4d43':
  configure: Do not unconditionally check for (and enable) xlib

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:29:22 -03:00
Clément Bœsch
12bfed2fd9 configure: remove redundant info
Based on d1a91ebe49
2017-03-31 11:30:38 +02:00
Clément Bœsch
d62606480f Merge commit 'd1a91ebe4990001e0800ee9ac54ed2207e4f56ff'
* commit 'd1a91ebe4990001e0800ee9ac54ed2207e4f56ff':
  configure: Print list of enabled programs

This commit is mostly a noop, see 832b4a4a43

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-31 11:25:06 +02:00
Clément Bœsch
6f95771046 Merge commit '576c9003aef0fe18c0cf8da6e865211610552005'
* commit '576c9003aef0fe18c0cf8da6e865211610552005':
  configure: Improve output wording

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-31 11:02:07 +02:00
Clément Bœsch
b6c293d5e6 Merge commit '59d2b00d201935c16408a2917957d89a170fe58f'
* commit '59d2b00d201935c16408a2917957d89a170fe58f':
  configure: Add --quiet command line parameter to suppress informative output

The license assignment is moved out of the quiet condition to make sure
it ends up in config.h

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-31 10:22:32 +02:00
Clément Bœsch
8524b0162f Merge commit 'd1ef1b9eaa45043ea5df5a004fb37243e05da61d'
* commit 'd1ef1b9eaa45043ea5df5a004fb37243e05da61d':
  configure: Silence lld-link when getting the version number

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-30 11:04:12 +02:00
Clément Bœsch
925ce244d8 Merge commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d'
* commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d':
  examples/avcodec: split the remaining two examples into separate files

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 14:09:09 +02:00
Clément Bœsch
878070cc56 Merge commit 'f5df897c4b61985e3afc89ba1290649712ff438e'
* commit 'f5df897c4b61985e3afc89ba1290649712ff438e':
  examples/avcodec: split audio decoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:43:47 +02:00
Clément Bœsch
b785af4868 Merge commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d'
* commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d':
  examples/avcodec: split audio encoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:29:22 +02:00
Marton Balint
7cfa98fd94 configure: use c++11 and fallback to c++0x for c++ files
Needed for the C+11 atomics. Also change add_cxxflags to check_cxxflags.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-03-28 21:57:54 +02:00
Rostislav Pehlivanov
a8fe8d6b4a lavfi: remove af_asynts filter
Long overdue for removal, af_aresample should be used instead.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-27 14:06:16 +01:00
Timo Rothenpieler
bd717340a2 configure: cuvid hwaccels need the corresponding decoder, not the other way around 2017-03-25 22:39:01 +01:00
James Almer
d07f2dacb9 Merge commit '1f821e5ad3f8ebacbbb362668561ad976c392c9e'
* commit '1f821e5ad3f8ebacbbb362668561ad976c392c9e':
  configure: Print warnings after all other output

Merged-by: James Almer <jamrial@gmail.com>
2017-03-23 18:43:39 -03:00
Clément Bœsch
ad98af27f7 Merge commit 'de2ae3c1fae5a2eb539b9abd7bc2a9ca8c286ff0'
* commit 'de2ae3c1fae5a2eb539b9abd7bc2a9ca8c286ff0':
  lavc: add clobber tests for the new encoding/decoding API

The merge only re-order what we already have.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-21 14:43:53 +01:00
Gerion Entrup
5e3a418b60 add signature filter for MPEG7 video signature
This filter does not implement all features of MPEG7. Missing features:
- compression of signature files
- work only on (cropped) parts of the video

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-21 00:11:08 +01:00
Clément Bœsch
bbc3bde14f configure: fix crystalhd detection
Regression since 4563a86f01.

See 20c4fb2e01 for more information.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-20 19:46:19 +01:00
Matthieu Bouron
d839c4716c configure: error out if jni is enabled and cannot be found 2017-03-20 18:48:44 +01:00
Ricardo Constantino
20c4fb2e01 configure: add stdint.h to x264 and xavs checks
Regression from 4563a86f01.
Both need stdint.h included before the respective x264.h and xavs.h.

Old require() used different, separate checks that didn't actually
need stdint.h to work. require2()'s (now require) check_func_headers()
does include stdint.h but only after the custom headers.

For libxavs this would also be consequently fixed by libav's
commit 20abcaa273 which wasn't merged yet.
2017-03-20 15:17:57 +01:00
Clément Bœsch
4563a86f01 Merge commit 'ab3554e1a7c04a5ea30f9c905de92348478ef7c8'
* commit 'ab3554e1a7c04a5ea30f9c905de92348478ef7c8':
  configure: Drop check_lib()/require() in favor of check_lib2()/require2()

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 12:23:02 +01:00
Clément Bœsch
100026bed6 Merge commit 'ec903058447ad5be34d89533962e9ae1aa1c78f7'
* commit 'ec903058447ad5be34d89533962e9ae1aa1c78f7':
  configure: Simplify clock_gettime() test

nanosleep check also updated.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 11:04:50 +01:00
Clément Bœsch
d0db00c808 configure: remove pod2man from the config list
The configure has the --disable-manpages option for this purpose, and
--disable-pod2man is currently ignored due to that. This is also
consistent with the other documentation options.
2017-03-20 10:45:48 +01:00
Clément Bœsch
3835283293 Merge commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08'
* commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08':
  Drop memalign hack

Merged, as this may indeed be uneeded since
46e3936fb0.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 08:54:44 +01:00
Clément Bœsch
206a9fb29c Merge commit '46e3936fb04d06550151e667357065e3f646da1a'
* commit '46e3936fb04d06550151e667357065e3f646da1a':
  configure: Set __MSVCRT_VERSION__to 0x0700 for MinGW

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 18:21:56 +01:00
wang-bin
b573e3f484 configure: clang -Oz for small size build to reduce size further 2017-03-16 20:58:52 +01:00
James Almer
6c4665deb4 Merge commit '89aebc5bcc6e23a0a79c3f51c3a55c3571692ba0'
* commit '89aebc5bcc6e23a0a79c3f51c3a55c3571692ba0':
  lavc: align the linesize to 32 when AVX is enabled

Merged-by: James Almer <jamrial@gmail.com>
2017-03-15 22:16:53 -03:00
Ricardo Constantino
b409d8d4a2 configure: libnpp is always nonfree, even with LGPL
libnpp was erroneously grouped up with libfdk-aac and openssl to check
if --enable-nonfree wasn't passed only with --enable-gpl in
9f28db47ac. The latter two are compatible
with LGPL, libnpp is not.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-15 19:53:12 -03:00
Clément Bœsch
f6d61eb6f9 Merge commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688'
* commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688':
  x11grab: Rename internal component to "xcbgrab"

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 22:19:56 +01:00
Clément Bœsch
4a9c5f6bc5 Merge commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c'
* commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c':
  Remove the legacy X11 screen grabber

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 22:07:47 +01:00
Clément Bœsch
9f28db47ac Merge commit 'ae90119c6701fa09ff747cca35238e36b2d2ab2f'
* commit 'ae90119c6701fa09ff747cca35238e36b2d2ab2f':
  configure: Simplify license incompatibility check

An extra GPLV3 list is added for libsmbclient as having it in both GPL
and VERSION3 lists would cause a duplicate in the final config list.

Also, for consistency, libnpp is treated the same as the other nonfree
component (libfdk_aac and openssl).

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 21:19:57 +01:00
Clément Bœsch
67e2ba36ec Merge commit '100fb0ddfda958da70f98feac81f924c02483789'
* commit '100fb0ddfda958da70f98feac81f924c02483789':
  configure: Allow detecting and using LLVM lld-link as linker for windows

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-15 12:50:04 +01:00
Clément Bœsch
50d303a66a Merge commit '79fb0692992c74214c6cf8e81350fc93eeffc5ec'
* commit '79fb0692992c74214c6cf8e81350fc93eeffc5ec':
  configure: Move defines for controlling MSVCRT headers to the CRT detection section

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-15 12:44:35 +01:00
Clément Bœsch
132523448b Merge commit '56af0bc10f49654b5b5f3efe82c69a13bf15fc8b'
* commit '56af0bc10f49654b5b5f3efe82c69a13bf15fc8b':
  configure: Check for strtoll and redirect to _strtoi64 in the msvcrt block

Also includes _strtoui64 in the check.

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-15 12:39:34 +01:00
Mark Thompson
b9acc7fbd9 Merge commit 'ad71d3276fef0ee7e791e62bbfe9c4e540047417'
* commit 'ad71d3276fef0ee7e791e62bbfe9c4e540047417':
  lavfi: add a QSV deinterlacing filter

Minor fixup for lavfi differences.

Merged-by: Mark Thompson <sw@jkqxz.net>
2017-03-12 17:00:42 +00:00
Anton Khirnov
807a3b30d2 lavfi: add a QSV scaling filter
This merges libav commit ac7bfd6967,
which was previously skipped.

(cherry picked from commit ac7bfd6967)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-03-12 15:02:33 +00:00
Clément Bœsch
993a9a3d72 Merge commit 'b0f36a0043d76436cc7ab8ff92ab99c94595d3c0'
* commit 'b0f36a0043d76436cc7ab8ff92ab99c94595d3c0':
  avconv: stop using setpts for input framerate forced with -r

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-12 13:08:04 +01:00
James Almer
dbc932e745 Revert "lavu/atomic: add support for the new memory model aware gcc built-ins"
This reverts commit faa9d29829.

This change became superfluous when support for C11 atomics was introduced.
Reverting it will make the removal of this implementation in an upcoming
merge conflict free.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-08 00:48:37 -03:00
Luca Barbato
81bffae368 configure: Check for -no_weak_imports in ldflags on macOS
Recent versions of macOS provide more POSIX API (in particular,
clock_gettime) than previous versions and recent Apple toolchains
provide all that API, even when targeting older releases without
said API. Disallow linking to functions which might not be available
at runtime.

To actually have an effect, either add
--extra-cflags="-mmacosx-version-min=10.11" (or any other version
prior to 10.12) or set MACOSX_DEPLOYMENT_TARGET=10.11 when running
configure.

As a workaround for libav versions without this fix, one can
also add --extra-cflags="-mmacosx-version-min=10.11
-Werror=partial-availability" while running configure.

The -no_weak_imports flag is new in Xcode 8; in Xcode 7 it is not
supported. This is not an issue since Xcode 7 only ships with the
10.11 macOS SDK, which lacks clock_gettime.

Bug-Id: 1033

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-03-07 09:48:55 +02:00
Diego Biurrun
003124ebf4 build: Fix logic of clock_gettime() check
We should only check for clock_gettime() if _POSIX_MONOTONIC_CLOCK is
available and do a full link check for clock_gettime() in all cases.
2017-03-07 08:32:37 +01:00
Diego Biurrun
57b753b445 build: Prefer NASM assembler over YASM
NASM is more actively maintained and permits generating dependency information
as a sideeffect of assembling, thus cutting build times in half.
2017-03-07 08:32:37 +01:00
Diego Biurrun
f54037da8a build: Make x86 assembler commandline-selectable 2017-03-07 08:32:37 +01:00
Diego Biurrun
51411eb7ff build: Special-case handling of SDL CFLAGS
SDL adds some "special" CFLAGS that interfere with building normal
binaries. Capture those CFLAGS separately and avoid adding them to
the general CFLAGS.
2017-03-07 08:32:37 +01:00
Diego Biurrun
808ef43597 build: Explicitly set 32-bit/64-bit object formats for nasm/yasm
Consistently use object format names with "32" suffix and set object format
to "win64" on Windows x86_64, which fixes assembling with nasm.
2017-03-05 14:38:56 +01:00
Diego Biurrun
5ff3b5cafc build: Add pthreads to list of avutil extralibs
libavutil uses pthreads in the buffer code (abstracted through a header).
2017-03-01 12:02:11 +01:00
Diego Biurrun
3c0efbd033 build: Allow generating dependencies as a side-effect of assembling 2017-03-01 10:18:15 +01:00
Diego Biurrun
39e208f4d4 build: Generalize yasm/nasm-related variable names
None of them are specific to the YASM assembler.
2017-03-01 10:18:15 +01:00
Diego Biurrun
58407b4d74 configure: Fix typo in objcc default setting
Also drop stray duplicate OBJCC config.mak entry.
2017-03-01 09:23:42 +01:00
Diego Biurrun
7cb1d9e2db build: Fine-grained link-time dependency settings
Previously, all link-time dependencies were added for all libraries,
resulting in bogus link-time dependencies since not all dependencies
are shared across libraries. Also, in some cases like libavutil, not
all dependencies were taken into account, resulting in some cases of
underlinking.

To address all this mess a machinery is added for tracking which
dependency belongs to which library component and then leveraged
to determine correct dependencies for all individual libraries.
2017-03-01 09:00:40 +01:00
Diego Biurrun
d154bdd3d0 configure: Simplify dlopen check 2017-03-01 09:00:40 +01:00
Diego Biurrun
21cca00dfe build: Explicitly disable external libraries when not explicitly enabled
Leaving those variables in an undefined state allows them getting implicitly
enabled when they are declared as weak dependencies of other components.
In that case, the library check is not run and required linker flags are not
added, resulting in a failing build.

Fixes linking when enabling libfreetype without libfontconfig.
2017-02-28 13:00:20 +01:00
Mark Thompson
359586f14f lavfi: Add VAAPI deinterlacer
(cherry picked from commit ade370a4d7)
(cherry picked from commit 2d518aec4c)
2017-02-23 22:08:26 +00:00
Paul B Mahol
20789372da avcodec/shorten: support decoding AIFF-C variant
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-23 23:03:27 +01:00
Diego Biurrun
7208e5b5d6 configure: Restructure the way check_pkg_config() operates
Have check_pkg_config() enable variables and set cflags and extralibs
instead of relegating that task to require_pkg_config. This simplifies
require_pkg_config(), is consistent with what other helper functions
like check_lib() do and allows getting rid of some manual variable
setting in places where check_pkg_config() is used.
2017-02-20 20:16:05 +01:00
Diego Biurrun
54e39b102e configure: Explicitly spell out first require_pkg_config() parameter
This is less confusing than encountering "" in the argument list.
2017-02-20 20:16:05 +01:00
Diego Biurrun
d00a0d8e84 configure: Handle SDL version check through pkg-config 2017-02-16 09:28:33 +01:00
James Almer
ad1d0a1a06 configure: add missing mdct15 dependency 2017-02-16 01:17:06 -03:00
James Almer
a50b330859 configure: remove unnecessary opus encoder dependency
audiodsp is not used by the encoder.
2017-02-16 01:15:59 -03:00
Diego Biurrun
871b4f3654 configure: Check for xcb as well as xcb-shape before enabling libxcb
Newer versions of libxcb have xcb-foo pkg-config files that do not declare
their xcb dependency so that required linker flags will not be generated.
2017-02-15 10:33:34 +01:00
Rostislav Pehlivanov
5f47c85e5c opus: add a native Opus encoder
This marks the first time anyone has written an Opus encoder without
using any libopus code. The aim of the encoder is to prove how far
the format can go by writing the craziest encoder for it.

Right now the encoder's basic, it only supports CBR encoding, however
internally every single feature the CELT layer has is implemented
(except the pitch pre-filter which needs to work well with the rest of
whatever gets implemented). Psychoacoustic and rate control systems are
under development.

The encoder takes in frames of 120 samples and depending on the value of
opus_delay the plan is to use the extra buffered frames as lookahead.
Right now the encoder will pick the nearest largest legal frame size and
won't use the lookahead, but that'll change once there's a
psychoacoustic system.

Even though its a pretty basic encoder its already outperforming
any other native encoder FFmpeg has by a huge amount.

The PVQ search algorithm is faster and more accurate than libopus's
algorithm so the encoder's performance is close to that of libopus
at zero complexity (libopus has more SIMD).
The algorithm might be ported to libopus or other codecs using PVQ in
the future.

The encoder still has a few minor bugs, like desyncs at ultra low
bitrates (below 9kbps with 20ms frames).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-02-14 06:15:36 +00:00
Rostislav Pehlivanov
d2119f624d imdct15: rename to mdct15 and add a forward transform
Handles strides (needed for Opus transients), does pre-reindexing and folding
without needing a copy.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-02-14 06:15:36 +00:00
Luca Barbato
0ee78020cd configure: Move up the avbuild directory creation
The early check for inconsistent in-source vs out-of-source build
cannot generate a config.log otherwise.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-11 15:47:43 +01:00
Diego Biurrun
c546147db0 configure: Correctly recurse in do_check_deps()
Fixes all sorts of configuration problems introducec by dad7a9c7c0
on non-Linux or non-vanilla configs. Also removes a line made redundant
in that commit.
2017-02-08 21:23:41 +01:00
Mark Thompson
d1acab8293 vaapi_encode: Add VP8 support
Fixes ticket #6116.

(cherry picked from commit ca62236a89)
2017-02-08 19:14:05 +00:00
Mark Thompson
3b95c7c17d vaapi_encode: Add MPEG-2 support
(cherry picked from commit ca6ae3b77a)
2017-02-08 19:14:05 +00:00
Diego Biurrun
dad7a9c7c0 configure: Rework dependency handling for conflicting components
This makes the feature more visible and obvious.
2017-02-07 19:06:04 +01:00
Diego Biurrun
9127ac5ebc configure: Add name parameter to require_pkg_config() helper function
This allows distinguishing between the internal variable name for
external libraries and the pkg-config package name. Having both
names available avoids special-casing outside the helper function
when the two identifiers do not match.
2017-02-07 19:06:02 +01:00
Hendrik Leppkes
a6cee50fa2 configure: use dashes instead of slashes in lib.exe invocation
This avoids issues with wrong parameter translation by msys on some systems,
and the Windows SDK tools accept both forms equally.
2017-02-06 19:47:20 +01:00
Diego Biurrun
71a49fe25f configure: Use cppflags check helper functions where appropriate 2017-02-06 15:43:56 +01:00
Diego Biurrun
0ce3761c78 configure: Add stdlib.h #include to CPPFLAGS check helper functions
This ensures that added CPPFLAGS are validated against libc headers.
2017-02-06 15:43:56 +01:00
Hendrik Leppkes
8b80feb9a7 configure: instruct MSVC 2015 to properly process UTF-8 string literals
Without the /UTF-8 switch, the MSVC compiler treats all files as in the
system codepage, instead of in UTF-8, which causes UTF-8 string literals
to be interpreted wrong.

This switch was only introduced in VS2015 Update 2, and any earlier
versions do not have an equivalent solution.

Fixes fate-sub-scc on MSVC 2015+
2017-02-04 11:21:35 +01:00
Hendrik Leppkes
647af1a0dd configure: add nologo switch to invocation of lib.exe
This suppresses the startup banner, which is consistent with all other calls
to the Windows SDK binaries.
2017-02-04 11:21:33 +01:00
Diego Biurrun
bcaedef118 configure: Add require_cpp_condition() convenience function
Simplifies checking for conditions in external library headers and
aborting if said conditions are not met.
2017-02-02 17:49:51 +01:00
Diego Biurrun
aba7fdcc8b configure: Add require_header() convenience function
Simplifies checking for external library headers and aborting if
the external library support was requested, but is not available.
2017-02-02 17:49:51 +01:00
Diego Biurrun
a97563c889 configure: Simplify libxcb check 2017-02-02 17:38:50 +01:00
Diego Biurrun
6698832079 configure: Add proper weak dependency of drawtext filter on libfontconfig 2017-02-02 14:35:44 +01:00
Diego Biurrun
acfa7a2178 configure: Drop weak dependencies on external libraries for webm muxer
Weak dependencies on external libraries do not obviate having to
explicitly enable these libraries, so the weak dependency does not
simplify the configure command line nor have any real effect.
2017-02-02 14:35:44 +01:00
Diego Biurrun
24d5680bbc configure: Simplify inline asm check with appropriate helper function 2017-02-02 14:34:05 +01:00
Diego Biurrun
b3825723dc configure: Merge compiler/libc/os hacks sections 2017-02-02 14:34:05 +01:00
Clément Bœsch
a0860b0a38 Merge commit '6f9e34baea4f6f484392e4e67f606a0835d07b73'
* commit '6f9e34baea4f6f484392e4e67f606a0835d07b73':
  arm: Check for support for the .fpu directive

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-02-02 11:22:04 +01:00
Anton Khirnov
fd9212f2ed Mark some arrays that never change as const. 2017-02-01 10:42:59 +01:00
Diego Biurrun
ab87af4163 configure: Add proper weak dependency of avformat on network 2017-01-31 15:50:20 +01:00
Mark Thompson
ca62236a89 vaapi_encode: Add VP8 support 2017-01-30 23:03:46 +00:00
Diego Biurrun
ba6a49e60b configure: Clean up temporary files on interrupt 2017-01-29 20:17:46 +01:00
Michał Górny
7848982207 configure: Place all temporary files in one separate directory
Place all temporary files within a single, quasi-atomically created
temporary directory rather than relying on unsafe 'mktemp -u'. This
prevents possible race conditions in case two parallel 'mktemp -u' calls
returned the same path. Additionally, it reduces TMPDIR pollution by
keeping all test files in a single subdirectory.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-01-29 20:17:46 +01:00
Mark Thompson
ca6ae3b77a vaapi_encode: Add MPEG-2 support 2017-01-29 13:28:31 +00:00
Diego Biurrun
2bbb5abd87 build: Map -Wall compiler flag to -W3 for MSVC and -Wextra to -W4
These are more appropriate warning level equivalents.
2017-01-26 11:53:02 +01:00
Diego Biurrun
6151e9128c build: Detect blocks C language extension and add it as VDA dependency
Newer versions of OS X use the blocks extension in VDA-related headers.
Some compilers, like current gcc, do not support the blocks extension
and fail to compile code using those headers.
2017-01-26 11:53:02 +01:00
Martin Storsjö
f96d07f4ec configure: Add quotes around a variable which might be empty
If we only have a target compiler but no host compiler, the $type
variable will be empty once.

(Currently we fail to do a cross build if no host compiler is available
due to using the host compiler for processing option lists though.
But despite that, this comparison in configure needs quotes.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-01-26 12:41:53 +02:00
Diego Biurrun
9bf262f4c6 configure: Use proper compiler-specific speed flags for hostcc 2017-01-25 13:25:02 +01:00
Diego Biurrun
bf38959a30 configure: Move optflags checks to a more sensible place 2017-01-25 12:01:02 +01:00
Dave Yeo
7ff018c1cb OS/2: Try to commit memory above 1GB
Signed-off-by: Dave Yeo <dave.r.yeo@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-01-22 15:21:33 +01:00
Anton Khirnov
adb54e59c1 vaapi_hevc: Convert to use the new VAAPI hwaccel code
(cherry picked from commit ea8b730d8e)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-01-17 23:06:46 +00:00
Kacper Michajłow
2064a3b8df configure: Don't disable SSA Optimizer on MSVC v19.00.24218+.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-17 17:55:34 +01:00
Carl Eugen Hoyos
e664730271 configure: Fix standalone compilation of aiff and caf muxers. 2017-01-16 12:03:21 +01:00
James Almer
cf9ef83960 huffyuvencdsp: move shared functions to a new lossless_videoencdsp context
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
James Almer
30c1f27299 huffyuvencdsp: move functions only used by huffyuv from lossless_videodsp
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
James Almer
5ac1dd8e23 lossless_videodsp: move shared functions from huffyuvdsp
Several codecs other than huffyuv use them.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
Carl Eugen Hoyos
f3adb6f74b configure: Fix standalone compilation of the ljpeg encoder.
Also fixes compilation with --disable-error-resilience.
Fixes ticket #6060.
2017-01-05 11:44:04 +01:00
James Almer
d800d48fc6 configure: bump year
Happy new year!
2017-01-02 01:38:14 -03:00
Michael Niedermayer
af7a75cb51 configure: Check build with some header not just preprocessing for testing --std=c11
Fixes build failure on FreeBSD with gcc 4.7

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-31 13:11:37 +01:00
Diego Biurrun
ee164727dd configure: Fix typo in incdir variable written to config.sh
This fixes includedir lines in pkg-config files broken after 92db508307.
2016-12-30 14:30:52 +01:00
James Almer
6993bb4eb6 configure: make the check for stdatomic.h stricter
Old ICC verions don't advertise having a full C11 implementation but
may nonetheless include a feature-incomplete stdatomic.h header.

Fixes ticket #6049

Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-30 00:01:38 -03:00
Janne Grunau
35d1f726eb fate: Add --ignore-tests configure option for omitting specific FATE tests
This can be useful to filter out noise in known-broken scenarios like
miscompilation by legacy compilers and similar.

Originally based on a patch by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-12-28 18:10:32 +01:00
Diego Biurrun
8a34f36593 build: Add version numbers to "Requires" entries in pkg-config files
The (required) version numbers disappeared after edb4348732.
2016-12-28 17:41:54 +01:00
Paul B Mahol
ea93052db3 avcodec/utvideodec: add SIMD support for median prediction for planar formats
~10% faster overall.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-23 17:44:01 +01:00
Diego Biurrun
92db508307 build: Generate pkg-config files from Make and not from configure
This moves work from the configure to the Make stage where it can
be parallelized and ensures that pkgconfig files are updated when
library versions change.

Bug-Id: 449
2016-12-22 12:30:54 +01:00
Diego Biurrun
edb4348732 build: Store library version numbers in .version files
This moves work from the configure to the Make stage where it can
be parallelized and ensures that shared libraries are built with
the right version number in the filename.
2016-12-22 12:17:37 +01:00
Diego Biurrun
11a9320de5 build: Move build-system-related helper files to a separate subdirectory
This unclutters the top-level directory and groups related files together.
2016-12-22 11:07:50 +01:00
Paul B Mahol
6d09d6edbc avcodec/magicyuv: add 10 bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-20 13:32:15 +01:00
Anton Khirnov
ea8b730d8e hevcdec: add a VAAPI hwaccel
Partially based on a patch by Timo Rothenpieler <timo@rothenpieler.org>.
Additional scaling list handling fix by Jun Zhao <mypopydev@gmail.com>.
2016-12-19 08:13:08 +01:00
Diego Biurrun
ee480790c7 build: Add name parameter to check_lib() helper function
This allows enabling or disabling the library-related variables from
within the function instead of doing it manually outside of it.
2016-12-16 13:39:22 +01:00
Diego Biurrun
1faffe7e8f configure: Disentangle vfw32 and user32 lib handling
Check for and link against user32 instead, which also fixes
the missing dependency of dxva2 on user32 with MSVC.
2016-12-16 13:37:33 +01:00
Steve Lhomme
f7174d7ed0 configure: fix linking with MSVC when using --disable-optimizations
Without any optimization flags, MSVC does no dead code elimination (DCE) at
all, even for the most trivial cases. DCE is a prerequisite for building libav
correctly, otherwise there are undefined references to functions for other
architectures and disabled components.

-O1 is the minimal optimization flag for MSVC that does include DCE.
2016-12-16 10:03:21 +01:00
Steve Lhomme
ef9a711be7 configure: put d3d11 check in alphabetical order 2016-12-16 10:03:20 +01:00
Anton Khirnov
972c71e9cb lavc: add support for filtering packets before decoding 2016-12-14 09:06:45 +01:00
Anton Khirnov
fa1749dd34 vp9: split superframes in the filtering stage before actual decoding
Significantly increases the efficiency of frame threading, since
individual frames in a superframe can now be decoded in parallel.
2016-12-14 09:06:45 +01:00
Wan-Teh Chang
3f55752cd5 configure: add -fPIE instead of -pie to C flags for ThreadSanitizer
-pie was added to C flags for ThreadSanitizer in commit
19f251a288. Under clang 3.8.0, the -pie
flag causes a compiler warning and a linker error when running configure
--toolchain=clang-tsan. Here is an excerpt from config.log:

clang ... -fsanitize=thread -pie -std=c11 -fomit-frame-pointer -pthread -c -o /tmp/ffconf.hL61stP9.o /tmp/ffconf.YO6ZaSFG.c
clang: warning: argument unused during compilation: '-pie'
clang -fsanitize=thread -pie -Wl,--as-needed -Wl,-z,noexecstack -o /tmp/ffconf.W5c2e41l /tmp/ffconf.hL61stP9.o -lbz2 -pthread
/usr/bin/ld: /tmp/ffconf.hL61stP9.o: relocation R_X86_64_PC32 against undefined symbol `atan2f@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)

To be conservative, I changed -pie to -fPIE. But the documentation seems
to imply just -fsanitize=thread is enough:

http://clang.llvm.org/docs/ThreadSanitizer.html
https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-13 00:41:39 +01:00
Diego Biurrun
fc368497f2 configure: Add missing dxva2 dependency for dxva2_lib 2016-12-12 00:15:38 +01:00
Diego Biurrun
f1248fae90 configure: Handle dxva2 optional components in the standard way 2016-12-11 09:27:40 +01:00
Andreas Cadhalpun
8aad209c13 configure: fail if autodetect-libraries are requested but not found
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-12-10 19:29:37 +01:00
Andreas Cadhalpun
4c45566493 configure: enable autodetected libraries after option parsing
And only enable them, if they haven't been disabled.

This is needed for the following patch.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-12-10 19:29:37 +01:00
Andreas Cadhalpun
c50d591ce2 configure: enable sdl if sdl2 is enabled
sdl is supposed to be an alias, so it should have the same value.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-12-10 19:29:37 +01:00
Mark Thompson
ade370a4d7 lavfi: Add VAAPI deinterlacer 2016-12-10 16:55:44 +00:00
Diego Biurrun
f8a1ead0ae build: Add -D_XOPEN_SOURCE=600 to CPPFLAGS on Cygwin
This is required to make certain math defines visible on modern Cygwin.
2016-12-10 16:14:25 +01:00
Diego Biurrun
39fbcf8f76 configure: Fix _libs vs. _extralibs oversight 2016-12-10 15:06:34 +01:00
Mark Thompson
db7271bff2 configure: Require bit_depth field for VAAPI VP9 decode hwaccel
libva versions from 1.6.0 to 1.6.2 do not include it, and therefore
cannot work with VP9 profile >= 2.

Fixes ticket #6003.
2016-12-10 13:53:30 +00:00
Diego Biurrun
be2d555c98 build: Use _extralibs variable names instead of _libs everywhere
This makes naming more consistent and simplifies extralibs-related changes.
2016-12-09 18:57:03 +01:00
Diego Biurrun
0507cd5b9f build: Rename host_libs/HOSTLIBS variables to host_extralibs/HOSTEXTRALIBS
This is more in line with the other related variable names.
2016-12-09 18:51:23 +01:00
Diego Biurrun
a7101eb40e configure: Simplify some library checks via check_lib() 2016-12-09 18:40:47 +01:00
Diego Biurrun
1818a640cf build: Fix dependencies for alsa/jack/sndio support
These components should depend on the availability of the respective
libraries, not just on the availability of the respective headers.
2016-12-09 08:42:34 +01:00
Diego Biurrun
af451ac0de configure: Drop redundant and partly bogus vaapi/vdpau header checks
These are taken care of more correctly by the library checks.
2016-12-09 08:42:08 +01:00
Diego Biurrun
f55c0a64ae build: Drop stray golomb dependencies 2016-12-08 20:12:24 +01:00
Diego Biurrun
892acc7010 configure: Fail if cuda was enabled and is not available
This is the standard behavior for external libraries.
2016-12-08 20:12:24 +01:00
Diego Biurrun
fbec58daa2 build: Add an internal component for hevc_ps code
This allows expressing dependencies in a more correct way.
2016-12-08 20:12:23 +01:00
Diego Biurrun
6bd9590b33 build: Have old H.264/HEVC nvenc encoders select their new counterparts
This makes sense and takes care of missing build dependencies.
2016-12-07 12:13:23 +01:00
Wan-Teh Chang
f22da2cdf9 configure: add -fPIE instead of -pie to C flags for ThreadSanitizer
-pie was added to C flags for ThreadSanitizer in commit
19f251a288. Under clang 3.8.0, the -pie
flag causes a compiler warning and a linker error when running configure
--toolchain=clang-tsan. Here is an excerpt from config.log:

clang ... -fsanitize=thread -pie -std=c11 -fomit-frame-pointer -pthread -c -o /tmp/ffconf.A8SsaoCF.o /tmp/ffconf.JdpujQlD.c
clang: warning: argument unused during compilation: '-pie'
clang -fsanitize=thread -pie -Wl,--as-needed -o /tmp/ffconf.2iYA4bsw /tmp/ffconf.A8SsaoCF.o -lm -lm -lbz2 -lz -pthread
/usr/bin/ld: /tmp/ffconf.A8SsaoCF.o: relocation R_X86_64_PC32 against undefined symbol `atan2f@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)

To be conservative, I changed -pie to -fPIE. But the documentation seems
to imply just -fsanitize=thread is enough:

http://clang.llvm.org/docs/ThreadSanitizer.html
https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-12-06 20:34:25 +01:00
Diego Biurrun
404cb74793 configure: Pass CFLAGS_HEADERS through the right CFLAGS filter
The generic parameter names used for CFLAGS in configure must be filtered
for each compiler and replaced by the equivalent flag for that compiler.
2016-12-06 17:49:05 +01:00
Diego Biurrun
9265364bec build: Separate avisynth and avxsynth support
This simplifies the code.
2016-12-06 17:49:05 +01:00
Diego Biurrun
3d6135eacf configure: Simplify OMX check 2016-12-06 08:33:08 +01:00
Diego Biurrun
601f8dde13 configure: Move COMPONENT_LIST to the bottom of CONFIG_LIST
This ensures that dependencies are resolved correctly. COMPONENT_LIST
can contain parts that depend on previous entries of CONFIG_LIST.
2016-12-06 08:33:07 +01:00
James Almer
b52d3574d4 configure: check for strtoull on msvc
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-05 14:28:10 -03:00
Diego Biurrun
29d2e03ed9 configure: Simplify and fix avfoundation indev handling
Handle extralibs in the standard way, add missing pthreads dependency.
Also globally check for -fobj-arc with Objective-C compilers since
that option is useful for other Objective-C code as well.
2016-12-05 18:07:24 +01:00
Diego Biurrun
2a09644076 configure: Separate package name and version requirements in helper functions
The unadorned package name is needed to derive package-related variable names.
2016-12-05 16:37:55 +01:00
Diego Biurrun
ffb9025f39 configure: Simplify MMAL check 2016-12-05 16:15:40 +01:00
Diego Biurrun
660470cd62 build: Add missing audio_frame_queue dependency for libwavpack encoder 2016-12-05 16:13:05 +01:00
Diego Biurrun
e1dc5358af build: Create a component for MPEG audio header decoding
Fixes standalone compilation of the libmp3lame encoder.
2016-12-05 16:13:05 +01:00
Diego Biurrun
6ef3360a38 configure: Add misssing qpeldsp dependency to mss2 decoder 2016-12-03 14:06:36 +01:00