Commit Graph

114 Commits

Author SHA1 Message Date
Peter Johnson
6c19eb59b2 VideoSource, VideoSink: Provide equality operation.
* Provide hashCode implementation for Java.

* Provide getHandle for both C++ and Java.
2016-11-18 12:41:08 -08:00
Peter Johnson
797d049f31 Use java.util.function.Consumer for event listener. 2016-11-18 12:41:08 -08:00
Peter Johnson
0bcafedebf MJPEGServerImpl: Refactor NeedsDHT. 2016-11-18 12:40:31 -08:00
Peter Johnson
7e0e8286eb SourceImpl: Refactor frame allocation into AllocFrame. 2016-11-18 12:40:31 -08:00
Peter Johnson
5ae1162378 Move MJPEG DHT insertion from SourceImpl to MJPEGServerImpl.
OpenCV imdecode supports images with no DHT, so it's not necessary to
add it on the source side.
2016-11-18 12:40:31 -08:00
Peter Johnson
c80c4ae55c MJPEGServer: Use worker thread model.
Also make the worker thread a class for future per-client configuration use.

Depends on wpiutil #153.
2016-11-18 12:40:31 -08:00
Peter Johnson
254b88bdbe Start adding support for non-MJPEG frame types.
Not yet supported by MJPEGServer.
2016-11-18 12:40:31 -08:00
Thad House
41dd9e4f06 Loads OpenCV JNI Library in Java (#15) 2016-11-11 21:55:13 -08:00
Thad House
468cac543f Fixes JNI 2016-11-06 19:28:14 -08:00
Thad House
d4b48216e8 Renames uberzip to athena-uberzip, and doesn't include static library in it 2016-11-06 17:42:34 -08:00
Peter Johnson
f83ff41e47 Rename from cameraserver to cscore.
This is primarily to avoid header naming conflicts with wpilib.
2016-11-05 22:11:55 -07:00
Thad House
891ce06312 Adds opencv headers to uberzip (#11) 2016-11-05 21:37:47 -07:00
Thad House
0658ba6f77 Adds javadocs and sources to published windows builds (#10) 2016-11-05 21:37:24 -07:00
Peter Johnson
29d8d1d74c Implement listener interfaces. 2016-11-05 13:19:02 -07:00
Peter Johnson
8d2efb2838 Improve listener interface.
Now a structure is passed back, enabling combining the existing source
and sink listeners and adding property listeners as well.
2016-11-05 13:19:02 -07:00
Thad House
e07a40a16d Adds an UberZip that preincludes the opencv libraries
Helps eclipse a lot
2016-11-05 12:01:16 -07:00
Thad House
38a3eda6a7 Switches CameraServer on Arm to use non-included native library 2016-11-05 11:37:12 -07:00
Thad House
6d1ab7606b Enables temporary publishing on windows 2016-11-05 11:36:30 -07:00
Peter Johnson
46085824ae Add DHT data to MJPEG source images if not present. 2016-11-02 21:32:13 -07:00
Thad House
7067179b28 Ignores the vscode directory. (#6) 2016-11-01 00:37:10 -07:00
Peter Johnson
4828a69867 Update versioning plugin. 2016-10-31 20:15:42 -07:00
Peter Johnson
3fcc808e99 Use zlib built into OpenCV. 2016-10-31 20:00:14 -07:00
Peter Johnson
15cdd661a4 Simplify OpenCV dependencies.
Depends on https://github.com/wpilibsuite/opencv/pull/6
2016-10-30 23:58:33 -07:00
Thad House
f87baaa4fc Moves dependencies to their own gradle file, and adds capabilities to link to ntcore and wpilib (#4) 2016-10-29 22:36:04 -07:00
Peter Johnson
87c7a9db54 Add USB and OpenCV processed dual stream example. 2016-10-28 00:54:28 -07:00
Peter Johnson
fa2ce40084 Add OpenCV library links to example executables. 2016-10-28 00:53:44 -07:00
Peter Johnson
4eac3fe9a0 Disable x86 platform for now until we get OpenCV working with it. 2016-10-28 00:52:41 -07:00
Peter Johnson
d7efd62511 build.gradle: Fix OpenCV library order.
Also include OpenCV-built liblibjpeg.a and liblibpng.a.
2016-10-28 00:51:28 -07:00
Peter Johnson
e10b399f51 CvSource: Implement NotifyError. 2016-10-28 00:47:18 -07:00
Peter Johnson
39a8195386 CvSourceImpl: Add stub for CreateProperty(callback). 2016-10-28 00:46:43 -07:00
Peter Johnson
43331419f6 MJPEGServer: Output boundary at start of image instead of end.
This avoids hiccups/timeouts causing the next image being seen as a
completely new file rather than a continuation of a multi-part.
2016-10-26 23:58:22 -07:00
Peter Johnson
c66a55d81a Implement CvSink.
* Make CvSink constructor explicit.

* Add SetDescription function.
2016-10-26 23:37:00 -07:00
Peter Johnson
9a44a38141 Fix source and sink refcounting. 2016-10-26 23:34:44 -07:00
Peter Johnson
5f69cb2a5b SinkImpl: Refactor GetDescription, add GetError, SetEnabled. 2016-10-26 23:31:48 -07:00
Peter Johnson
a5f63c3ae3 SourceImpl::GetNextFrame(): Avoid spurious wakeups. 2016-10-26 23:31:18 -07:00
Peter Johnson
0053962182 SourceImpl: add PutError().
The error message is stored as a normal frame with unknown pixel format.
2016-10-26 23:30:13 -07:00
Peter Johnson
c462d0b249 CvSourceImpl.h: Remove unnecessary include. 2016-10-26 23:26:15 -07:00
Peter Johnson
7ca6c5ef34 Remove RemoveSourceProperty. 2016-10-24 22:29:58 -07:00
Peter Johnson
511d551546 Implement most CvSource functionality. 2016-10-24 20:27:00 -07:00
Peter Johnson
7ea13f7e03 Refactor properties from USBCameraImpl to SourceImpl. 2016-10-23 18:20:56 -07:00
Peter Johnson
6754703ad1 Updated the wpilib version plugin to 1.2.
Fixes issues with submodules.
2016-10-23 14:17:16 -07:00
Peter Johnson
9b6f4ecd0d Don't check for existence in distributing .debug files.
This check is unnecessary and is run during task creation, so prevents
the .debug file from being included the first time gradle is run.
2016-10-23 10:42:51 -07:00
Peter Johnson
9142cbb820 CvSource: Update interface functions.
- Add SetDescription
- Supply minimum, maximum, step, defaultValue, and value to CreateProperty
- Add SetEnumPropertyChoices
2016-10-23 08:43:06 -07:00
Peter Johnson
1f6b386325 Implement frame timestamps and use wpi::Now() for generation. 2016-10-22 22:09:47 -07:00
Peter Johnson
aad1266a94 Distribute shared library .debug files. 2016-10-22 09:57:38 -07:00
Peter Johnson
06a40680aa Change debug strip to be part of link task (as doLast).
This avoids spurious re-linking.
2016-10-22 09:57:38 -07:00
Peter Johnson
cc2cbf810d Exclude opencv MANIFEST.MF files to prevent repeat unzips.
As natives and jni extract to the same location, their MANIFEST.MF files
were overwriting each other.
2016-10-22 09:57:38 -07:00
Peter Johnson
cf9aa90321 Don't overwrite platform-dependent opencv zip files.
This was causing native downloads to overwrite each other.

Also create a single def for openCvNativesFolder.
2016-10-22 09:57:38 -07:00
Peter Johnson
d51f6c45e5 JNI: initialize status to 0. 2016-10-22 09:57:38 -07:00
Peter Johnson
017ec83ce3 Add support for OpenCV to Java wrappers. 2016-10-22 09:57:38 -07:00