279 Commits

Author SHA1 Message Date
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
8830751c52 aptinasrc: add xsdat-file property to allow sensor file override 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
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
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
Joshua M. Doe
351aab12d8 pleorasrc: add more and better useful error feedback to user
Try to return most useful error message to user via GST_ELEMENT_ERROR
instead of using GST_WARNING_OBJECT.
2019-11-07 09:17:49 -05:00
yair
fa24f0e437
Update gstidsueyesrc.c
added color_mode for RAW (un-bayered) 8bit stream
2019-11-07 15:56:07 +02:00
Joshua M. Doe
8b7b405381 pleorasrc: add support for IYU1 and IYU2 pixel formats
This also needed a change to calculating the strides, as IYU1 is 12bpp,
and GstVideoInfo defines pixel stride in bytes, so for IYU2 the stride
was calculated as zero. Instead use Pleora's own definition of pixel
stride to calculate Pleora's row stride.
2019-10-10 07:38:52 -04:00
Joshua M. Doe
ef1242fd81 pleorasrc: run gst-indent 2019-10-02 10:58:17 -04:00
Joshua M. Doe
e1d0574ecf pleorasrc: more useful error messages 2019-10-02 10:58:01 -04:00
Joshua M. Doe
a7f4657547 pleorasrc: add support for compiling against eBUS SDK 5
Unfortunately eBUS SDK 5 breaks API, but only in a few minor ways.
2019-10-02 10:55:24 -04:00
Joshua M. Doe
5ef38d0833 kayasrc: support opening multiple cameras from one frame grabber
Previously only one camera per physical capture card could be opened.
Multiple cameras per card can now be captured, however they must both
still be in the same process. There is no IPC implemented yet.
2019-10-02 09:39:05 -04:00
Joshua M. Doe
75aaec26b6 kayasrc: add UNIX epoch reference timestamp for absolute timestamping
Requires GStreamer 1.14 and a downstream element that can use it.
2019-10-02 09:35:39 -04:00
Joshua M. Doe
1611f54672 niimaqdxsrc: don't over-report dropped frames 2019-10-02 09:32:43 -04:00
Joshua M. Doe
8fd7c91da6 niimaqdxsrc: add UNIX epoch reference timestamp for absolute timestamping
Requires GStreamer 1.14 and a downstream element that can use it.
2019-10-02 09:31:02 -04:00
Joshua M. Doe
11bb336ee4 niimaqsrc: add UNIX epoch reference timestamp for absolute timestamping
Requires GStreamer 1.14 and a downstream element that can use it.
2019-10-02 09:17:05 -04:00
Joshua M. Doe
54f9df72b7 imperxflex,extractcolor,niimaq: change plugin name to match module
Some newer version of GStreamer requires the plugin name used in
GST_PLUGIN_DEFINE to match the name of the compiled module, excluding
libgst and the extension.
2019-10-02 09:16:08 -04:00
Joshua M. Doe
fb9072bc8b build: make sure kaya and genicam PDBs are put in the right zip 2019-09-30 10:28:04 -04:00
Joshua M. Doe
e364cfe4d5 pleorasrc: fix handling of strides that aren't 32-bit aligned
For example, a Mono8 642x482 would have failed to work, as GStreamer
expects the stride to be a multiple of 4-bytes, that is 644 bytes in
this example, while Pleora doesn't do this alignment. This incurs a copy
unfortunately, and there might be a way with memory meta to avoid this,
however eventually most elements will need to have the data 4-byte
aligned.
2019-08-29 14:56:18 -04:00
Joshua M. Doe
64866758a2 "pleorasrc: open devices by default in unicast mode
When multicast was added, it was always used. Set default
multicast-group to "0.0.0.0" now, which implies unicast.
2019-08-29 12:26:36 -04:00
Joshua M. Doe
2ee4399f3f imperxsdisrc: new source element for IMPERX HD-SDI Express framegrabbers
The IMPERX SDI cards support BGR, YUY2, and a unique 10-bit YUV 4:2:2
format which is not currently supported in GStreamer. For now, we'll
unpack it to AYUV64.

This has only been tested on a ExpressCard device, but is expected to
work with all IMPERX grabbers that use this SDK.

Special attention has not been given yet to timestamping or accounting
for dropped frames.

Currently if the source is interlaced this element will deinterlace.
Another mode could be supported to push out the frames as is, with
appropriate caps to indicate interlacing mode.
2019-08-01 12:25:23 -04:00
Joshua M. Doe
477ae0b9d7 imperxflex: move imperxflexsrc to a more unique directory 2019-07-26 10:44:06 -04:00
Joshua M. Doe
904546b7e2 niimaqdxsrc: fix endianness for Mono14 big endian 2019-04-15 10:43:39 -04:00
Joshua M. Doe
68e7fb1c00 niimaqdxsrc: ignore spaces in format names
Some devices add spaces to format names, such as 'Mono 16'.
Ignore these spaces.
2019-03-25 14:42:07 -04:00
Joshua M. Doe
85b4e242ca kayasrc: issue warning when exposure time value is invalid 2019-03-25 14:32:07 -04:00
Joshua M. Doe
4e18c58e19 kayasrc: add property to allow command execution after opening camera
Closes #3. With Kaya project files, commands don't get executed, such as
UserSet loading.
2019-03-25 14:31:32 -04:00
Joshua M. Doe
bcb80f3b87 pleorasrc: run gst-indent 2018-10-04 13:05:17 -04:00
Joshua M. Doe
5546ea432a pleorasrc: avoid releasing buffer if pipeline is destroyed 2018-10-04 13:02:47 -04:00
Joshua M. Doe
cde7de8b97 pixcisrc: only use format-file if specified, ignoring format-name 2018-10-02 07:36:53 -04:00
Joshua M. Doe
f238398851 kayasrc: xml file existence bug fix 2018-07-19 07:43:26 -04:00