2 * gstvaapi.c - VA-API element registration
4 * Copyright (C) 2011-2013 Intel Corporation
5 * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
6 * Copyright (C) 2011 Collabora Ltd.
7 * Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public License
11 * as published by the Free Software Foundation; either version 2.1
12 * of the License, or (at your option) any later version.
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free
21 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301 USA
25 #include "gstcompat.h"
27 #include "gstvaapidecode.h"
28 #include "gstvaapipostproc.h"
29 #include "gstvaapisink.h"
30 #include "gstvaapidecodebin.h"
33 #include "gstvaapiencode_h264.h"
34 #include "gstvaapiencode_mpeg2.h"
38 #include "gstvaapiencode_jpeg.h"
42 #include "gstvaapiencode_vp8.h"
46 #include "gstvaapiencode_h265.h"
49 #define PLUGIN_NAME "vaapi"
50 #define PLUGIN_DESC "VA-API based elements"
51 #define PLUGIN_LICENSE "LGPL"
54 plugin_init (GstPlugin *plugin)
56 gst_element_register(plugin, "vaapidecode",
58 GST_TYPE_VAAPIDECODE);
59 gst_element_register(plugin, "vaapipostproc",
61 GST_TYPE_VAAPIPOSTPROC);
62 gst_element_register(plugin, "vaapisink",
66 gst_element_register(plugin, "vaapiencode_h264",
68 GST_TYPE_VAAPIENCODE_H264);
69 gst_element_register(plugin, "vaapiencode_mpeg2",
71 GST_TYPE_VAAPIENCODE_MPEG2);
74 gst_element_register(plugin, "vaapiencode_jpeg",
76 GST_TYPE_VAAPIENCODE_JPEG);
79 gst_element_register(plugin, "vaapiencode_vp8",
81 GST_TYPE_VAAPIENCODE_VP8);
85 gst_element_register(plugin, "vaapiencode_h265",
87 GST_TYPE_VAAPIENCODE_H265);
90 #if GST_CHECK_VERSION(1,4,0)
91 gst_element_register(plugin, "vaapidecodebin",
93 GST_TYPE_VAAPI_DECODE_BIN);
98 GST_PLUGIN_DEFINE(GST_VERSION_MAJOR, GST_VERSION_MINOR,
99 vaapi, PLUGIN_DESC, plugin_init,
100 PACKAGE_VERSION, PLUGIN_LICENSE, PACKAGE, PACKAGE_BUGREPORT)