fieldanalysis

Analyse fields from video buffers to identify whether the buffers are progressive/telecined/interlaced and, if telecined, the telecine pattern used.

Example launch line

 gst-launch-1.0 -v uridecodebin uri=/path/to/foo.bar ! fieldanalysis ! deinterlace ! videoconvert ! autovideosink

This pipeline will analyse a video stream with default metrics and thresholds and output progressive frames.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──fieldanalysis

Factory details

Authors: – Robert Swain

Classification:Filter/Analysis/Video

Rank – none

Plugin – fieldanalysis

Package – GStreamer Bad Plug-ins

Pad Templates

sink

video/x-raw:
         format: { YUY2, UYVY, Y42B, I420, YV12 }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencealways

Directionsink

Object typeGstPad


src

video/x-raw:
         format: { YUY2, UYVY, Y42B, I420, YV12 }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencealways

Directionsrc

Object typeGstPad


Properties

block-height

“block-height” guint64

Block height for windowed comb detection

Flags : Read / Write

Default value : 16


block-threshold

“block-threshold” guint64

Block threshold for windowed comb detection

Flags : Read / Write

Default value : 80


block-width

“block-width” guint64

Block width for windowed comb detection

Flags : Read / Write

Default value : 16


comb-method

“comb-method” FieldAnalysisCombMethod *

Metric to be used for identifying comb artifacts if using windowed comb detection

Flags : Read / Write

Default value : 5-tap (2)


field-metric

“field-metric” GstFieldAnalysisFieldMetric *

Metric to be used for comparing same parity fields to decide if they are a repeated field for telecine

Flags : Read / Write

Default value : ssd (1)


field-threshold

“field-threshold” gfloat

Threshold for field metric decisions

Flags : Read / Write

Default value : 0.08


frame-metric

“frame-metric” GstFieldAnalysisFrameMetric *

Metric to be used for comparing opposite parity fields to decide if they are a progressive frame

Flags : Read / Write

Default value : 5-tap (0)


frame-threshold

“frame-threshold” gfloat

Threshold for frame metric decisions

Flags : Read / Write

Default value : 0.002


ignored-lines

“ignored-lines” guint64

Ignore this many lines from the top and bottom for windowed comb detection

Flags : Read / Write

Default value : 2


noise-floor

“noise-floor” guint

Noise floor for appropriate metrics (per-pixel metric values with a score less than this will be ignored)

Flags : Read / Write

Default value : 16


spatial-threshold

“spatial-threshold” gint64

Threshold for combing metric decisions

Flags : Read / Write

Default value : 9


Named constants

FieldAnalysisCombMethod

Members

32-detect (0) – Difference to above sample in same field small and difference to sample in other field large
isCombed (1) – Differences between current sample and the above/below samples in other field multiplied together, larger than squared spatial threshold (from Tritical's isCombed)
5-tap (2) – 5-tap [1,-3,4,-3,1] vertical filter result is larger than spatial threshold*6

GstFieldAnalysisFieldMetric

Members

sad (0) – Sum of Absolute Differences
ssd (1) – Sum of Squared Differences
3-tap (2) – Difference of 3-tap [1,4,1] Horizontal Filter

GstFieldAnalysisFrameMetric

Members

5-tap (0) – 5-tap [1,-3,4,-3,1] Vertical Filter
windowed-comb (1) – Windowed Comb Detection (not optimised)

The results of the search are