Added conditional compiling for video i/o tests in highgui.
authorAlexander Reshetnikov <no@email>
Wed, 22 Feb 2012 17:12:25 +0000 (17:12 +0000)
committerAlexander Reshetnikov <no@email>
Wed, 22 Feb 2012 17:12:25 +0000 (17:12 +0000)
modules/highgui/test/test_video_io.cpp

index 9afc1ad..319ac80 100644 (file)
@@ -379,11 +379,15 @@ void CV_HighGuiTest::SpecificImageTest(const string& dir)
 
 void CV_HighGuiTest::SpecificVideoFileTest(const string& dir, const char codecchars[4])
 {
-    const string ext[] = {"avi", "mov", "mp4"/*, "mpg", "wmv"*/};
+    const string ext[] = {"avi", "mov", "mp4", "mpg", "wmv"};
 
     const size_t n = sizeof(ext)/sizeof(ext[0]);
 
-    for (size_t j = 0; j < n; ++j) if ((ext[j]!="mp4")||(string(&codecchars[0], 4)!="IYUV"))
+    for (size_t j = 0; j < n; ++j) 
+               if ((ext[j]!="mp4")||(string(&codecchars[0], 4)!="IYUV"))
+       #if defined WIN32 || defined _WIN32
+               if (((ext[j]!="mov")||(string(&codecchars[0], 4)=="XVID"))&&(ext[j]!="mp4"))
+       #endif
     {
         const string video_file = dir + "video_" + string(&codecchars[0], 4) + "." + ext[j];
 
@@ -484,6 +488,7 @@ void CV_HighGuiTest::SpecificVideoFileTest(const string& dir, const char codecch
             if (psnr > thresDbell)
             {
                 ts->printf(ts->LOG, "\nReading frame from the file video_%s.%s...\n", string(&codecchars[0], 4).c_str(), ext[j].c_str());
+                               ts->printf(ts->LOG, "Frame index: %d\n", i+1);
                 ts->printf(ts->LOG, "Difference between saved and original images: %g\n", psnr);
                 ts->printf(ts->LOG, "Maximum allowed difference: %g", thresDbell);
                 ts->printf(ts->LOG, "Error: too big difference between saved and original images.\n");
@@ -498,7 +503,7 @@ void CV_HighGuiTest::SpecificVideoFileTest(const string& dir, const char codecch
 
 void CV_HighGuiTest::SpecificVideoCameraTest(const string& dir, const char codecchars[4])
 {
-    const string ext[] = {"avi", "mov", "mp4"/*, "mpg", "wmv"*/};
+    const string ext[] = {"avi", "mov", "mp4", "mpg", "wmv"};
 
     const size_t n = sizeof(ext)/sizeof(ext[0]);
 
@@ -513,7 +518,11 @@ void CV_HighGuiTest::SpecificVideoCameraTest(const string& dir, const char codec
         return;
     }
 
-    for (size_t i = 0; i < n; ++i) if ((ext[i]!="mp4")||(string(&codecchars[0], 4)!="IYUV"))
+    for (size_t i = 0; i < n; ++i) 
+               if ((ext[i]!="mp4")||(string(&codecchars[0], 4)!="IYUV"))
+       #if defined WIN32 || defined _WIN32
+               if (((ext[i]!="mov")||(string(&codecchars[0], 4)=="XVID"))&&(ext[i]!="mp4"))
+       #endif
     {
         Mat frame; int framecount = 0;
         cv::VideoWriter writer;
@@ -603,6 +612,7 @@ void CV_HighGuiTest::SpecificVideoCameraTest(const string& dir, const char codec
             if (psnr > thresDbell)
             {
                 ts->printf(ts->LOG, "\nReading frame from the file video_%s.%s...\n", string(&codecchars[0], 4).c_str(), ext[i].c_str());
+                               ts->printf(ts->LOG, "Frame index: %d\n", framecount);
                 ts->printf(ts->LOG, "Difference between saved and original images: %g\n", psnr);
                 ts->printf(ts->LOG, "Maximum allowed difference: %g", thresDbell);
                 ts->printf(ts->LOG, "Error: too big difference between saved and original images.\n");