00001 /*M/////////////////////////////////////////////////////////////////////////////////////// 00002 // 00003 // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. 00004 // 00005 // By downloading, copying, installing or using the software you agree to this license. 00006 // If you do not agree to this license, do not download, install, 00007 // copy or use the software. 00008 // 00009 // 00010 // License Agreement 00011 // For Open Source Computer Vision Library 00012 // 00013 // Copyright (C) 2009-2010, NVIDIA Corporation, all rights reserved. 00014 // Third party copyrights are property of their respective owners. 00015 // 00016 // Redistribution and use in source and binary forms, with or without modification, 00017 // are permitted provided that the following conditions are met: 00018 // 00019 // * Redistribution's of source code must retain the above copyright notice, 00020 // this list of conditions and the following disclaimer. 00021 // 00022 // * Redistribution's in binary form must reproduce the above copyright notice, 00023 // this list of conditions and the following disclaimer in the documentation 00024 // and/or other materials provided with the distribution. 00025 // 00026 // * The name of the copyright holders may not be used to endorse or promote products 00027 // derived from this software without specific prior written permission. 00028 // 00029 // This software is provided by the copyright holders and contributors "as is" and 00030 // any express or implied warranties, including, but not limited to, the implied 00031 // warranties of merchantability and fitness for a particular purpose are disclaimed. 00032 // In no event shall the Intel Corporation or contributors be liable for any direct, 00033 // indirect, incidental, special, exemplary, or consequential damages 00034 // (including, but not limited to, procurement of substitute goods or services; 00035 // loss of use, data, or profits; or business interruption) however caused 00036 // and on any theory of liability, whether in contract, strict liability, 00037 // or tort (including negligence or otherwise) arising in any way out of 00038 // the use of this software, even if advised of the possibility of such damage. 00039 // 00040 //M*/ 00041 00042 #ifndef _npp_staging_hpp_ 00043 #define _npp_staging_hpp_ 00044 00045 #include "NCV.hpp" 00046 00047 00065 NCV_EXPORTS 00066 cudaStream_t nppStGetActiveCUDAstream(); 00067 00068 00075 NCV_EXPORTS 00076 cudaStream_t nppStSetActiveCUDAstream(cudaStream_t cudaStream); 00077 00078 00100 NCV_EXPORTS 00101 NCVStatus nppiStDecimate_32u_C1R(Ncv32u *d_src, Ncv32u srcStep, 00102 Ncv32u *d_dst, Ncv32u dstStep, 00103 NcvSize32u srcRoi, Ncv32u scale, 00104 NcvBool readThruTexture); 00105 00106 00111 NCV_EXPORTS 00112 NCVStatus nppiStDecimate_32s_C1R(Ncv32s *d_src, Ncv32u srcStep, 00113 Ncv32s *d_dst, Ncv32u dstStep, 00114 NcvSize32u srcRoi, Ncv32u scale, 00115 NcvBool readThruTexture); 00116 00117 00122 NCV_EXPORTS 00123 NCVStatus nppiStDecimate_32f_C1R(Ncv32f *d_src, Ncv32u srcStep, 00124 Ncv32f *d_dst, Ncv32u dstStep, 00125 NcvSize32u srcRoi, Ncv32u scale, 00126 NcvBool readThruTexture); 00127 00128 00133 NCV_EXPORTS 00134 NCVStatus nppiStDecimate_64u_C1R(Ncv64u *d_src, Ncv32u srcStep, 00135 Ncv64u *d_dst, Ncv32u dstStep, 00136 NcvSize32u srcRoi, Ncv32u scale, 00137 NcvBool readThruTexture); 00138 00139 00144 NCV_EXPORTS 00145 NCVStatus nppiStDecimate_64s_C1R(Ncv64s *d_src, Ncv32u srcStep, 00146 Ncv64s *d_dst, Ncv32u dstStep, 00147 NcvSize32u srcRoi, Ncv32u scale, 00148 NcvBool readThruTexture); 00149 00150 00155 NCV_EXPORTS 00156 NCVStatus nppiStDecimate_64f_C1R(Ncv64f *d_src, Ncv32u srcStep, 00157 Ncv64f *d_dst, Ncv32u dstStep, 00158 NcvSize32u srcRoi, Ncv32u scale, 00159 NcvBool readThruTexture); 00160 00161 00174 NCV_EXPORTS 00175 NCVStatus nppiStDecimate_32u_C1R_host(Ncv32u *h_src, Ncv32u srcStep, 00176 Ncv32u *h_dst, Ncv32u dstStep, 00177 NcvSize32u srcRoi, Ncv32u scale); 00178 00179 00184 NCV_EXPORTS 00185 NCVStatus nppiStDecimate_32s_C1R_host(Ncv32s *h_src, Ncv32u srcStep, 00186 Ncv32s *h_dst, Ncv32u dstStep, 00187 NcvSize32u srcRoi, Ncv32u scale); 00188 00189 00194 NCV_EXPORTS 00195 NCVStatus nppiStDecimate_32f_C1R_host(Ncv32f *h_src, Ncv32u srcStep, 00196 Ncv32f *h_dst, Ncv32u dstStep, 00197 NcvSize32u srcRoi, Ncv32u scale); 00198 00199 00204 NCV_EXPORTS 00205 NCVStatus nppiStDecimate_64u_C1R_host(Ncv64u *h_src, Ncv32u srcStep, 00206 Ncv64u *h_dst, Ncv32u dstStep, 00207 NcvSize32u srcRoi, Ncv32u scale); 00208 00209 00214 NCV_EXPORTS 00215 NCVStatus nppiStDecimate_64s_C1R_host(Ncv64s *h_src, Ncv32u srcStep, 00216 Ncv64s *h_dst, Ncv32u dstStep, 00217 NcvSize32u srcRoi, Ncv32u scale); 00218 00219 00224 NCV_EXPORTS 00225 NCVStatus nppiStDecimate_64f_C1R_host(Ncv64f *h_src, Ncv32u srcStep, 00226 Ncv64f *h_dst, Ncv32u dstStep, 00227 NcvSize32u srcRoi, Ncv32u scale); 00228 00229 00246 NCV_EXPORTS 00247 NCVStatus nppiStRectStdDev_32f_C1R(Ncv32u *d_sum, Ncv32u sumStep, 00248 Ncv64u *d_sqsum, Ncv32u sqsumStep, 00249 Ncv32f *d_norm, Ncv32u normStep, 00250 NcvSize32u roi, NcvRect32u rect, 00251 Ncv32f scaleArea, NcvBool readThruTexture); 00252 00253 00269 NCV_EXPORTS 00270 NCVStatus nppiStRectStdDev_32f_C1R_host(Ncv32u *h_sum, Ncv32u sumStep, 00271 Ncv64u *h_sqsum, Ncv32u sqsumStep, 00272 Ncv32f *h_norm, Ncv32u normStep, 00273 NcvSize32u roi, NcvRect32u rect, 00274 Ncv32f scaleArea); 00275 00276 00288 NCV_EXPORTS 00289 NCVStatus nppiStTranspose_32u_C1R(Ncv32u *d_src, Ncv32u srcStride, 00290 Ncv32u *d_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00291 00292 00297 NCV_EXPORTS 00298 NCVStatus nppiStTranspose_32s_C1R(Ncv32s *d_src, Ncv32u srcStride, 00299 Ncv32s *d_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00300 00301 00306 NCV_EXPORTS 00307 NCVStatus nppiStTranspose_32f_C1R(Ncv32f *d_src, Ncv32u srcStride, 00308 Ncv32f *d_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00309 00310 00315 NCV_EXPORTS 00316 NCVStatus nppiStTranspose_64u_C1R(Ncv64u *d_src, Ncv32u srcStride, 00317 Ncv64u *d_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00318 00319 00324 NCV_EXPORTS 00325 NCVStatus nppiStTranspose_64s_C1R(Ncv64s *d_src, Ncv32u srcStride, 00326 Ncv64s *d_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00327 00328 00333 NCV_EXPORTS 00334 NCVStatus nppiStTranspose_64f_C1R(Ncv64f *d_src, Ncv32u srcStride, 00335 Ncv64f *d_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00336 00337 00342 NCV_EXPORTS 00343 NCVStatus nppiStTranspose_128_C1R(void *d_src, Ncv32u srcStep, 00344 void *d_dst, Ncv32u dstStep, NcvSize32u srcRoi); 00345 00346 00358 NCV_EXPORTS 00359 NCVStatus nppiStTranspose_32u_C1R_host(Ncv32u *h_src, Ncv32u srcStride, 00360 Ncv32u *h_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00361 00362 00367 NCV_EXPORTS 00368 NCVStatus nppiStTranspose_32s_C1R_host(Ncv32s *h_src, Ncv32u srcStride, 00369 Ncv32s *h_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00370 00371 00376 NCV_EXPORTS 00377 NCVStatus nppiStTranspose_32f_C1R_host(Ncv32f *h_src, Ncv32u srcStride, 00378 Ncv32f *h_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00379 00380 00385 NCV_EXPORTS 00386 NCVStatus nppiStTranspose_64u_C1R_host(Ncv64u *h_src, Ncv32u srcStride, 00387 Ncv64u *h_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00388 00389 00394 NCV_EXPORTS 00395 NCVStatus nppiStTranspose_64s_C1R_host(Ncv64s *h_src, Ncv32u srcStride, 00396 Ncv64s *h_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00397 00398 00403 NCV_EXPORTS 00404 NCVStatus nppiStTranspose_64f_C1R_host(Ncv64f *h_src, Ncv32u srcStride, 00405 Ncv64f *h_dst, Ncv32u dstStride, NcvSize32u srcRoi); 00406 00407 00412 NCV_EXPORTS 00413 NCVStatus nppiStTranspose_128_C1R_host(void *d_src, Ncv32u srcStep, 00414 void *d_dst, Ncv32u dstStep, NcvSize32u srcRoi); 00415 00416 00426 NCV_EXPORTS 00427 NCVStatus nppiStIntegralGetSize_8u32u(NcvSize32u roiSize, Ncv32u *pBufsize, cudaDeviceProp &devProp); 00428 00429 00434 NCV_EXPORTS 00435 NCVStatus nppiStIntegralGetSize_32f32f(NcvSize32u roiSize, Ncv32u *pBufsize, cudaDeviceProp &devProp); 00436 00437 00452 NCV_EXPORTS 00453 NCVStatus nppiStIntegral_8u32u_C1R(Ncv8u *d_src, Ncv32u srcStep, 00454 Ncv32u *d_dst, Ncv32u dstStep, NcvSize32u roiSize, 00455 Ncv8u *pBuffer, Ncv32u bufSize, cudaDeviceProp &devProp); 00456 00457 00462 NCV_EXPORTS 00463 NCVStatus nppiStIntegral_32f32f_C1R(Ncv32f *d_src, Ncv32u srcStep, 00464 Ncv32f *d_dst, Ncv32u dstStep, NcvSize32u roiSize, 00465 Ncv8u *pBuffer, Ncv32u bufSize, cudaDeviceProp &devProp); 00466 00467 00479 NCV_EXPORTS 00480 NCVStatus nppiStIntegral_8u32u_C1R_host(Ncv8u *h_src, Ncv32u srcStep, 00481 Ncv32u *h_dst, Ncv32u dstStep, NcvSize32u roiSize); 00482 00483 00488 NCV_EXPORTS 00489 NCVStatus nppiStIntegral_32f32f_C1R_host(Ncv32f *h_src, Ncv32u srcStep, 00490 Ncv32f *h_dst, Ncv32u dstStep, NcvSize32u roiSize); 00491 00492 00502 NCV_EXPORTS 00503 NCVStatus nppiStSqrIntegralGetSize_8u64u(NcvSize32u roiSize, Ncv32u *pBufsize, cudaDeviceProp &devProp); 00504 00505 00520 NCV_EXPORTS 00521 NCVStatus nppiStSqrIntegral_8u64u_C1R(Ncv8u *d_src, Ncv32u srcStep, 00522 Ncv64u *d_dst, Ncv32u dstStep, NcvSize32u roiSize, 00523 Ncv8u *pBuffer, Ncv32u bufSize, cudaDeviceProp &devProp); 00524 00525 00537 NCV_EXPORTS 00538 NCVStatus nppiStSqrIntegral_8u64u_C1R_host(Ncv8u *h_src, Ncv32u srcStep, 00539 Ncv64u *h_dst, Ncv32u dstStep, NcvSize32u roiSize); 00540 00541 00559 NCV_EXPORTS 00560 NCVStatus nppsStCompactGetSize_32u(Ncv32u srcLen, Ncv32u *pBufsize, cudaDeviceProp &devProp); 00561 00562 00567 NCVStatus nppsStCompactGetSize_32s(Ncv32u srcLen, Ncv32u *pBufsize, cudaDeviceProp &devProp); 00568 00569 00574 NCVStatus nppsStCompactGetSize_32f(Ncv32u srcLen, Ncv32u *pBufsize, cudaDeviceProp &devProp); 00575 00576 00591 NCV_EXPORTS 00592 NCVStatus nppsStCompact_32u(Ncv32u *d_src, Ncv32u srcLen, 00593 Ncv32u *d_dst, Ncv32u *p_dstLen, 00594 Ncv32u elemRemove, Ncv8u *pBuffer, 00595 Ncv32u bufSize, cudaDeviceProp &devProp); 00596 00597 00602 NCV_EXPORTS 00603 NCVStatus nppsStCompact_32s(Ncv32s *d_src, Ncv32u srcLen, 00604 Ncv32s *d_dst, Ncv32u *p_dstLen, 00605 Ncv32s elemRemove, Ncv8u *pBuffer, 00606 Ncv32u bufSize, cudaDeviceProp &devProp); 00607 00608 00613 NCV_EXPORTS 00614 NCVStatus nppsStCompact_32f(Ncv32f *d_src, Ncv32u srcLen, 00615 Ncv32f *d_dst, Ncv32u *p_dstLen, 00616 Ncv32f elemRemove, Ncv8u *pBuffer, 00617 Ncv32u bufSize, cudaDeviceProp &devProp); 00618 00619 00631 NCV_EXPORTS 00632 NCVStatus nppsStCompact_32u_host(Ncv32u *h_src, Ncv32u srcLen, 00633 Ncv32u *h_dst, Ncv32u *dstLen, Ncv32u elemRemove); 00634 00635 00640 NCV_EXPORTS 00641 NCVStatus nppsStCompact_32s_host(Ncv32s *h_src, Ncv32u srcLen, 00642 Ncv32s *h_dst, Ncv32u *dstLen, Ncv32s elemRemove); 00643 00644 00649 NCV_EXPORTS 00650 NCVStatus nppsStCompact_32f_host(Ncv32f *h_src, Ncv32u srcLen, 00651 Ncv32f *h_dst, Ncv32u *dstLen, Ncv32f elemRemove); 00652 00653 00657 #endif // _npp_staging_hpp_