videotestsrc

videotestsrc — Creates a test video stream

Synopsis

struct              GstVideoTestSrc;
enum                GstVideoTestSrcPattern;
enum                GstVideoTestSrcColorSpec;

Object Hierarchy

  GObject
   +----GstObject
         +----GstElement
               +----GstBaseSrc
                     +----GstPushSrc
                           +----GstVideoTestSrc

Properties

  "pattern"                  GstVideoTestSrcPattern  : Read / Write
  "timestamp-offset"         gint64                : Read / Write
  "is-live"                  gboolean              : Read / Write
  "peer-alloc"               gboolean              : Read / Write
  "colorspec"                GstVideoTestSrcColorSpec  : Read / Write
  "k0"                       gint                  : Read / Write
  "kt"                       gint                  : Read / Write
  "kt2"                      gint                  : Read / Write
  "kx"                       gint                  : Read / Write
  "kx2"                      gint                  : Read / Write
  "kxt"                      gint                  : Read / Write
  "kxy"                      gint                  : Read / Write
  "ky"                       gint                  : Read / Write
  "ky2"                      gint                  : Read / Write
  "kyt"                      gint                  : Read / Write
  "xoffset"                  gint                  : Read / Write
  "yoffset"                  gint                  : Read / Write
  "background-color"         guint                 : Read / Write
  "foreground-color"         guint                 : Read / Write
  "horizontal-speed"         gint                  : Read / Write

Description

The videotestsrc element is used to produce test video data in a wide variety of formats. The video test data produced can be controlled with the "pattern" property.

Example launch line

1
gst-launch -v videotestsrc pattern=snow ! ximagesink
Shows random noise in an X window.

Synopsis

Element Information

plugin

videotestsrc

author

David A. Schleef <ds@schleef.org>

class

Source/Video

Element Pads

name

src

direction

source

presence

always

details

video/x-raw-yuv, format=(fourcc)YUY2, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)UYVY, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)YVYU, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)v308, color-matrix=(string){ sdtv, hdtv }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)AYUV, color-matrix=(string){ sdtv, hdtv }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)v210, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)v216, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)UYVP, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)AY64, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)YVU9, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)YUV9, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)YV12, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)I420, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)NV12, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)NV21, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)Y41B, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)Y42B, color-matrix=(string){ sdtv, hdtv }, chroma-site=(string){ mpeg2, jpeg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)Y444, color-matrix=(string){ sdtv, hdtv }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-yuv, format=(fourcc)Y800, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)32, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)32, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)32, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)32, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)24, endianness=(int)4321, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)24, endianness=(int)4321, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)16, endianness=(int)1234, depth=(int)16, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)16, endianness=(int)1234, depth=(int)15, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-rgb, bpp=(int)64, endianness=(int)4321, depth=(int)64, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-bayer, format=(string)bggr, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-bayer, format=(string)rggb, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-bayer, format=(string)grbg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw-bayer, format=(string)gbrg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

Details

struct GstVideoTestSrc

struct GstVideoTestSrc;

Opaque data structure.


enum GstVideoTestSrcPattern

typedef enum {
  GST_VIDEO_TEST_SRC_SMPTE,
  GST_VIDEO_TEST_SRC_SNOW,
  GST_VIDEO_TEST_SRC_BLACK,
  GST_VIDEO_TEST_SRC_WHITE,
  GST_VIDEO_TEST_SRC_RED,
  GST_VIDEO_TEST_SRC_GREEN,
  GST_VIDEO_TEST_SRC_BLUE,
  GST_VIDEO_TEST_SRC_CHECKERS1,
  GST_VIDEO_TEST_SRC_CHECKERS2,
  GST_VIDEO_TEST_SRC_CHECKERS4,
  GST_VIDEO_TEST_SRC_CHECKERS8,
  GST_VIDEO_TEST_SRC_CIRCULAR,
  GST_VIDEO_TEST_SRC_BLINK,
  GST_VIDEO_TEST_SRC_SMPTE75,
  GST_VIDEO_TEST_SRC_ZONE_PLATE,
  GST_VIDEO_TEST_SRC_GAMUT,
  GST_VIDEO_TEST_SRC_CHROMA_ZONE_PLATE,
  GST_VIDEO_TEST_SRC_SOLID,
  GST_VIDEO_TEST_SRC_BALL,
  GST_VIDEO_TEST_SRC_SMPTE100,
  GST_VIDEO_TEST_SRC_BAR
} GstVideoTestSrcPattern;

The test pattern to produce.

The Gamut pattern creates a checkerboard pattern of colors at the edge of the YCbCr gamut and nearby colors that are out of gamut. The pattern is divided into 4 regions: black, white, red, and blue. After conversion to RGB, the out-of-gamut colors should be converted to the same value as their in-gamut neighbors. If the checkerboard pattern is still visible after conversion, this indicates a faulty conversion. Image manipulation, such as adjusting contrast or brightness, can also cause the pattern to be visible.

The Zone Plate pattern is based on BBC R&D Report 1978/23, and can be used to test spatial frequency response of a system. This pattern generator is controlled by the xoffset and yoffset parameters and also by all the parameters starting with 'k'. The default parameters produce a grey pattern. Try 'videotestsrc pattern=zone-plate kx2=20 ky2=20 kt=1' to produce something interesting.

GST_VIDEO_TEST_SRC_SMPTE

A standard SMPTE test pattern

GST_VIDEO_TEST_SRC_SNOW

Random noise

GST_VIDEO_TEST_SRC_BLACK

A black image

GST_VIDEO_TEST_SRC_WHITE

A white image

GST_VIDEO_TEST_SRC_RED

A red image

GST_VIDEO_TEST_SRC_GREEN

A green image

GST_VIDEO_TEST_SRC_BLUE

A blue image

GST_VIDEO_TEST_SRC_CHECKERS1

Checkers pattern (1px)

GST_VIDEO_TEST_SRC_CHECKERS2

Checkers pattern (2px)

GST_VIDEO_TEST_SRC_CHECKERS4

Checkers pattern (4px)

GST_VIDEO_TEST_SRC_CHECKERS8

Checkers pattern (8px)

GST_VIDEO_TEST_SRC_CIRCULAR

Circular pattern

GST_VIDEO_TEST_SRC_BLINK

Alternate between black and white

GST_VIDEO_TEST_SRC_SMPTE75

SMPTE test pattern (75% color bars)

GST_VIDEO_TEST_SRC_ZONE_PLATE

Zone plate

GST_VIDEO_TEST_SRC_GAMUT

Gamut checking pattern

GST_VIDEO_TEST_SRC_CHROMA_ZONE_PLATE

Chroma zone plate

GST_VIDEO_TEST_SRC_SOLID

GST_VIDEO_TEST_SRC_BALL

Moving ball

GST_VIDEO_TEST_SRC_SMPTE100

SMPTE test pattern (100% color bars)

GST_VIDEO_TEST_SRC_BAR

Bar with foreground color

enum GstVideoTestSrcColorSpec

typedef enum {
  GST_VIDEO_TEST_SRC_BT601,
  GST_VIDEO_TEST_SRC_BT709
} GstVideoTestSrcColorSpec;

The color specification to use.

GST_VIDEO_TEST_SRC_BT601

ITU-R Rec. BT.601/BT.470 (SD)

GST_VIDEO_TEST_SRC_BT709

ITU-R Rec. BT.709 (HD)

Property Details

The "pattern" property

  "pattern"                  GstVideoTestSrcPattern  : Read / Write

Type of test pattern to generate.

Default value: SMPTE 100% color bars


The "timestamp-offset" property

  "timestamp-offset"         gint64                : Read / Write

An offset added to timestamps set on buffers (in ns).

Default value: 0


The "is-live" property

  "is-live"                  gboolean              : Read / Write

Whether to act as a live source.

Default value: FALSE


The "peer-alloc" property

  "peer-alloc"               gboolean              : Read / Write

Ask the peer to allocate an output buffer.

Default value: TRUE


The "colorspec" property

  "colorspec"                GstVideoTestSrcColorSpec  : Read / Write

Generate video in the given color specification (Deprecated: use a caps filter with video/x-raw-yuv,color-matrix="sdtv" or "hdtv" instead).

Default value: ITU-R Rec. BT.601


The "k0" property

  "k0"                       gint                  : Read / Write

Zoneplate zero order phase, for generating plain fields or phase offsets.

Default value: 0


The "kt" property

  "kt"                       gint                  : Read / Write

Zoneplate 1st order t phase, for generating phase rotation as a function of time.

Default value: 0


The "kt2" property

  "kt2"                      gint                  : Read / Write

Zoneplate 2nd order t phase, t*t/256 cycles per picture.

Default value: 0


The "kx" property

  "kx"                       gint                  : Read / Write

Zoneplate 1st order x phase, for generating constant horizontal frequencies.

Default value: 0


The "kx2" property

  "kx2"                      gint                  : Read / Write

Zoneplate 2nd order x phase, normalised to kx2/256 cycles per horizontal pixel at width/2 from origin.

Default value: 0


The "kxt" property

  "kxt"                      gint                  : Read / Write

Zoneplate x*t product phase, normalised to kxy/256 cycles per vertical pixel at width/2 from origin.

Default value: 0


The "kxy" property

  "kxy"                      gint                  : Read / Write

Zoneplate x*y product phase.

Default value: 0


The "ky" property

  "ky"                       gint                  : Read / Write

Zoneplate 1st order y phase, for generating contant vertical frequencies.

Default value: 0


The "ky2" property

  "ky2"                      gint                  : Read / Write

Zoneplate 2nd order y phase, normailsed to ky2/256 cycles per vertical pixel at height/2 from origin.

Default value: 0


The "kyt" property

  "kyt"                      gint                  : Read / Write

Zoneplate y*t product phase.

Default value: 0


The "xoffset" property

  "xoffset"                  gint                  : Read / Write

Zoneplate 2nd order products x offset.

Default value: 0


The "yoffset" property

  "yoffset"                  gint                  : Read / Write

Zoneplate 2nd order products y offset.

Default value: 0


The "background-color" property

  "background-color"         guint                 : Read / Write

Color to use for background color of some patterns. Default is black (0xff000000).

Default value: 4278190080

Since 0.10.31


The "foreground-color" property

  "foreground-color"         guint                 : Read / Write

Color to use for solid-color pattern and foreground color of other patterns. Default is white (0xffffffff).

Default value: 4294967295

Since 0.10.31


The "horizontal-speed" property

  "horizontal-speed"         gint                  : Read / Write

Scroll image number of pixels per frame (positive is scroll to the left).

Default value: 0