• Maksim Shabunin's avatar
    Rewritten some tests in videoio and imgcodecs modules · 87b569d8
    Maksim Shabunin authored
    general:
    - all iterative tests have been replaced with parameterized tests
    - old-style try..catch tests have been modified to use EXPECT_/ASSERT_ gtest macros
    - added temporary files cleanup
    - modified MatComparator error message formatting
    
    imgcodecs:
    - test_grfmt.cpp split to test_jpg.cpp, test_png.cpp, test_tiff.cpp, etc.
    
    videoio:
    - added public HAVE_VIDEO_INPUT, HAVE_VIDEO_OUTPUT definitions to cvconfig.h
    - built-in MotionJPEG codec could not be tested on some platforms (read_write test was disabled if ffmpeg is off, encoding/decoding was handled by ffmpeg otherwise).
    - image-related tests moved to imgcodecs (Videoio_Image)
    - several property get/set tests have been combined into one
    - added MotionJPEG test video to opencv_extra
    87b569d8
perf_input.cpp 911 Bytes
#include "perf_precomp.hpp"

#ifdef HAVE_VIDEO_INPUT

using namespace std;
using namespace cv;
using namespace perf;
using std::tr1::make_tuple;
using std::tr1::get;


typedef perf::TestBaseWithParam<std::string> VideoCapture_Reading;

const string bunny_files[] = {
    "highgui/video/big_buck_bunny.avi",
    "highgui/video/big_buck_bunny.mov",
    "highgui/video/big_buck_bunny.mp4",
#ifndef HAVE_MSMF
    // MPEG2 is not supported by Media Foundation yet
    // http://social.msdn.microsoft.com/Forums/en-US/mediafoundationdevelopment/thread/39a36231-8c01-40af-9af5-3c105d684429
    "highgui/video/big_buck_bunny.mpg",
#endif
    "highgui/video/big_buck_bunny.wmv"
};

PERF_TEST_P(VideoCapture_Reading, ReadFile, testing::ValuesIn(bunny_files) )
{
  string filename = getDataPath(GetParam());

  VideoCapture cap;

  TEST_CYCLE() cap.open(filename);

  SANITY_CHECK_NOTHING();
}

#endif // HAVE_VIDEO_INPUT