funcs[dcn == 4][src.channels() == 4][src.depth()](src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
- void bgr_to_lab(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
+ void bgr_to_lab(const GpuMat& src, GpuMat& dst, int dcn, Stream& st)\r
{\r
#if (CUDA_VERSION < 5000)\r
(void)src;\r
\r
dst.create(src.size(), CV_MAKETYPE(src.depth(), dcn));\r
\r
- NppStreamHandler h(StreamAccessor::getStream(stream));\r
+ cudaStream_t stream = StreamAccessor::getStream(st);\r
+ NppStreamHandler h(stream);\r
\r
NppiSize oSizeROI;\r
oSizeROI.width = src.cols;\r
oSizeROI.height = src.rows;\r
\r
nppSafeCall( nppiBGRToLab_8u_C3R(src.ptr<Npp8u>(), static_cast<int>(src.step), dst.ptr<Npp8u>(), static_cast<int>(dst.step), oSizeROI) );\r
+\r
+ if (stream == 0)\r
+ cudaSafeCall( cudaDeviceSynchronize() );\r
#endif\r
}\r
\r
bgr_to_lab(dst, dst, -1, stream);\r
}\r
\r
- void lab_to_bgr(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
+ void lab_to_bgr(const GpuMat& src, GpuMat& dst, int dcn, Stream& st)\r
{\r
#if (CUDA_VERSION < 5000)\r
(void)src;\r
\r
dst.create(src.size(), CV_MAKETYPE(src.depth(), dcn));\r
\r
- NppStreamHandler h(StreamAccessor::getStream(stream));\r
+ cudaStream_t stream = StreamAccessor::getStream(st);\r
+ NppStreamHandler h(stream);\r
\r
NppiSize oSizeROI;\r
oSizeROI.width = src.cols;\r
oSizeROI.height = src.rows;\r
\r
nppSafeCall( nppiLabToBGR_8u_C3R(src.ptr<Npp8u>(), static_cast<int>(src.step), dst.ptr<Npp8u>(), static_cast<int>(dst.step), oSizeROI) );\r
+\r
+ if (stream == 0)\r
+ cudaSafeCall( cudaDeviceSynchronize() );\r
#endif\r
}\r
\r
bgr_to_rgb(dst, dst, -1, stream);\r
}\r
\r
- void rgb_to_luv(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
+ void rgb_to_luv(const GpuMat& src, GpuMat& dst, int dcn, Stream& st)\r
{\r
#if (CUDA_VERSION < 5000)\r
(void)src;\r
\r
dst.create(src.size(), CV_MAKETYPE(src.depth(), dcn));\r
\r
- NppStreamHandler h(StreamAccessor::getStream(stream));\r
+ cudaStream_t stream = StreamAccessor::getStream(st);\r
+ NppStreamHandler h(stream);\r
\r
NppiSize oSizeROI;\r
oSizeROI.width = src.cols;\r
nppSafeCall( nppiRGBToLUV_8u_C3R(src.ptr<Npp8u>(), static_cast<int>(src.step), dst.ptr<Npp8u>(), static_cast<int>(dst.step), oSizeROI) );\r
else\r
nppSafeCall( nppiRGBToLUV_8u_AC4R(src.ptr<Npp8u>(), static_cast<int>(src.step), dst.ptr<Npp8u>(), static_cast<int>(dst.step), oSizeROI) );\r
+\r
+ if (stream == 0)\r
+ cudaSafeCall( cudaDeviceSynchronize() );\r
#endif\r
}\r
\r
rgb_to_luv(dst, dst, -1, stream);\r
}\r
\r
- void luv_to_rgb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
+ void luv_to_rgb(const GpuMat& src, GpuMat& dst, int dcn, Stream& st)\r
{\r
#if (CUDA_VERSION < 5000)\r
(void)src;\r
\r
dst.create(src.size(), CV_MAKETYPE(src.depth(), dcn));\r
\r
- NppStreamHandler h(StreamAccessor::getStream(stream));\r
+ cudaStream_t stream = StreamAccessor::getStream(st);\r
+ NppStreamHandler h(stream);\r
\r
NppiSize oSizeROI;\r
oSizeROI.width = src.cols;\r
nppSafeCall( nppiLUVToRGB_8u_C3R(src.ptr<Npp8u>(), static_cast<int>(src.step), dst.ptr<Npp8u>(), static_cast<int>(dst.step), oSizeROI) );\r
else\r
nppSafeCall( nppiLUVToRGB_8u_AC4R(src.ptr<Npp8u>(), static_cast<int>(src.step), dst.ptr<Npp8u>(), static_cast<int>(dst.step), oSizeROI) );\r
+\r
+ if (stream == 0)\r
+ cudaSafeCall( cudaDeviceSynchronize() );\r
#endif\r
}\r
\r
bgr_to_rgb(dst, dst, -1, stream);\r
}\r
\r
- void rgba_to_mbgra(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
+ void rgba_to_mbgra(const GpuMat& src, GpuMat& dst, int, Stream& st)\r
{\r
#if (CUDA_VERSION < 5000)\r
(void)src;\r
\r
dst.create(src.size(), src.type());\r
\r
- NppStreamHandler h(StreamAccessor::getStream(stream));\r
+ cudaStream_t stream = StreamAccessor::getStream(st);\r
+ NppStreamHandler h(stream);\r
\r
NppiSize oSizeROI;\r
oSizeROI.width = src.cols;\r
nppSafeCall( nppiAlphaPremul_8u_AC4R(src.ptr<Npp8u>(), static_cast<int>(src.step), dst.ptr<Npp8u>(), static_cast<int>(dst.step), oSizeROI) );\r
else\r
nppSafeCall( nppiAlphaPremul_16u_AC4R(src.ptr<Npp16u>(), static_cast<int>(src.step), dst.ptr<Npp16u>(), static_cast<int>(dst.step), oSizeROI) );\r
+\r
+ if (stream == 0)\r
+ cudaSafeCall( cudaDeviceSynchronize() );\r
#endif\r
}\r
\r
0, // CV_BayerGR2GRAY = 89\r
\r
//YUV 4:2:0 formats family\r
- 0, // COLOR_YUV2RGB_NV12 = 90,\r
- 0, // COLOR_YUV2BGR_NV12 = 91,\r
- 0, // COLOR_YUV2RGB_NV21 = 92,\r
- 0, // COLOR_YUV2BGR_NV21 = 93,\r
+ 0, // CV_YUV2RGB_NV12 = 90,\r
+ 0, // CV_YUV2BGR_NV12 = 91,\r
+ 0, // CV_YUV2RGB_NV21 = 92,\r
+ 0, // CV_YUV2BGR_NV21 = 93,\r
\r
- 0, // COLOR_YUV2RGBA_NV12 = 94,\r
- 0, // COLOR_YUV2BGRA_NV12 = 95,\r
- 0, // COLOR_YUV2RGBA_NV21 = 96,\r
- 0, // COLOR_YUV2BGRA_NV21 = 97,\r
+ 0, // CV_YUV2RGBA_NV12 = 94,\r
+ 0, // CV_YUV2BGRA_NV12 = 95,\r
+ 0, // CV_YUV2RGBA_NV21 = 96,\r
+ 0, // CV_YUV2BGRA_NV21 = 97,\r
\r
- 0, // COLOR_YUV2RGB_YV12 = 98,\r
- 0, // COLOR_YUV2BGR_YV12 = 99,\r
- 0, // COLOR_YUV2RGB_IYUV = 100,\r
- 0, // COLOR_YUV2BGR_IYUV = 101,\r
+ 0, // CV_YUV2RGB_YV12 = 98,\r
+ 0, // CV_YUV2BGR_YV12 = 99,\r
+ 0, // CV_YUV2RGB_IYUV = 100,\r
+ 0, // CV_YUV2BGR_IYUV = 101,\r
\r
- 0, // COLOR_YUV2RGBA_YV12 = 102,\r
- 0, // COLOR_YUV2BGRA_YV12 = 103,\r
- 0, // COLOR_YUV2RGBA_IYUV = 104,\r
- 0, // COLOR_YUV2BGRA_IYUV = 105,\r
+ 0, // CV_YUV2RGBA_YV12 = 102,\r
+ 0, // CV_YUV2BGRA_YV12 = 103,\r
+ 0, // CV_YUV2RGBA_IYUV = 104,\r
+ 0, // CV_YUV2BGRA_IYUV = 105,\r
\r
- 0, // COLOR_YUV2GRAY_420 = 106,\r
+ 0, // CV_YUV2GRAY_420 = 106,\r
\r
//YUV 4:2:2 formats family\r
- 0, // COLOR_YUV2RGB_UYVY = 107,\r
- 0, // COLOR_YUV2BGR_UYVY = 108,\r
- 0, // //COLOR_YUV2RGB_VYUY = 109,\r
- 0, // //COLOR_YUV2BGR_VYUY = 110,\r
+ 0, // CV_YUV2RGB_UYVY = 107,\r
+ 0, // CV_YUV2BGR_UYVY = 108,\r
+ 0, // //CV_YUV2RGB_VYUY = 109,\r
+ 0, // //CV_YUV2BGR_VYUY = 110,\r
\r
- 0, // COLOR_YUV2RGBA_UYVY = 111,\r
- 0, // COLOR_YUV2BGRA_UYVY = 112,\r
- 0, // //COLOR_YUV2RGBA_VYUY = 113,\r
- 0, // //COLOR_YUV2BGRA_VYUY = 114,\r
+ 0, // CV_YUV2RGBA_UYVY = 111,\r
+ 0, // CV_YUV2BGRA_UYVY = 112,\r
+ 0, // //CV_YUV2RGBA_VYUY = 113,\r
+ 0, // //CV_YUV2BGRA_VYUY = 114,\r
\r
- 0, // COLOR_YUV2RGB_YUY2 = 115,\r
- 0, // COLOR_YUV2BGR_YUY2 = 116,\r
- 0, // COLOR_YUV2RGB_YVYU = 117,\r
- 0, // COLOR_YUV2BGR_YVYU = 118,\r
+ 0, // CV_YUV2RGB_YUY2 = 115,\r
+ 0, // CV_YUV2BGR_YUY2 = 116,\r
+ 0, // CV_YUV2RGB_YVYU = 117,\r
+ 0, // CV_YUV2BGR_YVYU = 118,\r
\r
- 0, // COLOR_YUV2RGBA_YUY2 = 119,\r
- 0, // COLOR_YUV2BGRA_YUY2 = 120,\r
- 0, // COLOR_YUV2RGBA_YVYU = 121,\r
- 0, // COLOR_YUV2BGRA_YVYU = 122,\r
+ 0, // CV_YUV2RGBA_YUY2 = 119,\r
+ 0, // CV_YUV2BGRA_YUY2 = 120,\r
+ 0, // CV_YUV2RGBA_YVYU = 121,\r
+ 0, // CV_YUV2BGRA_YVYU = 122,\r
\r
- 0, // COLOR_YUV2GRAY_UYVY = 123,\r
- 0, // COLOR_YUV2GRAY_YUY2 = 124,\r
+ 0, // CV_YUV2GRAY_UYVY = 123,\r
+ 0, // CV_YUV2GRAY_YUY2 = 124,\r
\r
// alpha premultiplication\r
- rgba_to_mbgra, // COLOR_RGBA2mRGBA = 125,\r
- 0, // COLOR_mRGBA2RGBA = 126,\r
+ rgba_to_mbgra, // CV_RGBA2mRGBA = 125,\r
+ 0, // CV_mRGBA2RGBA = 126,\r
\r
- 0, // COLOR_COLORCVT_MAX = 127\r
+ 0, // CV_COLORCVT_MAX = 127\r
};\r
\r
CV_Assert(code < 128);\r