Commit Graph

92 Commits

Author SHA1 Message Date
Timo Rothenpieler 7904859fd8 compat/cuda: convert to unix line endings 2016-09-23 11:43:00 +02:00
Philip Langdale 843aff3cf7 cuvid: Use bundled headers
We need to remove the dynlink fanciness and replace it with normal
function prototypes and update the include paths and configure logic.

We don't need to explicitly check for PICPARMS now - they're going
to be there.
2016-09-22 18:38:51 -07:00
Philip Langdale f59e10b0f4 cuvid: Add MIT licenced nvcuid headers from Video SDK 7.0
For unknown reasons, the only accurately descriptive version of
cuviddec.h is in the Video SDK - the one in CUDA 7.5 lacks vp8
PICPARAMS and the vp9 struct definition is inaccurate. The CUDA 8 RC
includes an ancient version of this file from many many years go.

However, the one in the Video SDK is modified to work through a
dynamic link mechanism which we don't really want to use, so the
next change will modify the files to just declare functions in
the normal way.

I've split the changes so it's clear to see what changed between
the original files and ones that work for us.
2016-09-22 18:38:36 -07:00
Timo Rothenpieler 325e56479f avcodec/nvenc: include nvEncodeAPI v7 SDK header
As Nvidia has put the most recent Video Codec SDK behind a double
registration wall, of which one needs manual approval of a lenghty
application, bundling this header saves everyone trying to use NVENC
from that headache.

The header is still MIT licensed and thus fine to bundle with ffmpeg.

Not bundling this header would get ffmpeg stuck at SDK v6, which is
still freely available, holding back future development of the NVENC
encoder.
2016-08-28 16:47:54 +02:00
Stephen Hutchinson f84cff8565 compat/avisynth: update AviSynth+ header
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-17 18:08:29 +02:00
Derek Buitenhuis dc0152548f Merge commit '6bb99757b780144d9fa27cdce09d3621e1a0ed43'
* commit '6bb99757b780144d9fa27cdce09d3621e1a0ed43':
  jack: Support OSX

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:02:33 +01:00
Josh de Kock 6bb99757b7 jack: Support OSX
Previously, with JACK installed, the configure script would enable the
JACK indev; this broke on OS X due to an incomplete pthreads
implementation. Add some simple macros to map libdispatch to pthreads
on OS X.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-03-31 18:03:21 +02:00
KO Myung-Hun b8bc6b14a5 compat/os2threads: split long lines
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-14 19:17:36 +01:00
KO Myung-Hun 6bf5e7d3e7 compat/os2threads: support the return value of joined thread
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-14 19:17:36 +01:00
KO Myung-Hun 22a4046d66 compat/os2threads: Improve pthread_cond_xxx() functions
1. Manipulate waiting count in pthread_cond_wait()
2. Use builtin atomic functions to manipulate waiting count

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-14 19:17:36 +01:00
Timothy Gu 180f9a0958 all: Make header guard names consistent 2016-01-31 15:44:11 -08:00
Timothy Gu 44304ae322 all: Add missing header guards 2016-01-28 19:49:48 -08:00
KO Myung-Hun 6248f23859 os2threads: Add pthread_once()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 22:31:46 +01:00
Hendrik Leppkes c1b712e078 Merge commit '407ac22322e5ce67996ec54ef619cafa4c9ceb78'
* commit '407ac22322e5ce67996ec54ef619cafa4c9ceb78':
  w32pthreads: Map MemoryBarrier to __sync_synchronize on mingw

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-02 11:58:27 +01:00
Martin Storsjö 407ac22322 w32pthreads: Map MemoryBarrier to __sync_synchronize on mingw
This fixes building on older mingw (both mingw.org and mingw64;
mingw64 from before May 2011).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-10-30 20:15:11 +02:00
Michael Niedermayer e91cd8a9c4 compat/solaris/make_sunver.pl: Use /usr/bin/env perl instead of /usr/bin/perl
This is how the other perl scripts in git call perl

Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-20 02:21:34 +02:00
Hendrik Leppkes 68e00ad66d w32pthreads: fix mingw build on x86 with -msse2 or higher
When SSE2 or higher compiler optimizations are used, mingw uses
the _mm_mfence intrinsic for MemoryBarrier, however it doesn't include
the appropriate headers automatically.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-16 17:46:41 +02:00
Hendrik Leppkes 97be5d4d20 w32pthreads: fix mingw build on x86 with -msse2 or higher
When SSE2 or higher compiler optimizations are used, mingw uses
the _mm_mfence intrinsic for MemoryBarrier, however it doesn't include
the appropriate headers automatically.
2015-10-16 14:54:48 +02:00
wang-bin 0861862b89 winrt: multithreading support
_beginthreadex is for desktop only. CreateThread is available for windows store apps on windows (and phone) 8.1 and later. http://msdn.microsoft.com/en-us/library/ms682453%28VS.85%29.aspx

Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2015-10-16 00:54:57 +11:00
Hendrik Leppkes fcfb66ba9b Merge commit 'c1aac39eaccd32dc3b74ccfcce701d3d888fbc6b'
* commit 'c1aac39eaccd32dc3b74ccfcce701d3d888fbc6b':
  build: add Solaris symbol versioning

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-14 13:54:50 +02:00
Sean McGovern c1aac39eac build: add Solaris symbol versioning
The versioning facility in the Solaris linker differs from Linux in 3 ways:

1. It does not support globs in linker scripts for
symbol versioning -- this is a GNU extension.

2. The linker argument is '-M', instead of '--version-script'.

3. It is picky about line endings.
Each symbol or directive must be on a line of it's own.

Let's use make_sunver.pl from GCC to generate a version script that works
correctly with the Solaris linker. It's function is to correctly expand the
globs in the original generated version script.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-11 15:42:36 +02:00
Hendrik Leppkes 9d6873a43d Merge commit '2830bce47e2eb29c76202f19017031ddc1f95dd3'
* commit '2830bce47e2eb29c76202f19017031ddc1f95dd3':
  w32pthreads: Load dynamically loaded functions on demand

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-10 09:45:44 +02:00
Hendrik Leppkes 89da893c88 Merge commit 'b22693b06d1e5d73454a65c203b4d31c1ca5b69a'
* commit 'b22693b06d1e5d73454a65c203b4d31c1ca5b69a':
  w32pthreads: Add pthread_once emulation

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-10 09:45:16 +02:00
Hendrik Leppkes 2830bce47e w32pthreads: Load dynamically loaded functions on demand
This removes the requirement of calling w32thread_init before being
able to use the threading primitives.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-07 18:45:50 +02:00
Hendrik Leppkes b22693b06d w32pthreads: Add pthread_once emulation
The emulation uses native InitOnce* APIs on Windows Vista+, and a
lock-free/allocation-free approach using atomics and spinning for
Windows XP.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-07 18:45:50 +02:00
Matt Oliver ae58abeabb compat/w32pthreads: Add return values to match the simulated pthread functions. 2015-09-30 13:41:33 +10:00
Steve Lhomme 58ed7b6328 use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe
favor link over link.exe in case some wrapper script already exists
fallback to "link" in the path if the one next to cl is not found

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-24 20:02:32 +02:00
Steve Lhomme c9edbe4af9 use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe
Fallback to "link" in the path if the one next to cl is not found.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-24 18:21:22 +03:00
Michael Niedermayer ea9daefe93 compat/os2threads: Check av_malloc() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 15:16:45 +02:00
Stephen Hutchinson 1492118c9d avisynth: drop support of AviSynth 2.5
If the user attempts to use AviSynth 2.5, an error message will
now tell them they need to upgrade.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 20:37:26 +01:00
Stephen Hutchinson 3a6df0b4bb avisynth: ifdef to avoid implicit function declaration errors
The demuxer doesn't use these functions, so it shouldn't affect
anything.  Investigate whether this can be fixed by how headers
are checked in configure.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 16:19:14 +01:00
Stephen Hutchinson e003a53452 avisynth: update headers against AviSynth+
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 00:22:15 +01:00
Michael Niedermayer 0babb896b4 compat/avisynth/windowsPorts/windows2linux: Add () to protect macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:35 +01:00
Michael Niedermayer ff0a0b62f3 compat/avisynth/avxsynth_c: Clear all unused fields in returned structs
Fixes: CID1257658

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 16:12:47 +01:00
James Almer b7c3bfd5eb w32pthreads: use the condition variable API directly when targeting newer versions of Windows
Wrap the function calls in a similar fashion to how it's being done
with the critical section API.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-10 11:27:30 +03:00
James Almer 73ea3ffcd5 w32pthreads: use the CONDITION_VARIABLE typedef if available
This silences warnings about passing arguments from incompatible pointer type
when targeting Windows Vista or newer.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-10 11:27:26 +03:00
James Almer 8c6992bf0c compat/w32pthreads: use the condition variable API directly when targeting newer versions of Windows
Wrap the function calls in a similar fashion to how it's being done
with the critical section API.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-09 17:51:46 -03:00
James Almer 0c06949314 compat/w32pthreads: use the CONDITION_VARIABLE typedef if available
This silences warnings about passing arguments from incompatible pointer type
when targeting Windows Vista or newer.

Tested-by: Matt Oliver <protogonoi@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-09 13:26:44 -03:00
Michael Niedermayer fb33bff990 Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
  cosmetics: Write NULL pointer equality checks more compactly

Conflicts:
	cmdutils.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/dvbsub.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/dxa.c
	libavcodec/libxvid_rc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/vc1dec.c
	libavcodec/zmbv.c
	libavdevice/v4l2.c
	libavformat/matroskadec.c
	libavformat/movenc.c
	libavformat/sdp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Michael Niedermayer 6afd726b7b Merge commit '6baeadd11083774ebd823dd5e1a744c2150a3bfc'
* commit '6baeadd11083774ebd823dd5e1a744c2150a3bfc':
  w32pthreads: Mark functions in compatibility wrapper as av_unused

Conflicts:
	compat/w32pthreads.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 12:31:29 +02:00
Gabriel Dume f929ab0569 cosmetics: Write NULL pointer equality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Diego Biurrun 6baeadd110 w32pthreads: Mark functions in compatibility wrapper as av_unused
This avoids annoying warnings about unused functions. The compatibility
wrapper is designed to provide a complete (stub) API, so some functions
being unused by some files is natural and no reason for a warning.
2014-08-15 09:37:38 +02:00
Michael Niedermayer a0f3db8f60 Merge commit '428b0578c64241fc677fed7083cc8fe65e10f32e'
* commit '428b0578c64241fc677fed7083cc8fe65e10f32e':
  w32threads: Use newer thread synchronization functions when targeting Vista

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 18:33:06 +02:00
Martin Storsjö 428b0578c6 w32threads: Use newer thread synchronization functions when targeting Vista
When explicitly targeting Vista or newer (which only happens if the
caller explicitly sets _WIN32_WINNT to a high enough value via the
extra cflags option - otherwise configure script sets
-D_WIN32_WINNT=0x0502), we already unconditionally link to the
ConditionVariable functions, since 4622f11f9.

Similarly use the newer -Ex versions of CreateEvent, CreateSemaphore,
InitializeCriticalSection and WaitForSingleObject, that all appeared
in Vista. When building Windows Store applications, the older versions
of these functions aren't available, only the -Ex functions. When
doing such a build, the user can set -D_WIN32_WINNT=0x0600 to
forcibly use the newer functions instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-13 14:38:18 +03:00
Nicolas George 58a10e0e2c compat/w32pthreads: add return value to pthread_cond_init(). 2014-05-26 11:33:42 +02:00
Michael Niedermayer 27b4d154ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Work around broken floating point limits on some systems.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 12:05:02 +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
Andreas Cadhalpun 64b6164b72 Correct the FSF address for two avisynth files to '51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 20:44:33 +01:00
Reimar Döffinger b74eead27b compat: provide va_copy for old gcc versions.
Since we have this compat/va_copy.h header already we might just as well make
use of it for more than one compiler.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-12-30 12:38:03 +01:00
Michael Niedermayer 988bda8a69 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Import makedef script from c99-to-c89

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 23:27:32 +01:00