GstVideoFrame

A video frame obtained from gst_video_frame_map

Members

info (GstVideoInfo) –

the GstVideoInfo

flags (GstVideoFrameFlags) –

GstVideoFrameFlags for the frame

buffer (GstBuffer *) –

the mapped buffer

meta (gpointer) –

pointer to metadata if any

id (gint) –

id of the mapped frame. the id can for example be used to identify the frame in case of multiview video.

data (gpointer *) –

pointers to the plane data

map (GstMapInfo *) –

mappings of the planes


GstVideo.VideoFrame

A video frame obtained from GstVideo.prototype.video_frame_map

Members

buffer (Gst.Buffer) –

the mapped buffer

meta (Object) –

pointer to metadata if any

id (Number) –

id of the mapped frame. the id can for example be used to identify the frame in case of multiview video.

data ([ Object ]) –

pointers to the plane data

map ([ Gst.MapInfo ]) –

mappings of the planes


GstVideo.VideoFrame

A video frame obtained from GstVideo.video_frame_map

Members

buffer (Gst.Buffer) –

the mapped buffer

meta (object) –

pointer to metadata if any

id (int) –

id of the mapped frame. the id can for example be used to identify the frame in case of multiview video.

data ([ object ]) –

pointers to the plane data

map ([ Gst.MapInfo ]) –

mappings of the planes


Methods

gst_video_frame_copy

gboolean
gst_video_frame_copy (GstVideoFrame * dest,
                      const GstVideoFrame * src)

Copy the contents from src to dest.

Note: Since: 1.18, dest dimensions are allowed to be smaller than src dimensions.

Parameters:

dest

a GstVideoFrame

src

a GstVideoFrame

Returns

TRUE if the contents could be copied.


GstVideo.VideoFrame.prototype.copy

function GstVideo.VideoFrame.prototype.copy(src: GstVideo.VideoFrame): {
    // javascript wrapper for 'gst_video_frame_copy'
}

Copy the contents from src to dest.

Note: Since: 1.18, dest dimensions are allowed to be smaller than src dimensions.

Returns (Number)

TRUE if the contents could be copied.


GstVideo.VideoFrame.copy

def GstVideo.VideoFrame.copy (self, src):
    #python wrapper for 'gst_video_frame_copy'

Copy the contents from src to dest.

Note: Since: 1.18, dest dimensions are allowed to be smaller than src dimensions.

Returns (bool)

TRUE if the contents could be copied.


gst_video_frame_copy_plane

gboolean
gst_video_frame_copy_plane (GstVideoFrame * dest,
                            const GstVideoFrame * src,
                            guint plane)

Copy the plane with index plane from src to dest.

Note: Since: 1.18, dest dimensions are allowed to be smaller than src dimensions.

Parameters:

dest

a GstVideoFrame

src

a GstVideoFrame

plane

a plane

Returns

TRUE if the contents could be copied.


GstVideo.VideoFrame.prototype.copy_plane

function GstVideo.VideoFrame.prototype.copy_plane(src: GstVideo.VideoFrame, plane: Number): {
    // javascript wrapper for 'gst_video_frame_copy_plane'
}

Copy the plane with index plane from src to dest.

Note: Since: 1.18, dest dimensions are allowed to be smaller than src dimensions.

Parameters:

plane (Number)

a plane

Returns (Number)

TRUE if the contents could be copied.


GstVideo.VideoFrame.copy_plane

def GstVideo.VideoFrame.copy_plane (self, src, plane):
    #python wrapper for 'gst_video_frame_copy_plane'

Copy the plane with index plane from src to dest.

Note: Since: 1.18, dest dimensions are allowed to be smaller than src dimensions.

Parameters:

plane (int)

a plane

Returns (bool)

TRUE if the contents could be copied.


gst_video_frame_unmap

gst_video_frame_unmap (GstVideoFrame * frame)

Unmap the memory previously mapped with gst_video_frame_map.

Parameters:

frame

a GstVideoFrame


GstVideo.VideoFrame.prototype.unmap

function GstVideo.VideoFrame.prototype.unmap(): {
    // javascript wrapper for 'gst_video_frame_unmap'
}

Unmap the memory previously mapped with gst_video_frame_map.

Parameters:


GstVideo.VideoFrame.unmap

def GstVideo.VideoFrame.unmap (self):
    #python wrapper for 'gst_video_frame_unmap'

Unmap the memory previously mapped with gst_video_frame_map.

Parameters:


Functions

gst_video_frame_map

gboolean
gst_video_frame_map (GstVideoFrame * frame,
                     const GstVideoInfo * info,
                     GstBuffer * buffer,
                     GstMapFlags flags)

Use info and buffer to fill in the values of frame. frame is usually allocated on the stack, and you will pass the address to the GstVideoFrame structure allocated on the stack; gst_video_frame_map will then fill in the structures with the various video-specific information you need to access the pixels of the video buffer. You can then use accessor macros such as GST_VIDEO_FRAME_COMP_DATA, GST_VIDEO_FRAME_PLANE_DATA, GST_VIDEO_FRAME_COMP_STRIDE, GST_VIDEO_FRAME_PLANE_STRIDE etc. to get to the pixels.

   GstVideoFrame vframe;
   ...
   // set RGB pixels to black one at a time
   if (gst_video_frame_map (&vframe, video_info, video_buffer, GST_MAP_WRITE)) {
     guint8 *pixels = GST_VIDEO_FRAME_PLANE_DATA (vframe, 0);
     guint stride = GST_VIDEO_FRAME_PLANE_STRIDE (vframe, 0);
     guint pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (vframe, 0);

     for (h = 0; h < height; ++h) {
       for (w = 0; w < width; ++w) {
         guint8 *pixel = pixels + h * stride + w * pixel_stride;

         memset (pixel, 0, pixel_stride);
       }
     }

     gst_video_frame_unmap (&vframe);
   }
   ...

All video planes of buffer will be mapped and the pointers will be set in frame->data.

The purpose of this function is to make it easy for you to get to the video pixels in a generic way, without you having to worry too much about details such as whether the video data is allocated in one contiguous memory chunk or multiple memory chunks (e.g. one for each plane); or if custom strides and custom plane offsets are used or not (as signalled by GstVideoMeta on each buffer). This function will just fill the GstVideoFrame structure with the right values and if you use the accessor macros everything will just work and you can access the data easily. It also maps the underlying memory chunks for you.

Parameters:

frame ( [out])

pointer to GstVideoFrame

info

a GstVideoInfo

buffer

the buffer to map

flags

GstMapFlags

Returns

TRUE on success.


GstVideo.prototype.video_frame_map

function GstVideo.prototype.video_frame_map(info: GstVideo.VideoInfo, buffer: Gst.Buffer, flags: Gst.MapFlags): {
    // javascript wrapper for 'gst_video_frame_map'
}

Use info and buffer to fill in the values of frame. frame is usually allocated on the stack, and you will pass the address to the GstVideo.VideoFrame structure allocated on the stack; GstVideo.prototype.video_frame_map will then fill in the structures with the various video-specific information you need to access the pixels of the video buffer. You can then use accessor macros such as GST_VIDEO_FRAME_COMP_DATA (not introspectable), GST_VIDEO_FRAME_PLANE_DATA (not introspectable), GST_VIDEO_FRAME_COMP_STRIDE (not introspectable), GST_VIDEO_FRAME_PLANE_STRIDE (not introspectable) etc. to get to the pixels.

   GstVideoFrame vframe;
   ...
   // set RGB pixels to black one at a time
   if (gst_video_frame_map (&vframe, video_info, video_buffer, GST_MAP_WRITE)) {
     guint8 *pixels = GST_VIDEO_FRAME_PLANE_DATA (vframe, 0);
     guint stride = GST_VIDEO_FRAME_PLANE_STRIDE (vframe, 0);
     guint pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (vframe, 0);

     for (h = 0; h < height; ++h) {
       for (w = 0; w < width; ++w) {
         guint8 *pixel = pixels + h * stride + w * pixel_stride;

         memset (pixel, 0, pixel_stride);
       }
     }

     gst_video_frame_unmap (&vframe);
   }
   ...

All video planes of buffer will be mapped and the pointers will be set in frame->data.

The purpose of this function is to make it easy for you to get to the video pixels in a generic way, without you having to worry too much about details such as whether the video data is allocated in one contiguous memory chunk or multiple memory chunks (e.g. one for each plane); or if custom strides and custom plane offsets are used or not (as signalled by GstVideoMeta on each buffer). This function will just fill the GstVideo.VideoFrame structure with the right values and if you use the accessor macros everything will just work and you can access the data easily. It also maps the underlying memory chunks for you.

Parameters:

buffer (Gst.Buffer)

the buffer to map

Returns a tuple made of:

(Number )

true on success.

frame (GstVideo.VideoFrame )

true on success.


GstVideo.video_frame_map

def GstVideo.video_frame_map (info, buffer, flags):
    #python wrapper for 'gst_video_frame_map'

Use info and buffer to fill in the values of frame. frame is usually allocated on the stack, and you will pass the address to the GstVideo.VideoFrame structure allocated on the stack; GstVideo.video_frame_map will then fill in the structures with the various video-specific information you need to access the pixels of the video buffer. You can then use accessor macros such as GST_VIDEO_FRAME_COMP_DATA (not introspectable), GST_VIDEO_FRAME_PLANE_DATA (not introspectable), GST_VIDEO_FRAME_COMP_STRIDE (not introspectable), GST_VIDEO_FRAME_PLANE_STRIDE (not introspectable) etc. to get to the pixels.

   GstVideoFrame vframe;
   ...
   // set RGB pixels to black one at a time
   if (gst_video_frame_map (&vframe, video_info, video_buffer, GST_MAP_WRITE)) {
     guint8 *pixels = GST_VIDEO_FRAME_PLANE_DATA (vframe, 0);
     guint stride = GST_VIDEO_FRAME_PLANE_STRIDE (vframe, 0);
     guint pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (vframe, 0);

     for (h = 0; h < height; ++h) {
       for (w = 0; w < width; ++w) {
         guint8 *pixel = pixels + h * stride + w * pixel_stride;

         memset (pixel, 0, pixel_stride);
       }
     }

     gst_video_frame_unmap (&vframe);
   }
   ...

All video planes of buffer will be mapped and the pointers will be set in frame->data.

The purpose of this function is to make it easy for you to get to the video pixels in a generic way, without you having to worry too much about details such as whether the video data is allocated in one contiguous memory chunk or multiple memory chunks (e.g. one for each plane); or if custom strides and custom plane offsets are used or not (as signalled by GstVideoMeta on each buffer). This function will just fill the GstVideo.VideoFrame structure with the right values and if you use the accessor macros everything will just work and you can access the data easily. It also maps the underlying memory chunks for you.

Parameters:

buffer (Gst.Buffer)

the buffer to map

Returns a tuple made of:

(bool )

True on success.

frame (GstVideo.VideoFrame )

True on success.


gst_video_frame_map_id

gboolean
gst_video_frame_map_id (GstVideoFrame * frame,
                        const GstVideoInfo * info,
                        GstBuffer * buffer,
                        gint id,
                        GstMapFlags flags)

Use info and buffer to fill in the values of frame with the video frame information of frame id.

When id is -1, the default frame is mapped. When id != -1, this function will return FALSE when there is no GstVideoMeta with that id.

All video planes of buffer will be mapped and the pointers will be set in frame->data.

Parameters:

frame ( [out])

pointer to GstVideoFrame

info

a GstVideoInfo

buffer

the buffer to map

id

the frame id to map

flags

GstMapFlags

Returns

TRUE on success.


GstVideo.prototype.video_frame_map_id

function GstVideo.prototype.video_frame_map_id(info: GstVideo.VideoInfo, buffer: Gst.Buffer, id: Number, flags: Gst.MapFlags): {
    // javascript wrapper for 'gst_video_frame_map_id'
}

Use info and buffer to fill in the values of frame with the video frame information of frame id.

When id is -1, the default frame is mapped. When id != -1, this function will return false when there is no GstVideoMeta with that id.

All video planes of buffer will be mapped and the pointers will be set in frame->data.

Parameters:

buffer (Gst.Buffer)

the buffer to map

id (Number)

the frame id to map

Returns a tuple made of:

(Number )

true on success.

frame (GstVideo.VideoFrame )

true on success.


GstVideo.video_frame_map_id

def GstVideo.video_frame_map_id (info, buffer, id, flags):
    #python wrapper for 'gst_video_frame_map_id'

Use info and buffer to fill in the values of frame with the video frame information of frame id.

When id is -1, the default frame is mapped. When id != -1, this function will return False when there is no GstVideoMeta with that id.

All video planes of buffer will be mapped and the pointers will be set in frame->data.

Parameters:

buffer (Gst.Buffer)

the buffer to map

id (int)

the frame id to map

Returns a tuple made of:

(bool )

True on success.

frame (GstVideo.VideoFrame )

True on success.


Function Macros

GST_VIDEO_BUFFER_IS_BOTTOM_FIELD

#define GST_VIDEO_BUFFER_IS_BOTTOM_FIELD(buf) ((GST_BUFFER_FLAGS (buf) & _GST_VIDEO_BUFFER_FLAG_FIELD_MASK) == GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD)

Check if GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD is set on buf (Since: 1.18).

Parameters:

buf

a GstBuffer


GST_VIDEO_BUFFER_IS_TOP_FIELD

#define GST_VIDEO_BUFFER_IS_TOP_FIELD(buf) ((GST_BUFFER_FLAGS (buf) & _GST_VIDEO_BUFFER_FLAG_FIELD_MASK) == GST_VIDEO_BUFFER_FLAG_TOP_FIELD)

Check if GST_VIDEO_BUFFER_FLAG_TOP_FIELD is set on buf (Since: 1.18).

Parameters:

buf

a GstBuffer


GST_VIDEO_FRAME_COMP_DATA

#define GST_VIDEO_FRAME_COMP_DATA(f,c)    GST_VIDEO_INFO_COMP_DATA(&(f)->info,(f)->data,(c))

GST_VIDEO_FRAME_COMP_DEPTH

#define GST_VIDEO_FRAME_COMP_DEPTH(f,c)   GST_VIDEO_INFO_COMP_DEPTH(&(f)->info,(c))

GST_VIDEO_FRAME_COMP_HEIGHT

#define GST_VIDEO_FRAME_COMP_HEIGHT(f,c)  GST_VIDEO_INFO_COMP_HEIGHT(&(f)->info,(c))

GST_VIDEO_FRAME_COMP_OFFSET

#define GST_VIDEO_FRAME_COMP_OFFSET(f,c)  GST_VIDEO_INFO_COMP_OFFSET(&(f)->info,(c))

GST_VIDEO_FRAME_COMP_PLANE

#define GST_VIDEO_FRAME_COMP_PLANE(f,c)   GST_VIDEO_INFO_COMP_PLANE(&(f)->info,(c))

GST_VIDEO_FRAME_COMP_POFFSET

#define GST_VIDEO_FRAME_COMP_POFFSET(f,c) GST_VIDEO_INFO_COMP_POFFSET(&(f)->info,(c))

GST_VIDEO_FRAME_COMP_PSTRIDE

#define GST_VIDEO_FRAME_COMP_PSTRIDE(f,c) GST_VIDEO_INFO_COMP_PSTRIDE(&(f)->info,(c))

GST_VIDEO_FRAME_COMP_STRIDE

#define GST_VIDEO_FRAME_COMP_STRIDE(f,c)  GST_VIDEO_INFO_COMP_STRIDE(&(f)->info,(c))

GST_VIDEO_FRAME_COMP_WIDTH

#define GST_VIDEO_FRAME_COMP_WIDTH(f,c)   GST_VIDEO_INFO_COMP_WIDTH(&(f)->info,(c))

GST_VIDEO_FRAME_FLAG_IS_SET

#define GST_VIDEO_FRAME_FLAG_IS_SET(f,fl)  ((GST_VIDEO_FRAME_FLAGS(f) & (fl)) == (fl))

GST_VIDEO_FRAME_FORMAT

#define GST_VIDEO_FRAME_FORMAT(f)         (GST_VIDEO_INFO_FORMAT(&(f)->info))

GST_VIDEO_FRAME_HEIGHT

#define GST_VIDEO_FRAME_HEIGHT(f)         (GST_VIDEO_INFO_HEIGHT(&(f)->info))

GST_VIDEO_FRAME_IS_BOTTOM_FIELD

#define GST_VIDEO_FRAME_IS_BOTTOM_FIELD(f) (((f)->flags & _GST_VIDEO_FRAME_FLAG_FIELD_MASK) == GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD)

GST_VIDEO_FRAME_IS_INTERLACED

#define GST_VIDEO_FRAME_IS_INTERLACED(f)   (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_INTERLACED))

GST_VIDEO_FRAME_IS_ONEFIELD

#define GST_VIDEO_FRAME_IS_ONEFIELD(f)     (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_ONEFIELD))

GST_VIDEO_FRAME_IS_RFF

#define GST_VIDEO_FRAME_IS_RFF(f)          (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_RFF))

GST_VIDEO_FRAME_IS_TFF

#define GST_VIDEO_FRAME_IS_TFF(f)          (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_TFF))

GST_VIDEO_FRAME_IS_TOP_FIELD

#define GST_VIDEO_FRAME_IS_TOP_FIELD(f)    (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_TOP_FIELD))

GST_VIDEO_FRAME_N_COMPONENTS

#define GST_VIDEO_FRAME_N_COMPONENTS(f)   GST_VIDEO_INFO_N_COMPONENTS(&(f)->info)

GST_VIDEO_FRAME_N_PLANES

#define GST_VIDEO_FRAME_N_PLANES(f)       (GST_VIDEO_INFO_N_PLANES(&(f)->info))

GST_VIDEO_FRAME_PLANE_DATA

#define GST_VIDEO_FRAME_PLANE_DATA(f,p)   ((f)->data[p])

GST_VIDEO_FRAME_PLANE_OFFSET

#define GST_VIDEO_FRAME_PLANE_OFFSET(f,p) (GST_VIDEO_INFO_PLANE_OFFSET(&(f)->info,(p)))

GST_VIDEO_FRAME_PLANE_STRIDE

#define GST_VIDEO_FRAME_PLANE_STRIDE(f,p) (GST_VIDEO_INFO_PLANE_STRIDE(&(f)->info,(p)))

GST_VIDEO_FRAME_SIZE

#define GST_VIDEO_FRAME_SIZE(f)           (GST_VIDEO_INFO_SIZE(&(f)->info))

GST_VIDEO_FRAME_WIDTH

#define GST_VIDEO_FRAME_WIDTH(f)          (GST_VIDEO_INFO_WIDTH(&(f)->info))

Enumerations

GstVideoBufferFlags

Additional video buffer flags. These flags can potentially be used on any buffers carrying closed caption data, or video data - even encoded data.

Note that these are only valid for GstCaps of type: video/... and caption/... They can conflict with other extended buffer flags.

Members
GST_VIDEO_BUFFER_FLAG_INTERLACED (1048576) –

If the GstBuffer is interlaced. In mixed interlace-mode, this flags specifies if the frame is interlaced or progressive.

GST_VIDEO_BUFFER_FLAG_TFF (2097152) –

If the GstBuffer is interlaced, then the first field in the video frame is the top field. If unset, the bottom field is first.

GST_VIDEO_BUFFER_FLAG_RFF (4194304) –

If the GstBuffer is interlaced, then the first field (as defined by the GST_VIDEO_BUFFER_FLAG_TFF flag setting) is repeated.

GST_VIDEO_BUFFER_FLAG_ONEFIELD (8388608) –

If the GstBuffer is interlaced, then only the first field (as defined by the GST_VIDEO_BUFFER_FLAG_TFF flag setting) is to be displayed (Since: 1.16).

GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW (16777216) –

The GstBuffer contains one or more specific views, such as left or right eye view. This flags is set on any buffer that contains non-mono content - even for streams that contain only a single viewpoint. In mixed mono / non-mono streams, the absence of the flag marks mono buffers.

GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE (33554432) –

When conveying stereo/multiview content with frame-by-frame methods, this flag marks the first buffer in a bundle of frames that belong together.

GST_VIDEO_BUFFER_FLAG_TOP_FIELD (10485760) –

The video frame has the top field only. This is the same as GST_VIDEO_BUFFER_FLAG_TFF | GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16). Use GST_VIDEO_BUFFER_IS_TOP_FIELD to check for this flag.

GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD (8388608) –

The video frame has the bottom field only. This is the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD (GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16). Use GST_VIDEO_BUFFER_IS_BOTTOM_FIELD to check for this flag.

GST_VIDEO_BUFFER_FLAG_MARKER (512) –

The GstBuffer contains the end of a video field or frame boundary such as the last subframe or packet (Since: 1.18).

GST_VIDEO_BUFFER_FLAG_LAST (268435456) –

Offset to define more flags


GstVideo.VideoBufferFlags

Additional video buffer flags. These flags can potentially be used on any buffers carrying closed caption data, or video data - even encoded data.

Note that these are only valid for Gst.Caps of type: video/... and caption/... They can conflict with other extended buffer flags.

Members
GstVideo.VideoBufferFlags.INTERLACED (1048576) –

If the Gst.Buffer is interlaced. In mixed interlace-mode, this flags specifies if the frame is interlaced or progressive.

GstVideo.VideoBufferFlags.TFF (2097152) –

If the Gst.Buffer is interlaced, then the first field in the video frame is the top field. If unset, the bottom field is first.

GstVideo.VideoBufferFlags.RFF (4194304) –

If the Gst.Buffer is interlaced, then the first field (as defined by the GstVideo.VideoBufferFlags.TFF flag setting) is repeated.

GstVideo.VideoBufferFlags.ONEFIELD (8388608) –

If the Gst.Buffer is interlaced, then only the first field (as defined by the GstVideo.VideoBufferFlags.TFF flag setting) is to be displayed (Since: 1.16).

GstVideo.VideoBufferFlags.MULTIPLE_VIEW (16777216) –

The Gst.Buffer contains one or more specific views, such as left or right eye view. This flags is set on any buffer that contains non-mono content - even for streams that contain only a single viewpoint. In mixed mono / non-mono streams, the absence of the flag marks mono buffers.

GstVideo.VideoBufferFlags.FIRST_IN_BUNDLE (33554432) –

When conveying stereo/multiview content with frame-by-frame methods, this flag marks the first buffer in a bundle of frames that belong together.

GstVideo.VideoBufferFlags.TOP_FIELD (10485760) –

The video frame has the top field only. This is the same as GST_VIDEO_BUFFER_FLAG_TFF | GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16). Use GST_VIDEO_BUFFER_IS_TOP_FIELD (not introspectable) to check for this flag.

GstVideo.VideoBufferFlags.BOTTOM_FIELD (8388608) –

The video frame has the bottom field only. This is the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD (GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16). Use GST_VIDEO_BUFFER_IS_BOTTOM_FIELD (not introspectable) to check for this flag.

GstVideo.VideoBufferFlags.MARKER (512) –

The Gst.Buffer contains the end of a video field or frame boundary such as the last subframe or packet (Since: 1.18).

GstVideo.VideoBufferFlags.LAST (268435456) –

Offset to define more flags


GstVideo.VideoBufferFlags

Additional video buffer flags. These flags can potentially be used on any buffers carrying closed caption data, or video data - even encoded data.

Note that these are only valid for Gst.Caps of type: video/... and caption/... They can conflict with other extended buffer flags.

Members
GstVideo.VideoBufferFlags.INTERLACED (1048576) –

If the Gst.Buffer is interlaced. In mixed interlace-mode, this flags specifies if the frame is interlaced or progressive.

GstVideo.VideoBufferFlags.TFF (2097152) –

If the Gst.Buffer is interlaced, then the first field in the video frame is the top field. If unset, the bottom field is first.

GstVideo.VideoBufferFlags.RFF (4194304) –

If the Gst.Buffer is interlaced, then the first field (as defined by the GstVideo.VideoBufferFlags.TFF flag setting) is repeated.

GstVideo.VideoBufferFlags.ONEFIELD (8388608) –

If the Gst.Buffer is interlaced, then only the first field (as defined by the GstVideo.VideoBufferFlags.TFF flag setting) is to be displayed (Since: 1.16).

GstVideo.VideoBufferFlags.MULTIPLE_VIEW (16777216) –

The Gst.Buffer contains one or more specific views, such as left or right eye view. This flags is set on any buffer that contains non-mono content - even for streams that contain only a single viewpoint. In mixed mono / non-mono streams, the absence of the flag marks mono buffers.

GstVideo.VideoBufferFlags.FIRST_IN_BUNDLE (33554432) –

When conveying stereo/multiview content with frame-by-frame methods, this flag marks the first buffer in a bundle of frames that belong together.

GstVideo.VideoBufferFlags.TOP_FIELD (10485760) –

The video frame has the top field only. This is the same as GST_VIDEO_BUFFER_FLAG_TFF | GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16). Use GST_VIDEO_BUFFER_IS_TOP_FIELD (not introspectable) to check for this flag.

GstVideo.VideoBufferFlags.BOTTOM_FIELD (8388608) –

The video frame has the bottom field only. This is the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD (GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16). Use GST_VIDEO_BUFFER_IS_BOTTOM_FIELD (not introspectable) to check for this flag.

GstVideo.VideoBufferFlags.MARKER (512) –

The Gst.Buffer contains the end of a video field or frame boundary such as the last subframe or packet (Since: 1.18).

GstVideo.VideoBufferFlags.LAST (268435456) –

Offset to define more flags


GstVideoFrameFlags

Extra video frame flags

Members
GST_VIDEO_FRAME_FLAG_NONE (0) –

no flags

GST_VIDEO_FRAME_FLAG_INTERLACED (1) –

The video frame is interlaced. In mixed interlace-mode, this flag specifies if the frame is interlaced or progressive.

GST_VIDEO_FRAME_FLAG_TFF (2) –

The video frame has the top field first

GST_VIDEO_FRAME_FLAG_RFF (4) –

The video frame has the repeat flag

GST_VIDEO_FRAME_FLAG_ONEFIELD (8) –

The video frame has one field

GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW (16) –

The video contains one or more non-mono views

GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE (32) –

The video frame is the first in a set of corresponding views provided as sequential frames.

GST_VIDEO_FRAME_FLAG_TOP_FIELD (10) –

The video frame has the top field only. This is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD (Since: 1.16).

GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD (8) –

The video frame has the bottom field only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD (GST_VIDEO_FRAME_FLAG_TFF flag unset) (Since: 1.16).


GstVideo.VideoFrameFlags

Extra video frame flags

Members
GstVideo.VideoFrameFlags.NONE (0) –

no flags

GstVideo.VideoFrameFlags.INTERLACED (1) –

The video frame is interlaced. In mixed interlace-mode, this flag specifies if the frame is interlaced or progressive.

GstVideo.VideoFrameFlags.TFF (2) –

The video frame has the top field first

GstVideo.VideoFrameFlags.RFF (4) –

The video frame has the repeat flag

GstVideo.VideoFrameFlags.ONEFIELD (8) –

The video frame has one field

GstVideo.VideoFrameFlags.MULTIPLE_VIEW (16) –

The video contains one or more non-mono views

GstVideo.VideoFrameFlags.FIRST_IN_BUNDLE (32) –

The video frame is the first in a set of corresponding views provided as sequential frames.

GstVideo.VideoFrameFlags.TOP_FIELD (10) –

The video frame has the top field only. This is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD (Since: 1.16).

GstVideo.VideoFrameFlags.BOTTOM_FIELD (8) –

The video frame has the bottom field only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD (GST_VIDEO_FRAME_FLAG_TFF flag unset) (Since: 1.16).


GstVideo.VideoFrameFlags

Extra video frame flags

Members
GstVideo.VideoFrameFlags.NONE (0) –

no flags

GstVideo.VideoFrameFlags.INTERLACED (1) –

The video frame is interlaced. In mixed interlace-mode, this flag specifies if the frame is interlaced or progressive.

GstVideo.VideoFrameFlags.TFF (2) –

The video frame has the top field first

GstVideo.VideoFrameFlags.RFF (4) –

The video frame has the repeat flag

GstVideo.VideoFrameFlags.ONEFIELD (8) –

The video frame has one field

GstVideo.VideoFrameFlags.MULTIPLE_VIEW (16) –

The video contains one or more non-mono views

GstVideo.VideoFrameFlags.FIRST_IN_BUNDLE (32) –

The video frame is the first in a set of corresponding views provided as sequential frames.

GstVideo.VideoFrameFlags.TOP_FIELD (10) –

The video frame has the top field only. This is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD (Since: 1.16).

GstVideo.VideoFrameFlags.BOTTOM_FIELD (8) –

The video frame has the bottom field only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD (GST_VIDEO_FRAME_FLAG_TFF flag unset) (Since: 1.16).


GstVideoFrameMapFlags

Additional mapping flags for gst_video_frame_map.

Members
GST_VIDEO_FRAME_MAP_FLAG_NO_REF (65536) –

Don't take another reference of the buffer and store it in the GstVideoFrame. This makes sure that the buffer stays writable while the frame is mapped, but requires that the buffer reference stays valid until the frame is unmapped again.

GST_VIDEO_FRAME_MAP_FLAG_LAST (16777216) –

Offset to define more flags

Since : 1.6


GstVideo.VideoFrameMapFlags

Additional mapping flags for GstVideo.prototype.video_frame_map.

Members
GstVideo.VideoFrameMapFlags.NO_REF (65536) –

Don't take another reference of the buffer and store it in the GstVideoFrame. This makes sure that the buffer stays writable while the frame is mapped, but requires that the buffer reference stays valid until the frame is unmapped again.

GstVideo.VideoFrameMapFlags.LAST (16777216) –

Offset to define more flags

Since : 1.6


GstVideo.VideoFrameMapFlags

Additional mapping flags for GstVideo.video_frame_map.

Members
GstVideo.VideoFrameMapFlags.NO_REF (65536) –

Don't take another reference of the buffer and store it in the GstVideoFrame. This makes sure that the buffer stays writable while the frame is mapped, but requires that the buffer reference stays valid until the frame is unmapped again.

GstVideo.VideoFrameMapFlags.LAST (16777216) –

Offset to define more flags

Since : 1.6


Constants

GST_VIDEO_FRAME_INIT

#define GST_VIDEO_FRAME_INIT { { NULL, }, }

Initializer for GstVideoFrame

Since : 1.22


_GST_VIDEO_BUFFER_FLAG_FIELD_MASK

#define _GST_VIDEO_BUFFER_FLAG_FIELD_MASK GST_VIDEO_BUFFER_FLAG_TOP_FIELD

_GST_VIDEO_FRAME_FLAG_FIELD_MASK

#define _GST_VIDEO_FRAME_FLAG_FIELD_MASK GST_VIDEO_FRAME_FLAG_TOP_FIELD

The results of the search are