1 #ifdef HAVE_CONFIG_H
2 #include <config.h>
3 #endif
4 
5 
6 #include <gst/gst.h>
7 
8 #include "gstvdpdevice.h"
9 #include "gstvdpvideomemory.h"
10 #include "gstvdpoutputbuffer.h"
11 #include "gstvdpdecoder.h"
12 
13 #include "mpeg/gstvdpmpegdec.h"
14 /* #include "h264/gstvdph264dec.h" */
15 #include "mpeg4/gstvdpmpeg4dec.h"
16 #include "gstvdpvideopostprocess.h"
17 #include "gstvdpsink.h"
18 
19 static gboolean
vdpau_init(GstPlugin * vdpau_plugin)20 vdpau_init (GstPlugin * vdpau_plugin)
21 {
22   gboolean ret;
23 
24   /* do this so debug categories get created */
25   gst_vdp_device_get_type ();
26   gst_vdp_decoder_get_type ();
27   gst_vdp_video_memory_init ();
28 
29   /* Before giving these elements a rank again, make sure they pass at
30    * least the generic/states test when there's no device available */
31   ret = gst_element_register (vdpau_plugin, "vdpaumpegdec",
32       GST_RANK_NONE, GST_TYPE_VDP_MPEG_DEC);
33   /* ret &= gst_element_register (vdpau_plugin, "vdpauh264dec", */
34   /*     GST_RANK_NONE, GST_TYPE_VDP_H264_DEC); */
35   /* gst_element_register (vdpau_plugin, "vdpaumpeg4dec", */
36   /*     GST_RANK_NONE, GST_TYPE_VDP_MPEG4_DEC); */
37   /* gst_element_register (vdpau_plugin, "vdpauvideopostprocess", */
38   /*     GST_RANK_NONE, GST_TYPE_VDP_VIDEO_POST_PROCESS); */
39   /* gst_element_register (vdpau_plugin, "vdpausink", */
40   /*     GST_RANK_NONE, GST_TYPE_VDP_SINK); */
41 
42   return ret;
43 }
44 
45 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
46     GST_VERSION_MINOR,
47     vdpau,
48     "Various elements utilizing VDPAU",
49     vdpau_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
50