Commit Graph

14751 Commits

Author SHA1 Message Date
Vadim Pisarevsky
46718cae28 Merge pull request #3209 from PhilLab:patch-5 2014-09-14 18:47:21 +00:00
Vadim Pisarevsky
8d61ecbc4d Merge pull request #3205 from parafin:ximea_unix-3.0 2014-09-14 18:44:41 +00:00
Vadim Pisarevsky
87f0010f42 Merge pull request #3203 from parafin:bug_3858-3.0 2014-09-14 18:44:06 +00:00
Vadim Pisarevsky
8fe18fefdd Merge pull request #3207 from jamoque:more-better-fixes 2014-09-14 18:41:06 +00:00
Vadim Pisarevsky
ad9f9e2ce7 Merge pull request #3213 from mshabunin:png_iccp_strip 2014-09-14 18:39:33 +00:00
Dmitriy Anisimov
a6b29be55b minor change: moved algorithm type to the end of params 2014-09-13 15:06:07 +04:00
Dmitry Gribanov
ee0da48bd2 Feature based stitching's wave correction bugfix.
When we have similar matrices in input, then algorithm returns matrices
with NaN values.
2014-09-12 18:07:54 +04:00
Maksim Shabunin
88aea1d52f Stripped iCCP chunk from png files 2014-09-12 16:30:23 +04:00
Andrey Pavlenko
79f593a429 Merge pull request #3198 from mshabunin:java_test_fix 2014-09-11 16:15:25 +00:00
vbystricky
b0bf8478e5 Optimization OpenCL version of Filter2D 2014-09-11 12:59:51 +04:00
Maksim Shabunin
39874ef742 Fixed some failing java tests
- fixed lena.png extension
- fixed getTextSize wrapper
- added junit html report generation
2014-09-11 11:56:05 +04:00
Philipp Hasper
ac206ccb05 Visual Studio tutorial: updated library names 2014-09-10 19:12:06 +02:00
GregoryMorse
b5a4159efc Add support for WinRT in the MF capture framework by removing the disallowed calls to enumerate devices and create a sample grabber sink and adding framework for the MediaCapture interface and a custom sink which interfaces with the sample grabber callback interface. The change requires discussion for making it completely functional as redundancy is required given that if the source is a video file, the old code pathways must be used. Otherwise all IMFMediaSession, IMFMediaSource, and IMFActivate code must use a MediaCapture code path and all sink code must use the CMediaSink custom sink.
Support for the custom sink is extended to non-WinRT not for compatibility as Windows Vista client is a minimum regardless, but because it offers more flexibility, could be faster and is able to be used as an optionally different code path during sink creation based on a future configuration parameter.

My discussion and proposal to finish this change:
 Devices are so easily enumerated through WinRT Windows.Devices namespace that wrapping the calls in a library is quite a chore for little benefit though to get the various modes and formats could still be a worthwhile project. For now conditional compilation to remove videodevices and any offending non-video file related activity in videodevice. In my opinion, this is a different , far less fundamental and important change which can possibly be done as a future project and also much more easily implemented in C++/CX.

ImageGrabber has the IMFSampleGrabberSinkCallback replaced with a base class (SharedSampleGrabber) which also be is base class for ImageGrabberRT. This change is necessary as the custom sink does not require a thread to pump events which is done through MediaCapture already. IMFSampleGrabberSinkCallback is the common element between both models and that piece can be shared. Initializing the new ImageGrabberRT is as simple as passing an already initialized MediaCapture object and any video format/encoding parameters.

The concurrency event is necessary to wait for completion and is the way the underlying, IAsyncAction wrappers in the task library work as well. Native WIN32 event objects would be an option if HAVE_CONCURRENCY is not defined. I could even imagine doing it with sleep/thread yield and InterlockedCompareExchange yet I am not enthusiastic about that approach either. Since there is a specific compiler HAVE_ for concurrency, I do not like pulling it in though I think for WinRT it is safe to say we will always have it available though should probably conditionally compile with the Interlocked option as WIN32 events would require HAVE_WIN32.

It looks like C++/CX cannot be used for the IMediaExtension sink (which should not be a problem) as using COM objects requires WRL and though deriving from IMediaExtension can be done, there is little purpose without COM. Objects from C++/CX can be swapped to interact with objects from native C++ as Inspectable* can reinterpret_cast to the ref object IInspectable^ and vice-versa. A solution to the COM class with C++/CX would be great so we could have dual support. Also without #define for every WRL object in use, the code will get quite muddy given that the */^ would need to be ifdef'd everywhere.

Fixed bugs and completed the change.  I believe the new classes need to be moved to a header file as the file has become to large and more classes need to be added for handling all the asynchronous problems (one wrapping IAsyncAction in a task and another for making a task out of IAsyncAction).  Unfortunately, blocking on the UI thread is not an option in WinRT so a synchronous architecture is considered "illegal" by Microsoft's standards even if implementable (C++/CX ppltasks library throws errors if you try it).  Worse, either by design or a bug in the MF MediaCapture class with Custom Sinks causes a crash if stop/start previewing without reinitializing (spPreferredPreviewMediaType is fatally nulled).  After decompiling Windows.Media.dll, I worked around this in my own projects by using an activate-able custom sink ID which strangely assigns 1 to this pointer allowing it to be reinitialized in what can only be described as a hack by Microsoft.  This would add additional overhead to the project to implement especially for static libraries as it requires IDL/DLL exporting followed by manifest declaration.  Better to document that it is not supported.

Furthermore, an additional class for IMFAttributes should be implemented to make clean architecture for passing around attributes as opposed to directly calling non-COM interface calls on the objects and making use of SetProperties which would also be a set up for an object that uses the RuntimeClass activation ID.

The remaining changes are not difficult and will be complete soon along with debug tracing messages.

Update and rename cap_msmf.h to cap_msmf.hpp

Successful test - samples are grabbed

Library updated and cleaned up with comments, marshaling, exceptions and linker settings
Fixed trailing whitespace

VS 2013 support and cleanup consistency plus C++/CX new object fixed

Conflicts:
	modules/highgui/src/cap_msmf.cpp
	modules/highgui/src/cap_msmf.hpp
	modules/highgui/src/ppltasks_winrt.h

Fix merge conflicts

VS 2013 Update 2 library bug fix integrated

a-wi's changed integrated
2014-09-10 17:05:52 +08:00
Vadim Pisarevsky
71edf1b5f1 Merge pull request #3189 from mshabunin:python_cross_build 2014-09-10 07:57:09 +00:00
Vadim Pisarevsky
2e950eb41b Merge pull request #3196 from PhilLab:patch-4 2014-09-10 07:56:13 +00:00
jeremy
56091bae1f changing many instances of the same grammar error in documentation 2014-09-09 17:03:59 -05:00
Daniel Stonier
d3ad26926d fixed support for parallelised imshows with qt via the gui receiver. 2014-09-10 03:29:17 +09:00
Igor Kuzmin
ed402c5be6 XIMEA cam support: allow on OS X too 2014-09-09 19:25:14 +04:00
Igor Kuzmin
4d45a2c43f XIMEA cam support: use correct library for 64 bit Linux 2014-09-09 19:24:16 +04:00
Igor Kuzmin
74827c35ff fix for issue 3858 (remove unneeded #include's)
also use correct include path on Linux
2014-09-09 19:22:20 +04:00
Philipp Hasper
62c704d1e9 Updated PnP parameter documentation 2014-09-09 12:24:05 +02:00
Alexander Alekhin
f03b11d271 Merge pull request #3199 from apavlenko:fix_docs_typo 2014-09-09 09:18:43 +00:00
Pierrick Koch
aeda3d2d69 [samples/pyhton] fix common {LINE->CV}_AA 2014-09-09 11:04:24 +02:00
Andrey Pavlenko
a8db3df8f6 typo: rect -> roi 2014-09-09 12:25:14 +04:00
Maksim Shabunin
c42424f2db Fixed android samples build 2014-09-08 23:22:29 +04:00
Maksim Shabunin
93c03ef05b Fixed android java test build 2014-09-08 19:21:32 +04:00
Maksim Shabunin
b3bae170ed Fixed java tests build
- disabled xfeature2d dependency for java wrappers
- fixed java wrappers build after cmake rerun
- disabled opencv_ml tests temporarily
- fixed Imgproc usage in java tests
2014-09-08 18:30:03 +04:00
Andrey Pavlenko
43714b9d03 disabling java bindings for xfeatures2d module due to build errors 2014-09-08 18:30:03 +04:00
Philipp Hasper
cc7aa5890d Fixing documentation links 2014-09-08 14:41:29 +02:00
Alexander Alekhin
0b53ca2848 Merge pull request #3192 from jkua:master 2014-09-08 11:02:16 +00:00
Alexander Alekhin
eac4042ed5 Merge pull request #3195 from akarsakov:ocl_rm_mul24 2014-09-08 11:00:59 +00:00
Alexander Karsakov
c942c6539a Remove mul24 since id can be larger 2^23 2014-09-08 13:11:58 +04:00
Dmitriy Anisimov
ad00e0dd43 tt & header background colors changed 2014-09-06 14:15:04 +04:00
Dmitriy Anisimov
dfaf75f502 moving algorithm type to param 2014-09-06 09:29:32 +04:00
Dmitriy Anisimov
e7b3a73b62 fixed all known issues 2014-09-05 21:56:25 +04:00
John Kua
fb0c0eaa7c Fixed bad non-ASCII character in how_to_scan_images.cpp which causes a compile error 2014-09-04 16:36:36 -07:00
Vadim Pisarevsky
618c75fe3d Merge pull request #3182 from berak:videowriter_docfix_30 2014-09-04 17:09:18 +00:00
Vadim Pisarevsky
26c284b225 Merge pull request #3167 from akarsakov:ocl_rm_clFinish 2014-09-04 17:00:10 +00:00
berak
5f9d5c483c adding fourcc to VideoWriter docs
underline
2014-09-04 16:09:22 +02:00
Maksim Shabunin
2c2cdcf789 Changed cmake python library search startegy for crosscompiling 2014-09-04 16:29:46 +04:00
Vadim Pisarevsky
ffd1df0cb5 Merge pull request #3186 from akarsakov:ocl_fixes 2014-09-04 08:54:24 +00:00
Vadim Pisarevsky
64a53de27d Merge pull request #3185 from ElenaGvozdeva:ocl_norm 2014-09-04 08:53:47 +00:00
Ilya Lavrenov
98e7d4ceec changed optimal vector width for Intel 2014-09-04 11:59:41 +04:00
Elena Gvozdeva
9fe11db7e2 disabled IPP acceleration for 3-channel norms and for CV_8S only for APPLE 2014-09-04 10:38:45 +04:00
Dmitriy Anisimov
e7af509c86 different enhancements 2014-09-03 22:25:08 +04:00
Alexander Karsakov
07d57db91c Fixed calculation of l_stack_size 2014-09-03 17:40:17 +04:00
Alexander Alekhin
97ab91dcc9 Merge pull request #3187 from akarsakov:ocl_disabled_minmaxidx 2014-09-03 12:56:24 +00:00
Alexander Karsakov
7d91b8efcd Removed redundant clFinish() after clEnqueueUnmapMemObject()
sss
2014-09-03 14:54:05 +04:00
Alexander Karsakov
f57a4bf87b Disabled minMaxIdx for 32FC1 since it occasionally fails on AMD devices (e.g. A10-6800K) 2014-09-03 14:36:51 +04:00
Vadim Pisarevsky
0276cc90c2 Merge pull request #3184 from ilya-lavrenov:arm 2014-09-03 05:40:19 +00:00