Commit Graph

1101 Commits

Author SHA1 Message Date
Alexander Alekhin
962cdc2d98 videoio: split capture/writer plugin APIs
- migrate GStreamer backed
- migrate FFmpeg backend (with switch on legacy API)
- cv_videoio_capture_retrieve_cb_t uses Mat type instead of number of channels
2021-01-14 06:19:23 +00:00
Alexander Alekhin
71acf078ba videoio: preserve git history in plugin_*.hpp files 2021-01-13 22:37:46 +00:00
Alexander Alekhin
b3233de1c2 videoio: mv plugin_api.hpp (preserve git history) 2021-01-13 22:36:53 +00:00
Alexander Alekhin
63982d6771 videoio: preserve git history in backend_plugin_legacy.impl.hpp 2021-01-13 22:26:18 +00:00
Alexander Alekhin
2cd540b9c4 videoio: backup backend_plugin_legacy.impl.hpp 2021-01-13 22:25:19 +00:00
Alexander Alekhin
a6f7dca685 Merge pull request #19027 from alalek:videoio_plugins_api_versioning 2020-12-24 17:08:36 +00:00
Alexander Alekhin
624d532000 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-17 21:05:34 +00:00
Alexander Alekhin
48d9031efb videoio(test): add FFmpeg backend check
- configure through OPENCV_TEST_VIDEOIO_BACKEND_REQUIRE_FFMPEG environment variable
2020-12-14 18:29:52 +00:00
Alexander Alekhin
dd1494eebf Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-11 19:27:20 +00:00
Maksim Shabunin
55a2bcbe15 videoio: turn off syncronized sink in GStreamer 2020-12-10 16:07:28 +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
9e6b7f5dc1 videoio: plugins API versioning 2020-12-06 16:19:13 +00:00
joshdoe
541a09b7ac
Merge pull request #18535 from joshdoe:gray16_gstreamer_writing
Add CV_16UC1/GRAY16_LE support to GStreamer backend for VideoWriter

* videoio(backend): add Writer_open_with_params to plugin API

This will allow arbitrary parameters to be passed to plugin backends

* videoio(gstreamer): add GRAY16_LE/CV_16UC1 writing support to GStreamer

This introduces a new property VIDEOWRITER_PROP_DEPTH, which defaults to
CV_8U, but for GStreamer can be set to CV_16U.

Also, fix another test to not fail if plugin isn't found, copying logic
from the read_write test.

* videoio(plugin): fix handling plugins with previous API level

* videoio: coding style

* fix warning
2020-12-05 21:28:07 +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
Alexander Alekhin
9d2eabaaa2 Merge remote-tracking branch 'upstream/master' into merge-4.x 2020-11-27 18:15:28 +00:00
Alexander Alekhin
2155296a13 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-11-27 14:08:06 +00:00
Alexander Alekhin
0800f6f91b videoio: add missing getCaptureDomain() methods 2020-11-24 22:26:10 +00:00
Alexander Alekhin
b4b2a276c8 Merge pull request #18756 from andy-held:add_ueye_capture 2020-11-16 22:28:54 +00:00
Alexander Alekhin
56074c2eb3 Merge pull request #18763 from GArik:orbbec 2020-11-16 09:12:25 +00:00
Alexander Alekhin
389495f76a Merge pull request #18499 from RidgeRun:optional-gstreamer-mainloop 2020-11-13 21:07:30 +00:00
Andreas Franek
a3f3fbe05d add rudimentary support for uEye cameras
uEye are cameras from IDS, c.f. https://en.ids-imaging.com/
Supports driver version 4.94 and up currently, since the event system was overhauled there.
Supports setting/getting the properties: fps,width,height
2020-11-13 18:38:51 +01:00
Igor Murzov
011d8e80d8 videoio: Support Orbbec Astra 3D cameras using OpenNI2 API
Only depth sensor is supported. Color sensor is accessible as a
regular UVC camera.
2020-11-13 16:08:06 +03:00
Vadim Pisarevsky
d42665d9e2 added truetype font support into OpenCV, based on STB_truetype 2020-11-11 22:17:05 +03:00
Alexander Alekhin
7459613623 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-11-05 18:59:10 +00:00
Alexander Alekhin
39ecd96b09 Merge pull request #18736 from mshabunin:mfx-frame-size-34 2020-11-05 17:00:35 +00:00
Maksim Shabunin
21a8d9569d videoio: added frameSize to MFX capture 2020-11-05 17:40:48 +03:00
Jack·Boos·Yu
56d2b7137c
Merge pull request #18658 from JackBoosY:master
* Fix cmake configure error

* judge the cmake version

* Add comments
2020-10-29 13:50:25 +00:00
Nikolai
b87f7a625e
Merge pull request #18426 from Varvrar:add-HEVC-codec-iOS-Mac
* add HEVC(H.265) codec to iOS,Mac VideoWriter

* Update cap_avfoundation_mac.mm

add CV_FOURCC('h','v','c','1') for HEVC codec

* Update cap_avfoundation.mm

add CV_FOURCC('h','v','c','1') for HEVC codec

* feat: add availability check for HEVC codec on iOS and OS X

Co-authored-by: Vadim Levin <vadim.levin@xperience.ai>
2020-10-19 17:39:19 +00:00
Alexander Alekhin
9794ff1398 next: update versions handling 2020-10-11 08:11:32 +00:00
Alexander Alekhin
39d5e14c1f Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-10-07 09:09:37 +00:00
Alexander Alekhin
f2bb3d0d80 videoio(dc1394_v2): ensure variable initialization 2020-10-06 21:00:36 +00:00
Michael Gruner
e3da18121f Enable a GMainLoop when capturing using GStreamer
A running GMainLoop processes many events on the GLib/GStreamer
world. While some things may work without it, many others wont.
Examples of these are signals, timers and many other source
events. The problem becomes more concerning by the fact that
some GStreamer elements rely on signals to work.

This commit allows the user to specify an OpenCV option to
start a main loop, if needed. Since the loop blocks, this is
done in a separate thread.
2020-10-01 19:48:15 -06:00
Alexander Alekhin
f6901ab877 videoio: fix plugins build with enabled Eigen 2020-09-25 13:37:07 +00:00
Maksim Shabunin
688aea6bec videoio: naming MFX tests 2020-09-23 17:36:43 +03:00
Alexander Alekhin
f52a2cf5e1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-09-19 17:03:08 +00:00
Takehiro Kajihara
8c44b8306b Fix typo in videoio doc 2020-09-18 07:34:10 +09:00
extrowerk
da0fd62c23
Haiku: build fix
Haiku is POSIX compatible
2020-09-07 21:07:38 +02:00
Alexander Alekhin
f6795d75a6 videoio: repair build of FFmpeg windows wrapper 2020-09-04 15:36:10 +00:00
Maksim Shabunin
2dfb163281 videoio: reduce min libavcodec version 2020-08-27 13:25:04 +03:00
Vadim Levin
f7e524cbe6 fix: libavcodec version check for AVDISCARD_NONINTRA
- AVDISCARD_NONINTRA flag is supported only for FFMPEG libraries pack
2020-08-24 23:12:49 +03:00
Vadim Levin
e503ac508e fix: libavcodec version check for AV_CODEC_FLAG_GLOBAL_HEADER 2020-08-24 23:07:25 +03:00
Vadim Levin
458bd1652d
Merge pull request #18146 from VadimLevin:dev/vlevin/ffmpeg-remove-obsolte-versions-support
Remove obsolete FFMPEG versions support

* refactor: removed obsolete FFMPEG version support

 - Oldest available version via official FFMPEG repository mirror has tag v.0.5
 LIBAVFORMAT version for this tag is 52.31.0

* refactor: prefer std::min function to MIN macro

* refactor: use appropriate macro instead of manual version calculation

* refactor: remove macros for versions prior 0.5.15 release

* refactor: remove libavcodec macros for versions < 54.35.1 (default to Ubuntu 14.04)

* refactor: remove libavformat macro for versions < 54.20.4 (default ubuntu 14.04)

* refactor: remove libavutil macro for versions < 52.3.0 (default ubuntu 14.04)

* refactor: remove missed macros for libavcodec and libavformat

* refactor: remove unused _opencv_ffmpeg_free function

* build: add FFMPEG libraries versions checks

 - Add verbose message about what FFMPEG libraries are missing.
 - Add minimal versions check set to libav 9.20 release (default ubuntu 14.04) and FFMPEG 1.1.16 release.
   If the check is failed CMake produces user-friendly message instead of build error.

* fix: libavcodec version guard for AVDISCARD_NONINTRA

* fix: libav check of libavcodec version guard for AVDISCARD_NONINTRA

* fix: version check for AV_CODEC_FLAG_GLOBAL_HEADER

* fix: missing FFMPEG libraries output
2020-08-24 18:39:05 +00:00
Alexander Alekhin
f6c2bf21c8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-08-21 19:57:34 +00:00
Tomoaki Teshima
cc769ff19d fix build error on odroid-n2-plus 2020-08-17 21:24:54 +09:00
Peter Rekdal Sunde
760e7e8efa Add support for using new ffmpeg encoding API when writing a video. 2020-08-06 23:43:47 +02:00
Alexander Alekhin
11eff8bae0 Merge pull request #18014 from lpea:fix_build_with_aravis 2020-08-03 18:26:53 +00:00
Alexander Alekhin
1192734131 Merge pull request #17882 from komakai:objc-contrib-wrappers 2020-08-03 11:10:37 +00:00
lpea
29976a04c5 videoio: fix compilation with Aravis enabled 2020-08-02 14:27:44 +02:00
Alexander Alekhin
afe9993376 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-07-28 17:25:20 +00:00
Maksim Shabunin
5bfa43f7d5 Merge pull request #17489 from Lapshin:ffmpeg_cap_consider_rotation_metadata_3.4 2020-07-23 08:35:51 +00:00
Alexander Smorkalov
7ed37b3fa5 MP4 autorotation tests and various fixes for Windows
- Added test for automated rotation for  MP4 videos with metadata
- Fix 180 degrees rotation bug
- Moved rotation logic to cv::VideoCapture implementation for FFmpeg and restore binary compatibility with FFmpeg wrapper.
2020-07-23 09:30:18 +03:00
Alexey Lapshin
f0271e54d9 Autorotation for mp4 streams with metadata
- Add VideoCapture camera orientation property for mp4 videos with camera orientation meta.
- Add auto rotation for 90, 180, 270 degrees using cv::rotate
2020-07-23 09:27:04 +03:00
Giles Payne
4cf76754d3 Add Objective-C/Swift wrappers for opencv_contrib modules 2020-07-21 19:19:08 +09:00
Alexander Alekhin
e5e767abc1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-07-13 19:54:49 +00:00
jasonKercher
749bd80091
Merge pull request #17770 from jasonKercher:3.4_triggered
3.4 Allow first capture to return false

* fix first capture timeout

* fix first capture timeout
2020-07-13 12:29:54 +00:00
Giles Payne
59ba33658a Dynamic build for Objective-C/Swift wrapper 2020-06-26 08:26:05 +09:00
Philippe FOUBERT
0eb7060205 Fix the detection of the XIMEA library (since its location may be different when the version of the ximea software is updated) 2020-06-20 16:47:18 +02:00
Giles Payne
02385472b6
Merge pull request #17165 from komakai:objc-binding
Objc binding

* Initial work on Objective-C wrapper

* Objective-C generator script; update manually generated wrappers

* Add Mat tests

* Core Tests

* Imgproc wrapper generation and tests

* Fixes for Imgcodecs wrapper

* Miscellaneous fixes. Swift build support

* Objective-C wrapper build/install

* Add Swift wrappers for videoio/objdetect/feature2d

* Framework build;iOS support

* Fix toArray functions;Use enum types whenever possible

* Use enum types where possible;prepare test build

* Update test

* Add test runner scripts for iOS and macOS

* Add test scripts and samples

* Build fixes

* Fix build (cmake 3.17.x compatibility)

* Fix warnings

* Fix enum name conflicting handling

* Add support for document generation with Jazzy

* Swift/Native fast accessor functions

* Add Objective-C wrapper for calib3d, dnn, ml, photo and video modules

* Remove IntOut/FloatOut/DoubleOut classes

* Fix iOS default test platform value

* Fix samples

* Revert default framework name to opencv2

* Add converter util functions

* Fix failing test

* Fix whitespace

* Add handling for deprecated methods;fix warnings;define __OPENCV_BUILD

* Suppress cmake warnings

* Reduce severity of "jazzy not found" log message

* Fix incorrect #include of compatibility header in ios.h

* Use explicit returns in subscript/get implementation

* Reduce minimum required cmake version to 3.15 for Objective-C/Swift binding
2020-06-08 18:32:53 +00:00
Alexander Alekhin
89a6937c00 videoio: fix plugins build 2020-06-08 09:17:13 +00:00
Alexander Alekhin
7722a2b8a8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-06-04 17:58:34 +00:00
Fernando Martin
cb0f74ab9f
Merge pull request #17473 from f3rm4rf3r:fixingFourCCDocBrokenLink
* - Fixing broken URL to mp4ra website

* - Fixing broken URL to mp4ra website (in C videoio API)
2020-06-04 17:07:54 +00:00
Alexander Alekhin
f1dd5e49c5 videoio(ffmpeg): fix handling of AVERROR_EOF
decoder should be properly flushed after that
2020-05-29 19:52:26 +00:00
Alexander Alekhin
c3e8a82c9c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-05-28 23:53:54 +00:00
Maksim Shabunin
2d11edd103 videoio/MSMF: fixed audio stream handling 2020-05-27 17:57:18 +03:00
Alexander Alekhin
21e28adb87 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-05-22 19:50:14 +00:00
Alexander Alekhin
98611adeb9 build: fix warnings about TARGET_OS_MACCATALYST 2020-05-21 20:41:47 +00:00
Alexander Alekhin
593af7287b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-05-18 17:50:16 +00:00
Chris Ballinger
220df8252d Add target conditionals for Mac Catalyst 2020-05-16 12:47:50 -07:00
Alexander Alekhin
06bff34a6b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-05-12 19:24:28 +00:00
Maksim Shabunin
f30931848e CAP_MFX: surface pool with timeout, more parameters 2020-05-12 18:43:04 +03:00
hn-88
ea04f9d12e
to make OpenCV compile on mingw32
added #define NO_DSHOW_STRSAFE
2020-05-03 11:19:04 +05:30
Vadim Levin
7f90f04df2
Merge pull request #16766 from VadimLevin:dev/vlevin/video_writer_params_constructor
* feature: Extend VideoWriter to accept vector of parameters

 - Add additional constructor and `open` method for `VideoWriter`
   those accept a vector of parameters
 - Move actual implementation of the `VideoWriter::open` to general method
   which accepts vector of parameters
 - Propagate parsed parameters map up to actual video backend construction

* fix: Change VideoWriter constructor description to suppress doc warning

* refactor: Rollback newlines changes

* feature: Changed VideoWriter parameters workflow

* feature: Log unused parameters in VideoWriter open

* doc: Fix VideoWriter `isColor` parameter description

* fix: int to bool VC++ conversion warning

* doc: Remove information about `isColor` flag usage.
2020-04-28 08:38:39 +00:00
Alexander Alekhin
152e6476d9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-24 19:02:39 +00:00
HowardsPlayPen
cbcdbde29d Update videocapture_basic.cpp
I believe you are using the wrong version of open() on line 28 - adding deviceID + appId together. It's better to use the new version of .open() taking two integers as parameter.
2020-04-24 11:42:45 +03:00
Maksim Shabunin
9415560250 videoio: load debug versions of plug-ins in debug builds 2020-04-22 13:35:06 +03:00
Alexander Alekhin
f19d0ae41d Merge pull request #17109 from alalek:cmake_videoio_plugins_all 2020-04-20 17:24:18 +00:00
Alexander Alekhin
10d2bcc8a2 videoio(msmf): fix build warning
- warning C4800: 'int': forcing value to bool 'true' or 'false'
2020-04-19 19:47:32 +00:00
Alexander Alekhin
7ce1bd5d88 cmake: handle VIDEOIO_PLUGIN_LIST=all 2020-04-19 19:29:07 +00:00
Alexander Alekhin
2cef100303 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-16 18:28:27 +00:00
Vadim Levin
18550b4601 test: Added tests for VideoCapture constructors in java 2020-04-15 14:12:31 +03:00
Maksim Shabunin
90e7c29c46 videoio: set plugin output dir on windows to bin 2020-04-08 15:22:50 +03:00
Maksim Shabunin
ca6a11e4d2 videoio: added plug-in support to MSMF backend 2020-04-08 15:22:50 +03:00
Alexander Alekhin
cf2a3c8e74 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-02 21:52:32 +00:00
Maksim Shabunin
585593e9fc videoio: fixed MSMF writer fps handling 2020-04-02 12:52:38 +03:00
Maksim Shabunin
433c5199fd videoio: fixed conversion in MSMF backend 2020-04-01 14:40:11 +03:00
Alexander Alekhin
3c5fec6746 build: updates for winpack dldt 2020-03-31 22:18:21 +00:00
Alexander Alekhin
e12b1c2209 build: updates for winpack dldt 2020-03-31 20:29:11 +00:00
Alexander Alekhin
0b4c101e8a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-23 16:54:35 +00:00
Alexander Alekhin
2fb1d9d02e doc: fix misused "see also" doxygen command 2020-03-21 00:25:49 +00:00
Pratik Raj
2160f9b20e
Merge pull request #16733 from Rajpratik71:master
Some debian package manager tweaks
2020-03-18 15:19:55 +00:00
Alexander Alekhin
d00e58cdb0 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-10 22:49:51 +00:00
Vadim Levin
09fe66e87f
Merge pull request #16713 from VadimLevin:dev/vlevin/ffmpeg_video_capture_bitrate
* feature: Add video capture bitrate read-only property for FFMPEG backend

* test: For WIN32 property should be either expected or 0.

Added `IsOneOf` helper function, enabled only for _WIN32.
2020-03-10 16:44:22 +03:00
Alexander Alekhin
d4a17da7b2 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-04 20:49:09 +00:00
Maksim Shabunin
219ef95dd8 MSMF: fixed issue with camera format selection 2020-03-03 13:17:32 +03:00
Alexander Alekhin
333a767be4 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-28 18:34:37 +00:00
firebladed
f00607c8ac
Merge pull request #16626 from firebladed:firebladed-v4l2_pix_fmt_y12
V4L2: Add V4L2_PIX_FMT_Y12 (12 bit grey) support
2020-02-28 21:17:30 +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 Smorkalov
fb781834f5 Improved GStreamer documentation. 2020-02-06 12:51:09 +03:00
Alexander Alekhin
225566da7b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-04 19:49:24 +03:00
Alexander Alekhin
8519db8efb Merge pull request #15464 from tallestorange:3.4 2020-02-03 12:54:03 +00:00
Vadim Pisarevsky
174022547f
fixed incorrect dump of the pixel format 2020-02-03 13:22:56 +03:00
Alexander Alekhin
27edba495a Merge pull request #16246 from VadimLevin:dev/vlevin/videoio_classes_cleanup 2020-01-31 13:08:43 +00:00
Alexander Alekhin
e037800e46 Merge pull request #15714 from neurodroid:patch-1 2020-01-29 10:54:22 +00:00
Alexander Alekhin
560f85f8e5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-28 14:26:57 +03:00
Pierre Letessier
0853085ec6 Merge pull request #16190 from pletessier:videocapture_skip_frames
Videocapture skip frames

* enable skipping frames

* update videoio_skip test
2020-01-26 10:19:09 +03:00
Alexander Smorkalov
1358c0ae66 Made automated triggering for ARAVIS cameras optional. 2020-01-23 09:00:28 +03:00
Vadim Levin
3fe9dfaa2e VideoIO classes refactoring
- Added `explicit` to `VideoCapture` constructors with 2
    arguments, 1 of them has default value
  - Applied library code style
  - Introduced 2 debug macros to improve readability of the code
2020-01-22 12:05:10 +03:00
Alexander Alekhin
7dad0f23d6 build: workaround for FORTIFY_SOURCE=2 builds on Alpine 2020-01-20 18:05:14 +03:00
Samuel Thibault
e57ceea3d3 Fix build on non-Linux glibc-based systems
dl functions are provided by all glibc-based systems (GNU/Linux, but
also GNU/Hurd, GNU/kFreeBSD)
2020-01-08 01:32:44 +01:00
Brian Wignall
f9c514b391 Fix spelling typos
backport commit 659ffaddb4
2019-12-27 12:46:53 +00:00
Brian Wignall
659ffaddb4 Fix spelling typos 2019-12-26 06:45:03 -05:00
Alexander Alekhin
ba7b0f4c54 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-15 11:23:46 +00:00
Alexander Alekhin
6ea29a7696 cmake: prefer using CMAKE_SYSTEM_PROCESSOR / CMAKE_SIZEOF_VOID_P
Drop:
- discouraged CMAKE_CL_64
- MSVC64
- MINGW64
2019-12-11 00:21:10 +00:00
Alexander Alekhin
e0e683aedf videoio(plugins): relax version check for FFmpeg wrapper on Windows 2019-12-09 14:47:38 +03:00
Alexander Alekhin
01a28db949 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-29 18:57:33 +03:00
Alexander Alekhin
501ff7f056 videoio(v4l2): use logging, update handling of EBUSY, device closing
- DEBUG logging compilation is enabled for all videoio backends
- eliminate output through perror(), stderr
2019-11-23 10:36:43 +00:00
Alexander Alekhin
ad0ab4109a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-22 22:47:13 +00:00
Vadim Levin
373160ce00 Merge pull request #15973 from VadimLevin:dev/vlevin/video_capture_inf_loop
* Fix infinite loop when trying to change state of the busy camera

  - Add finite number of attempts in tryIoctl functions
    10 by default.

* Introduced new flag for ioctl call to handle EBUSY
2019-11-23 01:10:16 +03:00
Alexander Alekhin
318cba4ce3 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-19 19:48:49 +00:00
Alexander Alekhin
9d14c0b37a Merge pull request #15939 from alalek:ffmpeg_update_3.4 2019-11-19 18:45:39 +00:00
Alexander Alekhin
de64db3064 Merge pull request #15919 from alalek:python_fix_arginfo 2019-11-19 13:24:58 +00:00
Alexander Alekhin
3f431a16a3 videoio: fix ffmpeg wrapper build 2019-11-18 18:56:57 +00:00
cudawarped
aff8c9bd28 videoio: retrieve encoded frames through FFmpeg backend
- backport 15290
- add extra test case
2019-11-18 19:23:19 +03:00
cudawarped
0867e3188d Merge pull request #15290 from cudawarped:ffmpeg_raw_retrieve
Add retrieve encoded frame to VideoCapture

* Add capacity to retrieve the encoded frame from a VideoCapture object.

* Correct raw codec and pixle format output from ffmpeg capture.

* Remove warnings from build.

* Added VideoCaptureRaw subclass.

* Include abstract base class VideoCaptureBase and rename new subclass VideoContainer as suggested by mshabunin.

* Remove using.

* Change base class name for compatibility with jave bindings generator.

* Move grab and retrieve and add override specifier

* Add setRaw and readRaw to IVideoCapture interface
-setRaw to disable video decoding and enable bitstream filters from mp4 to h254 and h265.
-readRaw to return the raw undecoded/filtered bitstream.
Add createRawCapture to initiate a backend with setRaw enabled.
Remove inheritance and use an independant VideoContainer subclass with IVideoCapture member.

* Address unused parameter warings.
Remove VideoContainer from python bindings as it no longer returns a Mat.
Use opencv type uchar instead of unsigned char.
Add missing destructor to VideoContainer class.

* Address build warnings and include all params in documentation.

* Include deprecated bitstream filtering API.

* Update codec_id query to work with older ffmpeg api's.
Change api version defines to be consistent - most recent api version first.

* Fix typo.

* Update test to work with naming of new files in the extra repo

* Investigate test failure

* Check bytes read by ffmpeg

* Removed mp4 video container test

* Applied suggested changes.

* videoio: rework API for extraction of RAW video streams

- FFmpeg only

* address review comments
2019-11-18 17:07:06 +03:00
Maxim Pashchenkov
1acadd363b Merge pull request #15100 from Volskig:cam_multiplexing_function_v
Implement Camera Multiplexing API

* IdideoCapture + two wrong function

function waitAny

Add errors catcher

Stub for Python added.

Sifting warnings

One test added

Two tests for camera and Perf tests added

* Perf sync and async tests for waitAny() added, waitAnyInterior() deleted, getDeviceHandle() deleted

* Variable OPENCV_TEST_CAMERA_LIST added

* Without fps set

* ASSERT_FAILED for environment variable

* Perf tests is DISABLED_

* --Trailing whitespace

* Return false from cap.cpp deleted

* Two functions deleted from interface, +range for, +environment variable in test_camera

* Space deleted

* printf deleted, perror added

* CV_WRAP deleted, cv2 cleared from stubs

* -- space

* default timeout added

* @param changed

* place of waitAny changed

* --whitespace

* ++function description

* function description changed

* revert unused changes

* videoio: rework API for VideoCapture::waitAny()
2019-11-15 19:42:12 +03:00
Alexander Alekhin
7ec91aefc1 python: force using of ArgInfo 2019-11-15 19:16:22 +03:00
Alexander Alekhin
b6a58818bb Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-11 20:25:42 +00:00
Maksim Shabunin
fccf284088 Fixed relative paths handling in cap_gstreamer: 2019-11-09 11:34:30 +00:00
Christoph Schmidt-Hieber
194304bbe4
Support software triggering aravis cameras
If an aravis camera is software triggered, a trigger needs to be explicitly sent using `arv_camera_software_trigger`, otherwise the camera will not grab any frames.
2019-10-16 10:59:43 +02:00
Alexander Alekhin
3fb6617d62 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-02 17:49:19 +03:00
Elms
8b483a91bc dshow: Add ability to save direct show graph 2019-10-01 09:46:07 -07:00
Alexander Alekhin
a74fe2ec01 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-20 21:11:49 +00:00
Maksim Shabunin
f10fce9ab4 AVFoundation: backported runtime authorization check from master 2019-09-13 13:20:29 +03:00
Maksim Shabunin
aaad238c6e AVFoundation: fix authorization request not being shown 2019-09-13 13:11:35 +03:00
Yuhel Tanaka
a13862e924 Fix issue #6450 2019-09-06 11:56:04 +09:00
Philippe FOUBERT
b77a0039ee Merge pull request #15351 from philippefoubert:pr_ximea
* Fix the detection of XIMEA on Windows (when it has been installed by another user with administrative privileges, for example).

* Change the flow: we first try HKEY_CURRENT_USER key and, if empty, then try HKEY_LOCAL_MACHINE
2019-08-21 00:01:34 +03:00
Alexander Alekhin
6a439ae53d videoio(doc): fix 'since' version 2019-08-20 13:15:56 +03:00
luz.paz
fcc7d8dd4e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`

backporting of commit: ec43292e1e
2019-08-16 17:34:29 +03:00
luz.paz
ec43292e1e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
2019-08-15 18:02:09 -04: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
596b8a5d06 Merge pull request #15263 from alalek:videoio_skip_msmf_tests3 2019-08-08 15:47:08 +00:00
Jake Howard
76b40a37e7 Merge pull request #15111 from RealOrangeOne:patch-1
* Remove unavoidable print of CV error

The return value covers whether the device exists.

This might be better hidden behind a debug flag, but I couldn't work out how to do that nicely.

* Use `CV_LOG_WARNING` macro to log rather than removing it entirely
2019-08-08 16:56:49 +03:00
Alexander Alekhin
a77275e650 videoio(test): skip unstable MSMF tests (3) 2019-08-08 16:25:19 +03:00
Alexander Alekhin
32da0705cf Merge pull request #15102 from dgel:force_input_format_ffmpeg 2019-08-06 20:52:57 +00:00
Douwe Gelling
96a27f4266 allow forcing the input format for ffmpeg backend with env var 2019-08-06 19:30:39 +03:00
fishjam
26ac5a3bdc try to fix VideoCapture different time stamp 2019-08-06 19:04:22 +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
365323afec Merge pull request #15234 from alalek:backport 2019-08-05 15:09:22 +00:00
Victor Romero
987bb2ca61 Fix build for UWP
backport of commit: f18cbd036a
2019-08-05 17:19:36 +03:00
Alexander Alekhin
406313bbc5 videoio(test): skip unstable MSMF tests 2019-08-05 16:57:26 +03:00
Victor Romero
f18cbd036a Merge pull request #15207 from vicroms:fix-uwp-build
Fix build for UWP (#15207)

* Guard non-WinRT calls to fix UWP build

* Remove unnecessary guard for WinRT
2019-08-03 22:53:38 +03:00
Maksim Shabunin
b231e91d87 Fix for building with old V4L 2019-08-02 11:19:49 +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
557990fdcf Merge pull request #15104 from alalek:videoio_fix_debug_message 2019-07-21 17:56:41 +00:00
Alexander Alekhin
61f589ddd0 videoio(gstreamer): more .get() checks 2019-07-19 13:16:58 +03:00
Alexander Alekhin
228af2d617 videoio: fix debug message 2019-07-18 21:45:07 +00:00
Alexander Alekhin
f663e8f903 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-09 19:57:57 +00:00
Tomasz Gorochowik
4997a6bf06 V4L2: Add V4L2_PIX_FMT_Y10 (10 bit grey) support 2019-07-09 14:36:00 +02:00
Maksim Shabunin
2a9521661e Fixed video writer filename check for plugins 2019-07-09 14:16:49 +03:00
Alexander Alekhin
43eba3d750 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-04 18:44:13 +03:00
Alexander Alekhin
07fe1cd6b8 videoio: eliminate build warnings (clang) 2019-07-03 21:57:05 +00:00
Alexander Alekhin
b95e93c20a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-26 20:19:04 +00:00
James Bowley
daa308f81c Update obsolete flag in Intel video decoder.
Old flag resulted in software implementation being selected when the Intel decoder is not the primary adapter.
2019-06-26 12:32:20 +03:00
Maksim Shabunin
46205a7235 videoio: fix GStreamer plugin build 2019-06-24 13:56:43 +03:00
Alexander Alekhin
442bc80cd7 pre: OpenCV 4.1.1 (version++) 2019-06-21 19:18:50 +03:00
Alexander Alekhin
f33f88de31 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-21 17:27:14 +03:00
Alexander Alekhin
6b32bd5f15 Merge pull request #14834 from alalek:videoio_gstreamer_issues 2019-06-21 13:38:34 +00:00
Alexander Alekhin
2b2633c11f videoio(gstreamer): port changes from 14834 2019-06-21 14:42:58 +03:00
Alexander Alekhin
8ab6efb8c0 videoio: refactor GStreamer backend
- exception safe smart pointers, fixed many memory leaks
- fixed errors handling
- fixed strings handling
- fixed file existence check
- fixed toFraction() implementation
- add 'drop=true' for v4l2 input
- avoid overriding custom pipelines sink's 'max-buffers' value
- updated valgrind supression rules
- added support for GStreamer native leaks tracking (via gst_deinit() call)
- repaired capturing through GStreamer0.10 (fixed CV_8UC1)
2019-06-20 17:48:18 +03:00
Alexander Alekhin
ab24325df3 videoio(test): avoid raw ptr in ffmpeg tests
causes leaks if FFmpeg is disabled through OPENCV_VIDEOIO_PRIORITY_FFMPEG=0
2019-06-20 17:48:18 +03:00
Alexander Alekhin
baf372ad3d videoio(test): add extra videoio tests 2019-06-20 17:48:18 +03:00
Alexander Alekhin
95d9cfb5c3 static analysis issues 2019-06-20 13:55:20 +03:00
Alexander Alekhin
26dfa5e77c ffmpeg: win32 wrapper update 2019-06-16 16:20:40 +00:00
Alexander Alekhin
7b099e0fe2 videoio: plugins support on Win32 2019-06-16 15:25:25 +00:00
Alexander Alekhin
cf9bddcb89 Merge pull request #14805 from alalek:fix_valgrind_issues 2019-06-14 14:15:01 +00:00
Alexander Alekhin
3af1b6ecdc valgrind: fix issues 2019-06-14 14:31:38 +03:00
Maksim Shabunin
ae31115017 Improved MediaSDK detection mechanism 2019-06-14 12:37:49 +03:00
Maksim Shabunin
5015829ce8 Fixed plugin installation location on Windows 2019-06-13 16:06:06 +03:00
Maksim Shabunin
f99f58d99f Allow setting IS_PART_OF_WORLD in command line, fix videoio plugin linking 2019-06-10 14:13:54 +03:00
Alexander Alekhin
ddcf388270 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-07 19:02:55 +03:00
Ahmed Ashour
5c56b8ce92 java: generated code to have javadoc 2019-06-05 12:44:03 +02:00
David Carlier
9fd95b93f7 FreeBSD build fix 2019-06-02 20:25:42 +01:00
Alexander Alekhin
43467a2ac7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-28 18:29:48 +00:00
Alexey Nikolaev
05563f5bc4 Merge pull request #14592 from aleksey-nikolaev:master
VideoCapture Direct Show. Added getter for CV_CAP_PROP_CONVERT_RGB, CAP_PROP_CHANNEL properties. (#14592)

* Added getter for CV_CAP_PROP_CONVERT_RGB, CAP_PROP_CHANNEL properties.
Some refactoring.

* One space less.
2019-05-27 19:18:36 +03:00
David Carlier
a6144b8e1a OpenBSD build fix 2019-05-25 10:18:34 +01:00
Alexander Alekhin
22701f0c27 imgcodecs(CAP_IMAGES): fix handling of input pattern 2019-05-24 22:13:25 +03:00
Alexander Alekhin
8bf9dda604 Merge pull request #14514 from mshabunin:fix-videoio-docs 2019-05-22 18:15:43 +00:00
Maksim Shabunin
bcf7286ad9 Docs: updated videoio module overview 2019-05-22 15:35:34 +03:00
Maksim Shabunin
6fc6207e93 Added videoio plugin for MediaSDK 2019-05-17 17:24:53 +03:00
Maksim Shabunin
9a81ff7315 Backported AVFoundation fixes from master branch 2019-05-07 13:57:44 +03:00
Alexander Alekhin
e28e3c9491 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-01 08:27:45 +00:00
Alexander Alekhin
2da00161c5 Merge pull request #14446 from mshabunin:old-v4l 2019-04-30 10:41:33 +00:00
Maksim Shabunin
683acd9ae2 Support very old V4L 2019-04-29 18:14:58 +03:00
Alexander Alekhin
c9f3f4d1d3 cmake: fix pkg-config handling
Avoid non-intentional call of "include(FindPkgConfig)"
It should be handled in the root CMakeLists.txt (safely for cross-compiling)
2019-04-26 18:19:03 +03:00
Alexander Alekhin
c024edb9a8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-19 15:43:58 +03:00
Alexander Alekhin
0d747daf47 cmake: use absolute library paths from 'pkgconfig'
- drop legacy check_module() macro
- drop 'ALIASOF_'
2019-04-15 22:11:49 +00:00
Alexander Alekhin
4635356435 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-13 20:00:54 +00:00
Alexander Alekhin
a9ddf12187 Merge pull request #14078 from alalek:test_python_from_modules 2019-04-12 11:39:12 +00:00
Alexander Alekhin
d68e722b71 Merge pull request #11748 from paroj:cap_except 2019-04-12 11:36:17 +00:00
Maksim Shabunin
5cb0eded64 Merge pull request #14278 from mshabunin:fix-osx-camera-auth-rt
* AVFoundation: Use runtime check for camera authorization
2019-04-11 19:16:50 +03:00
Alexander Alekhin
7621b91769
Merge pull request #14292 from alalek:issue_14291
* macosx: fix C++11 build

backporting commit c3cf35ab63

* macosx: eliminate build warning
2019-04-11 17:46:28 +03:00
kiwixz
c8056b3e27 Merge pull request #14276 from kiwixz:pr/fix_compound
Do not use compound literals (fix MSVC C4576) (#14276)

* do not use compound literals (compat cpp98)

* only fix msvc path

* remove unnecessary cplusplus check
2019-04-11 17:44:28 +03:00
Alexander Alekhin
a0a1fb5fec python: discover tests from module/misc/python/test paths 2019-04-10 18:35:35 +00:00
Pavel Rojtberg
15bb0b86ce VideoCapture: add exception error mode similar to fstream + test 2019-04-10 13:41:57 +02:00
Maksim Shabunin
aa1359dc19 Merge pull request #14267 from mshabunin:fix-osx-camera-auth
* Added authorization request to AVFoundation camera backend (OSX 10.14+)
2019-04-05 21:58:01 +03: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
Giles Payne
0d1a0b126b Merge pull request #14005 from komakai:android-video-cap
* Add Android Media NDK video i/o file capture back-end

* Fix failing test

* Improve error handling/prevent resource leaks

* Add license text

* Modify default for WITH_ANDROID_MEDIANDK option

* Fix spelling of deleter_AMediaExtractor
2019-03-19 21:28:45 +03:00
Alexander Alekhin
26087e28ad Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-15 22:42:57 +00:00
Maksim Shabunin
e4a4f93b72 Removed obsolete functions from cap_dc1394_v2.cpp 2019-03-14 12:08:16 +03:00
Alexander Alekhin
bd1fd59fc1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-13 19:13:13 +00:00
Josh Veitch-Michaelis
2143f7cee1 release frame after disabling convert rgb 2019-03-12 12:42:07 +00:00
Alexander Alekhin
8c0b0714e7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-11 19:20:22 +00:00
Christopher N. Hesse
796b0fec7d videoio: gst: Fix gst assertion on null msg
According to the gstreamer docs [1], the GstMessage pointer returned by
gst_bus_pop() is nullable, meaning NULL is a valid return value.

Previously, gst_is_missing_plugin_message would throw an assert when its
message object parameter would fail the GST_IS_MESSAGE macro check,
crashing the entire process (unless running in a try-catch block of course).

Instead of relying on valid messages, check if the message object itself is
valid before passing it to other gstreamer functions.

[1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-pop

Signed-off-by: Christopher N. Hesse <raymanfx@gmail.com>
2019-03-06 17:37:02 +01:00
Alexander Alekhin
332c37f332 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-06 11:43:16 +03:00
Alexander Alekhin
89c106b29e Merge pull request #13945 from alalek:backport_bindings_generator 2019-03-05 12:45:21 +00:00
Alexander Alekhin
b46fa2e556 Merge pull request #13970 from alalek:videoio_plugins_update 2019-03-05 11:48:39 +00:00
Alexander Alekhin
25a9a32f8e videoio: plugins, add strict checks 2019-03-05 13:22:52 +03:00
Alexander Alekhin
11fd9e5fdc videoio: revert registry chages, update cap.cpp 2019-03-04 21:37:20 +00:00
Alexander Alekhin
403f11fdbf videoio: update plugin API 2019-03-04 21:36:22 +00:00
Alexander Alekhin
b4cba524d3 videoio: move backend.cpp -> backend_plugin.cpp 2019-03-04 20:06:19 +00:00
Alexander Alekhin
93dab9e1e9 videoio(v4l): fix build due missing defines
- V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT
- V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH
2019-03-04 18:46:56 +03:00
Alexander Alekhin
9a6f2630b2 cmake: +opencv_videoio_plugins virtual target
- support comma-separated list in VIDEOIO_PLUGIN_LIST
- opencv tests/samples depend on plugins virtual target
2019-03-02 09:19:08 +00:00
Alexander Alekhin
f5b58e5fc9 bindings: backport generator from OpenCV 4.x
- better handling of enum arguments
- less merge conflicts
2019-03-01 20:18:48 +00:00
Alexander Alekhin
c3cf35ab63 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-26 17:34:42 +03:00
Maksim Shabunin
9702987209 Framework for dynamic videoio backends, FFmpeg and GStreamer plugins 2019-02-26 13:50:30 +03:00
Maksim Shabunin
8c1e0537ec Merge pull request #13889 from mshabunin:enable-narrowing-warning
* Enabled -Wnarrowing warning

* Fixed type narrowing issues

* Cast python constants

* Use long long for python constants

* Use int for python constants with fallback to long

* Update cv2.cpp
2019-02-26 13:15:59 +03:00
klemens
5d9c6723ee spelling fixes
backport 997b7b18af
2019-02-11 15:35:10 +03:00
klemens
997b7b18af spelling fixes 2019-02-09 22:29:54 +01: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
a8fb72a807 Fixed standalone FFmpeg search with pkg-config 2018-12-27 14:40:44 +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
1dee705074 Merge branch '3.4' into merge-3.4 2018-12-22 05:40:15 +00:00
Alexander Alekhin
6c1638b132 Merge pull request #13487 from alalek:videoio_test_frame_size_changing 2018-12-21 12:17:06 +00:00
Alexander Alekhin
37a63ca02b Merge pull request #13488 from alalek:fix_videoio_v4l2_build 2018-12-21 09:07:38 +00:00
Alexander Alekhin
8456d096d2 videoio(v4l2): fix build due missing V4L2_CID_ISO_SENSITIVITY 2018-12-20 16:28:12 +03:00
Alexander Alekhin
a3a3670027 videoio(test): test V4L frame size changing manual test 2018-12-20 15:14:20 +03:00
Vasiliy Sorokin
b6a72826dd videio: Fix new frame size appling in v4l. 2018-12-20 14:59:39 +03:00
Alexander Alekhin
7fb70e1701 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-18 19:07:43 +00:00
Alexander Alekhin
eb1f3733ee videoio(dc1394): use lazy initialization on demand 2018-12-15 07:58:39 +00:00
Pavel Rojtberg
d7f60f69f1 videoio: fix CAP_IMAGES
broken in 11eafca3e2
2018-12-14 15:32:33 +01:00
Alexander Alekhin
0c16d8f6c3 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-13 15:12:26 +03:00
Alexander Alekhin
b7bb79c7c8 videoio(MSMF): backport WITH_MSMF_DXVA flag 2018-12-13 14:56:20 +03:00
Alexander Alekhin
cea3289bd4 Merge pull request #13420 from ThadHouse:Windows7shlwapi 2018-12-12 14:58:51 +00:00
Thad House
857fba0878 Remove MinCore_Downlevel, replace with Shlwapi
On windows 7, MinCore_Downlevel does not work correctly. However, the only API used was QISearch, which can be found in Shlwapi.

Closes #12010
2018-12-11 17:06:01 -08:00