Remove everything related to NO_DYNAMIC_VP

This mode is the default and used everywhere now.
This commit is contained in:
Martin Storsjö 2014-04-08 10:56:58 +03:00
parent 56abd3c15b
commit 1342da9bc4
6 changed files with 5 additions and 234 deletions

View File

@ -38,7 +38,7 @@ endif
include build/platform-$(OS).mk
CFLAGS += -DNO_DYNAMIC_VP
CFLAGS +=
LDFLAGS +=
ifeq (Yes, $(GCOV))

View File

@ -93,7 +93,6 @@
4CE446AA18BC605C0017DF25 /* as264_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = as264_common.h; sourceTree = "<group>"; };
4CE446AB18BC605C0017DF25 /* au_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = au_set.h; sourceTree = "<group>"; };
4CE446AC18BC605C0017DF25 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; };
4CE446AD18BC605C0017DF25 /* bundleloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bundleloader.h; sourceTree = "<group>"; };
4CE446AE18BC605C0017DF25 /* deblocking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deblocking.h; sourceTree = "<group>"; };
4CE446AF18BC605C0017DF25 /* decode_mb_aux.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decode_mb_aux.h; sourceTree = "<group>"; };
4CE446B018BC605C0017DF25 /* dq_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dq_map.h; sourceTree = "<group>"; };
@ -286,7 +285,6 @@
4CE446AA18BC605C0017DF25 /* as264_common.h */,
4CE446AB18BC605C0017DF25 /* au_set.h */,
4CE446AC18BC605C0017DF25 /* bit_stream.h */,
4CE446AD18BC605C0017DF25 /* bundleloader.h */,
4CE446AE18BC605C0017DF25 /* deblocking.h */,
4CE446AF18BC605C0017DF25 /* decode_mb_aux.h */,
4CE446B018BC605C0017DF25 /* dq_map.h */,
@ -636,12 +634,10 @@
GCC_PREPROCESSOR_DEFINITIONS = "";
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*]" = (
APPLE_IOS,
NO_DYNAMIC_VP,
HAVE_NEON,
);
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = (
APPLE_IOS,
NO_DYNAMIC_VP,
);
HEADER_SEARCH_PATHS = (
"$(SRCROOT)/../../../../common/inc",
@ -670,12 +666,10 @@
GCC_PREPROCESSOR_DEFINITIONS = "";
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*]" = (
APPLE_IOS,
NO_DYNAMIC_VP,
HAVE_NEON,
);
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = (
APPLE_IOS,
NO_DYNAMIC_VP,
);
HEADER_SEARCH_PATHS = (
"$(SRCROOT)/../../../../common/inc",

View File

@ -53,7 +53,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\common\inc;..\..\..\encoder\core\inc,..\..\..\api\svc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;X86_ASM;NO_DYNAMIC_VP"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;X86_ASM"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -133,7 +133,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\common\inc;..\..\..\encoder\core\inc,..\..\..\api\svc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN64;_DEBUG;_LIB;X86_ASM;NO_DYNAMIC_VP"
PreprocessorDefinitions="WIN64;_DEBUG;_LIB;X86_ASM"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -215,7 +215,7 @@
FavorSizeOrSpeed="1"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="..\..\..\common\inc;..\..\..\encoder\core\inc,..\..\..\api\svc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;X86_ASM;NO_DYNAMIC_VP"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;X86_ASM"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
@ -299,7 +299,7 @@
FavorSizeOrSpeed="1"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="..\..\..\common\inc;..\..\..\encoder\core\inc,..\..\..\api\svc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN64;NDEBUG;_LIB;X86_ASM;NO_DYNAMIC_VP"
PreprocessorDefinitions="WIN64;NDEBUG;_LIB;X86_ASM"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"

View File

@ -1,137 +0,0 @@
/*!
* \copy
* Copyright (c) 2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef WELS_BOUNDLELOAD_H
#define WELS_BOUNDLELOAD_H
#if defined(MACOS)
#include <dlfcn.h>
#include <carbon/carbon.h>
#include <coreFoundation/CFBundle.h>
#include <string>
int GetCurrentModulePath (char* lpModulePath, const int iPathMax) {
if (lpModulePath == NULL || iPathMax <= 0) {
return -1;
}
memset (lpModulePath, 0, iPathMax);
char cCurrentPath[PATH_MAX];
memset (cCurrentPath, 0, PATH_MAX);
Dl_info dlInfo;
static int sDummy;
dladdr ((void*)&sDummy, &dlInfo);
strlcpy (cCurrentPath, dlInfo.dli_fname, PATH_MAX);
// whether is self a framework ?
int locateNumber = 1;
struct FSRef currentPath;
OSStatus iStatus = FSPathMakeRef ((unsigned char*)cCurrentPath, &currentPath, NULL);
if (noErr == iStatus) {
LSItemInfoRecord info;
iStatus = LSCopyItemInfoForRef (&currentPath, kLSRequestExtension, &info);
if (noErr == iStatus && NULL == info.extension) {
locateNumber = 4;
}
}
std::string strPath (cCurrentPath);
std::string::size_type pos = std::string::npos;
for (int i = 0; i < locateNumber; i++) {
pos = strPath.rfind ('/');
if (std::string::npos == pos) {
break;
}
strPath.erase (pos);
}
if (std::string::npos == pos) {
return -2;
}
cCurrentPath[pos] = 0;
strlcpy (lpModulePath, cCurrentPath, iPathMax);
strlcat (lpModulePath, "/", iPathMax);
return 0;
}
CFBundleRef LoadBundle (const char* lpBundlePath) {
if (lpBundlePath == NULL) {
return NULL;
}
struct FSRef bundlePath;
OSStatus iStatus = FSPathMakeRef ((unsigned char*)lpBundlePath, &bundlePath, NULL);
if (noErr != iStatus) {
return NULL;
}
CFURLRef bundleURL = CFURLCreateFromFSRef (kCFAllocatorSystemDefault, &bundlePath);
if (NULL == bundleURL) {
return NULL;
}
// 2.get bundle ref
CFBundleRef bundleRef = CFBundleCreate (kCFAllocatorSystemDefault, bundleURL);
CFRelease (bundleURL);
// Boolean bReturn = FALSE;
if (NULL != bundleRef) {
// bReturn = CFBundleLoadExecutable(bundleRef);
}
return bundleRef;
}
Boolean FreeBundle (CFBundleRef bundleRef) {
if (NULL != bundleRef) {
// CFBundleUnloadExecutable(bundleRef);
CFRelease (bundleRef);
}
return TRUE;
}
void* GetProcessAddress (CFBundleRef bundleRef, const char* lpProcName) {
void* processAddress = NULL;
if (NULL != bundleRef) {
CFStringRef cfProcName = CFStringCreateWithCString (kCFAllocatorSystemDefault, lpProcName, CFStringGetSystemEncoding());
processAddress = CFBundleGetFunctionPointerForName (bundleRef, cfProcName);
CFRelease (cfProcName);
}
return processAddress;
}
#endif
#endif

View File

@ -126,7 +126,6 @@ class CWelsLib {
void* QueryFunction (const char* pName);
private:
void* m_pVpLib;
void* m_pInterface[2];
};

View File

@ -30,16 +30,6 @@
*
*/
#ifndef NO_DYNAMIC_VP
#if defined(_WIN32)
#include <windows.h>
#elif defined(MACOS)
#include "bundleloader.h"
#elif defined(__GNUC__)
#include <dlfcn.h>
#endif
#endif
#include "wels_preprocess.h"
#include "picture_handle.h"
#include "encoder_context.h"
@ -79,106 +69,31 @@ inline void WelsUpdateSpatialIdxMap (sWelsEncCtx* pEncCtx, int32_t iPos, SPic
//***************************************************************************************************//
CWelsLib::CWelsLib (sWelsEncCtx* pEncCtx) {
m_pInterface[0] = m_pInterface[1] = NULL;
#ifndef NO_DYNAMIC_VP
#if defined(_WIN32)
const char WelsVPLib[] = "welsvp.dll";
HMODULE shModule = LoadLibrary (WelsVPLib);
if (!shModule)
WelsLog (pEncCtx, WELS_LOG_ERROR, "welsvp load lib dynamic failed module=%x\n", shModule);
#elif defined(MACOS)
const char WelsVPLib[] = "welsvp.bundle";
char pCurPath[256];
GetCurrentModulePath (pCurPath, 256);
strlcat (pCurPath, WelsVPLib, 256);
CFBundleRef shModule = LoadBundle (pCurPath);
if (!shModule)
WelsLog (pEncCtx, WELS_LOG_ERROR, "welsvp load lib dynamic failed module=%x\n", shModule);
#elif defined(__GNUC__)
const char WelsVPLib[] = "./libwelsvp.so";
void* shModule = NULL;
shModule = dlopen (WelsVPLib, RTLD_LAZY);
if (shModule == NULL)
printf ("dlopen %s iRet=%p, err=%s\n", WelsVPLib, shModule, dlerror());
#endif
m_pVpLib = (void*)shModule;
#endif
}
CWelsLib::~CWelsLib() {
#ifndef NO_DYNAMIC_VP
if (m_pVpLib) {
#if defined(_WIN32)
HMODULE shModule = (HMODULE)m_pVpLib;
FreeLibrary (shModule);
#elif defined(MACOS)
CFBundleRef shModule = (CFBundleRef)m_pVpLib;
FreeBundle (shModule);
#elif defined(__GNUC__)
void* shModule = m_pVpLib;
dlclose (shModule);
#endif
m_pVpLib = NULL;
}
#endif
}
void* CWelsLib::QueryFunction (const char* pName) {
void* pFunc = NULL;
#ifndef NO_DYNAMIC_VP
if (m_pVpLib) {
#if defined(_WIN32)
HMODULE shModule = (HMODULE)m_pVpLib;
pFunc = (void*)GetProcAddress (shModule, pName);
#elif defined(MACOS)
CFBundleRef shModule = (CFBundleRef)m_pVpLib;
pFunc = (void*)GetProcessAddress (shModule, pName);
#elif defined(__GNUC__)
void* shModule = m_pVpLib;
pFunc = (void*)dlsym (shModule, pName);
if (pFunc == NULL)
printf ("dlsym %p iRet=%p, err=%s\n", shModule, pFunc, dlerror());
#endif
}
#endif
return pFunc;
}
int32_t CWelsLib::CreateIface (IWelsVP** ppInterfaceVp) {
*ppInterfaceVp = NULL;
#ifndef NO_DYNAMIC_VP
if (m_pVpLib) {
#endif
pfnCreateVpInterface pCreateVpInterface = NULL;
pfnDestroyVpInterface pDestroyVpInterface = NULL;
#ifndef NO_DYNAMIC_VP
pCreateVpInterface = (pfnCreateVpInterface) QueryFunction ("CreateVpInterface");
pDestroyVpInterface = (pfnDestroyVpInterface) QueryFunction ("DestroyVpInterface");
#else
pCreateVpInterface = CreateVpInterface;
// TODO(ekr@rtfm.com): This cast corrects a signature difference... This is a potential real problem
pDestroyVpInterface = (pfnDestroyVpInterface)DestroyVpInterface;
#endif
m_pInterface[0] = (void*)pCreateVpInterface;
m_pInterface[1] = (void*)pDestroyVpInterface;
if (m_pInterface[0] && m_pInterface[1])
pCreateVpInterface ((void**)ppInterfaceVp, WELSVP_INTERFACE_VERION);
#ifndef NO_DYNAMIC_VP
} else {
}
#endif
return (*ppInterfaceVp) ? 0 : 1;
}