391 Commits

Author SHA1 Message Date
yair
5cf3cb23eb Update FindIDSuEye.cmake
changes for linux, might need to conform
2020-04-14 19:43:45 -04:00
Joshua M. Doe
6a9b31c7d4 build: avoid policy CMP0053 warnings
On Windows there's an environment variable with parentheses, avoid the CMake warning
2020-04-14 16:17:45 -04:00
Joshua M. Doe
59715529c7 build: only install PDBs on Windows 2020-04-14 16:17:45 -04:00
Joshua M. Doe
4ebc6b8c77 build: consistently have libgst prefix on all plugins
Before this, on Linux there'd be a liblibgst prefix
2020-04-14 16:17:45 -04:00
Joshua M. Doe
6c87791b95 build: reduce warnings from Phoenix cmake module 2020-04-14 15:50:51 -04:00
Joshua M. Doe
6ea2d4325e build: update Pylon to build on Linux 2020-04-14 15:50:51 -04:00
Joshua M. Doe
3b556f3357 build: fix find_package call to use right case of NIIMAQdx 2020-04-14 15:50:51 -04:00
Joshua M. Doe
bb17f75edc genicam: disable building, incomplete anyways 2020-04-14 12:39:09 -04:00
Joshua M. Doe
5c811d9b79 klv: allow building with older versions of GStreamer
GstReferenceTimestampMeta appeared in version 1.14
2020-04-14 12:38:36 -04:00
Joshua M. Doe
663269e9a6 klv: add export macro for gcc 2020-04-14 12:37:17 -04:00
Joshua M. Doe
529d5788f9 build: avoid error of Pleora isn't installed
Closes #16
2020-04-14 11:24:14 -04:00
Joshua M. Doe
ef66205b40 pylonsrc: avoid memcpy by wrapping buffer 2020-04-08 11:42:55 -04:00
Joshua M. Doe
2a07d3df60 pylonsrc: use caps negotiation for selecting PixelFormat instead of property
Renamed 'imageformat' property to 'pixel-format', and set default to 'auto',
which will query the camera for supported PixelFormats, then allow
GStreamer to negotiate the format with downstream elements.
2020-04-08 07:18:28 -04:00
Joshua M. Doe
9bf84eb7e8 common: add genicam pixel format utility function
GenICam currently supports a specific list of pixel format names,
however Basler, NI, and probably others sometimes use different names,
especially in older cameras. Spaces tend to get used, so now when
checking for matches, ignore spaces and casing.
2020-04-08 06:51:21 -04:00
Joshua M. Doe
0606ad67b3 pylonsrc: refactor _start
It was getting hard to navigate through this function
2020-04-07 11:43:59 -04:00
Joshua M. Doe
3d074be9a0 pylonsrc: add YUV422_YUYV_Packed as YUY2 video format 2020-04-07 06:54:04 -04:00
Joshua M. Doe
e43d708bec pylonsrc: add pixel format YUV422Packed 2020-04-06 15:22:11 -04:00
Joshua M. Doe
c2648dc66b add LICENSE file 2020-04-06 15:13:43 -04:00
Joshua M. Doe
1a6891858f update README to include Basler Pylon 2020-04-06 15:08:05 -04:00
Joshua M. Doe
aabe7bdeaf pylonsrc: use standard LOG and DEBUG macros 2020-04-06 14:59:25 -04:00
Joshua M. Doe
2099e46e72 pylonsrc: move global variables to be instance variables 2020-04-06 14:51:17 -04:00
Joshua M. Doe
c0f68e83d3 pylonsrc: merge Basler Pylon plugin from gst-pylonsrc
Merged from https://github.com/zingmars/gst-pylonsrc

This includes some changes to include running gst-indent, and
modification to allow it to compile with Visual Studio 2012/VC11.
2020-04-06 14:35:50 -04:00
Joshua M. Doe
552fae8538 pleora: run gst-indent
Excluding the true C++ file
2020-03-19 11:56:43 -04:00
Joshua M. Doe
fa07ad8263 pleorasink: check all IP addresses on each interface 2020-03-19 11:56:43 -04:00
Joshua M. Doe
e886b5f4fa klvinject: use unix reference timestamp if available 2020-03-17 10:56:50 -04:00
Joshua M. Doe
8830751c52 aptinasrc: add xsdat-file property to allow sensor file override 2020-03-17 10:56:50 -04:00
Joshua M. Doe
8ff872e634 bayerutils: add new plugin with bayer2gray, to do caps conversion
This is a convenience function to avoid using a capssetter when we want to treat
Bayer as gray. In the future we can add properties to balance each element of the
CFA.

Note there's a bug with the in-place transform, so currently a memcpy is being used.
2020-03-17 10:56:50 -04:00
Joshua M. Doe
37aaea1022 build: newer Aptina SDK drops the _64 library suffix 2020-03-17 10:56:50 -04:00
Joshua M. Doe
2692036550 aptinasrc: add support for Bayer 2020-03-17 10:56:50 -04:00
joshdoe
d00aec86a5
doc: add compilation instructions 2020-03-17 10:51:21 -04:00
Joshua M. Doe
293d74ccc0 doc: update README.md to mention pleorasink, extractcolor, and klv elements 2020-02-07 09:32:40 -05:00
Joshua M. Doe
fc4c7887a3 pleora: avoid compiler warning messages 2020-02-06 13:36:47 -05:00
Joshua M. Doe
ec20592591 klv: add klv library, klvinject and klvinspect elements
Create as a separate library until gst-plugins-base MR124 is merged into tag
2020-02-06 13:33:56 -05:00
Joshua M. Doe
1502c7fa9c pleorasink: add auto-multicast property
This will set the multicast-group, multicast-port, and packet-size
properties, and begin streaming via AcquisitionStart. Currently any
client can connect as controller and change these properties, but these
removes the requirement to have such a client.
2019-11-25 07:57:04 -05:00
Joshua M. Doe
a92281c965 pleora: add support for sending/receiving KLV metadata as chunk data
This attemps to partially implement MISB ST1608.1, "Transport of Motion
Imagery and Metadata over GigE Vision". This relies on GstKLVMeta, which
is currently a merge request 124 for gst-plugins-base. For now we
include it here. Currently all KLVMeta is packed into one chunk, no
special handling of timestamps is done. Testing has only been done
between pleorasink and pleorasrc, no other MISB-compliant stream.
2019-11-25 07:57:04 -05:00
Joshua M. Doe
f6509a1b4d pleorasink: fix debug level, add more interface debug output 2019-11-20 15:39:38 -05:00
Joshua M. Doe
7292eaf353 pleora: build for various versions of eBUS, and append version to plugin name
Not the prettiest way to handle this, but we have a need for supporting
multiple versions of eBUS, and this way we can distribute multiple
versions. This also tries to modernize the FindPleora.cmake file.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
0fc4bc182c imperxsdi: add direct conversion to v210 pixel format
This matches the decklink plugin format.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
995bcca23b pleorasink: add GigE Vision sink for eBUS GEV Tx API
Most basic working implementation
2019-11-07 09:17:49 -05:00
Joshua M. Doe
64dc597e42 pleorasrc: search for eBUS SDK in PUREGEV_ROOT first 2019-11-07 09:17:49 -05:00
Joshua M. Doe
d705291cbd imperxflexsrc: fix timestamps
Previous implementation was trying to be too clever. If we want absolute
timestamps we can use the timestamp/x-unix reference time meta.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
b500b4b24b imperxflexsrc: support packed pixel formats
Since we're using the Imperx unpack function, we can easily handle
packed pixel formats. For performance reasons, we could always support
packed pixel formats directly by adding new caps.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
79a5e67de0 pleorasrc: lock streaming related parameters during acquisition 2019-11-07 09:17:49 -05:00
Joshua M. Doe
91e060dcbd pleorasrc: read GEV packet size after negotiation
For debug and set to property
2019-11-07 09:17:49 -05:00
Joshua M. Doe
6084edb3f7 pleorasrc: refactor device/stream opening 2019-11-07 09:17:49 -05:00
Joshua M. Doe
4b03de07fe pleorasrc: allow config file to specify only one of stream or device 2019-11-07 09:17:49 -05:00
Joshua M. Doe
76e67ee5fc pleorasrc: set caps before _create to avoid bad negotiation
Caps must be fixated before _create, otherwise initial caps is
width=1,height=1 which cause some sinks to create incorrect window
sizes.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
88f7a82818 pleorasrc: cache caps if width, height, and pixel type don't change 2019-11-07 09:17:49 -05:00
Joshua M. Doe
19ce118c96 pleorasrc: add config-file and config-file-connect properties
If config-file is set to the filepath of a XML file, such as is
generated by eBUS Player, it will be used to restore configuration
to the device and stream. By default, the device and stream will be
connected using the information from the config-file. Set
config-file-connect=false to connect to the camera using other element
properties, and then apply the configuration changes from the
config-file.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
e4ae64b44b pleorasrc: add packet-size property
Also, if auto-negotiate (packet-size=0) is used (the default), and
negotiation fails, use the safe packet size of 1476 bytes.
2019-11-07 09:17:49 -05:00