| Top |
gboolean gst_video_meta_map (GstVideoMeta *meta,guint plane,GstMapInfo *info,gpointer *data,gint *stride,GstMapFlags flags);
Map the video plane with index plane
in meta
and return a pointer to the
first byte of the plane and the stride of the plane.
gboolean gst_video_meta_unmap (GstVideoMeta *meta,guint plane,GstMapInfo *info);
Unmap a previously mapped plane with gst_video_meta_map().
GstVideoMeta * gst_buffer_add_video_meta (GstBuffer *buffer,GstVideoFrameFlags flags,GstVideoFormat format,guint width,guint height);
Attaches GstVideoMeta metadata to buffer
with the given parameters and the
default offsets and strides for format
and width
x height
.
This function calculates the default offsets and strides and then calls
gst_buffer_add_video_meta_full() with them.
GstVideoMeta * gst_buffer_add_video_meta_full (GstBuffer *buffer,GstVideoFrameFlags flags,GstVideoFormat format,guint width,guint height,guint n_planes,gsize offset[GST_VIDEO_MAX_PLANES],gint stride[GST_VIDEO_MAX_PLANES]);
Attaches GstVideoMeta metadata to buffer
with the given parameters.
GstVideoMeta *
gst_buffer_get_video_meta (GstBuffer *buffer);
Find the GstVideoMeta on buffer
with the lowest id
.
Buffers can contain multiple GstVideoMeta metadata items when dealing with multiview buffers.
the GstVideoMeta with lowest id (usually 0) or NULL when there
is no such metadata on buffer
.
[transfer none]
GstVideoMeta * gst_buffer_get_video_meta_id (GstBuffer *buffer,gint id);
Find the GstVideoMeta on buffer
with the given id
.
Buffers can contain multiple GstVideoMeta metadata items when dealing with multiview buffers.
#define gst_buffer_add_video_crop_meta(b) ((GstVideoCropMeta*)gst_buffer_add_meta((b),GST_VIDEO_CROP_META_INFO, NULL))
#define gst_buffer_get_video_crop_meta(b) ((GstVideoCropMeta*)gst_buffer_get_meta((b),GST_VIDEO_CROP_META_API_TYPE))
GstVideoRegionOfInterestMeta * gst_buffer_add_video_region_of_interest_meta (GstBuffer *buffer,const gchar *roi_type,guint x,guint y,guint w,guint h);
Attaches GstVideoRegionOfInterestMeta metadata to buffer
with the given
parameters.
GstVideoRegionOfInterestMeta * gst_buffer_add_video_region_of_interest_meta_id (GstBuffer *buffer,GQuark roi_type,guint x,guint y,guint w,guint h);
Attaches GstVideoRegionOfInterestMeta metadata to buffer
with the given
parameters.
#define gst_buffer_get_video_region_of_interest_meta(b)
GstVideoRegionOfInterestMeta * gst_buffer_get_video_region_of_interest_meta_id (GstBuffer *buffer,gint id);
Find the GstVideoRegionOfInterestMeta on buffer
with the given id
.
Buffers can contain multiple GstVideoRegionOfInterestMeta metadata items if multiple regions of interests are marked on a frame.
the GstVideoRegionOfInterestMeta with id
or NULL when there is
no such metadata on buffer
.
[transfer none]
gboolean (*GstVideoGLTextureUpload) (GstVideoGLTextureUploadMeta *meta,guint texture_id[4]);
GstVideoGLTextureUploadMeta * gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer,GstVideoGLTextureOrientation texture_orientation,guint n_textures,GstVideoGLTextureType texture_type[4],GstVideoGLTextureUpload upload,gpointer user_data,GBoxedCopyFunc user_data_copy,GBoxedFreeFunc user_data_free);
Attaches GstVideoGLTextureUploadMeta metadata to buffer
with the given
parameters.
buffer |
||
texture_orientation |
the GstVideoGLTextureOrientation |
|
n_textures |
the number of textures |
|
texture_type |
array of GstVideoGLTextureType |
|
upload |
the function to upload the buffer to a specific texture ID. |
[scope call] |
user_data |
user data for the implementor of |
|
user_data_copy |
function to copy |
[scope call] |
user_data_free |
function to free |
[scope call] |
#define gst_buffer_get_video_gl_texture_upload_meta(b) ((GstVideoGLTextureUploadMeta*)gst_buffer_get_meta((b),GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE))
gboolean gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta *meta,guint texture_id[4]);
Uploads the buffer which owns the meta to a specific texture ID.
struct GstVideoMeta {
GstMeta meta;
GstBuffer *buffer;
GstVideoFrameFlags flags;
GstVideoFormat format;
gint id;
guint width;
guint height;
guint n_planes;
gsize offset[GST_VIDEO_MAX_PLANES];
gint stride[GST_VIDEO_MAX_PLANES];
gboolean (*map) (GstVideoMeta *meta, guint plane, GstMapInfo *info,
gpointer *data, gint * stride, GstMapFlags flags);
gboolean (*unmap) (GstVideoMeta *meta, guint plane, GstMapInfo *info);
};
Extra buffer metadata describing image properties
GstMeta |
parent GstMeta |
|
GstBuffer * |
the buffer this metadata belongs to |
|
GstVideoFrameFlags |
additional video flags |
|
GstVideoFormat |
the video format |
|
gint |
identifier of the frame |
|
guint |
the video width |
|
guint |
the video height |
|
guint |
the number of planes in the image |
|
gsize |
array of offsets for the planes. This field might not always be
valid, it is used by the default implementation of |
|
gint |
array of strides for the planes. This field might not always be
valid, it is used by the default implementation of |
|
map the memory of a plane |
||
unmap the memory of a plane |
typedef struct {
GstVideoInfo *in_info;
GstVideoInfo *out_info;
} GstVideoMetaTransform;
Extra data passed to a video transform GstMetaTransformFunction such as: "gst-video-scale".
GstVideoInfo * |
the input GstVideoInfo |
|
GstVideoInfo * |
the output GstVideoInfo |
struct GstVideoCropMeta {
GstMeta meta;
guint x;
guint y;
guint width;
guint height;
};
Extra buffer metadata describing image cropping.
typedef struct {
GstMeta meta;
GQuark roi_type;
gint id;
gint parent_id;
guint x;
guint y;
guint w;
guint h;
} GstVideoRegionOfInterestMeta;
Extra buffer metadata describing an image region of interest
GstMeta |
parent GstMeta |
|
GQuark |
GQuark describing the semantic of the Roi (f.i. a face, a pedestrian) |
|
gint |
identifier of this particular ROI |
|
gint |
identifier of its parent ROI, used f.i. for ROI hierarchisation. |
|
guint |
x component of upper-left corner |
|
guint |
y component of upper-left corner |
|
guint |
bounding box width |
|
guint |
bounding box height |
#define GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META "GstBufferPoolOptionVideoGLTextureUploadMeta"
An option that can be activated on a bufferpool to request gl texture upload meta on buffers from the pool.
When this option is enabled on the bufferpool,
GST_BUFFER_POOL_OPTION_VIDEO_META
should also be enabled.
Since: 1.2.2
struct GstVideoGLTextureUploadMeta {
GstMeta meta;
GstVideoGLTextureOrientation texture_orientation;
guint n_textures;
GstVideoGLTextureType texture_type[4];
};
Extra buffer metadata for uploading a buffer to an OpenGL texture
ID. The caller of gst_video_gl_texture_upload_meta_upload() must
have OpenGL set up and call this from a thread where it is valid
to upload something to an OpenGL texture.