## videotestsrc videotestsrc — Creates a test video stream |

## Synopsis

                        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

## Description

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

### Example launch line

    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, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)Y422, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)UYNV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)v308, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)IYU2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)YVU9, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)YUV9, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)NV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)NV21, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw-yuv, format=(fourcc)Y444, 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-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-bayer, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

## Details

### GstVideoTestSrc

    typedef struct _GstVideoTestSrc 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
    } GstVideoTestSrcPattern;

The test pattern to produce.

`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

### 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
`GST_VIDEO_TEST_SRC_BT709` | ITU-R Rec. BT.601

## 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.

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*t 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