file(GLOB lib_device_hdrs "src/opencv2/gpu/device/*.h*")
source_group("Device" FILES ${lib_device_hdrs})
-if (HAVE_CUDA AND MSVC)
+if (HAVE_CUDA)
file(GLOB_RECURSE ncv_srcs "src/nvidia/*.cpp")
- file(GLOB_RECURSE ncv_cuda "src/nvidia/*.cu")
- file(GLOB_RECURSE ncv_hdr1 "src/nvidia/*.hpp")
- file(GLOB_RECURSE ncv_hdr2 "src/nvidia/*.h")
- source_group("Src\\NVidia" FILES ${ncv_srcs} ${ncv_hdr1} ${ncv_hdr2} ${ncv_cuda})
- include_directories("src/nvidia/core" "src/nvidia/NPP_staging")
+ file(GLOB_RECURSE ncv_cuda "src/nvidia/*.cu")
+ file(GLOB_RECURSE ncv_hdr1 "src/nvidia/*.hpp")
+ file(GLOB_RECURSE ncv_hdr2 "src/nvidia/*.h")
+
+ if (NOT MSVS)
+ file(GLOB vvv "src/nvidia/*.cu")
+ list(GET vvv 0 vv)
+ list(REMOVE_ITEM ncv_cuda ${vv})
+ endif()
+ message(STATUS ${ncv_cuda})
+
+ source_group("Src\\NVidia" FILES ${ncv_srcs} ${ncv_hdr1} ${ncv_hdr2} ${ncv_cuda})
+ include_directories("src/nvidia/core" "src/nvidia/NPP_staging")
endif()
if (HAVE_CUDA)
- get_filename_component(_path_to_findnpp "${CMAKE_CURRENT_LIST_FILE}" PATH)
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${_path_to_findnpp})
- find_package(NPP 3.2.16 REQUIRED)
- message(STATUS "NPP detected: " ${NPP_VERSION})
+ get_filename_component(_path_to_findnpp "${CMAKE_CURRENT_LIST_FILE}" PATH)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${_path_to_findnpp})
+ find_package(NPP 3.2.16 REQUIRED)
+ message(STATUS "NPP detected: " ${NPP_VERSION})
- include_directories(${CUDA_INCLUDE_DIRS} ${CUDA_NPP_INCLUDES})
-
- if (UNIX OR APPLE)
- set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;-fPIC;")
- #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" "-fPIC")
- endif()
-
- #set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-keep")
- #set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;/EHsc-;")
-
- string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
- string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
-
- if(MSVC)
- #string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- #string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
- #string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4211 /wd4201 /wd4100 /wd4505 /wd4408")
-
- string(REPLACE "/EHsc-" "/EHs" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- string(REPLACE "/EHsc-" "/EHs" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
- string(REPLACE "/EHsc-" "/EHs" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
- string(REPLACE "/EHsc-" "/EHs" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- string(REPLACE "/EHsc-" "/EHs" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
- string(REPLACE "/EHsc-" "/EHs" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
- endif()
+ include_directories(${CUDA_INCLUDE_DIRS} ${CUDA_NPP_INCLUDES})
+
+ if (UNIX OR APPLE)
+ set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;-fPIC;")
+ #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" "-fPIC")
+ endif()
+
+ #set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-keep")
+ #set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;/EHsc-;")
+
+ string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
+ string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+
+ if(MSVC)
+ #string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ #string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
+ #string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4211 /wd4201 /wd4100 /wd4505 /wd4408")
+
+ string(REPLACE "/EHsc-" "/EHs" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ string(REPLACE "/EHsc-" "/EHs" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+ string(REPLACE "/EHsc-" "/EHs" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
+ string(REPLACE "/EHsc-" "/EHs" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ string(REPLACE "/EHsc-" "/EHs" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
+ string(REPLACE "/EHsc-" "/EHs" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ endif()
- CUDA_COMPILE(cuda_objs ${lib_cuda} ${ncv_cuda})
- #CUDA_BUILD_CLEAN_TARGET()
+ CUDA_COMPILE(cuda_objs ${lib_cuda} ${ncv_cuda})
+ #CUDA_BUILD_CLEAN_TARGET()
endif()
add_library(${the_target} ${lib_srcs} ${lib_hdrs} ${lib_int_hdrs} ${lib_cuda} ${lib_cuda_hdrs} ${lib_device_hdrs} ${ncv_srcs} ${ncv_hdr1} ${ncv_hdr2} ${ncv_cuda} ${cuda_objs})
////////////////////////////////////////////////////////////////////////////////\r
\r
#include <algorithm>\r
+#include <cstdio>\r
\r
#include "NCV.hpp"\r
#include "NPP_staging/NPP_staging.hpp"\r
FILE *fp = fopen(filename.c_str(), "rb");\r
ncvAssertReturn(fp != NULL, NCV_FILE_ERROR);\r
Ncv32u fileVersion;\r
- fread(&fileVersion, sizeof(Ncv32u), 1, fp); \r
-\r
+ ncvAssertReturn(1 == fread(&fileVersion, sizeof(Ncv32u), 1, fp), NCV_FILE_ERROR);\r
ncvAssertReturn(fileVersion == NVBIN_HAAR_VERSION, NCV_FILE_ERROR);\r
Ncv32u fsize;\r
- fread_s(&fsize, sizeof(Ncv32u), sizeof(Ncv32u), 1, fp);\r
+ ncvAssertReturn(1 == fread(&fsize, sizeof(Ncv32u), 1, fp), NCV_FILE_ERROR);\r
fseek(fp, 0, SEEK_END);\r
Ncv32u fsizeActual = ftell(fp);\r
ncvAssertReturn(fsize == fsizeActual, NCV_FILE_ERROR);\r
fdata.resize(fsize);\r
Ncv32u dataOffset = 0;\r
fseek(fp, 0, SEEK_SET);\r
- fread(&fdata[0], fsize, 1, fp);\r
+ ncvAssertReturn(1 == fread(&fdata[0], fsize, 1, fp), NCV_FILE_ERROR);\r
fclose(fp);\r
\r
//data\r
\r
if (fext == "nvbin")\r
{\r
- FILE *fp;\r
- fopen_s(&fp, filename.c_str(), "rb");\r
+ FILE *fp = fopen(filename.c_str(), "rb");\r
ncvAssertReturn(fp != NULL, NCV_FILE_ERROR);\r
Ncv32u fileVersion;\r
- fread_s(&fileVersion, sizeof(Ncv32u), sizeof(Ncv32u), 1, fp);\r
+ ncvAssertReturn(1 == fread(&fileVersion, sizeof(Ncv32u), 1, fp), NCV_FILE_ERROR);\r
ncvAssertReturn(fileVersion == NVBIN_HAAR_VERSION, NCV_FILE_ERROR);\r
fseek(fp, NVBIN_HAAR_SIZERESERVED, SEEK_SET);\r
Ncv32u tmp;\r
- fread_s(&numStages, sizeof(Ncv32u), sizeof(Ncv32u), 1, fp);\r
- fread_s(&tmp, sizeof(Ncv32u), sizeof(Ncv32u), 1, fp);\r
- fread_s(&numNodes, sizeof(Ncv32u), sizeof(Ncv32u), 1, fp);\r
- fread_s(&numFeatures, sizeof(Ncv32u), sizeof(Ncv32u), 1, fp);\r
+ ncvAssertReturn(1 == fread(&numStages, sizeof(Ncv32u), 1, fp), NCV_FILE_ERROR);\r
+ ncvAssertReturn(1 == fread(&tmp, sizeof(Ncv32u), 1, fp), NCV_FILE_ERROR);\r
+ ncvAssertReturn(1 == fread(&numNodes, sizeof(Ncv32u), 1, fp), NCV_FILE_ERROR);\r
+ ncvAssertReturn(1 == fread(&numFeatures, sizeof(Ncv32u), 1, fp), NCV_FILE_ERROR);\r
fclose(fp);\r
}\r
else if (fext == "xml")\r
dataOffset = sizeof(Ncv32u);\r
*(Ncv32u *)(&fdata[0]+dataOffset) = fsize;\r
\r
- FILE *fp;\r
- fopen_s(&fp, filename.c_str(), "wb");\r
+ FILE *fp = fopen(filename.c_str(), "wb");\r
ncvAssertReturn(fp != NULL, NCV_FILE_ERROR);\r
fwrite(&fdata[0], fsize, 1, fp);\r
fclose(fp);\r
const Ncv32u LOG2_NUM_SCAN_THREADS = 8;\r
\r
\r
+struct T_true {};\r
+struct T_false {};\r
+template <typename T, typename U> struct is_same : T_false {};\r
+template <typename T> struct is_same<T, T> : T_true {};\r
+\r
+template <int v>\r
+struct Int2Type\r
+{\r
+ enum { value = v };\r
+};\r
+\r
+\r
template<class T_in, class T_out>\r
struct _scanElemOp\r
{\r
template<bool tbDoSqr>\r
- static inline __host__ __device__ T_out scanElemOp(T_in elem);\r
-\r
- template<>\r
- static inline __host__ __device__ T_out scanElemOp<false>(T_in elem)\r
+ static inline __host__ __device__ T_out scanElemOp(T_in elem)\r
+ {\r
+ return scanElemOp_( elem, Int2Type<(int)tbDoSqr>() );\r
+ }\r
+private:\r
+ static inline __host__ __device__ T_out scanElemOp_(T_in elem,const Int2Type<0>&)\r
{\r
return (T_out)elem;\r
}\r
-\r
- template<>\r
- static inline __host__ __device__ T_out scanElemOp<true>(T_in elem)\r
+ static inline __host__ __device__ T_out scanElemOp_(T_in elem, const Int2Type<1>&)\r
{\r
return (T_out)(elem*elem);\r
}\r
char buffer[K_DEBUG_STRING_MAXLEN];\r
va_list args;\r
va_start(args, msg);\r
- vsnprintf_s(buffer, K_DEBUG_STRING_MAXLEN, K_DEBUG_STRING_MAXLEN-1, msg, args);\r
+ vsnprintf(buffer, K_DEBUG_STRING_MAXLEN, msg, args);\r
va_end (args);\r
debugOutputHandler(buffer);\r
}\r
return (((double)t2->tv.tv_sec - (double)t1->tv.tv_sec) * 1000000 + (double)t2->tv.tv_usec - (double)t1->tv.tv_usec);\r
}\r
\r
+ double _ncvMomentsDiffToMilliseconds(NcvTimeMoment *t1, NcvTimeMoment *t2)\r
+ {\r
+ return ((double)t2->tv.tv_sec - (double)t1->tv.tv_sec) * 1000;\r
+ }\r
\r
#endif //#if defined(_WIN32) || defined(_WIN64)\r
\r
return res;\r
}\r
\r
-#endif /* !defined (HAVE_CUDA) */
\ No newline at end of file
+#endif /* !defined (HAVE_CUDA) */\r
{\r
//Convenience function used by the user\r
//Takes a variable argument list, transforms it into a list\r
- static void call(Func &functor, int dummy, ...)\r
+ static void call(Func &functor, Ncv32u dummy, ...)\r
{\r
//Vector used to collect arguments\r
- std::vector<int> templateParamList;\r
+ std::vector<NcvBool> templateParamList;\r
\r
//Variable argument list manipulation\r
va_list listPointer;\r
//Collect parameters into the list\r
for(int i=0; i<NumArguments; i++)\r
{\r
- int val = va_arg(listPointer, int);\r
+ NcvBool val = va_arg(listPointer, NcvBool);\r
templateParamList.push_back(val);\r
}\r
va_end(listPointer);\r
\r
//Actual function called recursively to build a typelist based\r
//on a list of values\r
- static void call( Func &functor, std::vector<int> &templateParamList)\r
+ static void call( Func &functor, std::vector<NcvBool> &templateParamList)\r
{\r
//Get current parameter value in the list\r
- int val = templateParamList[templateParamList.size() - 1];\r
+ NcvBool val = templateParamList[templateParamList.size() - 1];\r
templateParamList.pop_back();\r
\r
//Select the compile time value to add into the typelist\r
- //depending on the runtime variable and make recursive call. \r
+ //depending on the runtime variable and make recursive call.\r
//Both versions are really instantiated\r
- if(val)\r
+ if (val)\r
{\r
KernelCaller<\r
- Loki::Typelist<typename Loki::Int2Type<true>, TList >,\r
+ Loki::Typelist<typename Loki::Int2Type<1>, TList >,\r
NumArguments-1, Func >\r
::call(functor, templateParamList);\r
}\r
else\r
{\r
- KernelCaller< \r
- Loki::Typelist<typename Loki::Int2Type<false>, TList >,\r
+ KernelCaller<\r
+ Loki::Typelist<typename Loki::Int2Type<0>, TList >,\r
NumArguments-1, Func >\r
::call(functor, templateParamList);\r
}\r
functor.call(TList()); //TList instantiated to get the method template parameter resolved\r
}\r
\r
- static void call(Func &functor, std::vector<int> &templateParams)\r
+ static void call(Func &functor, std::vector<NcvBool> &templateParams)\r
{\r
functor.call(TList());\r
}\r
#include "opencv2/gpu/stream_accessor.hpp"\r
#include "npp.h" \r
\r
- #include "nvidia/core/NCV.hpp"\r
- #include "nvidia/NPP_staging/npp_staging.hpp"\r
- #include "nvidia/NCVHaarObjectDetection.hpp"\r
+ #include "nvidia/core/NCV.hpp"\r
+ #include "nvidia/NPP_staging/NPP_staging.hpp"\r
+ #include "nvidia/NCVHaarObjectDetection.hpp"\r
\r
#define CUDART_MINIMUM_REQUIRED_VERSION 3020\r
#define NPP_MINIMUM_REQUIRED_VERSION 3216\r
#include <cstdio>\r
\r
#include "cvconfig.h"\r
-#if !defined(HAVE_CUDA)\r
- int main( int argc, const char** argv ) { return printf("Please compile the librarary with CUDA support."), -1; }\r
+#if !defined(HAVE_CUDA) || defined(__GNUC__)\r
+ int main( int argc, const char** argv ) { return printf("Please compile the librarary with CUDA support."), -1; }\r
#else\r
\r
-\r
#include <cuda_runtime.h>\r
#include "opencv2/opencv.hpp"\r
#include "NCVHaarObjectDetection.hpp"\r
\r
-\r
-\r
using namespace cv;\r
\r
-\r
const Size2i preferredVideoFrameSize(640, 480);\r
\r
std::string preferredClassifier = "haarcascade_frontalface_alt.xml";\r
\r
va_list arg_ptr;\r
va_start(arg_ptr, format);\r
- int len = _vscprintf(format, arg_ptr) + 1;\r
- \r
- vector<char> strBuf(len); \r
- vsprintf_s(&strBuf[0], len, format, arg_ptr);\r
+\r
+ char strBuf[4096];\r
+ vsprintf(&strBuf[0], format, arg_ptr);\r
\r
Point org(1, 3 * textSize.height * (lineOffsY + 1) / 2); \r
putText(img, &strBuf[0], org, fontFace, fontScale, color);\r
}\r
\r
\r
-#endif
\ No newline at end of file
+#endif\r
*/\r
\r
#include <float.h>\r
+\r
+#if defined(__GNUC__)\r
+ #include <fpu_control.h>\r
+#endif\r
+\r
#include "TestHaarCascadeApplication.h"\r
#include "NCVHaarObjectDetection.hpp"\r
\r
}\r
ncvAssertReturn(cudaSuccess == cudaStreamSynchronize(0), false);\r
\r
+#if defined(__GNUC__)\r
+ //http://www.christian-seiler.de/projekte/fpmath/\r
+\r
+ fpu_control_t fpu_oldcw, fpu_cw;\r
+ _FPU_GETCW(fpu_oldcw); // store old cw\r
+ fpu_cw = (fpu_oldcw & ~_FPU_EXTENDED & ~_FPU_DOUBLE & ~_FPU_SINGLE) | _FPU_SINGLE;\r
+ _FPU_SETCW(fpu_cw);\r
+\r
+ // calculations here\r
+ ncvStat = ncvApplyHaarClassifierCascade_host(\r
+ h_integralImage, h_rectStdDev, h_pixelMask,\r
+ detectionsOnThisScale_h,\r
+ haar, h_HaarStages, h_HaarNodes, h_HaarFeatures, false,\r
+ searchRoiU, 1, 1.0f);\r
+ ncvAssertReturn(ncvStat == NCV_SUCCESS, false);\r
+\r
+ _FPU_SETCW(fpu_oldcw); // restore old cw\r
+#else\r
Ncv32u fpu_oldcw, fpu_cw;\r
_controlfp_s(&fpu_cw, 0, 0);\r
fpu_oldcw = fpu_cw;\r
searchRoiU, 1, 1.0f);\r
ncvAssertReturn(ncvStat == NCV_SUCCESS, false);\r
_controlfp_s(&fpu_cw, fpu_oldcw, _MCW_PC);\r
-\r
+#endif\r
NCV_SKIP_COND_END\r
\r
int devId;\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "LinIntImgW%dH%d", i, 2);\r
+ sprintf(testName, "LinIntImgW%dH%d", i, 2);\r
testLister.add(new TestIntegralImage<T_in, T_out>(testName, src, i, 2));\r
}\r
for (Ncv32f _i=1.0; _i<maxHeight; _i*=1.2f)\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "LinIntImgW%dH%d", 2, i);\r
+ sprintf(testName, "LinIntImgW%dH%d", 2, i);\r
testLister.add(new TestIntegralImage<T_in, T_out>(testName, src, 2, i));\r
}\r
\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "SqIntImgW%dH%d", i, 32);\r
+ sprintf(testName, "SqIntImgW%dH%d", i, 32);\r
testLister.add(new TestIntegralImageSquared(testName, src, i, 32));\r
}\r
for (Ncv32f _i=1.0; _i<maxHeight; _i*=1.2f)\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "SqIntImgW%dH%d", 32, i);\r
+ sprintf(testName, "SqIntImgW%dH%d", 32, i);\r
testLister.add(new TestIntegralImageSquared(testName, src, 32, i));\r
}\r
\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "RectStdDevW%dH%d", i*2, i);\r
+ sprintf(testName, "RectStdDevW%dH%d", i*2, i);\r
testLister.add(new TestRectStdDev(testName, src, i*2, i, rect, 1, true));\r
testLister.add(new TestRectStdDev(testName, src, i*2, i, rect, 1.5, false));\r
testLister.add(new TestRectStdDev(testName, src, i-1, i*2-1, rect, 1, false));\r
for (Ncv32u i=1; i<480; i+=3)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "TestResize_VGA_s%d", i);\r
+ sprintf(testName, "TestResize_VGA_s%d", i);\r
testLister.add(new TestResize<T>(testName, src, 640, 480, i, true));\r
testLister.add(new TestResize<T>(testName, src, 640, 480, i, false));\r
}\r
for (Ncv32u i=1; i<1080; i+=5)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "TestResize_1080_s%d", i);\r
+ sprintf(testName, "TestResize_1080_s%d", i);\r
testLister.add(new TestResize<T>(testName, src, 1920, 1080, i, true));\r
testLister.add(new TestResize<T>(testName, src, 1920, 1080, i, false));\r
}\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "Compaction%d", i);\r
+ sprintf(testName, "Compaction%d", i);\r
testLister.add(new TestCompact(testName, src, i, 0xFFFFFFFF, 30));\r
}\r
for (Ncv32u i=1; i<260; i++)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "Compaction%d", i);\r
+ sprintf(testName, "Compaction%d", i);\r
testLister.add(new TestCompact(testName, src, i, 0xC001C0DE, 70));\r
testLister.add(new TestCompact(testName, src, i, 0xC001C0DE, 0));\r
testLister.add(new TestCompact(testName, src, i, 0xC001C0DE, 100));\r
for (Ncv32u i=256*256-256; i<256*256+257; i++)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "Compaction%d", i);\r
+ sprintf(testName, "Compaction%d", i);\r
testLister.add(new TestCompact(testName, src, i, 0xFFFFFFFF, 40));\r
}\r
for (Ncv32u i=256*256*256-10; i<256*256*256+10; i++)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "Compaction%d", i);\r
+ sprintf(testName, "Compaction%d", i);\r
testLister.add(new TestCompact(testName, src, i, 0x00000000, 2));\r
}\r
}\r
for (int j=2; j<64; j+=4)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "TestTranspose_%dx%d", i, j);\r
+ sprintf(testName, "TestTranspose_%dx%d", i, j);\r
testLister.add(new TestTranspose<T>(testName, src, i, j));\r
}\r
}\r
for (int j=1; j<2; j+=1)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "TestTranspose_%dx%d", i, j);\r
+ sprintf(testName, "TestTranspose_%dx%d", i, j);\r
testLister.add(new TestTranspose<T>(testName, src, i, j));\r
}\r
}\r
Ncv32u j = maxHeight * i / maxWidth;\r
if (!j) continue;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "DrawRectsW%dH%d", i, j);\r
+ sprintf(testName, "DrawRectsW%dH%d", i, j);\r
\r
if (sizeof(T) == sizeof(Ncv32u))\r
{\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "VectorGrow%d", i);\r
+ sprintf(testName, "VectorGrow%d", i);\r
testLister.add(new TestHypothesesGrow(testName, src, 20, 20, 2.2f, i, i/2, i, i/4));\r
testLister.add(new TestHypothesesGrow(testName, src, 10, 42, 1.2f, i, i, i, 0));\r
}\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "HypFilter%d", i);\r
+ sprintf(testName, "HypFilter%d", i);\r
testLister.add(new TestHypothesesFilter(testName, src, i, 3, 0.2f));\r
testLister.add(new TestHypothesesFilter(testName, src, i, 0, 0.2f));\r
testLister.add(new TestHypothesesFilter(testName, src, i, 1, 0.1f));\r
for (Ncv32u j=20; j<128; j+=5)\r
{\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "HaarAppl%d_%d", i, j);\r
+ sprintf(testName, "HaarAppl%d_%d", i, j);\r
testLister.add(new TestHaarCascadeApplication(testName, src, "haarcascade_frontalface_alt.xml", j, i));\r
}\r
}\r
{\r
Ncv32u i = (Ncv32u)_i;\r
char testName[80];\r
- sprintf_s(testName, sizeof(testName), "HaarAppl%d", i);\r
+ sprintf(testName, "HaarAppl%d", i);\r
testLister.add(new TestHaarCascadeApplication(testName, src, "haarcascade_frontalface_alt.xml", i, i));\r
}\r
}\r