Commit Graph

54 Commits

Author SHA1 Message Date
Alexander Alekhin
fb3fc5322c videoio(ffmpeg): update tests with new Windows wrapper 2022-09-12 13:09:40 +00:00
Alexander Alekhin
e585453c2e videoio(test): skip failed tests in misconfigured environments 2022-05-25 06:40:03 +00:00
OpenCV Developers
d9a444ca1a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-05-14 11:23:21 +00:00
Yulv-git
15ac54d5d6 Fix some typos in modules/. 2022-04-30 13:40:07 +08:00
Suleyman TURKMEN
b060151625 add test (DISABLED_open_from_web) 2022-03-30 15:01:02 +03:00
Alexander Alekhin
ba98cd97e5 videoio(test): skip AV1 HW tests
- FFMPEG: "[av1 @ 0000027ac07d1340] Your platform doesn't suppport hardware accelerated AV1 decoding."
2021-06-08 17:25:09 +00:00
Alexander Alekhin
d42a2b2d16 videoio(test): bailout from VP9 tests if first frame can't be read 2021-05-28 02:05:45 +00:00
Mikhail Nikolskii
a604d44d06
Merge pull request #19755 from mikhail-nikolskiy:ffmpeg-umat
cv::UMat output/input in VideoCapture/VideoWriter (data stays in GPU memory)

* FFMPEG with UMat input/output

* OpenCL_D3D* context

* fix Linux build

* cosmetic changes

* fix build if USE_AV_HW_CODECS=0

* simplify how child context pointer stored in parent context

* QSV interop with OpenCL on Windows

* detect_msdk.cmake via pkg-config

* fix av_buffer_ref() usage

* revert windows-decode-mfx whitelisting; remove debug msg

* address review comments

* rename property to HW_ACCELERATION_USE_OPENCL

* fix issue with "cl_khr_d3d11_sharing" extension not reported by OpenCL GPU+CPU platform

* core(ocl): add OpenCL stubs for configurations without OpenCL

* videoio(ffmpeg): update #if guards

* Put OpenCL related code under HAVE_OPENCL; simplify reuse of media context from OpenCL context

* videoio(test): skip unsupported tests

- plugins don't support OpenCL/UMat yet
- change handling of *_USE_OPENCL flag

* videoio(ffmpeg): OpenCL dependency

* videoio(ffmpeg): MediaSDK/oneVPL dependency

* cleanup, logging

* cmake: fix handling of 3rdparty interface targets

Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
2021-05-14 16:48:50 +00:00
Alexander Alekhin
b6670f3ac3 ffmpeg/4.x: update FFmpeg wrapper 2021.03
- FFmpeg 4.3.2
2021-03-03 11:41:36 +00:00
Mikhail Nikolskii
7bcb51eded
Merge pull request #19460 from mikhail-nikolskiy:videoio-hw
videoio: HW decode/encode in FFMPEG backend; new properties with support in FFMPEG/GST/MSMF

* HW acceleration in FFMPEG backend

* fixes on Windows, remove D3D9

* HW acceleration in FFMPEG backend

* fixes on Windows, remove D3D9

* improve va test

* Copyright

* check LIBAVUTIL_BUILD >= AV_VERSION_INT(55, 78, 100) // FFMPEG 3.4+

* CAP_MSMF test on .mp4

* .mp4 in test

* improve va test

* Copyright

* check LIBAVUTIL_BUILD >= AV_VERSION_INT(55, 78, 100) // FFMPEG 3.4+

* CAP_MSMF test on .mp4

* .mp4 in test

* .avi for GStreamer test

* revert changes around seek()

* cv_writer_open_with_params

* params.warnUnusedParameters

* VideoCaptureParameters in GStreamer

* open_with_params

* params->getUnused

* Reduce PSNR threshold 33->32 (other tests use 30)

* require FFMPEG 4.0+; PSNR 30 as in other tests

* GStreamer AVI-demux plugin not installed in Ubuntu test environment?

* fix build on very old ffmpeg

* fix build on very old ffmpeg

* fix build issues

* fix build issues (static_cast)

* FFMPEG built on Windows without H264 encoder?

* fix for write_nothing test on VAAPI

* fix warnings

* fix cv_writer_get_prop in plugins

* use avcodec_get_hw_frames_parameters; more robust fallback to SW codecs

* internal function hw_check_device() for device check/logging

* two separate tests for HW read and write

* image size 640x480 in encode test

* WITH_VA=ON (only .h headers used in OpenCV, no linkage dependency)

* exception on VP9 SW encoder?

* rebase master; refine info message

* videoio: fix FFmpeg standalone plugin build

* videoio(ffmpeg): eliminate MSVC build warnings

* address review comments

* videoio(hw): update videocapture_acceleration.read test

- remove parallel decoding by SW code path
- check PSNR against the original generated image

* videoio: minor fixes

* videoio(test): disable unsupported MSMF cases (SW and HW)

* videoio(test): update PSNR thresholds for HW acceleration read

* videoio(test): update debug messages

* "hw_acceleration" whitelisting parameter

* little optimization in test

* D3D11VA supports decoders, doesn't support encoders

* videoio(test): adjust PSNR threshold in write_read_position tests

* videoio(ffmpeg): fix rejecting on acceleration device name mismatch

* videoio(ffmpeg): fix compilation USE_AV_HW_CODECS=0, add more debug logging

* videoio: rework VideoAccelerationType behavior

- enum is not a bitset
- default value is backend specific
- only '_NONE' and '_ANY' may fallback on software processing
- specific H/W acceleration doesn't fallback on software processing. It fails if there is no support for specified H/W acceleration.

* videoio(test): fix for current FFmpeg wrapper

Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
2021-03-01 15:51:04 +00:00
Alexander Smorkalov
b4e941d431 VideoCapture test to ensure that cv::VideoCapture does not share output buffers between frames. 2021-01-22 16:42:48 +03:00
Alexander Alekhin
de385009ae Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-09 18:09:00 +00:00
Alexander Alekhin
962f5c9b82 videoio(test): skip GStreamer in 'frame_timestamp' tests
- CAP_PROP_POS_MSEC is not reliable
2020-12-07 21:35:01 +00:00
Alexander Alekhin
6fdb7aee84 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-04 18:26:58 +00:00
Jaime Rivera
2fa624aef0 Add Timestamps to MSMF Video Capture by index
Enable frame timestamp tests for MSMF

Add functional test for camera live timestamps

Remove trailing whitespace

Add timestamp test to all functional tests. Protect div by 0

Add Timestamps to MSMF Video Capture by index
2020-12-02 16:36:09 -05:00
Alexander Smorkalov
24fac5f56d Added test for VideoCapture CAP_PROP_FRAME_MSEC option.
- Suppressed FFMPEG + h264, h265 as it does not pass tests with CI configuration.
- Suppressed MediaFoundation backend as it always returns zero for now.
2020-11-30 20:08:21 +03:00
Maksim Shabunin
ca6a11e4d2 videoio: added plug-in support to MSMF backend 2020-04-08 15:22:50 +03:00
Alexander Alekhin
aa2777ed61 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-10 19:40:29 +03:00
Maksim Shabunin
6c8f50d1f3 videoio/MSMF: refactored format handling and selection, property reading and writing 2020-02-08 00:16:41 +03:00
Alexander Alekhin
2ad0487cec Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-13 18:32:29 +00:00
Alexander Alekhin
a77275e650 videoio(test): skip unstable MSMF tests (3) 2019-08-08 16:25:19 +03:00
Alexander Alekhin
174b4ce29d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-05 18:11:43 +00:00
Alexander Alekhin
a4b4432015 videoio(test): skip unstable MSMF tests (2) 2019-08-05 19:13:17 +03:00
Alexander Alekhin
406313bbc5 videoio(test): skip unstable MSMF tests 2019-08-05 16:57:26 +03:00
Alexander Alekhin
426482e05b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-21 18:06:04 +00:00
Alexander Alekhin
61f589ddd0 videoio(gstreamer): more .get() checks 2019-07-19 13:16:58 +03:00
Alexander Alekhin
2b2633c11f videoio(gstreamer): port changes from 14834 2019-06-21 14:42:58 +03:00
Alexander Alekhin
baf372ad3d videoio(test): add extra videoio tests 2019-06-20 17:48:18 +03:00
Maksim Shabunin
9a81ff7315 Backported AVFoundation fixes from master branch 2019-05-07 13:57:44 +03:00
Pavel Rojtberg
15bb0b86ce VideoCapture: add exception error mode similar to fstream + test 2019-04-10 13:41:57 +02:00
Maksim Shabunin
52cd1dacbf Merge pull request #14156 from mshabunin:videowriter-bad-test
* videoio: added bad parameters handling to VideoWriter

* AVFoundation/Writer: support UTF-8, check input parameters
2019-03-29 17:52:22 +03:00
Alexander Alekhin
11fd9e5fdc videoio: revert registry chages, update cap.cpp 2019-03-04 21:37:20 +00:00
Maksim Shabunin
9702987209 Framework for dynamic videoio backends, FFmpeg and GStreamer plugins 2019-02-26 13:50:30 +03:00
Maksim Shabunin
9c4eb20221 AVFoundation on Mac: fixed frame count and unsupported format handling 2019-01-24 16:15:08 +03:00
Maksim Shabunin
eeb6f7726e AVFoundation on Mac: fixed frame count and unsupported format handling 2019-01-24 16:12:38 +03:00
Maksim Shabunin
73959fed45 Merge pull request #13422 from mshabunin:split-videoio-cmake
* Split videoio dependencies search into pieces, removed obsolete backends
2018-12-26 15:50:20 +03:00
Alexander Alekhin
5869415a57 videoio: drop obsolete backends
- VFW
- QuickTime/QtKit
- Unicap - GPL, no active support: https://github.com/unicap/unicap
- DC1394 (1st version) / CMU1394
2018-11-07 19:49:09 +03:00
Alexander Alekhin
270cc3bcbc videoio: add routines to query information about backends API
into cv::videoio_registry namespace
2018-07-19 17:27:37 +03:00
Alexander Alekhin
84db82a329 build: fix warnings 2018-04-24 16:15:22 +03:00
Maksim Shabunin
5309832308 VideoIO: prettier test console output, gstreamer capture backend changed to C++ interface 2018-04-23 13:21:37 +03:00
Maksim Shabunin
a9bdf75c5b videoio: refactored XINE backend 2018-04-20 15:20:46 +03:00
Vitaly Tuzov
628f04ae96 Merge pull request #11092 from terfendail:msmf_videocapture
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
2018-04-05 13:55:42 +03:00
Tomoaki Teshima
a9f3a7de39 add workaround of old gstreamer 2018-03-05 19:27:49 +09:00
Alexander Nesterov
df8f61877e Added avi-container with tests 2018-02-15 17:34:49 +03:00
Alexander Alekhin
4a297a2443 ts: refactor OpenCV tests
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Maksim Shabunin
6f48dc2482 Fixed GStreamer pipeline building on Ubuntu 17 2017-11-23 15:03:20 +03:00
Alexander Nesterov
8082011546 Update videoio tests 2017-11-23 14:57:38 +03:00
Vladislav Sovrasov
32bf712102 cmake: disable implicit-fallthrough by default 2017-09-11 16:04:00 +03:00
Alexander Alekhin
cc862e996e videoio: fixes for GStreamer support
- emulated frame counter (with autodetection of GStreamer broken behavior)
- skip 'seek' tests if seeking is not supported by backend
- update 'fps' and total frames checks (increase error tolerance)
- update synthetic image generation
2017-07-05 16:52:48 +03:00
Maksim Shabunin
87b569d812 Rewritten some tests in videoio and imgcodecs modules
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
2017-06-20 18:20:41 +03:00