From 584b000583c7050689d7a93e5d6dc7083bbdfcbd Mon Sep 17 00:00:00 2001 From: Carl-Anton Ingmarsson Date: Fri, 27 Mar 2009 17:11:04 +0100 Subject: vdpau: store vdpau function pointers in a local structure --- sys/vdpau/gstvdpaudecoder.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'sys/vdpau/gstvdpaudecoder.h') 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); -- cgit v1.2.1