summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
diff options
context:
space:
mode:
authorCarlos Rafael Giani <crg7475@mailbox.org>2021-04-25 13:57:04 +0200
committerOtavio Salvador <otavio@ossystems.com.br>2021-04-25 13:40:14 -0300
commitdf845df213c483132d2d86117949369ac9af334b (patch)
tree1a02ca36abc3895a64f668aba04675b55d850416 /recipes-multimedia
parent355c3729d54b6df984f7d70dbbd513cce53b573b (diff)
downloadmeta-freescale-df845df213c483132d2d86117949369ac9af334b.tar.gz
gstreamer1.0-plugins-imx: Update to version 2.0.0
This is a rewrite, based on the new libimxdmabuffer library, the new libimxvpuapi library version 2, and GStreamer 1.14 (1.16 required for full functionality). In addition to the i.MX6 and i.MX7, the i.MX8 is now supported as well. The code was reorganized into gst-libs/ and ext/ subdirectories to match the GStreamer directory structure. Also, meson is now the build system in use to ease integration with GStreamer build setups such as Cerbero. See the ChangeLog for a full list of changes and additions. Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Diffstat (limited to 'recipes-multimedia')
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb71
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb62
2 files changed, 62 insertions, 71 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb
deleted file mode 100644
index 35996337..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.13.1.bb
+++ /dev/null
@@ -1,71 +0,0 @@
1# Copyright (C) 2018 O.S. Systems Software LTDA.
2DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
3LICENSE = "LGPLv2+"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
5SECTION = "multimedia"
6# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
7# GstPhotography headers and libraries
8DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
9# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
10# for the uniaudio decoder, videoparsersbad for the VPU video decoder
11# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
12# build (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
13RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good"
14RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
15RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
16
17PV .= "+git${SRCPV}"
18
19SRCBRANCH ?= "master"
20SRCREV = "805987bff74af13fcb14ff111955206f1c92554d"
21SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
22
23S = "${WORKDIR}/git"
24
25inherit pkgconfig waf use-imx-headers
26
27# configure the eglvivsink element to use the appropriate EGL platform code
28# Wayland if 'wayland' is present in DISTRO_FEATURES, if not,
29# X11 if x11 is present in DISTRO_FEATURES,
30# Framebuffer otherwise
31EGLVIVSINK_PLATFORM = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
32 bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
33 'fb', d),d)}"
34
35EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
36
37EXTRA_OECONF = "--kernel-headers=${STAGING_INCDIR_IMX} ${PACKAGECONFIG_CONFARGS}"
38
39EGLVIVSINK_DEPENDS = " \
40 virtual/egl virtual/libgles2 \
41 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
42 bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
43 '', d), d)} \
44"
45
46PACKAGECONFIG ?= "uniaudiodec mp3encoder v4l2src v4l2sink"
47PACKAGECONFIG_append_imxgpu3d = " eglvivsink"
48PACKAGECONFIG_append_imxgpu2d = " g2d g2dpango"
49PACKAGECONFIG_append_imxipu = " ipu"
50PACKAGECONFIG_append_imxvpu = " vpu"
51PACKAGECONFIG_append_imxpxp = " pxp"
52
53PACKAGECONFIG[g2d] = ",--disable-g2d,imx-gpu-g2d"
54PACKAGECONFIG[g2dpango] = ",--disable-g2dpango,imx-gpu-g2d pango"
55PACKAGECONFIG[pxp] = ",--disable-pxp,"
56PACKAGECONFIG[ipu] = ",--disable-ipu,"
57PACKAGECONFIG[vpu] = ",--disable-vpu,libimxvpuapi"
58PACKAGECONFIG[eglvivsink] = "${EGL_PLATFORM_CONF},--disable-eglvivsink,${EGLVIVSINK_DEPENDS}"
59PACKAGECONFIG[v4l2src] = ",--disable-imxv4l2videosrc,"
60PACKAGECONFIG[v4l2sink] = ",--disable-imxv4l2videosink,"
61PACKAGECONFIG[uniaudiodec] = ",--disable-uniaudiodec,imx-codec"
62PACKAGECONFIG[mp3encoder] = ",--disable-mp3encoder,imx-codec"
63
64# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
65LIBV = "1.0"
66require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
67
68# the following line is required to produce one package for each plugin
69PACKAGES_DYNAMIC = "^${PN}-.*"
70
71COMPATIBLE_MACHINE = "(mx6dl|mx6q|mx6sl|mx6sx|mx6ul|mx6ull|mx7d)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb
new file mode 100644
index 00000000..7c6025dd
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb
@@ -0,0 +1,62 @@
1# Copyright (C) 2018 O.S. Systems Software LTDA.
2DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
3LICENSE = "LGPLv2+"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
5SECTION = "multimedia"
6DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer"
7# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
8# for the uniaudio decoder, videoparsersbad for the VPU video decoder
9# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
10# built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
11RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
12RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
13RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
14
15PV .= "+git${SRCPV}"
16
17SRCBRANCH ?= "master"
18SRCREV = "11e3a555a280f97d55d5243e8259a255b3ed14d0"
19SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
20
21S = "${WORKDIR}/git"
22
23inherit pkgconfig meson use-imx-headers
24
25# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU.
26# That particular libg2d .so depends on libdrm, however.
27# Also, due to behavioral differences, an additional flag
28# is needed to improve performance.
29LIBG2D_DPU_OPTION = "-Dg2d-based-on-dpu=false"
30LIBG2D_DEPENDENCIES = "virtual/libg2d"
31LIBG2D_DPU_OPTION_imxdpu = "-Dg2d-based-on-dpu=true"
32LIBG2D_DEPENDENCIES_imxdpu = "virtual/libg2d libdrm"
33
34EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX}"
35
36PACKAGECONFIG ?= "uniaudiodec"
37PACKAGECONFIG_append_imxgpu2d = " g2d"
38PACKAGECONFIG_append_imxvpu = " vpu"
39PACKAGECONFIG_append_imxipu = " ipu"
40PACKAGECONFIG_append_imxpxp = " pxp"
41# The custom imxv4l2 elements are only available on the i.MX6.
42# The 2D blitter sinks require an MXC framebuffer, which
43# is not available anymore on the i.MX8 (since these SoCs
44# now use KMS instead of the old Linux framebuffer).
45PACKAGECONFIG_append_mx6 = " imx2dvideosink v4l2"
46PACKAGECONFIG_append_mx7 = " imx2dvideosink"
47
48PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}"
49PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled,"
50PACKAGECONFIG[ipu] = "-Dipu=enabled,-Dipu=disabled,"
51PACKAGECONFIG[vpu] = "-Dvpu=enabled,-Dvpu=disabled,libimxvpuapi2"
52PACKAGECONFIG[imx2dvideosink] = "-Dimx2d-videosink=true,-Dimx2d-videosink=false,"
53PACKAGECONFIG[v4l2] = "-Dv4l2=true,-Dv4l2=false,"
54PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec"
55PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec"
56
57require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
58
59# the following line is required to produce one package for each plugin
60PACKAGES_DYNAMIC = "^${PN}-.*"
61
62COMPATIBLE_MACHINE = "(mx6dl|mx6q|mx6sl|mx6sx|mx6ul|mx6ull|mx7d|mx8)"