5a6462f9d139765b63840822443cf48aea6ed40b
[profile/ivi/gstreamer-vaapi.git] / gst / vaapi / gstvaapi.c
1 /*
2  *  gstvaapi.c - VA-API element registration
3  *
4  *  Copyright (C) 2011-2012 Intel Corporation
5  *  Copyright (C) 2011 Collabora Ltd.
6  *    Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
7  *
8  *  This library is free software; you can redistribute it and/or
9  *  modify it under the terms of the GNU Lesser General Public License
10  *  as published by the Free Software Foundation; either version 2.1
11  *  of the License, or (at your option) any later version.
12  *
13  *  This library is distributed in the hope that it will be useful,
14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  *  Lesser General Public License for more details.
17  *
18  *  You should have received a copy of the GNU Lesser General Public
19  *  License along with this library; if not, write to the Free
20  *  Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  *  Boston, MA 02110-1301 USA
22  */
23
24 #include "gst/vaapi/sysdeps.h"
25 #include <gst/gst.h>
26 #include "gstvaapidownload.h"
27 #include "gstvaapiupload.h"
28 #include "gstvaapidecode.h"
29 #include "gstvaapipostproc.h"
30 #include "gstvaapisink.h"
31
32 static gboolean
33 plugin_init (GstPlugin *plugin)
34 {
35     gst_element_register(plugin, "vaapidownload",
36                          GST_RANK_SECONDARY,
37                          GST_TYPE_VAAPIDOWNLOAD);
38     gst_element_register(plugin, "vaapiupload",
39                          GST_RANK_PRIMARY,
40                          GST_TYPE_VAAPIUPLOAD);
41     gst_element_register(plugin, "vaapidecode",
42                          GST_RANK_PRIMARY,
43                          GST_TYPE_VAAPIDECODE);
44     gst_element_register(plugin, "vaapipostproc",
45                          GST_RANK_PRIMARY,
46                          GST_TYPE_VAAPIPOSTPROC);
47     gst_element_register(plugin, "vaapisink",
48                          GST_RANK_PRIMARY,
49                          GST_TYPE_VAAPISINK);
50     return TRUE;
51 }
52
53 GST_PLUGIN_DEFINE(
54     GST_VERSION_MAJOR, GST_VERSION_MINOR,
55     "vaapi",
56     "VA-API based elements",
57     plugin_init,
58     PACKAGE_VERSION,
59     "LGPL",
60     PACKAGE,
61     PACKAGE_BUGREPORT)