2 * gstvaapivideobuffer_glx.h - Gstreamer/VA video buffer
4 * Copyright (C) 2011 Intel Corporation
5 * Copyright (C) 2011 Collabora Ltd.
6 * Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 2.1
11 * of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free
20 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301 USA
24 #ifndef GST_VAAPI_VIDEO_BUFFER_GLX_H
25 #define GST_VAAPI_VIDEO_BUFFER_GLX_H
27 #include <gst/vaapi/gstvaapidisplay_glx.h>
28 #include <gst/vaapi/gstvaapivideobuffer.h>
29 #include <gst/vaapi/gstvaapivideopool.h>
30 #include <gst/video/gstsurfacebuffer.h>
34 #define GST_VAAPI_TYPE_VIDEO_BUFFER_GLX \
35 (gst_vaapi_video_buffer_glx_get_type())
37 #define GST_VAAPI_VIDEO_BUFFER_GLX(obj) \
38 (G_TYPE_CHECK_INSTANCE_CAST((obj), \
39 GST_VAAPI_TYPE_VIDEO_BUFFER_GLX, \
40 GstVaapiVideoBufferGLX))
42 #define GST_VAAPI_VIDEO_BUFFER_GLX_CLASS(klass) \
43 (G_TYPE_CHECK_CLASS_CAST((klass), \
44 GST_VAAPI_TYPE_VIDEO_BUFFER_GLX, \
45 GstVaapiVideoBufferGLXClass))
47 #define GST_VAAPI_IS_VIDEO_BUFFER_GLX(obj) \
48 (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_VAAPI_TYPE_VIDEO_BUFFER_GLX))
50 #define GST_VAAPI_IS_VIDEO_BUFFER_GLX_CLASS(klass) \
51 (G_TYPE_CHECK_CLASS_TYPE((klass), GST_VAAPI_TYPE_VIDEO_BUFFER_GLX))
53 #define GST_VAAPI_VIDEO_BUFFER_GLX_GET_CLASS(obj) \
54 (G_TYPE_INSTANCE_GET_CLASS((obj), \
55 GST_VAAPI_TYPE_VIDEO_BUFFER_GLX, \
56 GstVaapiVideoBufferGLXClass))
58 typedef struct _GstVaapiVideoBufferGLX GstVaapiVideoBufferGLX;
59 typedef struct _GstVaapiVideoBufferGLXClass GstVaapiVideoBufferGLXClass;
62 * GstVaapiVideoBufferGLX:
64 * A #GstBuffer holding video objects (#GstVaapiSurface and #GstVaapiImage).
66 struct _GstVaapiVideoBufferGLX {
68 GstVaapiVideoBuffer parent_instance;
72 * GstVaapiVideoBufferGLXClass:
74 * A #GstBuffer holding video objects
76 struct _GstVaapiVideoBufferGLXClass {
78 GstVaapiVideoBufferClass parent_class;
81 GType gst_vaapi_video_buffer_glx_get_type (void) G_GNUC_CONST;
85 #endif /* GST_VAAPI_VIDEO_BUFFER_GLX_H */