## simplevideomarkdetect simplevideomarkdetect |

## Properties

gint | bottom-offset | Read / Write / Construct
gint | left-offset | Read / Write / Construct
gboolean | message | Read / Write / Construct
gdouble | pattern-center | Read / Write / Construct
gint | pattern-count | Read / Write / Construct
gint | pattern-data-count | Read / Write / Construct
gint | pattern-height | Read / Write / Construct
gdouble | pattern-sensitivity | Read / Write / Construct
gint | pattern-width | Read / Write / Construct

## Types and Values

struct | GstSimpleVideoMarkDetect

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseTransform
                        ╰── GstVideoFilter
                            ╰── GstSimpleVideoMarkDetect

## Description

This plugin detects “pattern-count” squares in the bottom left corner of the video frames. The squares have a width and height of respectively “pattern-width” and “pattern-height”. Even squares must be black and odd squares must be white.

When the pattern has been found, “pattern-data-count” squares after the pattern squares are read as a bitarray. White squares represent a 1 bit and black squares a 0 bit. The bitarray will will included in the element message that is posted (see below).

After the pattern has been found and the data pattern has been read, an element message called `GstSimpleVideoMarkDetect` will be posted on the bus. If the pattern is no longer found in the frame, the same element message is posted with the have-pattern field set to `FALSE`. The message is only posted if the “message” property is `TRUE`.

The message's structure contains these fields:

- gboolean `have-pattern`: if the pattern was found. This field will be set to `TRUE` for as long as the pattern was found in the frame and set to FALSE for the first frame that does not contain the pattern anymore.

- GstClockTime `timestamp`: the timestamp of the buffer that triggered the message.

- GstClockTime `stream-time`: the stream time of the buffer.

- GstClockTime `running-time`: the running_time of the buffer.

- GstClockTime `duration`: the duration of the buffer.

- guint64 `data`: the data-pattern found after the pattern or 0 when have-signal is `FALSE`.

#### Example launch line

    1
    gst-launch-1.0 videotestsrc ! simplevideomarkdetect ! videoconvert ! ximagesink

## Synopsis

### Element Information

plugin | videosignal
author | Wim Taymans <wim@fluendo.com>
class | Filter/Effect/Video

### Element Pads

name | sink
direction | sink
presence | always
details | video/x-raw, format=(string){ I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

name | src
direction | source
presence | always
details | video/x-raw, format=(string){ I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

## Functions

## Types and Values

### struct GstSimpleVideoMarkDetect

    struct GstSimpleVideoMarkDetect;

## Property Details

### The `“bottom-offset”` property

      “bottom-offset”            gint

The offset from the bottom border where the pattern starts.

Flags: Read / Write / Construct

Allowed values: >= 0

Default value: 0

### The `“left-offset”` property

      “left-offset”              gint

The offset from the left border where the pattern starts.

Flags: Read / Write / Construct

Allowed values: >= 0

Default value: 0

### The `“message”` property

      “message”                  gboolean

Post detected data as bus messages.

Flags: Read / Write / Construct

Default value: TRUE

### The `“pattern-center”` property

      “pattern-center”           gdouble

The center of the black/white separation (0.0 = lowest, 1.0 highest).

Flags: Read / Write / Construct

Allowed values: [0,1]

Default value: 0.5

### The `“pattern-count”` property

      “pattern-count”            gint

The number of pattern markers.

Flags: Read / Write / Construct

Allowed values: >= 0

Default value: 4

### The `“pattern-data-count”` property

      “pattern-data-count”       gint

The number of extra data pattern markers.

Flags: Read / Write / Construct

Allowed values: >= 0

Default value: 5

### The `“pattern-height”` property

      “pattern-height”           gint

The height of the pattern markers.

Flags: Read / Write / Construct

Allowed values: >= 1

Default value: 16

### The `“pattern-sensitivity”` property

      “pattern-sensitivity”      gdouble

The sensitivity around the center for detecting the markers (0.0 = lowest, 1.0 highest).

Flags: Read / Write / Construct

Allowed values: [0,1]

Default value: 0.3

### The `“pattern-width”` property

      “pattern-width”            gint

The width of the pattern markers.

Flags: Read / Write / Construct

Allowed values: >= 1

Default value: 4

## See Also

GstVideoMark