# GstVideoInfo

Information describing image properties. This information can be filled in from GstCaps with gst_video_info_from_caps. The information is also used to store the specific video info when mapping a video frame with gst_video_frame_map.

Use the provided macros to access the info in this structure.

### Members

`finfo` (const GstVideoFormatInfo *) –

the format info of the video

`interlace_mode` (GstVideoInterlaceMode) –

the interlace mode

`flags` (GstVideoFlags) –

additional video flags

`width` (gint) –

the width of the video

`height` (gint) –

the height of the video

`size` (gsize) –

the default size of one frame

`views` (gint) –

the number of views for multiview video

`chroma_site` (GstVideoChromaSite) –

a GstVideoChromaSite.

`colorimetry` (GstVideoColorimetry) –

the colorimetry info

`par_n` (gint) –

the pixel-aspect-ratio numerator

`par_d` (gint) –

the pixel-aspect-ratio denominator

`fps_n` (gint) –

the framerate numerator

`fps_d` (gint) –

the framerate denominator

`offset` (gsize *) –

offsets of the planes

`stride` (gint *) –

strides of the planes

`multiview_mode` (GstVideoMultiviewMode) –

delivery mode for multiple views. (Since: 1.6)

`multiview_flags` (GstVideoMultiviewFlags) –

flags for multiple views configuration (Since: 1.6)

`field_order` (GstVideoFieldOrder) –
No description available

## GstVideoInfo

Information describing image properties. This information can be filled in from GstCaps with gst_video_info_from_caps. The information is also used to store the specific video info when mapping a video frame with gst_video_frame_map.

Use the provided macros to access the info in this structure.

### Members

`finfo` (GstVideoFormatInfo) –

the format info of the video

`interlace_mode` (GstVideoInterlaceMode) –

the interlace mode

`flags` (GstVideoFlags) –

additional video flags

`width` (Number) –

the width of the video

`height` (Number) –

the height of the video

`size` (Number) –

the default size of one frame

`views` (Number) –

the number of views for multiview video

`chroma_site` (GstVideoChromaSite) –

a GstVideoChromaSite.

`colorimetry` (GstVideoColorimetry) –

the colorimetry info

`par_n` (Number) –

the pixel-aspect-ratio numerator

`par_d` (Number) –

the pixel-aspect-ratio denominator

`fps_n` (Number) –

the framerate numerator

`fps_d` (Number) –

the framerate denominator

`offset` ([ Number ]) –

offsets of the planes

`stride` ([ Number ]) –

strides of the planes

## GstVideoInfo

Information describing image properties. This information can be filled in from GstCaps with gst_video_info_from_caps. The information is also used to store the specific video info when mapping a video frame with gst_video_frame_map.

Use the provided macros to access the info in this structure.

### Members

`finfo` (GstVideoFormatInfo) –

the format info of the video

`interlace_mode` (GstVideoInterlaceMode) –

the interlace mode

`flags` (GstVideoFlags) –

additional video flags

`width` (int) –

the width of the video

`height` (int) –

the height of the video

`size` (int) –

the default size of one frame

`views` (int) –

the number of views for multiview video

`chroma_site` (GstVideoChromaSite) –

a GstVideoChromaSite.

`colorimetry` (GstVideoColorimetry) –

the colorimetry info

`par_n` (int) –

the pixel-aspect-ratio numerator

`par_d` (int) –

the pixel-aspect-ratio denominator

`fps_n` (int) –

the framerate numerator

`fps_d` (int) –

the framerate denominator

`offset` ([ int ]) –

offsets of the planes

`stride` ([ int ]) –

strides of the planes

### Constructors

#### gst_video_info_new

    GstVideoInfo *
    gst_video_info_new ()

Allocate a new GstVideoInfo that is also initialized with gst_video_info_init.

Returns –

a new GstVideoInfo. free with gst_video_info_free.

Since : 1.6

#### GstVideo.VideoInfo.prototype.new

    function GstVideo.VideoInfo.prototype.new(): {
        // javascript wrapper for 'gst_video_info_new'
    }

Allocate a new GstVideo.VideoInfo that is also initialized with GstVideo.VideoInfo.prototype.init.

Returns ( GstVideo.VideoInfo ) –

a new GstVideo.VideoInfo. free with GstVideo.VideoInfo.prototype.free.

Since : 1.6

#### GstVideo.VideoInfo.new

    def GstVideo.VideoInfo.new ():
        #python wrapper for 'gst_video_info_new'

Allocate a new GstVideo.VideoInfo that is also initialized with GstVideo.VideoInfo.init.

Returns ( GstVideo.VideoInfo ) –

a new GstVideo.VideoInfo. free with GstVideo.VideoInfo.free.

Since : 1.6

### Methods

#### gst_video_info_align

    gboolean
    gst_video_info_align (GstVideoInfo * info,
                          GstVideoAlignment * align)

Adjust the offset and stride fields in info so that the padding and stride alignment in align is respected.

Extra padding will be added to the right side when stride alignment padding is required and align will be updated with the new padding values.

Parameters:

`info` –

a GstVideoInfo

`align` –

alignment parameters

Returns –

FALSE if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12)

#### GstVideo.VideoInfo.prototype.align

    function GstVideo.VideoInfo.prototype.align(align: GstVideo.VideoAlignment): {
        // javascript wrapper for 'gst_video_info_align'
    }

Adjust the offset and stride fields in info so that the padding and stride alignment in align is respected.

Extra padding will be added to the right side when stride alignment padding is required and align will be updated with the new padding values.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`align` ( GstVideo.VideoAlignment ) –

alignment parameters

Returns ( Number ) –

false if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12)

#### GstVideo.VideoInfo.align

    def GstVideo.VideoInfo.align (self, align):
        #python wrapper for 'gst_video_info_align'

Adjust the offset and stride fields in info so that the padding and stride alignment in align is respected.

Extra padding will be added to the right side when stride alignment padding is required and align will be updated with the new padding values.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`align` ( GstVideo.VideoAlignment ) –

alignment parameters

Returns ( bool ) –

False if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12)

#### gst_video_info_align_full

    gboolean
    gst_video_info_align_full (GstVideoInfo * info,
                               GstVideoAlignment * align,
                               gsize * plane_size)

This variant of gst_video_info_align provides the updated size, in bytes, of each video plane after the alignment, including all horizontal and vertical paddings.

In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, the returned sizes are the ones used to hold a single field, not the full frame.

Parameters:

`info` –

a GstVideoInfo

`align` –

alignment parameters

`plane_size` ( [out] [allow-none] ) –

array used to store the plane sizes

Returns –

FALSE if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer

Since : 1.18

#### GstVideo.VideoInfo.prototype.align_full

    function GstVideo.VideoInfo.prototype.align_full(align: GstVideo.VideoAlignment): {
        // javascript wrapper for 'gst_video_info_align_full'
    }

This variant of GstVideo.VideoInfo.prototype.align provides the updated size, in bytes, of each video plane after the alignment, including all horizontal and vertical paddings.

In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, the returned sizes are the ones used to hold a single field, not the full frame.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`align` ( GstVideo.VideoAlignment ) –

alignment parameters

Returns a tuple made of:

( Number ) –

false if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer

`plane_size` ( Number ) –

false if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer

Since : 1.18

#### GstVideo.VideoInfo.align_full

    def GstVideo.VideoInfo.align_full (self, align):
        #python wrapper for 'gst_video_info_align_full'

This variant of GstVideo.VideoInfo.align provides the updated size, in bytes, of each video plane after the alignment, including all horizontal and vertical paddings.

In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, the returned sizes are the ones used to hold a single field, not the full frame.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`align` ( GstVideo.VideoAlignment ) –

alignment parameters

Returns a tuple made of:

( bool ) –

False if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer

`plane_size` ( int ) –

False if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer

Since : 1.18

#### gst_video_info_convert

    gboolean
    gst_video_info_convert (GstVideoInfo * info,
                            GstFormat src_format,
                            gint64 src_value,
                            GstFormat dest_format,
                            gint64 * dest_value)

Converts among various GstFormat types. This function handles GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For raw video, GST_FORMAT_DEFAULT corresponds to video frames. This function can be used to handle pad queries of the type GST_QUERY_CONVERT.

Parameters:

`info` –

a GstVideoInfo

`src_format` –

GstFormat of the src_value

`src_value` –

value to convert

`dest_format` –

GstFormat of the dest_value

`dest_value` ( [out] ) –

pointer to destination value

Returns –

TRUE if the conversion was successful.

#### GstVideo.VideoInfo.prototype.convert

    function GstVideo.VideoInfo.prototype.convert(src_format: Gst.Format, src_value: Number, dest_format: Gst.Format): {
        // javascript wrapper for 'gst_video_info_convert'
    }

Converts among various Gst.Format types. This function handles GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For raw video, GST_FORMAT_DEFAULT corresponds to video frames. This function can be used to handle pad queries of the type GST_QUERY_CONVERT.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`src_format` ( Gst.Format ) –

Gst.Format of the src_value

`src_value` ( Number ) –

value to convert

`dest_format` ( Gst.Format ) –

Gst.Format of the dest_value

Returns a tuple made of:

( Number ) –

TRUE if the conversion was successful.

`dest_value` ( Number ) –

TRUE if the conversion was successful.

#### GstVideo.VideoInfo.convert

    def GstVideo.VideoInfo.convert (self, src_format, src_value, dest_format):
        #python wrapper for 'gst_video_info_convert'

Converts among various Gst.Format types. This function handles GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For raw video, GST_FORMAT_DEFAULT corresponds to video frames. This function can be used to handle pad queries of the type GST_QUERY_CONVERT.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`src_format` ( Gst.Format ) –

Gst.Format of the src_value

`src_value` ( int ) –

value to convert

`dest_format` ( Gst.Format ) –

Gst.Format of the dest_value

Returns a tuple made of:

( bool ) –

TRUE if the conversion was successful.

`dest_value` ( int ) –

TRUE if the conversion was successful.

#### gst_video_info_copy

    GstVideoInfo *
    gst_video_info_copy (const GstVideoInfo * info)

Copy a GstVideoInfo structure.

Parameters:

`info` –

a GstVideoInfo

Returns –

a new GstVideoInfo. free with gst_video_info_free.

Since : 1.6

#### GstVideo.VideoInfo.prototype.copy

    function GstVideo.VideoInfo.prototype.copy(): {
        // javascript wrapper for 'gst_video_info_copy'
    }

Copy a GstVideoInfo structure.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Returns ( GstVideo.VideoInfo ) –

a new GstVideo.VideoInfo. free with gst_video_info_free.

Since : 1.6

#### GstVideo.VideoInfo.copy

    def GstVideo.VideoInfo.copy (self):
        #python wrapper for 'gst_video_info_copy'

Copy a GstVideoInfo structure.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Returns ( GstVideo.VideoInfo ) –

a new GstVideo.VideoInfo. free with gst_video_info_free.

Since : 1.6

#### gst_video_info_free

    gst_video_info_free (GstVideoInfo * info)

Free a GstVideoInfo structure previously allocated with gst_video_info_new or gst_video_info_copy.

Parameters:

`info` –

a GstVideoInfo

Since : 1.6

#### GstVideo.VideoInfo.prototype.free

    function GstVideo.VideoInfo.prototype.free(): {
        // javascript wrapper for 'gst_video_info_free'
    }

Free a GstVideoInfo structure previously allocated with GstVideo.VideoInfo.prototype.new or GstVideo.VideoInfo.prototype.copy.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Since : 1.6

#### GstVideo.VideoInfo.free

    def GstVideo.VideoInfo.free (self):
        #python wrapper for 'gst_video_info_free'

Free a GstVideoInfo structure previously allocated with GstVideo.VideoInfo.new or GstVideo.VideoInfo.copy.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Since : 1.6

#### gst_video_info_from_caps

    gboolean
    gst_video_info_from_caps (GstVideoInfo * info,
                              const GstCaps * caps)

Parse caps and update info.

Parameters:

`info` –

a GstVideoInfo

`caps` –

a GstCaps

Returns –

TRUE if caps could be parsed

#### GstVideo.VideoInfo.prototype.from_caps

    function GstVideo.VideoInfo.prototype.from_caps(caps: Gst.Caps): {
        // javascript wrapper for 'gst_video_info_from_caps'
    }

Parse caps and update info.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`caps` ( Gst.Caps ) –

a Gst.Caps

Returns ( Number ) –

TRUE if caps could be parsed

#### GstVideo.VideoInfo.from_caps

    def GstVideo.VideoInfo.from_caps (self, caps):
        #python wrapper for 'gst_video_info_from_caps'

Parse caps and update info.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`caps` ( Gst.Caps ) –

a Gst.Caps

Returns ( bool ) –

TRUE if caps could be parsed

#### gst_video_info_init

    gst_video_info_init (GstVideoInfo * info)

Initialize info with default values.

Parameters:

`info` –

a GstVideoInfo

#### GstVideo.VideoInfo.prototype.init

    function GstVideo.VideoInfo.prototype.init(): {
        // javascript wrapper for 'gst_video_info_init'
    }

Initialize info with default values.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

#### GstVideo.VideoInfo.init

    def GstVideo.VideoInfo.init (self):
        #python wrapper for 'gst_video_info_init'

Initialize info with default values.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

#### gst_video_info_is_equal

    gboolean
    gst_video_info_is_equal (const GstVideoInfo * info,
                             const GstVideoInfo * other)

Compares two GstVideoInfo and returns whether they are equal or not

Parameters:

`info` –

a GstVideoInfo

`other` –

a GstVideoInfo

Returns –

TRUE if info and other are equal, else FALSE.

#### GstVideo.VideoInfo.prototype.is_equal

    function GstVideo.VideoInfo.prototype.is_equal(other: GstVideo.VideoInfo): {
        // javascript wrapper for 'gst_video_info_is_equal'
    }

Compares two GstVideo.VideoInfo and returns whether they are equal or not

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`other` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Returns ( Number ) –

true if info and other are equal, else false.

#### GstVideo.VideoInfo.is_equal

    def GstVideo.VideoInfo.is_equal (self, other):
        #python wrapper for 'gst_video_info_is_equal'

Compares two GstVideo.VideoInfo and returns whether they are equal or not

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`other` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Returns ( bool ) –

True if info and other are equal, else False.

#### gst_video_info_set_format

    gboolean
    gst_video_info_set_format (GstVideoInfo * info,
                               GstVideoFormat format,
                               guint width,
                               guint height)

Set the default info for a video frame of format and width and height.

Note: This initializes info first, no values are preserved. This function does not set the offsets correctly for interlaced vertically subsampled formats.

Parameters:

`info` –

a GstVideoInfo

`format` –

the format

`width` –

a width

`height` –

a height

Returns –

FALSE if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12)

#### GstVideo.VideoInfo.prototype.set_format

    function GstVideo.VideoInfo.prototype.set_format(format: GstVideo.VideoFormat, width: Number, height: Number): {
        // javascript wrapper for 'gst_video_info_set_format'
    }

Set the default info for a video frame of format and width and height.

Note: This initializes info first, no values are preserved. This function does not set the offsets correctly for interlaced vertically subsampled formats.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`format` ( GstVideo.VideoFormat ) –

the format

`width` ( Number ) –

a width

`height` ( Number ) –

a height

Returns ( Number ) –

false if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12)

#### GstVideo.VideoInfo.set_format

    def GstVideo.VideoInfo.set_format (self, format, width, height):
        #python wrapper for 'gst_video_info_set_format'

Set the default info for a video frame of format and width and height.

Note: This initializes info first, no values are preserved. This function does not set the offsets correctly for interlaced vertically subsampled formats.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`format` ( GstVideo.VideoFormat ) –

the format

`width` ( int ) –

a width

`height` ( int ) –

a height

Returns ( bool ) –

False if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12)

#### gst_video_info_set_interlaced_format

    gboolean
    gst_video_info_set_interlaced_format (GstVideoInfo * info,
                                          GstVideoFormat format,
                                          GstVideoInterlaceMode mode,
                                          guint width,
                                          guint height)

Same as gst_video_info_set_format but also allowing to set the interlaced mode.

Parameters:

`info` –

a GstVideoInfo

`format` –

the format

`mode` –

a GstVideoInterlaceMode

`width` –

a width

`height` –

a height

Returns –

FALSE if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer.

Since : 1.16

#### GstVideo.VideoInfo.prototype.set_interlaced_format

    function GstVideo.VideoInfo.prototype.set_interlaced_format(format: GstVideo.VideoFormat, mode: GstVideo.VideoInterlaceMode, width: Number, height: Number): {
        // javascript wrapper for 'gst_video_info_set_interlaced_format'
    }

Same as GstVideo.VideoInfo.prototype.set_format but also allowing to set the interlaced mode.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`format` ( GstVideo.VideoFormat ) –

the format

`mode` ( GstVideo.VideoInterlaceMode ) –

a GstVideo.VideoInterlaceMode

`width` ( Number ) –

a width

`height` ( Number ) –

a height

Returns ( Number ) –

false if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer.

Since : 1.16

#### GstVideo.VideoInfo.set_interlaced_format

    def GstVideo.VideoInfo.set_interlaced_format (self, format, mode, width, height):
        #python wrapper for 'gst_video_info_set_interlaced_format'

Same as GstVideo.VideoInfo.set_format but also allowing to set the interlaced mode.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

`format` ( GstVideo.VideoFormat ) –

the format

`mode` ( GstVideo.VideoInterlaceMode ) –

a GstVideo.VideoInterlaceMode

`width` ( int ) –

a width

`height` ( int ) –

a height

Returns ( bool ) –

False if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer.

Since : 1.16

#### gst_video_info_to_caps

    GstCaps *
    gst_video_info_to_caps (GstVideoInfo * info)

Convert the values of info into a GstCaps.

Parameters:

`info` –

a GstVideoInfo

Returns –

a new GstCaps containing the info of info.

#### GstVideo.VideoInfo.prototype.to_caps

    function GstVideo.VideoInfo.prototype.to_caps(): {
        // javascript wrapper for 'gst_video_info_to_caps'
    }

Convert the values of info into a Gst.Caps.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Returns ( Gst.Caps ) –

a new Gst.Caps containing the info of info.

#### GstVideo.VideoInfo.to_caps

    def GstVideo.VideoInfo.to_caps (self):
        #python wrapper for 'gst_video_info_to_caps'

Convert the values of info into a Gst.Caps.

Parameters:

`info` ( GstVideo.VideoInfo ) –

a GstVideo.VideoInfo

Returns ( Gst.Caps ) –

a new Gst.Caps containing the info of info.

## Functions

### gst_video_field_order_from_string

    GstVideoFieldOrder
    gst_video_field_order_from_string (const gchar * order)

Convert order to a GstVideoFieldOrder

Parameters:

`order` –

a field order

Returns –

the GstVideoFieldOrder of order or GST_VIDEO_FIELD_ORDER_UNKNOWN when order is not a valid string representation for a GstVideoFieldOrder.

Since : 1.12

### GstVideo.prototype.video_field_order_from_string

    function GstVideo.prototype.video_field_order_from_string(order: String): {
        // javascript wrapper for 'gst_video_field_order_from_string'
    }

Convert order to a GstVideo.VideoFieldOrder

Parameters:

`order` ( String ) –

a field order

Returns ( GstVideo.VideoFieldOrder ) –

the GstVideo.VideoFieldOrder of order or GstVideo.VideoFieldOrder.UNKNOWN when order is not a valid string representation for a GstVideo.VideoFieldOrder.

Since : 1.12

### GstVideo.video_field_order_from_string

    def GstVideo.video_field_order_from_string (order):
        #python wrapper for 'gst_video_field_order_from_string'

Convert order to a GstVideo.VideoFieldOrder

Parameters:

`order` ( str ) –

a field order

Returns ( GstVideo.VideoFieldOrder ) –

the GstVideo.VideoFieldOrder of order or GstVideo.VideoFieldOrder.UNKNOWN when order is not a valid string representation for a GstVideo.VideoFieldOrder.

Since : 1.12

### gst_video_field_order_to_string

    const gchar *
    gst_video_field_order_to_string (GstVideoFieldOrder order)

Convert order to its string representation.

Parameters:

`order` –

a GstVideoFieldOrder

Returns –

order as a string or NULL if order in invalid.

Since : 1.12

### GstVideo.prototype.video_field_order_to_string

    function GstVideo.prototype.video_field_order_to_string(order: GstVideo.VideoFieldOrder): {
        // javascript wrapper for 'gst_video_field_order_to_string'
    }

Convert order to its string representation.

Parameters:

`order` ( GstVideo.VideoFieldOrder ) –

a GstVideo.VideoFieldOrder

Returns ( String ) –

order as a string or NULL if order in invalid.

Since : 1.12

### GstVideo.video_field_order_to_string

    def GstVideo.video_field_order_to_string (order):
        #python wrapper for 'gst_video_field_order_to_string'

Convert order to its string representation.

Parameters:

`order` ( GstVideo.VideoFieldOrder ) –

a GstVideo.VideoFieldOrder

Returns ( str ) –

order as a string or NULL if order in invalid.

Since : 1.12

### gst_video_interlace_mode_from_string

    GstVideoInterlaceMode
    gst_video_interlace_mode_from_string (const gchar * mode)

Convert mode to a GstVideoInterlaceMode

Parameters:

`mode` –

a mode

Returns –

the GstVideoInterlaceMode of mode or GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when mode is not a valid string representation for a GstVideoInterlaceMode.

Since : 1.6

### GstVideo.prototype.video_interlace_mode_from_string

    function GstVideo.prototype.video_interlace_mode_from_string(mode: String): {
        // javascript wrapper for 'gst_video_interlace_mode_from_string'
    }

Convert mode to a GstVideo.VideoInterlaceMode

Parameters:

`mode` ( String ) –

a mode

Returns ( GstVideo.VideoInterlaceMode ) –

the GstVideo.VideoInterlaceMode of mode or GstVideo.VideoInterlaceMode.PROGRESSIVE when mode is not a valid string representation for a GstVideo.VideoInterlaceMode.

Since : 1.6

### GstVideo.video_interlace_mode_from_string

    def GstVideo.video_interlace_mode_from_string (mode):
        #python wrapper for 'gst_video_interlace_mode_from_string'

Convert mode to a GstVideo.VideoInterlaceMode

Parameters:

`mode` ( str ) –

a mode

Returns ( GstVideo.VideoInterlaceMode ) –

the GstVideo.VideoInterlaceMode of mode or GstVideo.VideoInterlaceMode.PROGRESSIVE when mode is not a valid string representation for a GstVideo.VideoInterlaceMode.

Since : 1.6

### gst_video_interlace_mode_to_string

    const gchar *
    gst_video_interlace_mode_to_string (GstVideoInterlaceMode mode)

Convert mode to its string representation.

Parameters:

`mode` –

a GstVideoInterlaceMode

Returns –

mode as a string or NULL if mode in invalid.

Since : 1.6

### GstVideo.prototype.video_interlace_mode_to_string

    function GstVideo.prototype.video_interlace_mode_to_string(mode: GstVideo.VideoInterlaceMode): {
        // javascript wrapper for 'gst_video_interlace_mode_to_string'
    }

Convert mode to its string representation.

Parameters:

`mode` ( GstVideo.VideoInterlaceMode ) –

a GstVideo.VideoInterlaceMode

Returns ( String ) –

mode as a string or NULL if mode in invalid.

Since : 1.6

### GstVideo.video_interlace_mode_to_string

    def GstVideo.video_interlace_mode_to_string (mode):
        #python wrapper for 'gst_video_interlace_mode_to_string'

Convert mode to its string representation.

Parameters:

`mode` ( GstVideo.VideoInterlaceMode ) –

a GstVideo.VideoInterlaceMode

Returns ( str ) –

mode as a string or NULL if mode in invalid.

Since : 1.6

## Function Macros

### GST_VIDEO_INFO_CHROMA_SITE

    #define GST_VIDEO_INFO_CHROMA_SITE(i) ((i)->chroma_site)

### GST_VIDEO_INFO_COLORIMETRY

    #define GST_VIDEO_INFO_COLORIMETRY(i) ((i)->colorimetry)

### GST_VIDEO_INFO_COMP_DATA

    #define GST_VIDEO_INFO_COMP_DATA(i,d,c)  GST_VIDEO_FORMAT_INFO_DATA((i)->finfo,d,(c))

### GST_VIDEO_INFO_COMP_DEPTH

    #define GST_VIDEO_INFO_COMP_DEPTH(i,c)   GST_VIDEO_FORMAT_INFO_DEPTH((i)->finfo,(c))

### GST_VIDEO_INFO_COMP_HEIGHT

    #define GST_VIDEO_INFO_COMP_HEIGHT(i,c)  GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT((i)->finfo,(c),GST_VIDEO_INFO_FIELD_HEIGHT(i))

### GST_VIDEO_INFO_COMP_OFFSET

    #define GST_VIDEO_INFO_COMP_OFFSET(i,c)  GST_VIDEO_FORMAT_INFO_OFFSET((i)->finfo,(i)->offset,(c))

### GST_VIDEO_INFO_COMP_PLANE

    #define GST_VIDEO_INFO_COMP_PLANE(i,c)   GST_VIDEO_FORMAT_INFO_PLANE((i)->finfo,(c))

### GST_VIDEO_INFO_COMP_POFFSET

    #define GST_VIDEO_INFO_COMP_POFFSET(i,c) GST_VIDEO_FORMAT_INFO_POFFSET((i)->finfo,(c))

### GST_VIDEO_INFO_COMP_PSTRIDE

    #define GST_VIDEO_INFO_COMP_PSTRIDE(i,c) GST_VIDEO_FORMAT_INFO_PSTRIDE((i)->finfo,(c))

### GST_VIDEO_INFO_COMP_STRIDE

    #define GST_VIDEO_INFO_COMP_STRIDE(i,c)  GST_VIDEO_FORMAT_INFO_STRIDE((i)->finfo,(i)->stride,(c))

### GST_VIDEO_INFO_COMP_WIDTH

    #define GST_VIDEO_INFO_COMP_WIDTH(i,c)   GST_VIDEO_FORMAT_INFO_SCALE_WIDTH((i)->finfo,(c),(i)->width)

### GST_VIDEO_INFO_FIELD_HEIGHT

    #define GST_VIDEO_INFO_FIELD_HEIGHT(i)   ((i)->interlace_mode == GST_VIDEO_INTERLACE_MODE_ALTERNATE? GST_ROUND_UP_2 ((i)->height) / 2 : (i)->height)

The height of a field. It's the height of the full frame unless split-field (alternate) interlacing is in use.

### GST_VIDEO_INFO_FIELD_ORDER

    #define GST_VIDEO_INFO_FIELD_ORDER(i)    ((i)->ABI.abi.field_order)

### GST_VIDEO_INFO_FIELD_RATE_N

    #define GST_VIDEO_INFO_FIELD_RATE_N(i)   ((GST_VIDEO_INFO_INTERLACE_MODE ((i)) == \
                                               GST_VIDEO_INTERLACE_MODE_ALTERNATE) ? \
                                               (i)->fps_n * 2 : (i)->fps_n)

### GST_VIDEO_INFO_FLAGS

    #define GST_VIDEO_INFO_FLAGS(i)          ((i)->flags)

### GST_VIDEO_INFO_FLAG_IS_SET

    #define GST_VIDEO_INFO_FLAG_IS_SET(i,flag) ((GST_VIDEO_INFO_FLAGS(i) & (flag)) == (flag))

### GST_VIDEO_INFO_FLAG_SET

    #define GST_VIDEO_INFO_FLAG_SET(i,flag)    (GST_VIDEO_INFO_FLAGS(i) |= (flag))

### GST_VIDEO_INFO_FLAG_UNSET

    #define GST_VIDEO_INFO_FLAG_UNSET(i,flag)  (GST_VIDEO_INFO_FLAGS(i) &= ~(flag))

### GST_VIDEO_INFO_FORMAT

    #define GST_VIDEO_INFO_FORMAT(i)         (GST_VIDEO_FORMAT_INFO_FORMAT((i)->finfo))

### GST_VIDEO_INFO_FPS_D

    #define GST_VIDEO_INFO_FPS_D(i)          ((i)->fps_d)

### GST_VIDEO_INFO_FPS_N

    #define GST_VIDEO_INFO_FPS_N(i)          ((i)->fps_n)

### GST_VIDEO_INFO_HAS_ALPHA

    #define GST_VIDEO_INFO_HAS_ALPHA(i)      (GST_VIDEO_FORMAT_INFO_HAS_ALPHA((i)->finfo))

### GST_VIDEO_INFO_HEIGHT

    #define GST_VIDEO_INFO_HEIGHT(i)         ((i)->height)

### GST_VIDEO_INFO_INTERLACE_MODE

    #define GST_VIDEO_INFO_INTERLACE_MODE(i) ((i)->interlace_mode)

### GST_VIDEO_INFO_IS_GRAY

    #define GST_VIDEO_INFO_IS_GRAY(i)        (GST_VIDEO_FORMAT_INFO_IS_GRAY((i)->finfo))

### GST_VIDEO_INFO_IS_INTERLACED

    #define GST_VIDEO_INFO_IS_INTERLACED(i)  ((i)->interlace_mode != GST_VIDEO_INTERLACE_MODE_PROGRESSIVE)

### GST_VIDEO_INFO_IS_RGB

    #define GST_VIDEO_INFO_IS_RGB(i)         (GST_VIDEO_FORMAT_INFO_IS_RGB((i)->finfo))

### GST_VIDEO_INFO_IS_YUV

    #define GST_VIDEO_INFO_IS_YUV(i)         (GST_VIDEO_FORMAT_INFO_IS_YUV((i)->finfo))

### GST_VIDEO_INFO_MULTIVIEW_FLAGS

    #define GST_VIDEO_INFO_MULTIVIEW_FLAGS(i)          ((i)->ABI.abi.multiview_flags)

### GST_VIDEO_INFO_MULTIVIEW_MODE

    #define GST_VIDEO_INFO_MULTIVIEW_MODE(i)          ((i)->ABI.abi.multiview_mode)

### GST_VIDEO_INFO_NAME

    #define GST_VIDEO_INFO_NAME(i)           (GST_VIDEO_FORMAT_INFO_NAME((i)->finfo))

### GST_VIDEO_INFO_N_COMPONENTS

    #define GST_VIDEO_INFO_N_COMPONENTS(i)   GST_VIDEO_FORMAT_INFO_N_COMPONENTS((i)->finfo)

### GST_VIDEO_INFO_N_PLANES

    #define GST_VIDEO_INFO_N_PLANES(i)       (GST_VIDEO_FORMAT_INFO_N_PLANES((i)->finfo))

### GST_VIDEO_INFO_PAR_D

    #define GST_VIDEO_INFO_PAR_D(i)          ((i)->par_d)

### GST_VIDEO_INFO_PAR_N

    #define GST_VIDEO_INFO_PAR_N(i)          ((i)->par_n)

### GST_VIDEO_INFO_PLANE_HEIGHT

    #define GST_VIDEO_INFO_PLANE_HEIGHT(i,p,sizes) ((i)->stride[p] == 0 ? 0 : sizes[p] / (i)->stride[p])

The padded height in pixels of a plane (padded size divided by the plane stride). In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, this macro returns the plane heights used to hold a single field, not the full frame.

The size passed as third argument is the size of the pixel data and should not contain any extra metadata padding.

It is not valid to use this macro with a TILED format.

### GST_VIDEO_INFO_PLANE_OFFSET

    #define GST_VIDEO_INFO_PLANE_OFFSET(i,p) ((i)->offset[p])

### GST_VIDEO_INFO_PLANE_STRIDE

    #define GST_VIDEO_INFO_PLANE_STRIDE(i,p) ((i)->stride[p])

### GST_VIDEO_INFO_SIZE

    #define GST_VIDEO_INFO_SIZE(i)           ((i)->size)

### GST_VIDEO_INFO_VIEWS

    #define GST_VIDEO_INFO_VIEWS(i)          ((i)->views)

### GST_VIDEO_INFO_WIDTH

    #define GST_VIDEO_INFO_WIDTH(i)          ((i)->width)

## Enumerations

### GstVideoFieldOrder

Field order of interlaced content. This is only valid for interlace-mode=interleaved and not interlace-mode=mixed. In the case of mixed or GST_VIDEO_FIELD_ORDER_UNKOWN, the field order is signalled via buffer flags.

##### Members

`GST_VIDEO_FIELD_ORDER_UNKNOWN` (0) –

unknown field order for interlaced content. The actual field order is signalled via buffer flags.

`GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST` (1) –

top field is first

`GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST` (2) –

bottom field is first

### GstVideo.VideoFieldOrder

Field order of interlaced content. This is only valid for interlace-mode=interleaved and not interlace-mode=mixed. In the case of mixed or GST_VIDEO_FIELD_ORDER_UNKOWN, the field order is signalled via buffer flags.

##### Members

`GstVideo.VideoFieldOrder.UNKNOWN` (0) –

unknown field order for interlaced content. The actual field order is signalled via buffer flags.

`GstVideo.VideoFieldOrder.TOP_FIELD_FIRST` (1) –

top field is first

`GstVideo.VideoFieldOrder.BOTTOM_FIELD_FIRST` (2) –

bottom field is first

### GstVideo.VideoFieldOrder

Field order of interlaced content. This is only valid for interlace-mode=interleaved and not interlace-mode=mixed. In the case of mixed or GST_VIDEO_FIELD_ORDER_UNKOWN, the field order is signalled via buffer flags.

##### Members

`GstVideo.VideoFieldOrder.UNKNOWN` (0) –

unknown field order for interlaced content. The actual field order is signalled via buffer flags.

`GstVideo.VideoFieldOrder.TOP_FIELD_FIRST` (1) –

top field is first

`GstVideo.VideoFieldOrder.BOTTOM_FIELD_FIRST` (2) –

bottom field is first

### GstVideoFlags

Extra video flags

##### Members

`GST_VIDEO_FLAG_NONE` (0) –

no flags

`GST_VIDEO_FLAG_VARIABLE_FPS` (1) –

a variable fps is selected, fps_n and fps_d denote the maximum fps of the video

`GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA` (2) –

Each color has been scaled by the alpha value.

### GstVideo.VideoFlags

Extra video flags

##### Members

`GstVideo.VideoFlags.NONE` (0) –

no flags

`GstVideo.VideoFlags.VARIABLE_FPS` (1) –

a variable fps is selected, fps_n and fps_d denote the maximum fps of the video

`GstVideo.VideoFlags.PREMULTIPLIED_ALPHA` (2) –

Each color has been scaled by the alpha value.

### GstVideo.VideoFlags

Extra video flags

##### Members

`GstVideo.VideoFlags.NONE` (0) –

no flags

`GstVideo.VideoFlags.VARIABLE_FPS` (1) –

a variable fps is selected, fps_n and fps_d denote the maximum fps of the video

`GstVideo.VideoFlags.PREMULTIPLIED_ALPHA` (2) –

Each color has been scaled by the alpha value.

### GstVideoInterlaceMode

The possible values of the GstVideoInterlaceMode describing the interlace mode of the stream.

##### Members

`GST_VIDEO_INTERLACE_MODE_PROGRESSIVE` (0) –

all frames are progressive

`GST_VIDEO_INTERLACE_MODE_INTERLEAVED` (1) –

2 fields are interleaved in one video frame. Extra buffer flags describe the field order.

`GST_VIDEO_INTERLACE_MODE_MIXED` (2) –

frames contains both interlaced and progressive video, the buffer flags describe the frame and fields.

`GST_VIDEO_INTERLACE_MODE_FIELDS` (3) –

2 fields are stored in one buffer, use the frame ID to get access to the required field. For multiview (the 'views' property > 1) the fields of view N can be found at frame ID (N * 2) and (N * 2) + 1. Each field has only half the amount of lines as noted in the height property. This mode requires multiple GstVideoMeta metadata to describe the fields.

`GST_VIDEO_INTERLACE_MODE_ALTERNATE` (4) –

1 field is stored in one buffer, GST_VIDEO_BUFFER_FLAG_TF or GST_VIDEO_BUFFER_FLAG_BF indicates if the buffer is carrying the top or bottom field, respectively. The top and bottom buffers are expected to alternate in the pipeline, with this mode (Since: 1.16).

### GstVideo.VideoInterlaceMode

The possible values of the GstVideo.VideoInterlaceMode describing the interlace mode of the stream.

##### Members

`GstVideo.VideoInterlaceMode.PROGRESSIVE` (0) –

all frames are progressive

`GstVideo.VideoInterlaceMode.INTERLEAVED` (1) –

2 fields are interleaved in one video frame. Extra buffer flags describe the field order.

`GstVideo.VideoInterlaceMode.MIXED` (2) –

frames contains both interlaced and progressive video, the buffer flags describe the frame and fields.

`GstVideo.VideoInterlaceMode.FIELDS` (3) –

2 fields are stored in one buffer, use the frame ID to get access to the required field. For multiview (the 'views' property > 1) the fields of view N can be found at frame ID (N * 2) and (N * 2) + 1. Each field has only half the amount of lines as noted in the height property. This mode requires multiple GstVideoMeta metadata to describe the fields.

`GstVideo.VideoInterlaceMode.ALTERNATE` (4) –

1 field is stored in one buffer, GST_VIDEO_BUFFER_FLAG_TF or GST_VIDEO_BUFFER_FLAG_BF indicates if the buffer is carrying the top or bottom field, respectively. The top and bottom buffers are expected to alternate in the pipeline, with this mode (Since: 1.16).

### GstVideo.VideoInterlaceMode

The possible values of the GstVideo.VideoInterlaceMode describing the interlace mode of the stream.

##### Members

`GstVideo.VideoInterlaceMode.PROGRESSIVE` (0) –

all frames are progressive

`GstVideo.VideoInterlaceMode.INTERLEAVED` (1) –

2 fields are interleaved in one video frame. Extra buffer flags describe the field order.

`GstVideo.VideoInterlaceMode.MIXED` (2) –

frames contains both interlaced and progressive video, the buffer flags describe the frame and fields.

`GstVideo.VideoInterlaceMode.FIELDS` (3) –

2 fields are stored in one buffer, use the frame ID to get access to the required field. For multiview (the 'views' property > 1) the fields of view N can be found at frame ID (N * 2) and (N * 2) + 1. Each field has only half the amount of lines as noted in the height property. This mode requires multiple GstVideoMeta metadata to describe the fields.

`GstVideo.VideoInterlaceMode.ALTERNATE` (4) –

1 field is stored in one buffer, GST_VIDEO_BUFFER_FLAG_TF or GST_VIDEO_BUFFER_FLAG_BF indicates if the buffer is carrying the top or bottom field, respectively. The top and bottom buffers are expected to alternate in the pipeline, with this mode (Since: 1.16).

### GstVideoMultiviewFlags

GstVideoMultiviewFlags are used to indicate extra properties of a stereo/multiview stream beyond the frame layout and buffer mapping that is conveyed in the GstVideoMultiviewMode.

##### Members

`GST_VIDEO_MULTIVIEW_FLAGS_NONE` (0) –

No flags

`GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST` (1) –

For stereo streams, the normal arrangement of left and right views is reversed.

`GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED` (2) –

The left view is vertically mirrored.

`GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED` (4) –

The left view is horizontally mirrored.

`GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED` (8) –

The right view is vertically mirrored.

`GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED` (16) –

The right view is horizontally mirrored.

`GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT` (16384) –

For frame-packed multiview modes, indicates that the individual views have been encoded with half the true width or height and should be scaled back up for display. This flag is used for overriding input layout interpretation by adjusting pixel-aspect-ratio. For side-by-side, column interleaved or checkerboard packings, the pixel width will be doubled. For row interleaved and top-bottom encodings, pixel height will be doubled.

`GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO` (32768) –

The video stream contains both mono and multiview portions, signalled on each buffer by the absence or presence of the GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW buffer flag.

### GstVideo.VideoMultiviewFlags

GstVideoMultiviewFlags are used to indicate extra properties of a stereo/multiview stream beyond the frame layout and buffer mapping that is conveyed in the GstVideo.VideoMultiviewMode.

##### Members

`GstVideo.VideoMultiviewFlags.NONE` (0) –

No flags

`GstVideo.VideoMultiviewFlags.RIGHT_VIEW_FIRST` (1) –

For stereo streams, the normal arrangement of left and right views is reversed.

`GstVideo.VideoMultiviewFlags.LEFT_FLIPPED` (2) –

The left view is vertically mirrored.

`GstVideo.VideoMultiviewFlags.LEFT_FLOPPED` (4) –

The left view is horizontally mirrored.

`GstVideo.VideoMultiviewFlags.RIGHT_FLIPPED` (8) –

The right view is vertically mirrored.

`GstVideo.VideoMultiviewFlags.RIGHT_FLOPPED` (16) –

The right view is horizontally mirrored.

`GstVideo.VideoMultiviewFlags.HALF_ASPECT` (16384) –

For frame-packed multiview modes, indicates that the individual views have been encoded with half the true width or height and should be scaled back up for display. This flag is used for overriding input layout interpretation by adjusting pixel-aspect-ratio. For side-by-side, column interleaved or checkerboard packings, the pixel width will be doubled. For row interleaved and top-bottom encodings, pixel height will be doubled.

`GstVideo.VideoMultiviewFlags.MIXED_MONO` (32768) –

The video stream contains both mono and multiview portions, signalled on each buffer by the absence or presence of the GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW buffer flag.

### GstVideo.VideoMultiviewFlags

GstVideoMultiviewFlags are used to indicate extra properties of a stereo/multiview stream beyond the frame layout and buffer mapping that is conveyed in the GstVideo.VideoMultiviewMode.

##### Members

`GstVideo.VideoMultiviewFlags.NONE` (0) –

No flags

`GstVideo.VideoMultiviewFlags.RIGHT_VIEW_FIRST` (1) –

For stereo streams, the normal arrangement of left and right views is reversed.

`GstVideo.VideoMultiviewFlags.LEFT_FLIPPED` (2) –

The left view is vertically mirrored.

`GstVideo.VideoMultiviewFlags.LEFT_FLOPPED` (4) –

The left view is horizontally mirrored.

`GstVideo.VideoMultiviewFlags.RIGHT_FLIPPED` (8) –

The right view is vertically mirrored.

`GstVideo.VideoMultiviewFlags.RIGHT_FLOPPED` (16) –

The right view is horizontally mirrored.

`GstVideo.VideoMultiviewFlags.HALF_ASPECT` (16384) –

For frame-packed multiview modes, indicates that the individual views have been encoded with half the true width or height and should be scaled back up for display. This flag is used for overriding input layout interpretation by adjusting pixel-aspect-ratio. For side-by-side, column interleaved or checkerboard packings, the pixel width will be doubled. For row interleaved and top-bottom encodings, pixel height will be doubled.

`GstVideo.VideoMultiviewFlags.MIXED_MONO` (32768) –

The video stream contains both mono and multiview portions, signalled on each buffer by the absence or presence of the GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW buffer flag.

### GstVideoMultiviewFramePacking

GstVideoMultiviewFramePacking represents the subset of GstVideoMultiviewMode values that can be applied to any video frame without needing extra metadata. It can be used by elements that provide a property to override the multiview interpretation of a video stream when the video doesn't contain any markers.

This enum is used (for example) on playbin, to re-interpret a played video stream as a stereoscopic video. The individual enum values are equivalent to and have the same value as the matching GstVideoMultiviewMode.

##### Members

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE` (-1) –

A special value indicating no frame packing info.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO` (0) –

All frames are monoscopic.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT` (1) –

All frames represent a left-eye view.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT` (2) –

All frames represent a right-eye view.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE` (3) –

Left and right eye views are provided in the left and right half of the frame respectively.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX` (4) –

Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED` (5) –

Alternating vertical columns of pixels represent the left and right eye view respectively.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED` (6) –

Alternating horizontal rows of pixels represent the left and right eye view respectively.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM` (7) –

The top half of the frame contains the left eye, and the bottom half the right eye.

`GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD` (8) –

Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion.

### GstVideo.VideoMultiviewFramePacking

GstVideo.VideoMultiviewFramePacking represents the subset of GstVideo.VideoMultiviewMode values that can be applied to any video frame without needing extra metadata. It can be used by elements that provide a property to override the multiview interpretation of a video stream when the video doesn't contain any markers.

This enum is used (for example) on playbin, to re-interpret a played video stream as a stereoscopic video. The individual enum values are equivalent to and have the same value as the matching GstVideo.VideoMultiviewMode.

##### Members

`GstVideo.VideoMultiviewFramePacking.NONE` (-1) –

A special value indicating no frame packing info.

`GstVideo.VideoMultiviewFramePacking.MONO` (0) –

All frames are monoscopic.

`GstVideo.VideoMultiviewFramePacking.LEFT` (1) –

All frames represent a left-eye view.

`GstVideo.VideoMultiviewFramePacking.RIGHT` (2) –

All frames represent a right-eye view.

`GstVideo.VideoMultiviewFramePacking.SIDE_BY_SIDE` (3) –

Left and right eye views are provided in the left and right half of the frame respectively.

`GstVideo.VideoMultiviewFramePacking.SIDE_BY_SIDE_QUINCUNX` (4) –

Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views.

`GstVideo.VideoMultiviewFramePacking.COLUMN_INTERLEAVED` (5) –

Alternating vertical columns of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewFramePacking.ROW_INTERLEAVED` (6) –

Alternating horizontal rows of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewFramePacking.TOP_BOTTOM` (7) –

The top half of the frame contains the left eye, and the bottom half the right eye.

`GstVideo.VideoMultiviewFramePacking.CHECKERBOARD` (8) –

Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion.

### GstVideo.VideoMultiviewFramePacking

GstVideo.VideoMultiviewFramePacking represents the subset of GstVideo.VideoMultiviewMode values that can be applied to any video frame without needing extra metadata. It can be used by elements that provide a property to override the multiview interpretation of a video stream when the video doesn't contain any markers.

This enum is used (for example) on playbin, to re-interpret a played video stream as a stereoscopic video. The individual enum values are equivalent to and have the same value as the matching GstVideo.VideoMultiviewMode.

##### Members

`GstVideo.VideoMultiviewFramePacking.NONE` (-1) –

A special value indicating no frame packing info.

`GstVideo.VideoMultiviewFramePacking.MONO` (0) –

All frames are monoscopic.

`GstVideo.VideoMultiviewFramePacking.LEFT` (1) –

All frames represent a left-eye view.

`GstVideo.VideoMultiviewFramePacking.RIGHT` (2) –

All frames represent a right-eye view.

`GstVideo.VideoMultiviewFramePacking.SIDE_BY_SIDE` (3) –

Left and right eye views are provided in the left and right half of the frame respectively.

`GstVideo.VideoMultiviewFramePacking.SIDE_BY_SIDE_QUINCUNX` (4) –

Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views.

`GstVideo.VideoMultiviewFramePacking.COLUMN_INTERLEAVED` (5) –

Alternating vertical columns of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewFramePacking.ROW_INTERLEAVED` (6) –

Alternating horizontal rows of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewFramePacking.TOP_BOTTOM` (7) –

The top half of the frame contains the left eye, and the bottom half the right eye.

`GstVideo.VideoMultiviewFramePacking.CHECKERBOARD` (8) –

Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion.

### GstVideoMultiviewMode

All possible stereoscopic 3D and multiview representations. In conjunction with GstVideoMultiviewFlags, describes how multiview content is being transported in the stream.

##### Members

`GST_VIDEO_MULTIVIEW_MODE_NONE` (-1) –

A special value indicating no multiview information. Used in GstVideoInfo and other places to indicate that no specific multiview handling has been requested or provided. This value is never carried on caps.

`GST_VIDEO_MULTIVIEW_MODE_MONO` (0) –

All frames are monoscopic.

`GST_VIDEO_MULTIVIEW_MODE_LEFT` (1) –

All frames represent a left-eye view.

`GST_VIDEO_MULTIVIEW_MODE_RIGHT` (2) –

All frames represent a right-eye view.

`GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE` (3) –

Left and right eye views are provided in the left and right half of the frame respectively.

`GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX` (4) –

Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views.

`GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED` (5) –

Alternating vertical columns of pixels represent the left and right eye view respectively.

`GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED` (6) –

Alternating horizontal rows of pixels represent the left and right eye view respectively.

`GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM` (7) –

The top half of the frame contains the left eye, and the bottom half the right eye.

`GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD` (8) –

Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion.

`GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME` (32) –

Left and right eye views are provided in separate frames alternately.

`GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME` (33) –

Multiple independent views are provided in separate frames in sequence. This method only applies to raw video buffers at the moment. Specific view identification is via the `GstVideoMultiviewMeta` and GstVideoMeta(s) on raw video buffers.

`GST_VIDEO_MULTIVIEW_MODE_SEPARATED` (34) –

Multiple views are provided as separate GstMemory framebuffers attached to each GstBuffer, described by the `GstVideoMultiviewMeta` and GstVideoMeta(s)

### GstVideo.VideoMultiviewMode

All possible stereoscopic 3D and multiview representations. In conjunction with GstVideo.VideoMultiviewFlags, describes how multiview content is being transported in the stream.

##### Members

`GstVideo.VideoMultiviewMode.NONE` (-1) –

A special value indicating no multiview information. Used in GstVideoInfo and other places to indicate that no specific multiview handling has been requested or provided. This value is never carried on caps.

`GstVideo.VideoMultiviewMode.MONO` (0) –

All frames are monoscopic.

`GstVideo.VideoMultiviewMode.LEFT` (1) –

All frames represent a left-eye view.

`GstVideo.VideoMultiviewMode.RIGHT` (2) –

All frames represent a right-eye view.

`GstVideo.VideoMultiviewMode.SIDE_BY_SIDE` (3) –

Left and right eye views are provided in the left and right half of the frame respectively.

`GstVideo.VideoMultiviewMode.SIDE_BY_SIDE_QUINCUNX` (4) –

Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views.

`GstVideo.VideoMultiviewMode.COLUMN_INTERLEAVED` (5) –

Alternating vertical columns of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewMode.ROW_INTERLEAVED` (6) –

Alternating horizontal rows of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewMode.TOP_BOTTOM` (7) –

The top half of the frame contains the left eye, and the bottom half the right eye.

`GstVideo.VideoMultiviewMode.CHECKERBOARD` (8) –

Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion.

`GstVideo.VideoMultiviewMode.FRAME_BY_FRAME` (32) –

Left and right eye views are provided in separate frames alternately.

`GstVideo.VideoMultiviewMode.MULTIVIEW_FRAME_BY_FRAME` (33) –

Multiple independent views are provided in separate frames in sequence. This method only applies to raw video buffers at the moment. Specific view identification is via the `GstVideoMultiviewMeta` and GstVideo.VideoMeta(s) on raw video buffers.

`GstVideo.VideoMultiviewMode.SEPARATED` (34) –

Multiple views are provided as separate Gst.Memory framebuffers attached to each Gst.Buffer, described by the `GstVideoMultiviewMeta` and GstVideo.VideoMeta(s)

### GstVideo.VideoMultiviewMode

All possible stereoscopic 3D and multiview representations. In conjunction with GstVideo.VideoMultiviewFlags, describes how multiview content is being transported in the stream.

##### Members

`GstVideo.VideoMultiviewMode.NONE` (-1) –

A special value indicating no multiview information. Used in GstVideoInfo and other places to indicate that no specific multiview handling has been requested or provided. This value is never carried on caps.

`GstVideo.VideoMultiviewMode.MONO` (0) –

All frames are monoscopic.

`GstVideo.VideoMultiviewMode.LEFT` (1) –

All frames represent a left-eye view.

`GstVideo.VideoMultiviewMode.RIGHT` (2) –

All frames represent a right-eye view.

`GstVideo.VideoMultiviewMode.SIDE_BY_SIDE` (3) –

Left and right eye views are provided in the left and right half of the frame respectively.

`GstVideo.VideoMultiviewMode.SIDE_BY_SIDE_QUINCUNX` (4) –

Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views.

`GstVideo.VideoMultiviewMode.COLUMN_INTERLEAVED` (5) –

Alternating vertical columns of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewMode.ROW_INTERLEAVED` (6) –

Alternating horizontal rows of pixels represent the left and right eye view respectively.

`GstVideo.VideoMultiviewMode.TOP_BOTTOM` (7) –

The top half of the frame contains the left eye, and the bottom half the right eye.

`GstVideo.VideoMultiviewMode.CHECKERBOARD` (8) –

Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion.

`GstVideo.VideoMultiviewMode.FRAME_BY_FRAME` (32) –

Left and right eye views are provided in separate frames alternately.

`GstVideo.VideoMultiviewMode.MULTIVIEW_FRAME_BY_FRAME` (33) –

Multiple independent views are provided in separate frames in sequence. This method only applies to raw video buffers at the moment. Specific view identification is via the `GstVideoMultiviewMeta` and GstVideo.VideoMeta(s) on raw video buffers.

`GstVideo.VideoMultiviewMode.SEPARATED` (34) –

Multiple views are provided as separate Gst.Memory framebuffers attached to each Gst.Buffer, described by the `GstVideoMultiviewMeta` and GstVideo.VideoMeta(s)

## Constants

### GST_CAPS_FEATURE_FORMAT_INTERLACED

    #define GST_CAPS_FEATURE_FORMAT_INTERLACED "format:Interlaced"

Name of the caps feature indicating that the stream is interlaced.

Currently it is only used for video with 'interlace-mode=alternate' to ensure backwards compatibility for this new mode. In this mode each buffer carries a single field of interlaced video. GST_VIDEO_BUFFER_FLAG_TOP_FIELD and GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD indicate whether the buffer carries a top or bottom field. The order of buffers/fields in the stream and the timestamps on the buffers indicate the temporal order of the fields. Top and bottom fields are expected to alternate in this mode. The frame rate in the caps still signals the frame rate, so the notional field rate will be twice the frame rate from the caps (see GST_VIDEO_INFO_FIELD_RATE_N).

### GstVideo.CAPS_FEATURE_FORMAT_INTERLACED

Name of the caps feature indicating that the stream is interlaced.

Currently it is only used for video with 'interlace-mode=alternate' to ensure backwards compatibility for this new mode. In this mode each buffer carries a single field of interlaced video. GST_VIDEO_BUFFER_FLAG_TOP_FIELD and GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD indicate whether the buffer carries a top or bottom field. The order of buffers/fields in the stream and the timestamps on the buffers indicate the temporal order of the fields. Top and bottom fields are expected to alternate in this mode. The frame rate in the caps still signals the frame rate, so the notional field rate will be twice the frame rate from the caps (see GST_VIDEO_INFO_FIELD_RATE_N).

### GstVideo.CAPS_FEATURE_FORMAT_INTERLACED

Name of the caps feature indicating that the stream is interlaced.

Currently it is only used for video with 'interlace-mode=alternate' to ensure backwards compatibility for this new mode. In this mode each buffer carries a single field of interlaced video. GST_VIDEO_BUFFER_FLAG_TOP_FIELD and GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD indicate whether the buffer carries a top or bottom field. The order of buffers/fields in the stream and the timestamps on the buffers indicate the temporal order of the fields. Top and bottom fields are expected to alternate in this mode. The frame rate in the caps still signals the frame rate, so the notional field rate will be twice the frame rate from the caps (see GST_VIDEO_INFO_FIELD_RATE_N).

### GST_TYPE_VIDEO_INFO

    #define GST_TYPE_VIDEO_INFO              (gst_video_info_get_type ())

### GST_VIDEO_MULTIVIEW_MAX_FRAME_PACKING

    #define GST_VIDEO_MULTIVIEW_MAX_FRAME_PACKING GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD

The results of the search are