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);
                    GstGLDisplay;
GstGLDisplay *      gst_gl_display_new                  (void);
void                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);
void                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);
void                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);
void                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);
void                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);

Param1 :

Param2 :

Param3 :


CDCB ()

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

Param1 :

Param2 :

Param3 :

Param4 :

Returns :


GstGLDisplayThreadFunc ()

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

display :

data :


GLCB ()

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

Param1 :

Param2 :

Param3 :

stuff :


GstGLDisplay

typedef struct _GstGLDisplay GstGLDisplay;


gst_gl_display_new ()

GstGLDisplay *      gst_gl_display_new                  (void);

Returns :


gst_gl_display_create_context ()

void                gst_gl_display_create_context       (GstGLDisplay *display,
                                                         gulong external_gl_context);

display :

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

display :

texture :

gl_width :

gl_height :

window_width :

window_height :

keep_aspect_ratio :

Returns :


gst_gl_display_thread_add ()

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

display :

func :

data :


gst_gl_display_gen_texture ()

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

display :

pTexture :

width :

height :


gst_gl_display_del_texture ()

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

display :

texture :

width :

height :


gst_gl_display_init_upload ()

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

display :

video_format :

gl_width :

gl_height :

video_width :

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

display :

texture :

data_width :

data_height :

data :

Returns :


gst_gl_display_init_download ()

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

display :

video_format :

width :

height :


gst_gl_display_do_download ()

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

display :

texture :

width :

height :

data :

Returns :


gst_gl_display_gen_fbo ()

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

display :

width :

height :

fbo :

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

display :

texture_fbo_width :

texture_fbo_height :

fbo :

depth_buffer :

texture_fbo :

cb :

input_texture_width :

input_texture_height :

input_texture :

proj_param1 :

proj_param2 :

proj_param3 :

proj_param4 :

projection :

stuff :

Returns :


gst_gl_display_del_fbo ()

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

display :

fbo :

depth_buffer :


gst_gl_display_gen_shader ()

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

display :

shader_vertex_source :

shader_fragment_source :

shader :


gst_gl_display_del_shader ()

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

display :

shader :


gst_gl_display_set_window_id ()

void                gst_gl_display_set_window_id        (GstGLDisplay *display,
                                                         gulong window_id);

display :

window_id :


gst_gl_display_set_client_reshape_callback ()

void                gst_gl_display_set_client_reshape_callback
                                                        (GstGLDisplay *display,
                                                         CRCB cb);

display :

cb :


gst_gl_display_set_client_draw_callback ()

void                gst_gl_display_set_client_draw_callback
                                                        (GstGLDisplay *display,
                                                         CDCB cb);

display :

cb :