mirror of
https://github.com/opencv/opencv.git
synced 2024-11-28 13:10:12 +08:00
WinRT core compatibility fixes
Update system.cpp Update system.cpp Update ocl.cpp Update matching.cpp Update ocl.cpp Update matching.cpp
This commit is contained in:
parent
01f31dc007
commit
b1443bc1bc
@ -60,7 +60,11 @@
|
||||
// TODO Move to some common place
|
||||
static size_t getConfigurationParameterForSize(const char* name, size_t defaultValue)
|
||||
{
|
||||
#ifdef HAVE_WINRT
|
||||
const char* envValue = NULL;
|
||||
#else
|
||||
const char* envValue = getenv(name);
|
||||
#endif
|
||||
if (envValue == NULL)
|
||||
{
|
||||
return defaultValue;
|
||||
@ -685,12 +689,14 @@ static void* initOpenCLAndLoad(const char* funcname)
|
||||
static HMODULE handle = 0;
|
||||
if (!handle)
|
||||
{
|
||||
#ifndef HAVE_WINRT
|
||||
if(!initialized)
|
||||
{
|
||||
handle = LoadLibraryA("OpenCL.dll");
|
||||
initialized = true;
|
||||
g_haveOpenCL = handle != 0 && GetProcAddress(handle, oclFuncToCheck) != 0;
|
||||
}
|
||||
#endif
|
||||
if(!handle)
|
||||
return 0;
|
||||
}
|
||||
@ -2145,6 +2151,12 @@ static bool parseOpenCLDeviceConfiguration(const std::string& configurationStr,
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef HAVE_WINRT
|
||||
static cl_device_id selectOpenCLDevice()
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
static cl_device_id selectOpenCLDevice()
|
||||
{
|
||||
std::string platform, deviceName;
|
||||
@ -2289,6 +2301,7 @@ not_found:
|
||||
CV_Error(CL_INVALID_DEVICE, "Requested OpenCL device is not found");
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct Context::Impl
|
||||
{
|
||||
|
@ -442,27 +442,23 @@ String format( const char* fmt, ... )
|
||||
|
||||
String tempfile( const char* suffix )
|
||||
{
|
||||
#ifdef HAVE_WINRT
|
||||
std::wstring temp_dir = L"";
|
||||
const wchar_t* opencv_temp_dir = _wgetenv(L"OPENCV_TEMP_PATH");
|
||||
if (opencv_temp_dir)
|
||||
temp_dir = std::wstring(opencv_temp_dir);
|
||||
#else
|
||||
const char *temp_dir = getenv("OPENCV_TEMP_PATH");
|
||||
String fname;
|
||||
#ifndef HAVE_WINRT
|
||||
const char *temp_dir = getenv("OPENCV_TEMP_PATH");
|
||||
#endif
|
||||
|
||||
#if defined WIN32 || defined _WIN32
|
||||
#ifdef HAVE_WINRT
|
||||
RoInitialize(RO_INIT_MULTITHREADED);
|
||||
std::wstring temp_dir2;
|
||||
if (temp_dir.empty())
|
||||
temp_dir = GetTempPathWinRT();
|
||||
std::wstring temp_dir = L"";
|
||||
const wchar_t* opencv_temp_dir = GetTempPathWinRT().c_str();
|
||||
if (opencv_temp_dir)
|
||||
temp_dir = std::wstring(opencv_temp_dir);
|
||||
|
||||
std::wstring temp_file;
|
||||
temp_file = GetTempFileNameWinRT(L"ocv");
|
||||
if (temp_file.empty())
|
||||
return std::string();
|
||||
return String();
|
||||
|
||||
temp_file = temp_dir + std::wstring(L"\\") + temp_file;
|
||||
DeleteFileW(temp_file.c_str());
|
||||
@ -470,7 +466,7 @@ String tempfile( const char* suffix )
|
||||
char aname[MAX_PATH];
|
||||
size_t copied = wcstombs(aname, temp_file.c_str(), MAX_PATH);
|
||||
CV_Assert((copied != MAX_PATH) && (copied != (size_t)-1));
|
||||
fname = std::string(aname);
|
||||
fname = String(aname);
|
||||
RoUninitialize();
|
||||
#else
|
||||
char temp_dir2[MAX_PATH] = { 0 };
|
||||
|
@ -525,7 +525,9 @@ int addNullableBorder(CvLSVMFeatureMap *map, int bx, int by)
|
||||
float *new_map;
|
||||
sizeX = map->sizeX + 2 * bx;
|
||||
sizeY = map->sizeY + 2 * by;
|
||||
new_map = (float *)malloc(sizeof(float) * sizeX * sizeY * map->numFeatures);
|
||||
// fix for Windows Phone 8 ARM compiler
|
||||
size_t size = sizeof(float) * sizeX * sizeY * map->numFeatures;
|
||||
new_map = (float *)malloc(size);
|
||||
for (i = 0; i < sizeX * sizeY * map->numFeatures; i++)
|
||||
{
|
||||
new_map[i] = 0.0;
|
||||
|
Loading…
Reference in New Issue
Block a user