Age | Commit message (Collapse) | Author |
|
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
This removes the XP compatibility code, and switches entirely to SWR
locks, which are available starting at Windows Vista.
This removes CRITICAL_SECTION use, which allows us to add
PTHREAD_MUTEX_INITIALIZER, which will be useful later.
Windows XP is hereby not a supported build target anymore. It was
decided in a project vote that this is OK.
|
|
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>
|
|
* commit 'bd9cd04626a98a752c5771d057a6b86779359904':
w32pthreads: Fix function pointer casts
Merged-by: James Almer <jamrial@gmail.com>
|
|
This eliminates a handful of warnings at every inclusion of the header.
|
|
|
|
* commit '407ac22322e5ce67996ec54ef619cafa4c9ceb78':
w32pthreads: Map MemoryBarrier to __sync_synchronize on mingw
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
This fixes building on older mingw (both mingw.org and mingw64;
mingw64 from before May 2011).
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
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>
|
|
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.
|
|
_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>
|
|
* commit '2830bce47e2eb29c76202f19017031ddc1f95dd3':
w32pthreads: Load dynamically loaded functions on demand
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
* commit 'b22693b06d1e5d73454a65c203b4d31c1ca5b69a':
w32pthreads: Add pthread_once emulation
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
* commit '6baeadd11083774ebd823dd5e1a744c2150a3bfc':
w32pthreads: Mark functions in compatibility wrapper as av_unused
Conflicts:
compat/w32pthreads.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
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.
|
|
* commit '428b0578c64241fc677fed7083cc8fe65e10f32e':
w32threads: Use newer thread synchronization functions when targeting Vista
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
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>
|
|
|
|
* commit 'ef51692a49d58963966adca55c62da9c34c3c7e1':
Revert "w32pthread: help compiler figure out undeeded code"
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '4332bf98dc051fd1ffbd9d4ddc1c5e55790c96f1':
w32threads: Don't use function pointers when linking directly to newer APIs
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
This reverts commit 4622f11f9c83db8a2e08408c71ff901826ca652c.
The compiler should be able to do the dead code elimination now
without this when the cond_* names point directly to the real
functions instead of to local function pointers.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This reduces the call overhead slightly. More noticeably, it
restores the earlier (unintended?) feature that condition variable
functions work just fine even if w32thread_init() hasn't been called.
This was broken as a side effect of 4622f11f9, if explicitly targeting
Vista+.
This makes w32threading work in VP8 again, if targeting Vista+.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
* commit '4622f11f9c83db8a2e08408c71ff901826ca652c':
w32pthread: help compiler figure out undeeded code
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
The emulation code is not needed when targetting Vista+
This helps getting rid of CreateSemaphore symbol, which is
forbidden in Windows Store apps.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
* commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da':
Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/
Conflicts:
compat/aix/math.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Also fix a comment and an #endif comment.
|
|
* commit '90f9a5830b5d332de7ebb1ab45589f1870cbd65d':
w32pthreads: move from lavc to compat/
Conflicts:
libavcodec/Makefile
libavcodec/pthread.c
libavcodec/vp8.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
It will be used in other places than lavc.
|