summaryrefslogtreecommitdiffstats
path: root/sys/vdpau/gstvdpaudecoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vdpau/gstvdpaudecoder.h')
-rw-r--r--sys/vdpau/gstvdpaudecoder.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/vdpau/gstvdpaudecoder.h b/sys/vdpau/gstvdpaudecoder.h
index d8b8aa33..2c1a274f 100644
--- a/sys/vdpau/gstvdpaudecoder.h
+++ b/sys/vdpau/gstvdpaudecoder.h
@@ -38,6 +38,7 @@ G_BEGIN_DECLS
typedef struct _GstVdpauDecoder GstVdpauDecoder;
typedef struct _GstVdpauDecoderClass GstVdpauDecoderClass;
+typedef struct _VdpauFunctions VdpauFunctions;
struct _GstVdpauDecoder {
GstElement element;
@@ -45,6 +46,8 @@ struct _GstVdpauDecoder {
gchar *display;
VdpDevice device;
+ VdpauFunctions *functions;
+
GstPad *src;
GstPad *sink;
@@ -62,6 +65,20 @@ struct _GstVdpauDecoderClass {
gboolean (*set_caps) (GstVdpauDecoder *dec, GstCaps *caps);
};
+struct _VdpauFunctions {
+ VdpGetProcAddress *vdp_get_proc_address;
+
+ VdpVideoSurfaceQueryCapabilities *vdp_video_surface_query_capabilities;
+ VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities *vdp_video_surface_query_ycbcr_capabilities;
+ VdpVideoSurfaceGetBitsYCbCr *vdp_video_surface_get_bits_ycbcr;
+
+ VdpDeviceDestroy *vdp_device_destroy;
+
+ VdpDecoderCreate *vdp_decoder_create;
+ VdpDecoderDestroy *vdp_decoder_destroy;
+ VdpDecoderRender *vdp_decoder_render;
+};
+
GType gst_vdpaudecoder_get_type (void);
gboolean gst_vdpaudecoder_push_video_surface (GstVdpauDecoder * dec, VdpVideoSurface surface);