Update for MSMF-based VideoCapture and VideoWriter (#11092)
* MSMF based VideoCapture updated to handle video stream formats different from RGB24
* MSMF based VideoWriter updated to handle video frame top-bottom line ordering regardless of output format
* Fixed race condition in MSMF based VideoCapture
* Refactored MSMF based VideoCapture and VideoWriter
* Disabled frame rate estimation for MP43
* Removed test for unsupported avi container from MSMF VideoWriter tests
* Enabled MSMF-based VideoIO by default
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
The provided interface id must be removed from the index. Otherwise, the
underlying implementations are using a wrong camera id.
Example:
VideoCapture(800) fails because PvAPI tries to open a camera
on position 800
a separate function instead of an overload not to change the ABI.
rename VideoCapture paramter 'device' to 'index' in CPP to reflect that
it allows specifying the API.
update comments to explain how to specify the API.
std::streams removed
debug code removed
whitespaces removed
stdint.h added and trailing whitespaces removed
trailing whitespaces removed
warnings on windows fix
warnings on windows fix pt 2
Refactoring performed: AviMjpegStream class introduced. CAP_PROP_FRAME_WIDTH and CAP_PROP_FRAME_HEIGHT properties support added.
Windows warnings & uninitialized variable fix
Windows warning fix
Win32 warning fix