From 8c45b9d03d68cd50e18e2c143caf0b37b728a76e Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Mon, 28 Jan 2013 13:14:47 +0400 Subject: [PATCH] Video IO perf tests guarded. --- modules/highgui/perf/perf_input.cpp | 5 +++-- modules/highgui/perf/perf_output.cpp | 6 +++--- modules/highgui/perf/perf_precomp.hpp | 25 +++++++++++++++++++++++++ modules/highgui/test/test_ffmpeg.cpp | 12 ++++++------ 4 files changed, 37 insertions(+), 11 deletions(-) diff --git a/modules/highgui/perf/perf_input.cpp b/modules/highgui/perf/perf_input.cpp index a2ce1fe91..0c1e8e0a7 100644 --- a/modules/highgui/perf/perf_input.cpp +++ b/modules/highgui/perf/perf_input.cpp @@ -1,12 +1,13 @@ #include "perf_precomp.hpp" +#if BUILD_WITH_VIDEO_INPUT_SUPPORT + using namespace std; using namespace cv; using namespace perf; using std::tr1::make_tuple; using std::tr1::get; -#ifndef ANDROID typedef perf::TestBaseWithParam VideoCapture_Reading; @@ -26,4 +27,4 @@ PERF_TEST_P(VideoCapture_Reading, ReadFile, testing::Values( "highgui/video/big_ SANITY_CHECK(dummy); } -#endif //ANDROID \ No newline at end of file +#endif // BUILD_WITH_VIDEO_INPUT_SUPPORT \ No newline at end of file diff --git a/modules/highgui/perf/perf_output.cpp b/modules/highgui/perf/perf_output.cpp index 00d7da263..6428bb4f0 100644 --- a/modules/highgui/perf/perf_output.cpp +++ b/modules/highgui/perf/perf_output.cpp @@ -1,13 +1,13 @@ #include "perf_precomp.hpp" +#if BUILD_WITH_VIDEO_OUTPUT_SUPPORT + using namespace std; using namespace cv; using namespace perf; using std::tr1::make_tuple; using std::tr1::get; -#ifndef ANDROID - typedef std::tr1::tuple VideoWriter_Writing_t; typedef perf::TestBaseWithParam VideoWriter_Writing; @@ -31,4 +31,4 @@ PERF_TEST_P(VideoWriter_Writing, WriteFrame, SANITY_CHECK(dummy); } -#endif //ANDROID \ No newline at end of file +#endif // BUILD_WITH_VIDEO_OUTPUT_SUPPORT \ No newline at end of file diff --git a/modules/highgui/perf/perf_precomp.hpp b/modules/highgui/perf/perf_precomp.hpp index 2b57ad7ee..ec8a447fa 100644 --- a/modules/highgui/perf/perf_precomp.hpp +++ b/modules/highgui/perf/perf_precomp.hpp @@ -16,4 +16,29 @@ #error no modules except ts should have GTEST_CREATE_SHARED_LIBRARY defined #endif +#if defined(HAVE_XINE) || \ + defined(HAVE_GSTREAMER) || \ + defined(HAVE_QUICKTIME) || \ + defined(HAVE_AVFOUNDATION) || \ + /*defined(HAVE_OPENNI) || too specialized */ \ + defined(HAVE_FFMPEG) || \ + defined(WIN32) /* assume that we have ffmpeg */ + +# define BUILD_WITH_VIDEO_INPUT_SUPPORT 1 +#else +# define BUILD_WITH_VIDEO_INPUT_SUPPORT 0 +#endif + +#if /*defined(HAVE_XINE) || */\ + defined(HAVE_GSTREAMER) || \ + defined(HAVE_QUICKTIME) || \ + defined(HAVE_AVFOUNDATION) || \ + defined(HAVE_FFMPEG) || \ + defined(WIN32) /* assume that we have ffmpeg */ +# define BUILD_WITH_VIDEO_OUTPUT_SUPPORT 1 +#else +# define BUILD_WITH_VIDEO_OUTPUT_SUPPORT 0 +#endif + + #endif diff --git a/modules/highgui/test/test_ffmpeg.cpp b/modules/highgui/test/test_ffmpeg.cpp index ed06a2cbd..e84ef89bf 100644 --- a/modules/highgui/test/test_ffmpeg.cpp +++ b/modules/highgui/test/test_ffmpeg.cpp @@ -186,7 +186,7 @@ class CreateVideoWriterInvoker : public: const static Size FrameSize; static std::string TmpDirectory; - + CreateVideoWriterInvoker(std::vector& _writers, std::vector& _files) : ParallelLoopBody(), writers(&_writers), files(&_files) { @@ -221,7 +221,7 @@ class WriteVideo_Invoker : { public: enum { FrameCount = 300 }; - + static const Scalar ObjectColor; static const Point Center; @@ -229,11 +229,11 @@ public: ParallelLoopBody(), writers(&_writers) { } - + static void GenerateFrame(Mat& frame, unsigned int i) { frame = Scalar::all(i % 255); - + std::string text = to_string(i); putText(frame, text, Point(50, Center.y), FONT_HERSHEY_SIMPLEX, 5.0, ObjectColor, 5, CV_AA); circle(frame, Center, i + 2, ObjectColor, 2, CV_AA); @@ -245,7 +245,7 @@ public: VideoWriter* writer = writers->operator[](range.start); CV_Assert(writer != NULL); CV_Assert(writer->isOpened()); - + Mat frame(CreateVideoWriterInvoker::FrameSize, CV_8UC3); for (unsigned int i = 0; i < FrameCount; ++i) { @@ -253,7 +253,7 @@ public: writer->operator<< (frame); } } - + protected: static std::string to_string(unsigned int i) {