Top | ![]() |
![]() |
![]() |
![]() |
GstVaapiTexture * | gst_vaapi_texture_new () |
GstVaapiTexture * | gst_vaapi_texture_new_wrapped () |
GstVaapiTexture * | gst_vaapi_texture_ref () |
void | gst_vaapi_texture_unref () |
void | gst_vaapi_texture_replace () |
guint | gst_vaapi_texture_get_id () |
guint | gst_vaapi_texture_get_target () |
guint | gst_vaapi_texture_get_format () |
guint | gst_vaapi_texture_get_width () |
guint | gst_vaapi_texture_get_height () |
void | gst_vaapi_texture_get_size () |
guint | gst_vaapi_texture_get_orientation_flags () |
void | gst_vaapi_texture_set_orientation_flags () |
gboolean | gst_vaapi_texture_put_surface () |
GstVaapiTexture * gst_vaapi_texture_new (GstVaapiDisplay *display
,guint target
,guint format
,guint width
,guint height
);
Creates a texture with the specified dimensions, target
and
format
. Note that only GL_TEXTURE_2D target
and GL_RGBA or
GL_BGRA formats are supported at this time.
The application shall maintain the live GL context itself.
GstVaapiTexture * gst_vaapi_texture_new_wrapped (GstVaapiDisplay *display
,guint id
,guint target
,guint format
,guint width
,guint height
);
Creates a texture with the specified dimensions, target
and
format
. Note that only GL_TEXTURE_2D target
and GL_RGBA or
GL_BGRA formats are supported at this time.
The size arguments width
and height
are only a suggestion. Should
this be 0x0, then the actual size of the allocated texture storage
would be either inherited from the original texture storage, if any
and/or if possible, or derived from the VA surface in subsequent
gst_vaapi_texture_put_surface()
calls.
The application shall maintain the live GL context itself.
GstVaapiTexture *
gst_vaapi_texture_ref (GstVaapiTexture *texture
);
Atomically increases the reference count of the given texture
by one.
void
gst_vaapi_texture_unref (GstVaapiTexture *texture
);
Atomically decreases the reference count of the texture
by one. If
the reference count reaches zero, the texture will be free'd.
void gst_vaapi_texture_replace (GstVaapiTexture **old_texture_ptr
,GstVaapiTexture *new_texture
);
Atomically replaces the texture texture held in old_texture_ptr
with new_texture
. This means that old_texture_ptr
shall reference
a valid texture. However, new_texture
can be NULL.
guint
gst_vaapi_texture_get_id (GstVaapiTexture *texture
);
Returns the underlying texture id of the texture
.
guint
gst_vaapi_texture_get_target (GstVaapiTexture *texture
);
Returns the texture
target type
guint
gst_vaapi_texture_get_format (GstVaapiTexture *texture
);
Returns the texture
format
guint
gst_vaapi_texture_get_width (GstVaapiTexture *texture
);
Returns the texture
width.
guint
gst_vaapi_texture_get_height (GstVaapiTexture *texture
);
Returns the texture
height.
void gst_vaapi_texture_get_size (GstVaapiTexture *texture
,guint *width_ptr
,guint *height_ptr
);
Retrieves the dimensions of a GstVaapiTexture.
guint
gst_vaapi_texture_get_orientation_flags
(GstVaapiTexture *texture
);
Retrieves the texture memory layout flags, i.e. orientation.
void gst_vaapi_texture_set_orientation_flags (GstVaapiTexture *texture
,guint flags
);
Reset the texture orientation flags to the supplied set of
flags
. This completely replaces the previously installed
flags. So, should they still be needed, then they shall be
retrieved first with gst_vaapi_texture_get_orientation_flags()
.
gboolean gst_vaapi_texture_put_surface (GstVaapiTexture *texture
,GstVaapiSurface *surface
,const GstVaapiRectangle *crop_rect
,guint flags
);
Renders the surface
into the àtexture. The flags
specify how
de-interlacing (if needed), color space conversion, scaling and
other postprocessing transformations are performed.