[Bug 703093] videomeasure: port to 1.0

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Nov 29 12:03:58 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=703093

--- Comment #22 from LRN <lrn1986 at gmail.com> ---
Poked around a bit. If we start from the assumption that videomeasure needs to
use GstAggregator (GstVideoAggregator is already deemed too highlevel due to
its tendency to convert stuff) to reduce the amount of code to maintain, it
means that it can't ever produce more than one stream, because GstAggregator
has only one src pad.

That means that information-lossless performance can only happen when one
metric is computed on two input streams (a reference stream and a modified
stream), producing one output stream (it could be 1-channel height-map (GRAY8)
or heat-map (RGB) or multi-channel height-map (RGB or Y444), that depends on
the implementation and could be user-configurable, if needed).

Three input streams (1 ref, 2 mods) -> need 2 output streams (one for each
mod), and GstAggregator won't allow that. An earlier suggestion to stitch
multiple output streams into one big stream is ridiculous (stitching -> more
code, splitting -> more code). Or output has to be simply dropped ->
information loss.

Two metrics simultaneously -> twice as much output streams (one for each mod,
multiplied by 2, for each metric), again, not supported by GstAggregator.
Stitching won't work at all, since output might require completely different
data formats.

That is why the only option within the must-use-GstAggregator paradigm that i
would agree on is to have a 2->1 element that can only compute one metric at a
time. It might support multiple metrics, but only one can be enabled.

Conversion is done by the user, using videoconvert.
Multiple metrics or multiple mod streams are done by the user, using tee (this
can also be faster, because tees can be paired with queues, separating each
measuring element into its own thread).

Not using GstAggregator means going all the way back to original videomeasure
that inherited from GstElement directly and did everything by itself.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list