Commit Graph

91 Commits

Author SHA1 Message Date
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
Peter Johnson
6641612de5 Update to use wpi version plugin. 2016-10-22 09:57:38 -07:00
Peter Johnson
218718a063 Add OpenCV dependency and update OpenCV interfaces.
This requires the wpilibsuite/opencv packages with PRs 1-3 applied.
2016-10-22 09:57:33 -07:00
Peter Johnson
0a8e0e9746 MJPEGServer: Pass resolution and FPS requests to source. 2016-10-17 20:16:49 -07:00
Peter Johnson
9caa0af4d9 USBCamera, HTTPCamera: Name functions consistent with classes. 2016-10-15 23:07:28 -07:00
Peter Johnson
70531762b9 usbstream: Wait for enter rather than infinite loop/sleep. 2016-10-15 22:45:56 -07:00
Peter Johnson
30f4ecd171 Rename HTTPSink to MJPEGServer. 2016-10-15 22:44:26 -07:00
Peter Johnson
d56c3f9adf USBCamera: Default to MJPEG and lowest resolution. 2016-10-15 21:27:03 -07:00
Peter Johnson
73a97c1774 USBCamera: Finish implementing mode support. 2016-10-15 17:24:47 -07:00
Peter Johnson
8ec2b1d96f README: Fix artifact names. 2016-10-13 00:38:13 -07:00
Peter Johnson
c858e0391d README: Remove reference to cmake. 2016-10-13 00:36:41 -07:00
Peter Johnson
63c9af4578 Add license. 2016-10-13 00:35:08 -07:00
Peter Johnson
473a87a76b USBCameraImpl.cpp: Clean up formatting a bit. 2016-10-13 00:32:06 -07:00
Peter Johnson
4c6f6536b8 tests.gradle: Link to wpiutil. 2016-10-13 00:31:45 -07:00
Peter Johnson
cb4d8a6555 Add examples.
Disable google tests for now.
2016-10-13 00:18:16 -07:00
Peter Johnson
417545d521 Finish most of USBCameraImpl.
The main thing not yet fully implemented is video mode setting.

Also fix a handful of bugs in HTTPSinkImpl.
2016-10-13 00:16:24 -07:00
Peter Johnson
7f88bd15d1 SinkImpl: Keep enabled count rather than just boolean.
This allows e.g. multiple HTTP streams to individually call Enable() and
Disable().
2016-10-13 00:13:18 -07:00
Peter Johnson
ee24a6f4fc Disable support for non-MJPEG formats. 2016-09-29 00:06:31 -07:00
Peter Johnson
70616c48e3 Add support for enumerating and changing USB camera video mode. 2016-09-29 00:04:16 -07:00
Peter Johnson
a5fe605aae HTTPSink: Add basic property setting support. 2016-09-20 23:27:21 -07:00
Peter Johnson
7818c3bda3 USBCamera: Normalize property names. 2016-09-20 22:28:48 -07:00
Peter Johnson
d5e5755ff4 Collapse boolean/double/enum properties into just integer. 2016-09-20 22:17:12 -07:00
Peter Johnson
8fbc23b1fa HTTPSinkImpl fixes. 2016-09-20 20:40:58 -07:00
Peter Johnson
d05f0820b2 HTTPSinkImpl: Report property step and default. 2016-09-20 00:01:09 -07:00