gpu face detetcion:
authorAnatoly Baksheev <no@email>
Mon, 17 Jan 2011 11:32:38 +0000 (11:32 +0000)
committerAnatoly Baksheev <no@email>
Mon, 17 Jan 2011 11:32:38 +0000 (11:32 +0000)
1) fixed bug with error codes (enum NppStStatus) shift.
2) added some asserts

3rdparty/NPP_staging/npp_staging.h
modules/gpu/src/cascadeclassifier.cpp
samples/gpu/cascadeclassifier.cpp

index a9c6607..6bb1e67 100644 (file)
@@ -188,14 +188,14 @@ struct NppStSize32u
 enum NppStStatus\r
 {\r
     //already present in NPP\r
-    //NPP_SUCCESS                      = 0,   ///< Successful operation (same as NPP_NO_ERROR)\r
-    //NPP_ERROR                        = -1,  ///< Unknown error\r
-    //NPP_CUDA_KERNEL_EXECUTION_ERROR  = -3,  ///< CUDA kernel execution error\r
-    //NPP_NULL_POINTER_ERROR           = -4,  ///< NULL pointer argument error\r
-    //NPP_TEXTURE_BIND_ERROR           = -24, ///< CUDA texture binding error or non-zero offset returned\r
-    //NPP_MEMCPY_ERROR                 = -13, ///< CUDA memory copy error\r
-    //NPP_MEM_ALLOC_ERR                = -12, ///< CUDA memory allocation error\r
-    //NPP_MEMFREE_ERR                  = -15, ///< CUDA memory deallocation error\r
+    __NPP_SUCCESS                      = 0,   ///< Successful operation (same as NPP_NO_ERROR)\r
+    __NPP_ERROR                        = -1,  ///< Unknown error\r
+    __NPP_CUDA_KERNEL_EXECUTION_ERROR  = -3,  ///< CUDA kernel execution error\r
+    __NPP_NULL_POINTER_ERROR           = -4,  ///< NULL pointer argument error\r
+    __NPP_TEXTURE_BIND_ERROR           = -24, ///< CUDA texture binding error or non-zero offset returned\r
+    __NPP_MEMCPY_ERROR                 = -13, ///< CUDA memory copy error\r
+    __NPP_MEM_ALLOC_ERR                = -12, ///< CUDA memory allocation error\r
+    __NPP_MEMFREE_ERR                  = -15, ///< CUDA memory deallocation error\r
 \r
     //to be added\r
     NPP_INVALID_ROI,                        ///< Invalid region of interest argument\r
index 3a7d2ca..ec24b28 100644 (file)
@@ -89,6 +89,7 @@ struct cv::gpu::CascadeClassifier_GPU::CascadeClassifierImpl
         src_seg.size  = src.step * src.rows;\r
 \r
         NCVMatrixReuse<Ncv8u> d_src(src_seg, devProp.textureAlignment, src.cols, src.rows, src.step, true);        \r
+               ncvAssertReturn(d_src.isMemReused(), NCV_ALLOCATOR_BAD_REUSE);\r
         \r
         //NCVMatrixAlloc<Ncv8u> d_src(*gpuAllocator, src.cols, src.rows);\r
         //ncvAssertReturn(d_src.isMemAllocated(), NCV_ALLOCATOR_BAD_ALLOC);\r
@@ -106,6 +107,7 @@ struct cv::gpu::CascadeClassifier_GPU::CascadeClassifierImpl
         objects_seg.begin = objects_beg;\r
         objects_seg.size = objects.step * objects.rows;\r
         NCVVectorReuse<NcvRect32u> d_rects(objects_seg, objects.cols);\r
+               ncvAssertReturn(d_rects.isMemReused(), NCV_ALLOCATOR_BAD_REUSE);\r
         //NCVVectorAlloc<NcvRect32u> d_rects(*gpuAllocator, 100);        \r
         //ncvAssertReturn(d_rects.isMemAllocated(), NCV_ALLOCATOR_BAD_ALLOC);        \r
             \r
index 7f0a0e7..4e1faac 100644 (file)
@@ -84,7 +84,7 @@ int main( int argc, const char** argv )
     \r
     /* parameters */\r
     bool useGPU = true;\r
-    double scale_factor = 2;\r
+    double scale_factor = 1;\r
 \r
     bool visualizeInPlace = false;   \r
     bool findLargestObject = false;    \r