2 #ifndef _GST_GL_BUFFER_H_
3 #define _GST_GL_BUFFER_H_
6 #include <gst/video/video.h>
7 #include <gstgldisplay.h>
9 typedef struct _GstGLBuffer GstGLBuffer;
11 #define GST_TYPE_GL_BUFFER (gst_gl_buffer_get_type())
13 #define GST_IS_GL_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_BUFFER))
14 #define GST_GL_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GL_BUFFER, GstGLBuffer))
17 GST_GL_BUFFER_FORMAT_RGBA,
18 GST_GL_BUFFER_FORMAT_RGB,
19 GST_GL_BUFFER_FORMAT_YUYV,
20 GST_GL_BUFFER_FORMAT_PLANAR444,
21 GST_GL_BUFFER_FORMAT_PLANAR422,
22 GST_GL_BUFFER_FORMAT_PLANAR420
28 GstGLDisplay *display;
30 GstGLBufferFormat format;
41 GType gst_gl_buffer_get_type (void);
43 GstGLBuffer * gst_gl_buffer_new (GstGLDisplay *display,
44 GstGLBufferFormat format, int width, int height);
45 GstGLBuffer * gst_gl_buffer_new_from_data (GstGLDisplay *display,
46 GstVideoFormat format, int width, int height, void *data);
47 void gst_gl_buffer_download (GstGLBuffer *buffer, GstVideoFormat format,
51 #define GST_GL_VIDEO_CAPS \
53 "format=(int)[0,10]," \
54 "width=(int)[1,2048]," \
55 "height=(int)[1,2048]," \
56 "pixel-aspect-ratio=(fraction)1/1," \
57 "framerate=(fraction)[0/1,100/1]"