Skip to content

tiovxdof

Marco Herrera edited this page Jun 14, 2022 · 1 revision

TIOVX DOF

tiovxdof generates a Dense Optical Flow using the TIOVX Modules API

Hierarchy

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstAggregator
                         +----GstTIOVXMiso
                               +----GstTIOVXDOF

Pad templates

sink

      application/x-pyramid-tiovx
                 format: { (string)GRAY8, (string)GRAY16_LE }
                  width: [ 1, 2048 ]
                 height: [ 1, 1024 ]
                 levels: [ 1, 6 ]
                  scale: 0.5
      application/x-pyramid-tiovx(memory:batched)
                 format: { (string)GRAY8, (string)GRAY16_LE }
                  width: [ 1, 2048 ]
                 height: [ 1, 1024 ]
                 levels: [ 1, 6 ]
                  scale: 0.5
           num-channels: [ 1, 16 ]

Availability – on request

Direction – sink

Object type – GstTIOVXMisoPad

Pad properties:

  • emit-signals: Send signals to signal data consumption

    flags: readable, writable

     Boolean.

     Default: false

  • pool-size: Pool size of the internal buffer pool

    flags: readable, writable, controllable

     Integer.

     Range: 2 - 16

     Default: 2

  • repeat-after-eos: Flag to indicate if the pad will repeat the last buffer after an EOS is received. Only valid for sink pads

    flags: readable, writable, controllable

     Boolean.

     Default: true

src

      application/x-dof-tiovx
                  width: [ 1, 2048 ]
                 height: [ 1, 1024 ]
      application/x-dof-tiovx(memory:batched)
                  width: [ 1, 2048 ]
                 height: [ 1, 1024 ]
           num-channels: [ 1, 16 ]

Availability – always

Direction – src

Object type – GstTIOVXMisoPad

Pad properties:

  • emit-signals: Send signals to signal data consumption

    flags: readable, writable

     Boolean.

     Default: false

  • pool-size: Pool size of the internal buffer pool

    flags: readable, writable, controllable

     Integer.

     Range: 2 - 16

     Default: 2

  • repeat-after-eos: Flag to indicate if the pad will repeat the last buffer after an EOS is received. Only valid for sink pads

    flags: readable, writable, controllable

     Boolean.

     Default: true

Properties

downward-search-range

Max downward range of search

Flags : Read / Write

Integer. Range: 0 - 62 Default value : 48

horizontal-search-range

Sideways search range of motion

Flags : Read / Write

Integer. Range: 0 - 191 Default value : 191

latency

Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in nanoseconds)

Flags : Read / Write

Unsigned Integer64. Range: 2 - 18446744073709551615 Default value : 0

median-filter-enable

Enable post-processing median filter

Flags : Read / Write

Boolean Default value : true

min-upstream-latency

When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (nanoseconds)

Flags : Read / Write

Unsigned Integer64. Range: 2 - 18446744073709551615 Default value : 0

motion-direction

Expected direction of motion

Flags : Read / Write

**Enum ** Default value : 0 ("motion_neutral_5x5")

Enum "GstTIOVXDOFMotionDirection"

(0): motion_neutral_5x5 - Motion neutral, 5x5 census transform

(1): forward_motion - Forward motion

(2): reverse_motion - Reverse motion

(3): motion_neutral_7x7 - Motion neutral, 7x7 census transform

motion-smoothness-factor

Motion smoothness factor

Flags : Read / Write

Integer. Range: 0 - 31 Default value : 24

name

The name of the object

Flags : Read / Write

String Default value : "tiovxdof0"

parent

The parent of the object

Flags : Read / Write

GstObject Default value : N/A

start-time

Start time to use if start-time-selection=set

Flags : Read / Write

Unsigned Integer64. Range: 2 - 18446744073709551615 Default value : 18446744073709551615

start-time-selection

Decides which start time is output

Flags : Read / Write

**Enum ** Default value : 0 ("zero")

Enum "GstAggregatorStartTimeSelection

(0): zero - Start at 0 running time (default)

(1): first - Start at first observed input running time

(2): set - Set start time with start-time property

target

TIOVX target to use by this element

Flags : Read / Write / Controllable

Enum Default : 0, ("DMPAC_DOF")

Enum "GstTIOVXDOFTarget"

(0): DMPAC_DOF - DMPAC DOF

upward-search-range

Max upward range of search

Flags : Read / Write

Integer. Range: 0 - 62 Default value : 48

Pipeline examples

Single tiovxdof

gst-launch-1.0 videotestsrc is-live=true num-buffers=10 pattern=ball ! "video/x-raw, height=1024, width=1024" ! tiovxpyramid ! "application/x-pyramid-tiovx, format=GRAY8, scale=0.5, levels=2" ! tee name=tee tee. ! queue ! tiovxdelay delay-size=1 ! dof.delayed_sink tee. ! queue ! dof.sink tiovxdof name=dof ! fakesink 

Batched processing

gst-launch-1.0 videotestsrc is-live=true num-buffers=10 pattern=ball ! "video/x-raw, height=1024, width=1024" ! tiovxpyramid ! "application/x-pyramid-tiovx, format=GRAY8, scale=0.5, levels=2" ! tee name=tee tee. ! queue ! tiovxdelay delay-size=1 ! mux_a.  tee. ! queue ! mux_b. videotestsrc is-live=true num-buffers=10 pattern=ball ! "video/x-raw, height=1024, width=1024" ! tiovxpyramid ! "application/x-pyramid-tiovx, format=GRAY8, scale=0.5, levels=2" ! tee name=tee2 tee2. ! queue ! tiovxdelay delay-size=1 ! mux_a. tiovxmux name=mux_a ! dof.delayed_sink tee2. ! queue ! mux_b. tiovxmux name=mux_b ! dof.sink tiovxdof name=dof ! tiovxdemux name=demux demux. ! queue ! fakesink demux. ! queue ! fakesink