Commit Graph

589 Commits

Author SHA1 Message Date
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
Maksim Shabunin
731aa963bd Merge pull request #12166 from berak:fix_mjpeg_decoder 2018-08-07 12:09:13 +00:00
berak
7e353a1ec5 videoio: check iterator in mjpeg_encoder.cpp 2018-08-07 11:43:37 +02:00
Maksim Shabunin
a2daf0c83c videoio: added YUV420 format (UV order) support to v4l capture 2018-08-02 18:34:11 +03:00
Alexander Alekhin
61c870ae09 Merge pull request #12080 from mshabunin:fix-static-3 2018-07-31 14:53:28 +00:00
Alexander Alekhin
0bef42ba12 videoio: add note about image BGR format VideoWriter::write() 2018-07-28 09:08:09 +00:00
Maksim Shabunin
dd8e990451 Fixed several issues found by static analysis, GStreamer backend 2018-07-27 18:41:39 +03:00
Maksim Shabunin
e031bada7d Fixed several issues found by static analysis, Windows-specific 2018-07-27 18:25:55 +03:00
Alexander Alekhin
5336b9ad19 Merge pull request #12048 from mshabunin:fix-static-2 2018-07-24 19:45:27 +00:00
Alexander Alekhin
8a2ce75d96 Merge pull request #12020 from alalek:videoio_backends_query_api 2018-07-24 19:43:49 +00:00
Maksim Shabunin
cbb1e867e5 More issues found by static analysis 2018-07-24 16:04:42 +03:00
Maksim Shabunin
e0603bb45f Fixed several issues found by static analysis tools 2018-07-23 17:22:47 +03:00
Alexander Alekhin
b117302bca Merge pull request #12016 from tyl12:fix_videoio_static_para 2018-07-21 03:50:58 +00:00
Teng Yiliang
dadde75ef0 use struct member width_set/height_set to replace static width/height.
the static variables will cause race-condition when operating in
multithread scenarios.

Signed-off-by: Teng Yiliang <ylteng@outlook.com>
Signed-off-by: Teng Yiliang <yiliang.teng@weimob.com>
2018-07-21 07:27:17 +08: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
Maksim Shabunin
a2a9a01e05 AVI container: verbose error messages 2018-07-18 15:22:42 +03:00
Maksim Shabunin
53eb27f508 AVI container: use C++ streams for file operations, check some operations for overflow 2018-07-16 13:46:28 +03:00
Alexander Alekhin
b09a4a98d4 opencv: Use cv::AutoBuffer<>::data() 2018-07-04 19:11:29 +03:00