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