From 9311f841092065daa0df2b63c2f2047a78a6c552 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 13 Sep 2013 12:47:25 +0400 Subject: [PATCH] disabled MOG tests if no video input support --- modules/ocl/perf/perf_bgfg.cpp | 31 +++++++++++++++++++------------ modules/ocl/test/test_bgfg.cpp | 17 ++++++++++++++++- 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/modules/ocl/perf/perf_bgfg.cpp b/modules/ocl/perf/perf_bgfg.cpp index ecf112702..cd84509bc 100644 --- a/modules/ocl/perf/perf_bgfg.cpp +++ b/modules/ocl/perf/perf_bgfg.cpp @@ -44,12 +44,14 @@ // //M*/ #include "perf_precomp.hpp" + using namespace perf; using namespace std; using namespace cv::ocl; using namespace cv; using std::tr1::tuple; using std::tr1::get; + #if defined(HAVE_XINE) || \ defined(HAVE_GSTREAMER) || \ defined(HAVE_QUICKTIME) || \ @@ -63,6 +65,7 @@ using std::tr1::get; #endif #if BUILD_WITH_VIDEO_INPUT_SUPPORT + static void cvtFrameFmt(vector& input, vector& output) { for(int i = 0; i< (int)(input.size()); i++) @@ -70,6 +73,7 @@ static void cvtFrameFmt(vector& input, vector& output) cvtColor(input[i], output[i], COLOR_RGB2GRAY); } } + //prepare data for CPU static void prepareData(VideoCapture& cap, int cn, vector& frame_buffer) { @@ -88,15 +92,15 @@ static void prepareData(VideoCapture& cap, int cn, vector& frame_buffer) else frame_buffer = frame_buffer_init; } + //copy CPU data to GPU static void prepareData(vector& frame_buffer, vector& frame_buffer_ocl) { for(int i = 0; i < (int)frame_buffer.size(); i++) frame_buffer_ocl.push_back(cv::ocl::oclMat(frame_buffer[i])); } -#endif + ///////////// MOG //////////////////////// -#if BUILD_WITH_VIDEO_INPUT_SUPPORT typedef tuple VideoMOGParamType; typedef TestBaseWithParam VideoMOGFixture; @@ -137,7 +141,8 @@ PERF_TEST_P(VideoMOGFixture, MOG, } } SANITY_CHECK(foreground); - }else if(RUN_OCL_IMPL) + } + else if(RUN_OCL_IMPL) { prepareData(frame_buffer, frame_buffer_ocl); CV_Assert((int)(frame_buffer_ocl.size()) == nFrame); @@ -152,13 +157,12 @@ PERF_TEST_P(VideoMOGFixture, MOG, } foreground_d.download(foreground); SANITY_CHECK(foreground); - }else + } + else OCL_PERF_ELSE } -#endif ///////////// MOG2 //////////////////////// -#if BUILD_WITH_VIDEO_INPUT_SUPPORT typedef tuple VideoMOG2ParamType; typedef TestBaseWithParam VideoMOG2Fixture; @@ -196,7 +200,8 @@ PERF_TEST_P(VideoMOG2Fixture, MOG2, } } SANITY_CHECK(foreground); - }else if(RUN_OCL_IMPL) + } + else if(RUN_OCL_IMPL) { prepareData(frame_buffer, frame_buffer_ocl); CV_Assert((int)(frame_buffer_ocl.size()) == nFrame); @@ -211,13 +216,12 @@ PERF_TEST_P(VideoMOG2Fixture, MOG2, } foreground_d.download(foreground); SANITY_CHECK(foreground); - }else + } + else OCL_PERF_ELSE } -#endif ///////////// MOG2_GetBackgroundImage ////////////////// -#if BUILD_WITH_VIDEO_INPUT_SUPPORT typedef TestBaseWithParam Video_MOG2GetBackgroundImage; @@ -259,7 +263,8 @@ PERF_TEST_P(Video_MOG2GetBackgroundImage, MOG2, mog2.getBackgroundImage(background); } SANITY_CHECK(background); - }else if(RUN_OCL_IMPL) + } + else if(RUN_OCL_IMPL) { prepareData(frame_buffer, frame_buffer_ocl); CV_Assert((int)(frame_buffer_ocl.size()) == nFrame); @@ -276,7 +281,9 @@ PERF_TEST_P(Video_MOG2GetBackgroundImage, MOG2, } background_d.download(background); SANITY_CHECK(background); - }else + } + else OCL_PERF_ELSE } + #endif diff --git a/modules/ocl/test/test_bgfg.cpp b/modules/ocl/test/test_bgfg.cpp index bdf3841be..46d90c80f 100644 --- a/modules/ocl/test/test_bgfg.cpp +++ b/modules/ocl/test/test_bgfg.cpp @@ -53,7 +53,20 @@ using namespace cvtest; using namespace testing; using namespace std; -extern string workdir; +#if defined(HAVE_XINE) || \ + defined(HAVE_GSTREAMER) || \ + defined(HAVE_QUICKTIME) || \ + defined(HAVE_AVFOUNDATION) || \ + defined(HAVE_FFMPEG) || \ + defined(WIN32) + +# define BUILD_WITH_VIDEO_INPUT_SUPPORT 1 +#else +# define BUILD_WITH_VIDEO_INPUT_SUPPORT 0 +#endif + +#if BUILD_WITH_VIDEO_INPUT_SUPPORT + ////////////////////////////////////////////////////// // MOG @@ -225,3 +238,5 @@ INSTANTIATE_TEST_CASE_P(OCL_Video, mog2, testing::Combine( Values(true, false))); #endif + +#endif