diff --git a/codec/common/WelsThreadLib.cpp b/codec/common/WelsThreadLib.cpp index 98bb25f4..5298a810 100644 --- a/codec/common/WelsThreadLib.cpp +++ b/codec/common/WelsThreadLib.cpp @@ -63,13 +63,14 @@ #include #include -#ifdef MT_ENABLED #ifdef _WIN32 -void WelsSleep (uint32_t dwMilliseconds) { - Sleep (dwMilliseconds); -} +#ifdef WINAPI_FAMILY +#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#define InitializeCriticalSection(x) InitializeCriticalSectionEx(x, 0, 0) +#endif +#endif WELS_THREAD_ERROR_CODE WelsMutexInit (WELS_MUTEX* mutex) { InitializeCriticalSection (mutex); @@ -95,6 +96,35 @@ WELS_THREAD_ERROR_CODE WelsMutexDestroy (WELS_MUTEX* mutex) { return WELS_THREAD_ERROR_OK; } +#else /* _WIN32 */ + +WELS_THREAD_ERROR_CODE WelsMutexInit (WELS_MUTEX* mutex) { + return pthread_mutex_init (mutex, NULL); +} + +WELS_THREAD_ERROR_CODE WelsMutexLock (WELS_MUTEX* mutex) { + return pthread_mutex_lock (mutex); +} + +WELS_THREAD_ERROR_CODE WelsMutexUnlock (WELS_MUTEX* mutex) { + return pthread_mutex_unlock (mutex); +} + +WELS_THREAD_ERROR_CODE WelsMutexDestroy (WELS_MUTEX* mutex) { + return pthread_mutex_destroy (mutex); +} + +#endif /* !_WIN32 */ + + +#ifdef MT_ENABLED + +#ifdef _WIN32 + +void WelsSleep (uint32_t dwMilliseconds) { + Sleep (dwMilliseconds); +} + WELS_THREAD_ERROR_CODE WelsEventOpen (WELS_EVENT* event, const char* event_name) { WELS_EVENT h = CreateEvent (NULL, FALSE, FALSE, NULL); @@ -209,22 +239,6 @@ WELS_THREAD_HANDLE WelsThreadSelf() { return pthread_self(); } -WELS_THREAD_ERROR_CODE WelsMutexInit (WELS_MUTEX* mutex) { - return pthread_mutex_init (mutex, NULL); -} - -WELS_THREAD_ERROR_CODE WelsMutexLock (WELS_MUTEX* mutex) { - return pthread_mutex_lock (mutex); -} - -WELS_THREAD_ERROR_CODE WelsMutexUnlock (WELS_MUTEX* mutex) { - return pthread_mutex_unlock (mutex); -} - -WELS_THREAD_ERROR_CODE WelsMutexDestroy (WELS_MUTEX* mutex) { - return pthread_mutex_destroy (mutex); -} - // unnamed semaphores aren't supported on OS X WELS_THREAD_ERROR_CODE WelsEventOpen (WELS_EVENT* p_event, const char* event_name) { diff --git a/codec/processing/build/iOS/processing.xcodeproj/project.pbxproj b/codec/processing/build/iOS/processing.xcodeproj/project.pbxproj index f59423cb..6f8c0b3e 100644 --- a/codec/processing/build/iOS/processing.xcodeproj/project.pbxproj +++ b/codec/processing/build/iOS/processing.xcodeproj/project.pbxproj @@ -21,7 +21,6 @@ 4CE4478B18BC62960017DF25 /* AdaptiveQuantization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4475D18BC62960017DF25 /* AdaptiveQuantization.cpp */; }; 4CE4478F18BC62960017DF25 /* BackgroundDetection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4476418BC62960017DF25 /* BackgroundDetection.cpp */; }; 4CE4479018BC62960017DF25 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4476718BC62960017DF25 /* memory.cpp */; }; - 4CE4479118BC62960017DF25 /* thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4476A18BC62960017DF25 /* thread.cpp */; }; 4CE4479218BC62960017DF25 /* WelsFrameWork.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4476E18BC62960017DF25 /* WelsFrameWork.cpp */; }; 4CE4479318BC62960017DF25 /* WelsFrameWorkEx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4477018BC62960017DF25 /* WelsFrameWorkEx.cpp */; }; 4CE4479418BC62960017DF25 /* ComplexityAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4477418BC62960017DF25 /* ComplexityAnalysis.cpp */; }; @@ -80,8 +79,6 @@ 4CE4476718BC62960017DF25 /* memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memory.cpp; sourceTree = ""; }; 4CE4476818BC62960017DF25 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = ""; }; 4CE4476918BC62960017DF25 /* resource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = ""; }; - 4CE4476A18BC62960017DF25 /* thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thread.cpp; sourceTree = ""; }; - 4CE4476B18BC62960017DF25 /* thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread.h; sourceTree = ""; }; 4CE4476C18BC62960017DF25 /* typedef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedef.h; sourceTree = ""; }; 4CE4476D18BC62960017DF25 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; 4CE4476E18BC62960017DF25 /* WelsFrameWork.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsFrameWork.cpp; sourceTree = ""; }; @@ -240,8 +237,6 @@ 4CE4476718BC62960017DF25 /* memory.cpp */, 4CE4476818BC62960017DF25 /* memory.h */, 4CE4476918BC62960017DF25 /* resource.h */, - 4CE4476A18BC62960017DF25 /* thread.cpp */, - 4CE4476B18BC62960017DF25 /* thread.h */, 4CE4476C18BC62960017DF25 /* typedef.h */, 4CE4476D18BC62960017DF25 /* util.h */, 4CE4476E18BC62960017DF25 /* WelsFrameWork.cpp */, @@ -409,7 +404,6 @@ 4CE4479C18BC62960017DF25 /* SceneChangeDetectionCommon.cpp in Sources */, 4CE4479418BC62960017DF25 /* ComplexityAnalysis.cpp in Sources */, 4CE4479E18BC62960017DF25 /* vaacalculation.cpp in Sources */, - 4CE4479118BC62960017DF25 /* thread.cpp in Sources */, 4C34067A18C5A4AD00DFA14A /* pixel_sad_neon.S in Sources */, 4CE4478F18BC62960017DF25 /* BackgroundDetection.cpp in Sources */, 4CE4479618BC62960017DF25 /* denoise_filter.cpp in Sources */, diff --git a/codec/processing/build/win32/WelsVP_2008.vcproj b/codec/processing/build/win32/WelsVP_2008.vcproj index 4f23aae7..4ec94434 100644 --- a/codec/processing/build/win32/WelsVP_2008.vcproj +++ b/codec/processing/build/win32/WelsVP_2008.vcproj @@ -388,7 +388,7 @@ > - -#elif defined(__GNUC__) - -#include -#include -#include -#include -#include -#include - -#endif//WIN32 - -WELSVP_NAMESPACE_BEGIN - -#if defined(_WIN32) - -typedef HANDLE WELS_THREAD_HANDLE; -typedef CRITICAL_SECTION WELS_MUTEX; - -#elif defined(__GNUC__) - -typedef pthread_t WELS_THREAD_HANDLE; -typedef pthread_mutex_t WELS_MUTEX; - -#endif - -typedef int32_t WELS_THREAD_ERROR_CODE; - -#define WELS_THREAD_ERROR_OK 0 -#define WELS_THREAD_ERROR_GENERAL ((unsigned long)(-1)) -#define WELS_THREAD_ERROR_WAIT_OBJECT_0 0 -#define WELS_THREAD_ERROR_WAIT_TIMEOUT ((unsigned long)0x00000102L) -#define WELS_THREAD_ERROR_WAIT_FAILED WELS_THREAD_ERROR_GENERAL - -WELS_THREAD_ERROR_CODE WelsMutexInit (WELS_MUTEX* mutex); -WELS_THREAD_ERROR_CODE WelsMutexLock (WELS_MUTEX* mutex); -WELS_THREAD_ERROR_CODE WelsMutexUnlock (WELS_MUTEX* mutex); -WELS_THREAD_ERROR_CODE WelsMutexDestroy (WELS_MUTEX* mutex); - -WELSVP_NAMESPACE_END - -#endif diff --git a/codec/processing/targets.mk b/codec/processing/targets.mk index 9514bb26..bde698bc 100644 --- a/codec/processing/targets.mk +++ b/codec/processing/targets.mk @@ -3,7 +3,6 @@ PROCESSING_CPP_SRCS=\ $(PROCESSING_SRCDIR)/src/adaptivequantization/AdaptiveQuantization.cpp\ $(PROCESSING_SRCDIR)/src/backgrounddetection/BackgroundDetection.cpp\ $(PROCESSING_SRCDIR)/src/common/memory.cpp\ - $(PROCESSING_SRCDIR)/src/common/thread.cpp\ $(PROCESSING_SRCDIR)/src/common/WelsFrameWork.cpp\ $(PROCESSING_SRCDIR)/src/common/WelsFrameWorkEx.cpp\ $(PROCESSING_SRCDIR)/src/complexityanalysis/ComplexityAnalysis.cpp\