OpenGL Miscellaneous Utilities

OpenGL Miscellaneous Utilities

Functions

Types and Values

Description

Functions

GLCB ()

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

callback definition for operating on textures

Parameters

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

Parameters

stuff

user data

 

CDCB ()

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

client draw callback

Parameters

texture

texture to draw

 

width

new width

 

height

new height:

 

data

user data

 

gst_gl_handle_set_context ()

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

gst_gl_handle_context_query ()

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

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_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);

Clear's the currently set shader from the GL state machine.

Note: must be called in the GL thread.

Parameters

context

a GstGLContext

 

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);

gst_gl_caps_replace_all_caps_features ()

GstCaps *
gst_gl_caps_replace_all_caps_features (const GstCaps *caps,
                                       const gchar *feature_name);

gst_gl_ensure_element_data ()

gboolean
gst_gl_ensure_element_data (gpointer element,
                            GstGLDisplay **display_ptr,
                            GstGLContext **other_context_ptr);

gst_gl_get_plane_data_size ()

gsize
gst_gl_get_plane_data_size (GstVideoInfo *info,
                            GstVideoAlignment *align,
                            guint plane);

gst_gl_get_plane_start ()

gsize
gst_gl_get_plane_start (GstVideoInfo *info,
                        GstVideoAlignment *valign,
                        guint plane);

gst_gl_run_query ()

gboolean
gst_gl_run_query (GstElement *element,
                  GstQuery *query,
                  GstPadDirection direction);

gst_gl_value_get_texture_target_mask ()

GstGLTextureTarget
gst_gl_value_get_texture_target_mask (const GValue *value);

See gst_gl_value_set_texture_target_from_mask() for what entails a mask

Parameters

value

an initialized GValue of type G_TYPE_STRING

 

Returns

the mask of GstGLTextureTarget's in value


gst_gl_value_set_texture_target ()

gboolean
gst_gl_value_set_texture_target (GValue *value,
                                 GstGLTextureTarget target);

Parameters

value

an initialized GValue of type G_TYPE_STRING

 

target

a GstGLTextureTarget's

 

Returns

whether the target could be set on value


gst_gl_value_set_texture_target_from_mask ()

gboolean
gst_gl_value_set_texture_target_from_mask
                               (GValue *value,
                                GstGLTextureTarget target_mask);

A mask is a bitwise OR of (1 << target) where target is a valid GstGLTextureTarget

Parameters

value

an uninitialized GValue

 

target_mask

a bitwise mask of GstGLTextureTarget's

 

Returns

whether the target_mask could be set on value

Types and Values

enum GstGLDisplayProjection

Members

GST_GL_DISPLAY_PROJECTION_ORTHO2D

   

GST_GL_DISPLAY_PROJECTION_PERSPECTIVE