~ubuntu-branches/ubuntu/quantal/gst-plugins-bad-multiverse0.10/quantal

« back to all changes in this revision

Viewing changes to sys/vdpau/gstvdpdevice.h

  • Committer: Bazaar Package Importer
  • Author(s): Onkar Shinde
  • Date: 2009-12-07 08:54:28 UTC
  • mfrom: (1.1.15 upstream)
  • Revision ID: james.westby@ubuntu.com-20091207085428-ml6aaukf0p2ph34d
Tags: 0.10.17-0ubuntu1
* New upstream release.
* Add myself to maintainer.
* Fix misc lintian warnings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 
 
2
 * GStreamer
 
3
 * Copyright (C) 2009 Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
 
4
 *
 
5
 * This library is free software; you can redistribute it and/or
 
6
 * modify it under the terms of the GNU Library General Public
 
7
 * License as published by the Free Software Foundation; either
 
8
 * version 2 of the License, or (at your option) any later version.
 
9
 *
 
10
 * This library is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
13
 * Library General Public License for more details.
 
14
 *
 
15
 * You should have received a copy of the GNU Library General Public
 
16
 * License along with this library; if not, write to the
 
17
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
18
 * Boston, MA 02111-1307, USA.
 
19
 */
 
20
 
 
21
#ifndef _GST_VDP_DEVICE_H_
 
22
#define _GST_VDP_DEVICE_H_
 
23
 
 
24
#include <X11/Xlib.h>
 
25
#include <vdpau/vdpau.h>
 
26
#include <vdpau/vdpau_x11.h>
 
27
 
 
28
#include <glib-object.h>
 
29
 
 
30
G_BEGIN_DECLS
 
31
 
 
32
#define GST_TYPE_VDP_DEVICE             (gst_vdp_device_get_type ())
 
33
#define GST_VDP_DEVICE(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VDP_DEVICE, GstVdpDevice))
 
34
#define GST_VDP_DEVICE_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VDP_DEVICE, GstVdpDeviceClass))
 
35
#define GST_IS_VDP_DEVICE(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VDP_DEVICE))
 
36
#define GST_IS_VDP_DEVICE_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VDP_DEVICE))
 
37
#define GST_VDP_DEVICE_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VDP_DEVICE, GstVdpDeviceClass))
 
38
 
 
39
typedef struct _GstVdpDeviceClass GstVdpDeviceClass;
 
40
typedef struct _GstVdpDevice GstVdpDevice;
 
41
 
 
42
struct _GstVdpDeviceClass
 
43
{
 
44
  GObjectClass parent_class;
 
45
};
 
46
 
 
47
struct _GstVdpDevice
 
48
{
 
49
  GObject object;
 
50
 
 
51
  gboolean constructed;
 
52
  
 
53
  gchar *display_name;
 
54
  Display *display;
 
55
  VdpDevice device;
 
56
 
 
57
  VdpDeviceDestroy                                *vdp_device_destroy;
 
58
  VdpGetProcAddress                               *vdp_get_proc_address;
 
59
  VdpGetErrorString                               *vdp_get_error_string;
 
60
 
 
61
  VdpVideoSurfaceCreate                           *vdp_video_surface_create;
 
62
  VdpVideoSurfaceDestroy                          *vdp_video_surface_destroy;
 
63
  VdpVideoSurfaceQueryCapabilities                *vdp_video_surface_query_capabilities;
 
64
  VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities *vdp_video_surface_query_ycbcr_capabilities;
 
65
  VdpVideoSurfaceGetParameters                    *vdp_video_surface_get_parameters;
 
66
  VdpVideoSurfaceGetBitsYCbCr                     *vdp_video_surface_get_bits_ycbcr;
 
67
  VdpVideoSurfacePutBitsYCbCr                     *vdp_video_surface_put_bits_ycbcr;
 
68
 
 
69
  VdpDecoderCreate                                *vdp_decoder_create;
 
70
  VdpDecoderDestroy                               *vdp_decoder_destroy;
 
71
  VdpDecoderRender                                *vdp_decoder_render;
 
72
  VdpDecoderQueryCapabilities                     *vdp_decoder_query_capabilities;
 
73
  VdpDecoderGetParameters                         *vdp_decoder_get_parameters;
 
74
 
 
75
  VdpVideoMixerCreate                             *vdp_video_mixer_create;
 
76
  VdpVideoMixerDestroy                            *vdp_video_mixer_destroy;
 
77
  VdpVideoMixerRender                             *vdp_video_mixer_render;
 
78
  VdpVideoMixerSetFeatureEnables                  *vdp_video_mixer_set_feature_enables;
 
79
  VdpVideoMixerSetAttributeValues                 *vdp_video_mixer_set_attribute_values;
 
80
 
 
81
  VdpOutputSurfaceCreate                          *vdp_output_surface_create;
 
82
  VdpOutputSurfaceDestroy                         *vdp_output_surface_destroy;
 
83
  VdpOutputSurfaceQueryCapabilities               *vdp_output_surface_query_capabilities;
 
84
 
 
85
  VdpPresentationQueueTargetCreateX11             *vdp_presentation_queue_target_create_x11;  
 
86
  VdpPresentationQueueCreate                      *vdp_presentation_queue_create;
 
87
  VdpPresentationQueueDestroy                     *vdp_presentation_queue_destroy;
 
88
  VdpPresentationQueueDisplay                     *vdp_presentation_queue_display;
 
89
  VdpPresentationQueueBlockUntilSurfaceIdle       *vdp_presentation_queue_block_until_surface_idle;
 
90
  VdpPresentationQueueSetBackgroundColor          *vdp_presentation_queue_set_background_color;
 
91
};
 
92
 
 
93
GType gst_vdp_device_get_type (void) G_GNUC_CONST;
 
94
 
 
95
GstVdpDevice *gst_vdp_get_device (const gchar *display_name);
 
96
 
 
97
G_END_DECLS
 
98
 
 
99
#endif /* _GST_VDP_DEVICE_H_ */