1 /* GStreamer video parsers
2 * Copyright (C) 2011 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
3 * Copyright (C) 2009 Tim-Philipp Müller <tim centricular net>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 */
20
21 #ifdef HAVE_CONFIG_H
22 #include "config.h"
23 #endif
24
25 #include "gstvideoparserselements.h"
26
27 static gboolean
plugin_init(GstPlugin * plugin)28 plugin_init (GstPlugin * plugin)
29 {
30 gboolean ret = FALSE;
31
32 /* ohos.ext.func.0022:
33 * we only need gsth264parse element. However, gstreamer will build all parser elemenet together, which make the
34 * memory bigger than expect.
35 * To avoid this, we do not make other parser elements.
36 */
37 /* ohos.ext.func.0026:
38 * The avmuxer need mpeg4videoparse, so mpeg4videoparse needs to be registered
39 */
40 #ifndef OHOS_EXT_FUNC
41 ret |= GST_ELEMENT_REGISTER (h263parse, plugin);
42 ret |= GST_ELEMENT_REGISTER (h264parse, plugin);
43 ret |= GST_ELEMENT_REGISTER (diracparse, plugin);
44 ret |= GST_ELEMENT_REGISTER (mpegvideoparse, plugin);
45 ret |= GST_ELEMENT_REGISTER (mpeg4videoparse, plugin);
46 ret |= GST_ELEMENT_REGISTER (pngparse, plugin);
47 ret |= GST_ELEMENT_REGISTER (jpeg2000parse, plugin);
48 ret |= GST_ELEMENT_REGISTER (h265parse, plugin);
49 ret |= GST_ELEMENT_REGISTER (vc1parse, plugin);
50 /**
51 * element-vp9parse:
52 *
53 * Since: 1.20
54 */
55 ret |= GST_ELEMENT_REGISTER (vp9parse, plugin);
56 /**
57 * element-av1parse:
58 *
59 * Since: 1.20
60 */
61 ret |= GST_ELEMENT_REGISTER (av1parse, plugin);
62 #else
63 ret |= GST_ELEMENT_REGISTER (h264parse, plugin);
64 ret |= GST_ELEMENT_REGISTER (mpeg4videoparse, plugin);
65 #endif
66 return ret;
67 }
68
69
70 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
71 GST_VERSION_MINOR,
72 videoparsersbad,
73 "videoparsers",
74 plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
75