GstGLDisplay

GstGLDisplay

Synopsis

enum                GstGLDisplayConversion;
enum                GstGLDisplayProjection;
void                (*CRCB)                             (GLuint Param1,
                                                         GLuint Param2,
                                                         gpointer Param3);
gboolean            (*CDCB)                             (GLuint Param1,
                                                         GLuint Param2,
                                                         GLuint Param3,
                                                         gpointer Param4);
void                (*GstGLDisplayThreadFunc)           (GstGLDisplay *display,
                                                         gpointer data);
void                (*GLCB)                             (gint Param1,
                                                         gint Param2,
                                                         guint Param3,
                                                         gpointer stuff);
struct              GstGLDisplay;
GstGLDisplay *      gst_gl_display_new                  (void);
gboolean            gst_gl_display_create_context       (GstGLDisplay *display,
                                                         gulong external_gl_context);
gboolean            gst_gl_display_redisplay            (GstGLDisplay *display,
                                                         GLuint texture,
                                                         gint gl_width,
                                                         gint gl_height,
                                                         gint window_width,
                                                         gint window_height,
                                                         gboolean keep_aspect_ratio);
void                gst_gl_display_thread_add           (GstGLDisplay *display,
                                                         GstGLDisplayThreadFunc func,
                                                         gpointer data);
void                gst_gl_display_gen_texture          (GstGLDisplay *display,
                                                         GLuint *pTexture,
                                                         GLint width,
                                                         GLint height);
void                gst_gl_display_del_texture          (GstGLDisplay *display,
                                                         GLuint texture,
                                                         GLint width,
                                                         GLint height);
gboolean            gst_gl_display_init_upload          (GstGLDisplay *display,
                                                         GstVideoFormat video_format,
                                                         guint gl_width,
                                                         guint gl_height,
                                                         gint video_width,
                                                         gint video_height);
gboolean            gst_gl_display_do_upload            (GstGLDisplay *display,
                                                         GLuint texture,
                                                         gint data_width,
                                                         gint data_height,
                                                         gpointer data);
gboolean            gst_gl_display_init_download        (GstGLDisplay *display,
                                                         GstVideoFormat video_format,
                                                         gint width,
                                                         gint height);
gboolean            gst_gl_display_do_download          (GstGLDisplay *display,
                                                         GLuint texture,
                                                         gint width,
                                                         gint height,
                                                         gpointer data);
gboolean            gst_gl_display_gen_fbo              (GstGLDisplay *display,
                                                         gint width,
                                                         gint height,
                                                         GLuint *fbo,
                                                         GLuint *depthbuffer);
gboolean            gst_gl_display_use_fbo              (GstGLDisplay *display,
                                                         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);
void                gst_gl_display_del_fbo              (GstGLDisplay *display,
                                                         GLuint fbo,
                                                         GLuint depth_buffer);
gboolean            gst_gl_display_gen_shader           (GstGLDisplay *display,
                                                         const gchar *shader_vertex_source,
                                                         const gchar *shader_fragment_source,
                                                         GstGLShader **shader);
void                gst_gl_display_del_shader           (GstGLDisplay *display,
                                                         GstGLShader *shader);
void                gst_gl_display_set_window_id        (GstGLDisplay *display,
                                                         gulong window_id);
void                gst_gl_display_set_client_reshape_callback
                                                        (GstGLDisplay *display,
                                                         CRCB cb);
void                gst_gl_display_set_client_draw_callback
                                                        (GstGLDisplay *display,
                                                         CDCB cb);

Object Hierarchy

  GObject
   +----GstGLDisplay

Description

Details

enum GstGLDisplayConversion

typedef enum {
  GST_GL_DISPLAY_CONVERSION_GLSL,       //ARB_fragment_shade
  GST_GL_DISPLAY_CONVERSION_MATRIX,     //ARB_imaging
  GST_GL_DISPLAY_CONVERSION_MESA,       //MESA_ycbcr_texture
} GstGLDisplayConversion;

enum GstGLDisplayProjection

typedef enum {
  GST_GL_DISPLAY_PROJECTION_ORTHO2D,
  GST_GL_DISPLAY_PROJECTION_PERSPECTIVE
} GstGLDisplayProjection;

CRCB ()

void                (*CRCB)                             (GLuint Param1,
                                                         GLuint Param2,
                                                         gpointer Param3);

CDCB ()

gboolean            (*CDCB)                             (GLuint Param1,
                                                         GLuint Param2,
                                                         GLuint Param3,
                                                         gpointer Param4);

GstGLDisplayThreadFunc ()

void                (*GstGLDisplayThreadFunc)           (GstGLDisplay *display,
                                                         gpointer data);

GLCB ()

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

struct GstGLDisplay

struct GstGLDisplay;

gst_gl_display_new ()

GstGLDisplay *      gst_gl_display_new                  (void);

gst_gl_display_create_context ()

gboolean            gst_gl_display_create_context       (GstGLDisplay *display,
                                                         gulong external_gl_context);

gst_gl_display_redisplay ()

gboolean            gst_gl_display_redisplay            (GstGLDisplay *display,
                                                         GLuint texture,
                                                         gint gl_width,
                                                         gint gl_height,
                                                         gint window_width,
                                                         gint window_height,
                                                         gboolean keep_aspect_ratio);

gst_gl_display_thread_add ()

void                gst_gl_display_thread_add           (GstGLDisplay *display,
                                                         GstGLDisplayThreadFunc func,
                                                         gpointer data);

gst_gl_display_gen_texture ()

void                gst_gl_display_gen_texture          (GstGLDisplay *display,
                                                         GLuint *pTexture,
                                                         GLint width,
                                                         GLint height);

gst_gl_display_del_texture ()

void                gst_gl_display_del_texture          (GstGLDisplay *display,
                                                         GLuint texture,
                                                         GLint width,
                                                         GLint height);

gst_gl_display_init_upload ()

gboolean            gst_gl_display_init_upload          (GstGLDisplay *display,
                                                         GstVideoFormat video_format,
                                                         guint gl_width,
                                                         guint gl_height,
                                                         gint video_width,
                                                         gint video_height);

gst_gl_display_do_upload ()

gboolean            gst_gl_display_do_upload            (GstGLDisplay *display,
                                                         GLuint texture,
                                                         gint data_width,
                                                         gint data_height,
                                                         gpointer data);

gst_gl_display_init_download ()

gboolean            gst_gl_display_init_download        (GstGLDisplay *display,
                                                         GstVideoFormat video_format,
                                                         gint width,
                                                         gint height);

gst_gl_display_do_download ()

gboolean            gst_gl_display_do_download          (GstGLDisplay *display,
                                                         GLuint texture,
                                                         gint width,
                                                         gint height,
                                                         gpointer data);

gst_gl_display_gen_fbo ()

gboolean            gst_gl_display_gen_fbo              (GstGLDisplay *display,
                                                         gint width,
                                                         gint height,
                                                         GLuint *fbo,
                                                         GLuint *depthbuffer);

gst_gl_display_use_fbo ()

gboolean            gst_gl_display_use_fbo              (GstGLDisplay *display,
                                                         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_display_del_fbo ()

void                gst_gl_display_del_fbo              (GstGLDisplay *display,
                                                         GLuint fbo,
                                                         GLuint depth_buffer);

gst_gl_display_gen_shader ()

gboolean            gst_gl_display_gen_shader           (GstGLDisplay *display,
                                                         const gchar *shader_vertex_source,
                                                         const gchar *shader_fragment_source,
                                                         GstGLShader **shader);

gst_gl_display_del_shader ()

void                gst_gl_display_del_shader           (GstGLDisplay *display,
                                                         GstGLShader *shader);

gst_gl_display_set_window_id ()

void                gst_gl_display_set_window_id        (GstGLDisplay *display,
                                                         gulong window_id);

gst_gl_display_set_client_reshape_callback ()

void                gst_gl_display_set_client_reshape_callback
                                                        (GstGLDisplay *display,
                                                         CRCB cb);

gst_gl_display_set_client_draw_callback ()

void                gst_gl_display_set_client_draw_callback
                                                        (GstGLDisplay *display,
                                                         CDCB cb);