Commit Graph

706 Commits

Author SHA1 Message Date
Brian Wignall
f9c514b391 Fix spelling typos
backport commit 659ffaddb4
2019-12-27 12:46:53 +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
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
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
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
Alexander Alekhin
7ec91aefc1 python: force using of ArgInfo 2019-11-15 19:16:22 +03:00
Maksim Shabunin
fccf284088 Fixed relative paths handling in cap_gstreamer: 2019-11-09 11:34:30 +00:00
Elms
8b483a91bc dshow: Add ability to save direct show graph 2019-10-01 09:46:07 -07: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
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
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
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
Maksim Shabunin
b231e91d87 Fix for building with old V4L 2019-08-02 11:19:49 +03: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
Tomasz Gorochowik
4997a6bf06 V4L2: Add V4L2_PIX_FMT_Y10 (10 bit grey) support 2019-07-09 14:36:00 +02:00
Alexander Alekhin
07fe1cd6b8 videoio: eliminate build warnings (clang) 2019-07-03 21:57:05 +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
Alexander Alekhin
6b32bd5f15 Merge pull request #14834 from alalek:videoio_gstreamer_issues 2019-06-21 13:38:34 +00: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
Ahmed Ashour
5c56b8ce92 java: generated code to have javadoc 2019-06-05 12:44:03 +02: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
Alexander Alekhin
22701f0c27 imgcodecs(CAP_IMAGES): fix handling of input pattern 2019-05-24 22:13:25 +03:00
Maksim Shabunin
9a81ff7315 Backported AVFoundation fixes from master branch 2019-05-07 13:57:44 +03: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
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
a9ddf12187 Merge pull request #14078 from alalek:test_python_from_modules 2019-04-12 11:39:12 +00: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
Maksim Shabunin
e4a4f93b72 Removed obsolete functions from cap_dc1394_v2.cpp 2019-03-14 12:08:16 +03:00
Josh Veitch-Michaelis
2143f7cee1 release frame after disabling convert rgb 2019-03-12 12:42:07 +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
89c106b29e Merge pull request #13945 from alalek:backport_bindings_generator 2019-03-05 12:45:21 +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
f5b58e5fc9 bindings: backport generator from OpenCV 4.x
- better handling of enum arguments
- less merge conflicts
2019-03-01 20:18:48 +00: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
Maksim Shabunin
9c4eb20221 AVFoundation on Mac: fixed frame count and unsupported format handling 2019-01-24 16:15:08 +03: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
eb1f3733ee videoio(dc1394): use lazy initialization on demand 2018-12-15 07:58:39 +00: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
Alexander Alekhin
26d2095dd6 videoio(v4l): initialize members in ctor 2018-12-03 15:22:20 +03:00
Alexander Alekhin
801c943009 fix coverity reports 2018-11-11 13:51:47 +00:00
Alexander Alekhin
8675a8c743 Merge pull request #12878 from tompollok:3.4 2018-11-09 19:54:17 +00:00
Pavel Rojtberg
afa0f80c61 videoio: add manual white-balance and implement it for V4L2 2018-11-09 17:14:33 +01:00
Alexey Nikolaev
8396ae6e4f Merge pull request #12893 from aleksey-nikolaev:cap-update
V4L (V4L2): Refactoring. Added missed camera properties. Fixed getting `INF` for some properties. Singlethread as always (#12893)

* cap_v4l:
1 Added cap_properties verbalization.
2 Set Get of properties elementary refactoring.
3 Removed converting parameters to/from [0,1] range.
4 Added all known conversion from V4L2_CID_* to CV_CAP_PROP_*

* cap_v4l:
1. Removed all query for parameters range.
2. Refactored capture initialization.
3. Added selecting input channel by CV_CAP_PROP_MODE. Default value -1 the channels not changed.

* cap_v4l:
1. Refactoring of Convert To RGB

* cap_v4l:
1. Fixed use of video buffer index.
2. Removed extra memcopy for grab image.
3. Removed device closing from autosetup_capture_mode_v4l2

* cap_v4l:
1. The `goto` was eliminated
2. Fixed use of temporary buffer index for V4L2_PIX_FMT_SN9C10X
3. Fixed use of the bufferIndex
4. Removed trailing spaces and unused variables.

* cap_v4l:
1. Alias for capture->buffers[capture->bufferIndex]
2. Reduced size of data for memcpy: bytesused instead of length
3. Refactoring. Code duplication. More info for debug

* cap_v4l:
1. Added the ability to grab and retrieveFrame independently several times

* cap_v4l:
1. Not need to close/open device for new capture parameters applying.
2. Removed using of device name as a flag that the capture is closed. Added sufficient function.
3. Refactoring. Added requestBuffers and createBuffers

* cap_v4l:
1. Added tryIoctl with `select` like was in mainloop_v4l2.
2. Fixed buffer request for device without closing the device.
3. Some static function moved to CvCaptureCAM_V4L
4. Removed unused defines

* cap_v4l:
1. Thread-safe now

* cap_v4l:
1. Fixed thread-safe destructor
2. Fixed FPS setting

* Missed brake

* Removed thread-safety

* cap_v4l:
1. Reverted conversion parameters to/from [0,1] by default for backward compatibility.
2. Added setting for turn off compatibility mode: set CV_CAP_PROP_MODE to 65536
3. Most static functions moved to CvCaptureCAM_V4L
4. Refactoring of icvRetrieveFrameCAM_V4L and using of frame_allocated flag

* cap_v4l:
1. Added conversion to RGB from NV12, NV21
2. Refactoring. Removed wrappers for known format conversions.

* Added `CAP_PROP_CHANNEL` to the enum VideoCaptureProperties.
CAP_V4L migrated to use VideoCaptureProperties.

* 1. Update comments.
2. Environment variable `OPENCV_VIDEOIO_V4L_RANGE_NORMALIZED` for setting default backward compatibility mode.
3. Revert getting of `CAP_PROP_MODE` as fourcc code in backward compatibility mode.

* videoio: update cap_v4l - compatibilityMode => normalizePropRange

* videoio(test): V4L2 MJPEG test

`v4l2-ctl --list-formats` should have 'MJPG' entry

* videoio: fix buffer initialization

to avoid "munmap: Invalid argument" messages
2018-11-08 21:27:45 +03:00
tompollok
2da56d5af6 refactoring catching all exceptions as const ref 2018-11-08 19:59:47 +03:00
unknown
13ede34516 Add support for changing fourcc and support mono formats (e.g. Y8, Y16) 2018-11-07 21:03:36 +00:00
Alexander Alekhin
c72b6b3be8 Merge pull request #13043 from alalek:compatibility_12623 2018-11-07 20:54:40 +00:00
Alexander Alekhin
4395c1b9f8 videoio: backport "VideoCapture(int index, int apiPreference)" interface 2018-11-04 17:27:47 +00:00
Alexander Alekhin
c6d2f0399a videoio: fix build of standalone ffmpeg plugin 2018-11-03 02:17:47 +00:00
Emanuele Ruffaldi
b4398d62b2 ffmpeg for lossy 2018-11-01 00:06:29 +00:00
Alexander Alekhin
a1bd39441f videoio: fix typo 2018-10-24 19:12:35 +03:00
Michał Janiszewski
5640b36f6d Remove unused empty block 2018-10-16 22:51:03 +02:00
Alexander Alekhin
b54a70a538 videoio: return -1 is incorrect for function with 'bool' result 2018-10-15 18:20:15 +00:00
Alexander Alekhin
068ebe8b4d Merge pull request #12693 from peters:patch-1 2018-10-03 06:14:44 +00:00
Peter Rekdal Sunde
042c486b68 Obtain fourcc when AVStream is network stream
The `codec_tag` is only available when opening a file from disk. If `AVStream` is a network stream then `fourcc` must be obtained using `codec_id`. I have tested the following scenarios:
1) Open a `.mp4` file and verify that `codec_tag` is returned (old behavior)
2) Open a `rtsp` stream and verify that `codec_fourcc` is returned (Tested with a MJPEG, H264 and H265 stream)
2018-10-02 22:15:05 +02:00
Loic Petit
255b20f6de
Fix frame rate rounding in ffmpeg wrapper (#9023) 2018-09-30 22:24:02 +02:00
Alexander Alekhin
d3eed2cf23 videoio: CAP_PROP_BACKEND property interface 2018-09-18 16:25:01 +00:00
Alexander Alekhin
51f7eb3a3c videoio(test): add "camera" tests
- disabled due specific requirements (camera, OpenNI camera, etc)
- designed for manual validation
2018-09-18 16:19:19 +00:00
Alexander Alekhin
b35fbff675 videoio: added '.getBackendName()' method 2018-09-18 16:19:19 +00:00
Alexander Alekhin
3cab9e7a9c 3.4: fixes 2018-09-18 08:31:11 +00:00
Hamdi Sahloul
5d54def264 Add semicolons after CV_INSTRUMENT macros 2018-09-14 06:45:31 +09:00
cyy
286c2c236b Merge pull request #12458 from DEEPIR:3.4
* may be an typo fix

* remove identical branch,may be paste error

* add parentheses around macro parameter

* simplify if condition

* check malloc fail

* change the condition of branch removed by commit 3041502861
2018-09-07 18:43:47 +03:00
Hamdi Sahloul
a39e0daacf Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09:00
Alexander Alekhin
8a3c394d6a don't use constructors for C API structures 2018-09-06 14:34:16 +03:00
Alexander Alekhin
c441ad36c8 build: don't use nullptr without C++11 guard 2018-09-05 06:19:02 +00:00
Todor Tomov
9988e1b6ee cap_v4l: Fix private control enumeration end condition
Currently the private control enumeration will be stopped when QUERYCTRL
returns -EINVAL only. It is possible however that other errors occur.

One particular case is when the v4l2 device doesn't support any controls
and doesn't implement the QUERYCTRL ioctl. In that case the v4l2
framework returns -ENOTTY. In that case the current control enumeration
will go in an endless loop.

To fix this change the control enumeration stop condition. If any errors
occur, end the control enumeration.

Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
2018-09-04 11:33:08 +03:00
Peter Jozsa
8b0e1c7fcb Fix https://github.com/opencv/opencv/issues/12301 2018-09-03 14:56:38 +02:00
Maxim Smirnov
c94d75874b CV_Asserts changed
Some `CV_Assert`s changed to `CV_Assert_N`s according to https://github.com/opencv/opencv/issues/12304
2018-08-25 14:52:27 +03:00
Kaartic Sivaraam
a527e8cc73 cap-v4l: remove unwanted loop in V4L2 mainloop
The while loop would run only once making it useless and leading
to confusion.

So, remove the unwanted while loop and just keep an infinite for
loop.
2018-08-21 16:41:01 +05:30
Alexander Alekhin
31fef14d76 Merge pull request #12136 from sturkmen72:update_documentation 2018-08-17 14:02:20 +00:00
Suleyman TURKMEN
c61bc3a0cb Update documentation and samples 2018-08-17 14:21:29 +03:00
Maksim Shabunin
39f5e57321 Merge pull request #12159 from zarelaky:master 2018-08-07 13:15:19 +00:00
zarelaky
715f23127c Update cap_gstreamer.cpp
fixed call open(int id) failed
2018-08-07 15:21:46 +03:00