Utilities

Utilities

Synopsis

void                (*GLCB)                             (gint Param1,
                                                         gint Param2,
                                                         guint Param3,
                                                         gpointer stuff);
void                (*GLCB_V2)                          (gpointer stuff);
gboolean            (*CDCB)                             (GLuint texture,
                                                         GLuint width,
                                                         GLuint height,
                                                         gpointer data);
enum                GstGLDisplayProjection;
gboolean            gst_gl_ensure_display               (gpointer element,
                                                         GstGLDisplay **display_ptr);
gboolean            gst_gl_handle_set_context           (GstElement *element,
                                                         GstContext *context,
                                                         GstGLDisplay **display);
gboolean            gst_gl_handle_context_query         (GstElement *element,
                                                         GstQuery *query,
                                                         GstGLDisplay **display);
void                gst_gl_context_gen_texture          (GstGLContext *context,
                                                         GLuint *pTexture,
                                                         GstVideoFormat v_format,
                                                         GLint width,
                                                         GLint height);
void                gst_gl_context_del_texture          (GstGLContext *context,
                                                         GLuint *pTexture);
gboolean            gst_gl_context_gen_fbo              (GstGLContext *context,
                                                         gint width,
                                                         gint height,
                                                         GLuint *fbo,
                                                         GLuint *depthbuffer);
void                gst_gl_context_del_fbo              (GstGLContext *context,
                                                         GLuint fbo,
                                                         GLuint depth_buffer);
gboolean            gst_gl_context_use_fbo              (GstGLContext *context,
                                                         gint texture_fbo_width,
                                                         gint texture_fbo_height,
                                                         GLuint fbo,
                                                         GLuint depth_buffer,
                                                         GLuint texture_fbo,
                                                         GLCB cb,
                                                         gint input_texture_width,
                                                         gint input_texture_height,
                                                         GLuint input_texture,
                                                         gdouble proj_param1,
                                                         gdouble proj_param2,
                                                         gdouble proj_param3,
                                                         gdouble proj_param4,
                                                         GstGLDisplayProjection projection,
                                                         gpointer stuff);
gboolean            gst_gl_context_use_fbo_v2           (GstGLContext *context,
                                                         gint texture_fbo_width,
                                                         gint texture_fbo_height,
                                                         GLuint fbo,
                                                         GLuint depth_buffer,
                                                         GLuint texture_fbo,
                                                         GLCB_V2 cb,
                                                         gpointer stuff);
gboolean            gst_gl_context_gen_shader           (GstGLContext *context,
                                                         const gchar *shader_vertex_source,
                                                         const gchar *shader_fragment_source,
                                                         GstGLShader **shader);
void                gst_gl_context_del_shader           (GstGLContext *context,
                                                         GstGLShader *shader);
gboolean            gst_gl_context_check_framebuffer_status
                                                        (GstGLContext *context);
void                gst_gl_context_set_error            (GstGLContext *context,
                                                         const char *format,
                                                         ...);
gchar *             gst_gl_context_get_error            (void);
void                gst_gl_context_clear_shader         (GstGLContext *context);
void                gst_gl_generate_texture_full        (GstGLContext *context,
                                                         const GstVideoInfo *info,
                                                         const guint comp,
                                                         gint stride[],
                                                         gsize offset[],
                                                         gsize size[],
                                                         GLuint *pTexture);

Description

Details

GLCB ()

void                (*GLCB)                             (gint Param1,
                                                         gint Param2,
                                                         guint Param3,
                                                         gpointer stuff);

callback definition for operating on textures

width :

the width

height :

the height

texture :

texture

stuff :

user data

GLCB_V2 ()

void                (*GLCB_V2)                          (gpointer stuff);

callback definition for operating through a Framebuffer object

stuff :

user data

CDCB ()

gboolean            (*CDCB)                             (GLuint texture,
                                                         GLuint width,
                                                         GLuint height,
                                                         gpointer data);

client draw callback

texture :

texture to draw

width :

new width

height :

new height:

data :

user data

enum GstGLDisplayProjection

typedef enum {
  GST_GL_DISPLAY_PROJECTION_ORTHO2D,
  GST_GL_DISPLAY_PROJECTION_PERSPECTIVE
} GstGLDisplayProjection;

GST_GL_DISPLAY_PROJECTION_ORTHO2D

GST_GL_DISPLAY_PROJECTION_PERSPECTIVE


gst_gl_ensure_display ()

gboolean            gst_gl_ensure_display               (gpointer element,
                                                         GstGLDisplay **display_ptr);

gst_gl_handle_set_context ()

gboolean            gst_gl_handle_set_context           (GstElement *element,
                                                         GstContext *context,
                                                         GstGLDisplay **display);

gst_gl_handle_context_query ()

gboolean            gst_gl_handle_context_query         (GstElement *element,
                                                         GstQuery *query,
                                                         GstGLDisplay **display);

gst_gl_context_gen_texture ()

void                gst_gl_context_gen_texture          (GstGLContext *context,
                                                         GLuint *pTexture,
                                                         GstVideoFormat v_format,
                                                         GLint width,
                                                         GLint height);

gst_gl_context_del_texture ()

void                gst_gl_context_del_texture          (GstGLContext *context,
                                                         GLuint *pTexture);

gst_gl_context_gen_fbo ()

gboolean            gst_gl_context_gen_fbo              (GstGLContext *context,
                                                         gint width,
                                                         gint height,
                                                         GLuint *fbo,
                                                         GLuint *depthbuffer);

gst_gl_context_del_fbo ()

void                gst_gl_context_del_fbo              (GstGLContext *context,
                                                         GLuint fbo,
                                                         GLuint depth_buffer);

gst_gl_context_use_fbo ()

gboolean            gst_gl_context_use_fbo              (GstGLContext *context,
                                                         gint texture_fbo_width,
                                                         gint texture_fbo_height,
                                                         GLuint fbo,
                                                         GLuint depth_buffer,
                                                         GLuint texture_fbo,
                                                         GLCB cb,
                                                         gint input_texture_width,
                                                         gint input_texture_height,
                                                         GLuint input_texture,
                                                         gdouble proj_param1,
                                                         gdouble proj_param2,
                                                         gdouble proj_param3,
                                                         gdouble proj_param4,
                                                         GstGLDisplayProjection projection,
                                                         gpointer stuff);

gst_gl_context_use_fbo_v2 ()

gboolean            gst_gl_context_use_fbo_v2           (GstGLContext *context,
                                                         gint texture_fbo_width,
                                                         gint texture_fbo_height,
                                                         GLuint fbo,
                                                         GLuint depth_buffer,
                                                         GLuint texture_fbo,
                                                         GLCB_V2 cb,
                                                         gpointer stuff);

gst_gl_context_gen_shader ()

gboolean            gst_gl_context_gen_shader           (GstGLContext *context,
                                                         const gchar *shader_vertex_source,
                                                         const gchar *shader_fragment_source,
                                                         GstGLShader **shader);

gst_gl_context_del_shader ()

void                gst_gl_context_del_shader           (GstGLContext *context,
                                                         GstGLShader *shader);

gst_gl_context_check_framebuffer_status ()

gboolean            gst_gl_context_check_framebuffer_status
                                                        (GstGLContext *context);

gst_gl_context_set_error ()

void                gst_gl_context_set_error            (GstGLContext *context,
                                                         const char *format,
                                                         ...);

gst_gl_context_get_error ()

gchar *             gst_gl_context_get_error            (void);

gst_gl_context_clear_shader ()

void                gst_gl_context_clear_shader         (GstGLContext *context);

gst_gl_generate_texture_full ()

void                gst_gl_generate_texture_full        (GstGLContext *context,
                                                         const GstVideoInfo *info,
                                                         const guint comp,
                                                         gint stride[],
                                                         gsize offset[],
                                                         gsize size[],
                                                         GLuint *pTexture);