GstVaapiTexture

GstVaapiTexture — VA/GLX texture abstraction

Synopsis

struct              GstVaapiTexture;
struct              GstVaapiTextureClass;
GstVaapiTexture *   gst_vaapi_texture_new               (GstVaapiDisplay *display,
                                                         GLenum target,
                                                         GLenum format,
                                                         guint width,
                                                         guint height);
GstVaapiTexture *   gst_vaapi_texture_new_with_texture  (GstVaapiDisplay *display,
                                                         GLuint texture,
                                                         GLenum target,
                                                         GLenum format);
GLuint              gst_vaapi_texture_get_id            (GstVaapiTexture *texture);
GLenum              gst_vaapi_texture_get_target        (GstVaapiTexture *texture);
GLenum              gst_vaapi_texture_get_format        (GstVaapiTexture *texture);
guint               gst_vaapi_texture_get_width         (GstVaapiTexture *texture);
guint               gst_vaapi_texture_get_height        (GstVaapiTexture *texture);
void                gst_vaapi_texture_get_size          (GstVaapiTexture *texture,
                                                         guint *pwidth,
                                                         guint *pheight);
gboolean            gst_vaapi_texture_put_surface       (GstVaapiTexture *texture,
                                                         GstVaapiSurface *surface,
                                                         guint flags);

Object Hierarchy

  GObject
   +----GstVaapiObject
         +----GstVaapiTexture

Properties

  "format"                   guint                 : Read / Write / Construct Only
  "height"                   guint                 : Read / Write / Construct Only
  "target"                   guint                 : Read / Write / Construct Only
  "width"                    guint                 : Read / Write / Construct Only

Description

Details

struct GstVaapiTexture

struct GstVaapiTexture;

Base class for system-dependent textures.


struct GstVaapiTextureClass

struct GstVaapiTextureClass {
};

Base class for system-dependent textures.


gst_vaapi_texture_new ()

GstVaapiTexture *   gst_vaapi_texture_new               (GstVaapiDisplay *display,
                                                         GLenum target,
                                                         GLenum 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. That is, gst_vaapi_window_glx_make_current() must be called beforehand, or any other function like glXMakeCurrent() if the context is managed outside of this library.

display :

a GstVaapiDisplay

target :

the target to which the texture is bound

format :

the format of the pixel data

width :

the requested width, in pixels

height :

the requested height, in pixels

Returns :

the newly created GstVaapiTexture object

gst_vaapi_texture_new_with_texture ()

GstVaapiTexture *   gst_vaapi_texture_new_with_texture  (GstVaapiDisplay *display,
                                                         GLuint texture,
                                                         GLenum target,
                                                         GLenum format);

Creates a texture from an existing GL texture, with the specified target and format. Note that only GL_TEXTURE_2D target and GL_RGBA or GL_BGRA formats are supported at this time. The dimensions will be retrieved from the texture.

The application shall maintain the live GL context itself. That is, gst_vaapi_window_glx_make_current() must be called beforehand, or any other function like glXMakeCurrent() if the context is managed outside of this library.

display :

a GstVaapiDisplay

texture :

the foreign GL texture name to use

target :

the target to which the texture is bound

format :

the format of the pixel data

Returns :

the newly created GstVaapiTexture object

gst_vaapi_texture_get_id ()

GLuint              gst_vaapi_texture_get_id            (GstVaapiTexture *texture);

Returns the underlying texture id of the texture.

texture :

a GstVaapiTexture

Returns :

the underlying texture id of the texture

gst_vaapi_texture_get_target ()

GLenum              gst_vaapi_texture_get_target        (GstVaapiTexture *texture);

Returns the texture target type

texture :

a GstVaapiTexture

Returns :

the texture target

gst_vaapi_texture_get_format ()

GLenum              gst_vaapi_texture_get_format        (GstVaapiTexture *texture);

Returns the texture format

texture :

a GstVaapiTexture

Returns :

the texture format

gst_vaapi_texture_get_width ()

guint               gst_vaapi_texture_get_width         (GstVaapiTexture *texture);

Returns the texture width.

texture :

a GstVaapiTexture

Returns :

the texture width, in pixels

gst_vaapi_texture_get_height ()

guint               gst_vaapi_texture_get_height        (GstVaapiTexture *texture);

Returns the texture height.

texture :

a GstVaapiTexture

Returns :

the texture height, in pixels.

gst_vaapi_texture_get_size ()

void                gst_vaapi_texture_get_size          (GstVaapiTexture *texture,
                                                         guint *pwidth,
                                                         guint *pheight);

Retrieves the dimensions of a GstVaapiTexture.

texture :

a GstVaapiTexture

pwidth :

return location for the width, or NULL

pheight :

return location for the height, or NULL

gst_vaapi_texture_put_surface ()

gboolean            gst_vaapi_texture_put_surface       (GstVaapiTexture *texture,
                                                         GstVaapiSurface *surface,
                                                         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.

texture :

a GstVaapiTexture

surface :

a GstVaapiSurface

flags :

postprocessing flags. See GstVaapiTextureRenderFlags

Returns :

TRUE on success

Property Details

The "format" property

  "format"                   guint                 : Read / Write / Construct Only

The texture format.

Default value: 0


The "height" property

  "height"                   guint                 : Read / Write / Construct Only

The texture height.

Default value: 0


The "target" property

  "target"                   guint                 : Read / Write / Construct Only

The texture target.

Default value: 0


The "width" property

  "width"                    guint                 : Read / Write / Construct Only

The texture width.

Default value: 0