2 * gstvaapipluginutil.h - VA-API plugins private helper
4 * Copyright (C) 2011-2012 Intel Corporation
5 * Copyright (C) 2011 Collabora
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_PLUGIN_UTIL_H
25 #define GST_VAAPI_PLUGIN_UTIL_H
27 #include <gst/vaapi/gstvaapidisplay.h>
30 * GstVaapiDisplayType:
31 * @GST_VAAPI_DISPLAY_TYPE_AUTO: Automatic detection of the display type.
32 * @GST_VAAPI_DISPLAY_TYPE_X11: VA/X11 display.
33 * @GST_VAAPI_DISPLAY_TYPE_GLX: VA/GLX display.
35 typedef enum _GstVaapiDisplayType GstVaapiDisplayType;
36 enum _GstVaapiDisplayType {
37 GST_VAAPI_DISPLAY_TYPE_AUTO = 0,
38 GST_VAAPI_DISPLAY_TYPE_X11,
39 GST_VAAPI_DISPLAY_TYPE_GLX,
42 #define GST_VAAPI_TYPE_DISPLAY_TYPE \
43 gst_vaapi_display_type_get_type()
46 gst_vaapi_display_type_get_type(void) G_GNUC_CONST;
49 gst_vaapi_ensure_display(
51 GstVaapiDisplay **display,
52 GstVaapiDisplayType *display_type_ptr
56 gst_vaapi_set_display(
59 GstVaapiDisplay **display
63 gst_vaapi_reply_to_query(GstQuery *query, GstVaapiDisplay *display);
66 gst_vaapi_append_surface_caps (GstCaps *out_caps, GstCaps *in_caps);
68 #endif /* GST_VAAPI_PLUGIN_UTIL_H */