* [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package
@ 2022-01-12 9:42 Sébastien Szymanski
2022-01-12 9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-01-12 9:42 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
Library for allocating and managing physically contiguous memory ("DMA
memory" or "DMA buffers") on i.MX devices.
Needed for libimxvpuapi2 and gst1-imx2.
The user has to choose an allocator depending on the i.MX device.
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
---
package/Config.in | 1 +
package/libimxdmabuffer/Config.in | 59 ++++++++++++++++++++
package/libimxdmabuffer/libimxdmabuffer.hash | 3 +
package/libimxdmabuffer/libimxdmabuffer.mk | 51 +++++++++++++++++
4 files changed, 114 insertions(+)
create mode 100644 package/libimxdmabuffer/Config.in
create mode 100644 package/libimxdmabuffer/libimxdmabuffer.hash
create mode 100644 package/libimxdmabuffer/libimxdmabuffer.mk
diff --git a/package/Config.in b/package/Config.in
index 59297c3f3d..8d844aa11e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -505,6 +505,7 @@ endmenu
source "package/kbd/Config.in"
source "package/lcdproc/Config.in"
source "package/libiec61850/Config.in"
+ source "package/libimxdmabuffer/Config.in"
source "package/libubootenv/Config.in"
source "package/libuio/Config.in"
source "package/linux-backports/Config.in"
diff --git a/package/libimxdmabuffer/Config.in b/package/libimxdmabuffer/Config.in
new file mode 100644
index 0000000000..9e81a69123
--- /dev/null
+++ b/package/libimxdmabuffer/Config.in
@@ -0,0 +1,59 @@
+comment "libimxdmabuffer needs an imx-specific Linux kernel to be built"
+ depends on (BR2_arm || BR2_aarch64) && !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_LIBIMXDMABUFFER
+ bool "libimxdmabuffer"
+ depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
+ depends on BR2_LINUX_KERNEL
+ help
+ Library for allocating and managing physically contiguous
+ memory ("DMA memory" or "DMA buffers") on i.MX devices.
+
+ It requires a kernel that includes the i.MX specific headers
+ to be built.
+
+ https://github.com/Freescale/libimxdmabuffer
+
+if BR2_PACKAGE_LIBIMXDMABUFFER
+choice
+ prompt "Allocator"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL
+ bool "dwl"
+ depends on BR2_PACKAGE_IMX_VPU_HANTRO
+
+comment "dwl allocator needs imx-vpu-hantro"
+ depends on !BR2_PACKAGE_IMX_VPU_HANTRO
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_IPU
+ bool "ipu"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_G2D
+ bool "g2d"
+ depends on BR2_PACKAGE_IMX_GPU_G2D
+
+comment "g2d allocator needs imx-gpu-g2d"
+ depends on !BR2_PACKAGE_IMX_GPU_G2D
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_PXP
+ bool "pxp"
+endchoice
+
+if BR2_PACKAGE_LIBIMXDMABUFFER_DWL
+choice
+ prompt "Hantro decoder version"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
+ bool "G1"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
+ bool "G2"
+endchoice
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_HANTRO_DEC_VERSION
+ string
+ default "G1" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
+ default "G2" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
+endif
+
+endif
diff --git a/package/libimxdmabuffer/libimxdmabuffer.hash b/package/libimxdmabuffer/libimxdmabuffer.hash
new file mode 100644
index 0000000000..7d317005df
--- /dev/null
+++ b/package/libimxdmabuffer/libimxdmabuffer.hash
@@ -0,0 +1,3 @@
+# locally computed hash
+sha256 cea163d213206f5451eb75a4501b52d861ed00bfd14cd3e4e8734c6181edb6cc libimxdmabuffer-1.0.1.tar.gz
+sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE
diff --git a/package/libimxdmabuffer/libimxdmabuffer.mk b/package/libimxdmabuffer/libimxdmabuffer.mk
new file mode 100644
index 0000000000..c8adf03365
--- /dev/null
+++ b/package/libimxdmabuffer/libimxdmabuffer.mk
@@ -0,0 +1,51 @@
+################################################################################
+#
+# libimxdmabuffer
+#
+################################################################################
+
+LIBIMXDMABUFFER_VERSION = 1.0.1
+LIBIMXDMABUFFER_SITE = $(call github,Freescale,libimxdmabuffer,$(LIBIMXDMABUFFER_VERSION))
+LIBIMXDMABUFFER_LICENSE = LGPL-2.1+
+LIBIMXDMABUFFER_LICENSE_FILES = LICENSE
+LIBIMXDMABUFFER_DEPENDENCIES = host-pkgconf host-python3
+LIBIMXDMABUFFER_INSTALL_STAGING = YES
+LIBIMXDMABUFFER_NEEDS_EXTERNAL_WAF = NO
+
+# libimxdmabuffer needs access to imx-specific kernel headers
+LIBIMXDMABUFFER_DEPENDENCIES += linux
+
+LIBIMXDMABUFFER_CONF_OPTS += \
+ --imx-linux-headers-path=$(STAGING_DIR)/usr/include/ \
+ --with-ion-allocator=no
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_DWL),y)
+LIBIMXDMABUFFER_CONF_OPTS += \
+ --with-dwl-allocator=yes \
+ --hantro-headers-path=$(STAGING_DIR)/usr/include/hantro_dec \
+ --hantro-decoder-version=$(BR2_PACKAGE_LIBIMXDMABUFFER_DWL_HANTRO_DEC_VERSION)
+LIBIMXDMABUFFER_DEPENDENCIES += imx-vpu-hantro
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-dwl-allocator=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_IPU),y)
+LIBIMXDMABUFFER_CONF_OPTS += --with-ipu-allocator=yes
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-ipu-allocator=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_G2D),y)
+LIBIMXDMABUFFER_CONF_OPTS += --with-g2d-allocator=yes
+LIBIMXDMABUFFER_DEPENDENCIES += imx-gpu-g2d
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-g2d-allocator=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_PXP),y)
+LIBIMXDMABUFFER_CONF_OPTS += --with-pxp-allocator=yes
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-pxp-allocator=no
+endif
+
+$(eval $(waf-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH 2/3] package/libimxvpuapi2: new package
2022-01-12 9:42 [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package Sébastien Szymanski
@ 2022-01-12 9:42 ` Sébastien Szymanski
2022-01-12 10:31 ` Baruch Siach via buildroot
2022-07-28 8:36 ` Arnout Vandecappelle
2022-01-12 9:42 ` [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: " Sébastien Szymanski
2022-07-28 8:23 ` [Buildroot] [PATCH 1/3] package/libimxdmabuffer: " Arnout Vandecappelle
2 siblings, 2 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-01-12 9:42 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
This is version 2 of libimxvpuapi.
The API has been rewritten, and is incompatible with the older one.
Currently, the following platforms are supported (listed with their VPUs):
* i.MX6 (Chips&Media CODA960 codec)
* i.MX8m (Hantro G1/G2 decoder, no encoder)
* i.MX8mm (Hantro G1/G2 decoder, Hantro H1 encoder)
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
---
package/Config.in | 1 +
package/libimxvpuapi2/Config.in | 48 ++++++++++++++++++++++++
package/libimxvpuapi2/libimxvpuapi2.hash | 3 ++
package/libimxvpuapi2/libimxvpuapi2.mk | 28 ++++++++++++++
4 files changed, 80 insertions(+)
create mode 100644 package/libimxvpuapi2/Config.in
create mode 100644 package/libimxvpuapi2/libimxvpuapi2.hash
create mode 100644 package/libimxvpuapi2/libimxvpuapi2.mk
diff --git a/package/Config.in b/package/Config.in
index 8d844aa11e..009d2006f0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1763,6 +1763,7 @@ menu "Multimedia"
source "package/libebml/Config.in"
source "package/libhdhomerun/Config.in"
source "package/libimxvpuapi/Config.in"
+ source "package/libimxvpuapi2/Config.in"
source "package/libmatroska/Config.in"
source "package/libmms/Config.in"
source "package/libmpeg2/Config.in"
diff --git a/package/libimxvpuapi2/Config.in b/package/libimxvpuapi2/Config.in
new file mode 100644
index 0000000000..0954718cc0
--- /dev/null
+++ b/package/libimxvpuapi2/Config.in
@@ -0,0 +1,48 @@
+comment "libimxvpuapi2 needs an i.MX platform with VPU support and libimxdmabuffer"
+ depends on BR2_arm || BR2_aarch64
+ depends on (!BR2_PACKAGE_FREESCALE_IMX_HAS_VPU \
+ && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO) \
+ || !BR2_PACKAGE_LIBIMXDMABUFFER
+
+config BR2_PACKAGE_LIBIMXVPUAPI2
+ bool "libimxvpuapi2"
+ depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
+ depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU || BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
+ depends on BR2_PACKAGE_LIBIMXDMABUFFER
+ select BR2_PACKAGE_IMX_VPU if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+ select BR2_PACKAGE_IMX_VPU_HANTRO if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
+ help
+ This library provides an API for using hardware video codecs
+ on i.MX platforms. The API abstracts away platform specific
+ details and allows for using the same code with different
+ hardware video codecs on different i.MX platforms.
+
+ This is version 2 of libimxvpuapi. The API has been rewritten,
+ and is incompatible with the older one.
+
+ https://github.com/Freescale/libimxvpuapi
+
+if BR2_PACKAGE_LIBIMXVPUAPI2
+choice
+ prompt "Platform"
+
+config BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
+ bool "i.MX6 (Coda)"
+ depends on BR2_PACKAGE_IMX_VPU
+
+config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
+ bool "i.MX8M (Hantro)"
+ depends on BR2_PACKAGE_IMX_VPU_HANTRO
+
+config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
+ bool "i.MX8MM (Hantro)"
+ depends on BR2_PACKAGE_IMX_VPU_HANTRO
+endchoice
+
+config BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM
+ string
+ default "imx6" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
+ default "imx8m" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
+ default "imx8mm" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
+
+endif
diff --git a/package/libimxvpuapi2/libimxvpuapi2.hash b/package/libimxvpuapi2/libimxvpuapi2.hash
new file mode 100644
index 0000000000..d26cf8767b
--- /dev/null
+++ b/package/libimxvpuapi2/libimxvpuapi2.hash
@@ -0,0 +1,3 @@
+# locally computed hash
+sha256 611a5176e37e5132d97817e6d6048acf229f67efd2201e3f4aab6f720e7b67d1 libimxvpuapi2-2.2.0.tar.gz
+sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE
diff --git a/package/libimxvpuapi2/libimxvpuapi2.mk b/package/libimxvpuapi2/libimxvpuapi2.mk
new file mode 100644
index 0000000000..6957171ad3
--- /dev/null
+++ b/package/libimxvpuapi2/libimxvpuapi2.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# libimxvpuapi2
+#
+################################################################################
+
+LIBIMXVPUAPI2_VERSION = 2.2.0
+LIBIMXVPUAPI2_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI2_VERSION))
+LIBIMXVPUAPI2_LICENSE = LGPL-2.1+
+LIBIMXVPUAPI2_LICENSE_FILES = LICENSE
+LIBIMXVPUAPI2_DEPENDENCIES = host-pkgconf host-python3 libimxdmabuffer
+LIBIMXVPUAPI2_INSTALL_STAGING = YES
+LIBIMXVPUAPI2_NEEDS_EXTERNAL_WAF = NO
+
+ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX6),y)
+LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu
+endif
+
+ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M)$(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM),y)
+LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu-hantro
+endif
+
+LIBIMXVPUAPI2_CONF_OPTS += \
+ --imx-headers=$(STAGING_DIR)/usr/include/ \
+ --sysroot-path=$(STAGING_DIR) \
+ --imx-platform=$(BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM)
+
+$(eval $(waf-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: new package
2022-01-12 9:42 [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package Sébastien Szymanski
2022-01-12 9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
@ 2022-01-12 9:42 ` Sébastien Szymanski
2022-01-14 17:44 ` Herve Codina
2022-07-28 19:51 ` Arnout Vandecappelle
2022-07-28 8:23 ` [Buildroot] [PATCH 1/3] package/libimxdmabuffer: " Arnout Vandecappelle
2 siblings, 2 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-01-12 9:42 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
This is version 2 of gst1-imx.
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
---
package/gstreamer1/Config.in | 1 +
package/gstreamer1/gst1-imx2/Config.in | 75 +++++++++++++++++++++
package/gstreamer1/gst1-imx2/gst1-imx2.hash | 3 +
package/gstreamer1/gst1-imx2/gst1-imx2.mk | 75 +++++++++++++++++++++
4 files changed, 154 insertions(+)
create mode 100644 package/gstreamer1/gst1-imx2/Config.in
create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.hash
create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.mk
diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
index 8fe8a34395..436c76379d 100644
--- a/package/gstreamer1/Config.in
+++ b/package/gstreamer1/Config.in
@@ -9,6 +9,7 @@ source "package/gstreamer1/gst1-plugins-bad/Config.in"
source "package/gstreamer1/gst1-plugins-ugly/Config.in"
source "package/gstreamer1/gst1-devtools/Config.in"
source "package/gstreamer1/gst1-imx/Config.in"
+source "package/gstreamer1/gst1-imx2/Config.in"
source "package/gstreamer1/gst1-interpipe/Config.in"
source "package/gstreamer1/gst1-libav/Config.in"
source "package/gstreamer1/gst1-python/Config.in"
diff --git a/package/gstreamer1/gst1-imx2/Config.in b/package/gstreamer1/gst1-imx2/Config.in
new file mode 100644
index 0000000000..b95e6bdb21
--- /dev/null
+++ b/package/gstreamer1/gst1-imx2/Config.in
@@ -0,0 +1,75 @@
+menuconfig BR2_PACKAGE_GST1_IMX2
+ bool "gst1-imx2"
+ depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
+ depends on BR2_PACKAGE_LIBIMXDMABUFFER
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
+ help
+ This is a set of GStreamer 1.0 plugins for plugins for
+ Freescale's i.MX platforms, which make use of the i.MX
+ multimedia capabilities.
+
+ https://github.com/Freescale/gstreamer-imx
+
+if BR2_PACKAGE_GST1_IMX2
+
+config BR2_PACKAGE_GST1_IMX2_G2D
+ bool "imxg2d"
+ depends on BR2_PACKAGE_IMX_GPU_G2D
+ help
+ Elements leveraging the 2D GPU
+
+comment "imxg2d needs the G2D libraries"
+ depends on !BR2_PACKAGE_IMX_GPU_G2D
+
+config BR2_PACKAGE_GST1_IMX2_IPU
+ bool "imxipu"
+ depends on BR2_LINUX_KERNEL
+ help
+ Elements leveraging the IPU
+
+comment "imxipu needs an imx-specific Linux kernel to be built"
+ depends on !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_GST1_IMX2_MP3ENCODER
+ bool "mp3encoder"
+ depends on BR2_PACKAGE_IMX_CODEC
+ help
+ Elements for MP3 encoding
+
+comment "mp3encoder needs the i.MX codec binaries"
+ depends on !BR2_PACKAGE_IMX_CODEC
+
+config BR2_PACKAGE_GST1_IMX2_PXP
+ bool "imxpxp"
+ depends on BR2_LINUX_KERNEL
+ help
+ Elements leveraging the PXP
+
+comment "imxpxp needs an imx-specific Linux kernel to be built"
+ depends on !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_GST1_IMX2_UNIAUDIODEC
+ bool "uniaudiodec"
+ depends on BR2_PACKAGE_IMX_CODEC
+ help
+ Elements for audio decoding
+
+comment "uniaudiodec needs the i.MX codec binaries"
+ depends on !BR2_PACKAGE_IMX_CODEC
+
+config BR2_PACKAGE_GST1_IMX2_VPU
+ bool "imxvpu"
+ depends on BR2_PACKAGE_LIBIMXVPUAPI2
+ help
+ Elements leveraging the VPU
+
+comment "imxvpu needs the VPU imxvpuapi2 library"
+ depends on !BR2_PACKAGE_LIBIMXVPUAPI2
+
+config BR2_PACKAGE_GST1_IMX2_V4L2
+ bool "imxv4l2"
+ select BR2_PACKAGE_GST1_PLUGINS_BAD
+ help
+ Elements for V4L2 capture and output
+
+endif
diff --git a/package/gstreamer1/gst1-imx2/gst1-imx2.hash b/package/gstreamer1/gst1-imx2/gst1-imx2.hash
new file mode 100644
index 0000000000..cc0734fd52
--- /dev/null
+++ b/package/gstreamer1/gst1-imx2/gst1-imx2.hash
@@ -0,0 +1,3 @@
+# locally computed hash
+sha256 57c0e05b3d57f90df8a16760f4373e04ed60c3a7fab7844c00392f67f889d196 gst1-imx2-9a200b1551c4531234f9b6437eac2c42a07334b0.tar.gz
+sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 LICENSE
diff --git a/package/gstreamer1/gst1-imx2/gst1-imx2.mk b/package/gstreamer1/gst1-imx2/gst1-imx2.mk
new file mode 100644
index 0000000000..f71aeae4f6
--- /dev/null
+++ b/package/gstreamer1/gst1-imx2/gst1-imx2.mk
@@ -0,0 +1,75 @@
+################################################################################
+#
+# gst1-imx2
+#
+################################################################################
+
+GST1_IMX2_VERSION = 9a200b1551c4531234f9b6437eac2c42a07334b0
+GST1_IMX2_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_IMX2_VERSION))
+GST1_IMX2_LICENSE = LGPL-2.0+
+GST1_IMX2_LICENSE_FILES = LICENSE
+GST1_IMX2_INSTALL_STAGING = YES
+
+GST1_IMX2_DEPENDENCIES = \
+ host-pkgconf \
+ gstreamer1 \
+ gst1-plugins-base \
+ libimxdmabuffer
+
+GST1_IMX2_CONF_OPTS = -Dsysroot=$(STAGING_DIR)
+
+ifeq ($(BR2_LINUX_KERNEL),y)
+# IPU and PXP need access to imx-specific kernel headers
+GST1_IMX2_DEPENDENCIES += linux
+endif
+
+ifeq ($(BR2_PACKAGE_IMX_CODEC),y)
+GST1_IMX2_DEPENDENCIES += imx-codec
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX2_G2D),y)
+GST1_IMX2_CONF_OPTS += -Dg2d=enabled
+GST1_IMX2_DEPENDENCIES += imx-gpu-g2d
+else
+GST1_IMX2_CONF_OPTS += -Dg2d=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX2_IPU),y)
+GST1_IMX2_CONF_OPTS += -Dipu=enabled
+else
+GST1_IMX2_CONF_OPTS += -Dipu=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX2_MP3ENCODER),y)
+GST1_IMX2_CONF_OPTS += -Dmp3encoder=enabled
+else
+GST1_IMX2_CONF_OPTS += -Dmp3encoder=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX2_PXP),y)
+GST1_IMX2_CONF_OPTS += -Dpxp=enabled
+else
+GST1_IMX2_CONF_OPTS += -Dpxp=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX2_UNIAUDIODEC),y)
+GST1_IMX2_CONF_OPTS += -Duniaudiodec=enabled
+else
+GST1_IMX2_CONF_OPTS += -Duniaudiodec=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX2_VPU),y)
+GST1_IMX2_DEPENDENCIES += libimxvpuapi2
+GST1_IMX2_CONF_OPTS += -Dvpu=enabled
+else
+GST1_IMX2_CONF_OPTS += -Dvpu=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX2_V4L2),y)
+GST1_IMX2_DEPENDENCIES += gst1-plugins-bad
+GST1_IMX2_CONF_OPTS += -Dv4l2=true
+else
+GST1_IMX2_CONF_OPTS += -Dv4l2=false
+endif
+
+$(eval $(meson-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 2/3] package/libimxvpuapi2: new package
2022-01-12 9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
@ 2022-01-12 10:31 ` Baruch Siach via buildroot
2022-01-12 12:53 ` Sébastien Szymanski
2022-07-28 8:36 ` Arnout Vandecappelle
1 sibling, 1 reply; 14+ messages in thread
From: Baruch Siach via buildroot @ 2022-01-12 10:31 UTC (permalink / raw)
To: Sébastien Szymanski; +Cc: Eric Le Bihan, Yann E . MORIN, buildroot
Hi Sébastien,
On Wed, Jan 12 2022, Sébastien Szymanski wrote:
> This is version 2 of libimxvpuapi.
> The API has been rewritten, and is incompatible with the older one.
> Currently, the following platforms are supported (listed with their VPUs):
> * i.MX6 (Chips&Media CODA960 codec)
> * i.MX8m (Hantro G1/G2 decoder, no encoder)
> * i.MX8mm (Hantro G1/G2 decoder, Hantro H1 encoder)
Is there patch 1/3 in this series? I didn't show up in the list.
Thanks,
baruch
>
> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> ---
> package/Config.in | 1 +
> package/libimxvpuapi2/Config.in | 48 ++++++++++++++++++++++++
> package/libimxvpuapi2/libimxvpuapi2.hash | 3 ++
> package/libimxvpuapi2/libimxvpuapi2.mk | 28 ++++++++++++++
> 4 files changed, 80 insertions(+)
> create mode 100644 package/libimxvpuapi2/Config.in
> create mode 100644 package/libimxvpuapi2/libimxvpuapi2.hash
> create mode 100644 package/libimxvpuapi2/libimxvpuapi2.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 8d844aa11e..009d2006f0 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1763,6 +1763,7 @@ menu "Multimedia"
> source "package/libebml/Config.in"
> source "package/libhdhomerun/Config.in"
> source "package/libimxvpuapi/Config.in"
> + source "package/libimxvpuapi2/Config.in"
> source "package/libmatroska/Config.in"
> source "package/libmms/Config.in"
> source "package/libmpeg2/Config.in"
> diff --git a/package/libimxvpuapi2/Config.in b/package/libimxvpuapi2/Config.in
> new file mode 100644
> index 0000000000..0954718cc0
> --- /dev/null
> +++ b/package/libimxvpuapi2/Config.in
> @@ -0,0 +1,48 @@
> +comment "libimxvpuapi2 needs an i.MX platform with VPU support and libimxdmabuffer"
> + depends on BR2_arm || BR2_aarch64
> + depends on (!BR2_PACKAGE_FREESCALE_IMX_HAS_VPU \
> + && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO) \
> + || !BR2_PACKAGE_LIBIMXDMABUFFER
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2
> + bool "libimxvpuapi2"
> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
> + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU || BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
> + depends on BR2_PACKAGE_LIBIMXDMABUFFER
> + select BR2_PACKAGE_IMX_VPU if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> + select BR2_PACKAGE_IMX_VPU_HANTRO if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
> + help
> + This library provides an API for using hardware video codecs
> + on i.MX platforms. The API abstracts away platform specific
> + details and allows for using the same code with different
> + hardware video codecs on different i.MX platforms.
> +
> + This is version 2 of libimxvpuapi. The API has been rewritten,
> + and is incompatible with the older one.
> +
> + https://github.com/Freescale/libimxvpuapi
> +
> +if BR2_PACKAGE_LIBIMXVPUAPI2
> +choice
> + prompt "Platform"
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
> + bool "i.MX6 (Coda)"
> + depends on BR2_PACKAGE_IMX_VPU
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
> + bool "i.MX8M (Hantro)"
> + depends on BR2_PACKAGE_IMX_VPU_HANTRO
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
> + bool "i.MX8MM (Hantro)"
> + depends on BR2_PACKAGE_IMX_VPU_HANTRO
> +endchoice
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM
> + string
> + default "imx6" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
> + default "imx8m" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
> + default "imx8mm" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
> +
> +endif
> diff --git a/package/libimxvpuapi2/libimxvpuapi2.hash b/package/libimxvpuapi2/libimxvpuapi2.hash
> new file mode 100644
> index 0000000000..d26cf8767b
> --- /dev/null
> +++ b/package/libimxvpuapi2/libimxvpuapi2.hash
> @@ -0,0 +1,3 @@
> +# locally computed hash
> +sha256 611a5176e37e5132d97817e6d6048acf229f67efd2201e3f4aab6f720e7b67d1 libimxvpuapi2-2.2.0.tar.gz
> +sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE
> diff --git a/package/libimxvpuapi2/libimxvpuapi2.mk b/package/libimxvpuapi2/libimxvpuapi2.mk
> new file mode 100644
> index 0000000000..6957171ad3
> --- /dev/null
> +++ b/package/libimxvpuapi2/libimxvpuapi2.mk
> @@ -0,0 +1,28 @@
> +################################################################################
> +#
> +# libimxvpuapi2
> +#
> +################################################################################
> +
> +LIBIMXVPUAPI2_VERSION = 2.2.0
> +LIBIMXVPUAPI2_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI2_VERSION))
> +LIBIMXVPUAPI2_LICENSE = LGPL-2.1+
> +LIBIMXVPUAPI2_LICENSE_FILES = LICENSE
> +LIBIMXVPUAPI2_DEPENDENCIES = host-pkgconf host-python3 libimxdmabuffer
> +LIBIMXVPUAPI2_INSTALL_STAGING = YES
> +LIBIMXVPUAPI2_NEEDS_EXTERNAL_WAF = NO
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX6),y)
> +LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M)$(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM),y)
> +LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu-hantro
> +endif
> +
> +LIBIMXVPUAPI2_CONF_OPTS += \
> + --imx-headers=$(STAGING_DIR)/usr/include/ \
> + --sysroot-path=$(STAGING_DIR) \
> + --imx-platform=$(BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM)
> +
> +$(eval $(waf-package))
--
~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 2/3] package/libimxvpuapi2: new package
2022-01-12 10:31 ` Baruch Siach via buildroot
@ 2022-01-12 12:53 ` Sébastien Szymanski
0 siblings, 0 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-01-12 12:53 UTC (permalink / raw)
To: Baruch Siach; +Cc: Eric Le Bihan, Yann E . MORIN, buildroot
Hi Baruch,
On 1/12/22 11:31, Baruch Siach wrote:
> Hi Sébastien,
>
> On Wed, Jan 12 2022, Sébastien Szymanski wrote:
>> This is version 2 of libimxvpuapi.
>> The API has been rewritten, and is incompatible with the older one.
>> Currently, the following platforms are supported (listed with their VPUs):
>> * i.MX6 (Chips&Media CODA960 codec)
>> * i.MX8m (Hantro G1/G2 decoder, no encoder)
>> * i.MX8mm (Hantro G1/G2 decoder, Hantro H1 encoder)
>
> Is there patch 1/3 in this series? I didn't show up in the list.
Yes. Looks like it took more time to reach the mailing list.
Regards,
>
> Thanks,
> baruch
>
>>
>> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>> ---
>> package/Config.in | 1 +
>> package/libimxvpuapi2/Config.in | 48 ++++++++++++++++++++++++
>> package/libimxvpuapi2/libimxvpuapi2.hash | 3 ++
>> package/libimxvpuapi2/libimxvpuapi2.mk | 28 ++++++++++++++
>> 4 files changed, 80 insertions(+)
>> create mode 100644 package/libimxvpuapi2/Config.in
>> create mode 100644 package/libimxvpuapi2/libimxvpuapi2.hash
>> create mode 100644 package/libimxvpuapi2/libimxvpuapi2.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 8d844aa11e..009d2006f0 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -1763,6 +1763,7 @@ menu "Multimedia"
>> source "package/libebml/Config.in"
>> source "package/libhdhomerun/Config.in"
>> source "package/libimxvpuapi/Config.in"
>> + source "package/libimxvpuapi2/Config.in"
>> source "package/libmatroska/Config.in"
>> source "package/libmms/Config.in"
>> source "package/libmpeg2/Config.in"
>> diff --git a/package/libimxvpuapi2/Config.in b/package/libimxvpuapi2/Config.in
>> new file mode 100644
>> index 0000000000..0954718cc0
>> --- /dev/null
>> +++ b/package/libimxvpuapi2/Config.in
>> @@ -0,0 +1,48 @@
>> +comment "libimxvpuapi2 needs an i.MX platform with VPU support and libimxdmabuffer"
>> + depends on BR2_arm || BR2_aarch64
>> + depends on (!BR2_PACKAGE_FREESCALE_IMX_HAS_VPU \
>> + && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO) \
>> + || !BR2_PACKAGE_LIBIMXDMABUFFER
>> +
>> +config BR2_PACKAGE_LIBIMXVPUAPI2
>> + bool "libimxvpuapi2"
>> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
>> + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU || BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
>> + depends on BR2_PACKAGE_LIBIMXDMABUFFER
>> + select BR2_PACKAGE_IMX_VPU if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
>> + select BR2_PACKAGE_IMX_VPU_HANTRO if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
>> + help
>> + This library provides an API for using hardware video codecs
>> + on i.MX platforms. The API abstracts away platform specific
>> + details and allows for using the same code with different
>> + hardware video codecs on different i.MX platforms.
>> +
>> + This is version 2 of libimxvpuapi. The API has been rewritten,
>> + and is incompatible with the older one.
>> +
>> + https://github.com/Freescale/libimxvpuapi
>> +
>> +if BR2_PACKAGE_LIBIMXVPUAPI2
>> +choice
>> + prompt "Platform"
>> +
>> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
>> + bool "i.MX6 (Coda)"
>> + depends on BR2_PACKAGE_IMX_VPU
>> +
>> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
>> + bool "i.MX8M (Hantro)"
>> + depends on BR2_PACKAGE_IMX_VPU_HANTRO
>> +
>> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
>> + bool "i.MX8MM (Hantro)"
>> + depends on BR2_PACKAGE_IMX_VPU_HANTRO
>> +endchoice
>> +
>> +config BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM
>> + string
>> + default "imx6" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
>> + default "imx8m" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
>> + default "imx8mm" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
>> +
>> +endif
>> diff --git a/package/libimxvpuapi2/libimxvpuapi2.hash b/package/libimxvpuapi2/libimxvpuapi2.hash
>> new file mode 100644
>> index 0000000000..d26cf8767b
>> --- /dev/null
>> +++ b/package/libimxvpuapi2/libimxvpuapi2.hash
>> @@ -0,0 +1,3 @@
>> +# locally computed hash
>> +sha256 611a5176e37e5132d97817e6d6048acf229f67efd2201e3f4aab6f720e7b67d1 libimxvpuapi2-2.2.0.tar.gz
>> +sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE
>> diff --git a/package/libimxvpuapi2/libimxvpuapi2.mk b/package/libimxvpuapi2/libimxvpuapi2.mk
>> new file mode 100644
>> index 0000000000..6957171ad3
>> --- /dev/null
>> +++ b/package/libimxvpuapi2/libimxvpuapi2.mk
>> @@ -0,0 +1,28 @@
>> +################################################################################
>> +#
>> +# libimxvpuapi2
>> +#
>> +################################################################################
>> +
>> +LIBIMXVPUAPI2_VERSION = 2.2.0
>> +LIBIMXVPUAPI2_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI2_VERSION))
>> +LIBIMXVPUAPI2_LICENSE = LGPL-2.1+
>> +LIBIMXVPUAPI2_LICENSE_FILES = LICENSE
>> +LIBIMXVPUAPI2_DEPENDENCIES = host-pkgconf host-python3 libimxdmabuffer
>> +LIBIMXVPUAPI2_INSTALL_STAGING = YES
>> +LIBIMXVPUAPI2_NEEDS_EXTERNAL_WAF = NO
>> +
>> +ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX6),y)
>> +LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu
>> +endif
>> +
>> +ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M)$(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM),y)
>> +LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu-hantro
>> +endif
>> +
>> +LIBIMXVPUAPI2_CONF_OPTS += \
>> + --imx-headers=$(STAGING_DIR)/usr/include/ \
>> + --sysroot-path=$(STAGING_DIR) \
>> + --imx-platform=$(BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM)
>> +
>> +$(eval $(waf-package))
>
>
--
Sébastien Szymanski, Armadeus Systems
Software engineer
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: new package
2022-01-12 9:42 ` [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: " Sébastien Szymanski
@ 2022-01-14 17:44 ` Herve Codina
2022-01-17 9:37 ` Sébastien Szymanski
2022-07-28 19:51 ` Arnout Vandecappelle
1 sibling, 1 reply; 14+ messages in thread
From: Herve Codina @ 2022-01-14 17:44 UTC (permalink / raw)
To: Sébastien Szymanski; +Cc: Eric Le Bihan, Yann E . MORIN, buildroot
Hi Sébastien, all
On Wed, 12 Jan 2022 10:42:50 +0100
Sébastien Szymanski <sebastien.szymanski@armadeus.com> wrote:
> This is version 2 of gst1-imx.
>
> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> ---
> package/gstreamer1/Config.in | 1 +
> package/gstreamer1/gst1-imx2/Config.in | 75 +++++++++++++++++++++
> package/gstreamer1/gst1-imx2/gst1-imx2.hash | 3 +
> package/gstreamer1/gst1-imx2/gst1-imx2.mk | 75 +++++++++++++++++++++
> 4 files changed, 154 insertions(+)
> create mode 100644 package/gstreamer1/gst1-imx2/Config.in
> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.hash
> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.mk
>
This package seems an update of the existing gst1-imx package.
Why add a new package instead of bumping gst1-imx ?
Best regards,
Hervé
--
Hervé Codina, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: new package
2022-01-14 17:44 ` Herve Codina
@ 2022-01-17 9:37 ` Sébastien Szymanski
0 siblings, 0 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-01-17 9:37 UTC (permalink / raw)
To: Herve Codina; +Cc: Eric Le Bihan, Yann E . MORIN, buildroot
Hi Hervé,
On 1/14/22 18:44, Herve Codina wrote:
> Hi Sébastien, all
>
> On Wed, 12 Jan 2022 10:42:50 +0100
> Sébastien Szymanski <sebastien.szymanski@armadeus.com> wrote:
>
>> This is version 2 of gst1-imx.
>>
>> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>> ---
>> package/gstreamer1/Config.in | 1 +
>> package/gstreamer1/gst1-imx2/Config.in | 75 +++++++++++++++++++++
>> package/gstreamer1/gst1-imx2/gst1-imx2.hash | 3 +
>> package/gstreamer1/gst1-imx2/gst1-imx2.mk | 75 +++++++++++++++++++++
>> 4 files changed, 154 insertions(+)
>> create mode 100644 package/gstreamer1/gst1-imx2/Config.in
>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.hash
>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.mk
>>
>
> This package seems an update of the existing gst1-imx package.
>
> Why add a new package instead of bumping gst1-imx ?
It's a rewrite, as the ChangLog says:
* Complete rewrite based on GStreamer 1.14, libimxvpuapi 2.1.2, and the
new libimxdmabuffer library. This new rewrite is referred to as "v2"
(version 2), while the old code is referred to as "v1" (version 1). v1
is no longer being developed; work is focused on v2.
I think we should keep gst1-imx v1 for compatibility.
Best regards,
>
> Best regards,
> Hervé
>
--
Sébastien Szymanski, Armadeus Systems
Software engineer
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package
2022-01-12 9:42 [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package Sébastien Szymanski
2022-01-12 9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
2022-01-12 9:42 ` [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: " Sébastien Szymanski
@ 2022-07-28 8:23 ` Arnout Vandecappelle
2022-08-08 13:56 ` Sébastien Szymanski
2 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2022-07-28 8:23 UTC (permalink / raw)
To: Sébastien Szymanski, buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
Hi Sebastien,
Sorry that it took us so long to get around to reviewing this patch. There are
some major changes that we would like you to make to the approach, so I've
marked the series as Changes Requested. Please read on for the details.
On 12/01/2022 10:42, Sébastien Szymanski wrote:
> Library for allocating and managing physically contiguous memory ("DMA
> memory" or "DMA buffers") on i.MX devices.
> Needed for libimxvpuapi2 and gst1-imx2.
> The user has to choose an allocator depending on the i.MX device.
This is the part that we don't like. In package/freescale-imx/Config.in, we
already have a choice between all the different CPUs. If there is some more
fine-grain distinction that needs to be made for this, we should add a CPU
option to that list.
>
> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> ---
> package/Config.in | 1 +
> package/libimxdmabuffer/Config.in | 59 ++++++++++++++++++++
> package/libimxdmabuffer/libimxdmabuffer.hash | 3 +
> package/libimxdmabuffer/libimxdmabuffer.mk | 51 +++++++++++++++++
> 4 files changed, 114 insertions(+)
> create mode 100644 package/libimxdmabuffer/Config.in
> create mode 100644 package/libimxdmabuffer/libimxdmabuffer.hash
> create mode 100644 package/libimxdmabuffer/libimxdmabuffer.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 59297c3f3d..8d844aa11e 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -505,6 +505,7 @@ endmenu
> source "package/kbd/Config.in"
> source "package/lcdproc/Config.in"
> source "package/libiec61850/Config.in"
> + source "package/libimxdmabuffer/Config.in"
We moved all the imx libraries to packages/freescale-imx, so this one should
be there as well.
> source "package/libubootenv/Config.in"
> source "package/libuio/Config.in"
> source "package/linux-backports/Config.in"
> diff --git a/package/libimxdmabuffer/Config.in b/package/libimxdmabuffer/Config.in
> new file mode 100644
> index 0000000000..9e81a69123
> --- /dev/null
> +++ b/package/libimxdmabuffer/Config.in
> @@ -0,0 +1,59 @@
> +comment "libimxdmabuffer needs an imx-specific Linux kernel to be built"
> + depends on (BR2_arm || BR2_aarch64) && !BR2_LINUX_KERNEL
(nitpick) should be on two lines
depends on BR2_arm || BR2_aarch64
depends on !BR2_LINUX_KERNEL
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER
> + bool "libimxdmabuffer"
> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
> + depends on BR2_LINUX_KERNEL
> + help
> + Library for allocating and managing physically contiguous
> + memory ("DMA memory" or "DMA buffers") on i.MX devices.
> +
> + It requires a kernel that includes the i.MX specific headers
> + to be built.
> +
> + https://github.com/Freescale/libimxdmabuffer
> +
> +if BR2_PACKAGE_LIBIMXDMABUFFER
> +choice
> + prompt "Allocator"
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER_DWL
> + bool "dwl"
> + depends on BR2_PACKAGE_IMX_VPU_HANTRO
> +
> +comment "dwl allocator needs imx-vpu-hantro"
> + depends on !BR2_PACKAGE_IMX_VPU_HANTRO
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER_IPU
> + bool "ipu"
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER_G2D
> + bool "g2d"
> + depends on BR2_PACKAGE_IMX_GPU_G2D
> +
> +comment "g2d allocator needs imx-gpu-g2d"
> + depends on !BR2_PACKAGE_IMX_GPU_G2D
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER_PXP
> + bool "pxp"
> +endchoice
The commit message suggests that this depends directly on the CPU. There might
still be some user choice here. In that case, please provide some help text to
help the user decide which one to choose. At least refer to some documentation
somewhere.
> +
> +if BR2_PACKAGE_LIBIMXDMABUFFER_DWL
> +choice
> + prompt "Hantro decoder version"
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
> + bool "G1"
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
> + bool "G2"
> +endchoice
This one shold be fully dependent on the target CPU.
Note that we have some symbols like BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO,
it may be useful to add more of them to distinguish G1 and G2:
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G1
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_...
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G2
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_...
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
bool
default y if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G1 || \
BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G2
> +
> +config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_HANTRO_DEC_VERSION
> + string
> + default "G1" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
> + default "G2" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
> +endif
> +
> +endif
> diff --git a/package/libimxdmabuffer/libimxdmabuffer.hash b/package/libimxdmabuffer/libimxdmabuffer.hash
> new file mode 100644
> index 0000000000..7d317005df
> --- /dev/null
> +++ b/package/libimxdmabuffer/libimxdmabuffer.hash
> @@ -0,0 +1,3 @@
> +# locally computed hash
> +sha256 cea163d213206f5451eb75a4501b52d861ed00bfd14cd3e4e8734c6181edb6cc libimxdmabuffer-1.0.1.tar.gz
> +sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE
> diff --git a/package/libimxdmabuffer/libimxdmabuffer.mk b/package/libimxdmabuffer/libimxdmabuffer.mk
> new file mode 100644
> index 0000000000..c8adf03365
> --- /dev/null
> +++ b/package/libimxdmabuffer/libimxdmabuffer.mk
> @@ -0,0 +1,51 @@
> +################################################################################
> +#
> +# libimxdmabuffer
> +#
> +################################################################################
> +
> +LIBIMXDMABUFFER_VERSION = 1.0.1
> +LIBIMXDMABUFFER_SITE = $(call github,Freescale,libimxdmabuffer,$(LIBIMXDMABUFFER_VERSION))
> +LIBIMXDMABUFFER_LICENSE = LGPL-2.1+
> +LIBIMXDMABUFFER_LICENSE_FILES = LICENSE
> +LIBIMXDMABUFFER_DEPENDENCIES = host-pkgconf host-python3
> +LIBIMXDMABUFFER_INSTALL_STAGING = YES
> +LIBIMXDMABUFFER_NEEDS_EXTERNAL_WAF = NO
This is the default, no need to set it.
> +
> +# libimxdmabuffer needs access to imx-specific kernel headers
> +LIBIMXDMABUFFER_DEPENDENCIES += linux
> +
> +LIBIMXDMABUFFER_CONF_OPTS += \
> + --imx-linux-headers-path=$(STAGING_DIR)/usr/include/ \
This is not OK. We depend on the kernel to be built, but the kernel build
doesn't install its headers in /usr/include. For example, it's possible to use
the ARM external toolchain and build the i.MX-specific kernel with that.
To fix this, use the same approach as in e.g. imx-lib:
IMX_LIB_INCLUDE = \
-idirafter $(LINUX_DIR)/include/uapi
Regards,
Arnout
> + --with-ion-allocator=no
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_DWL),y)
> +LIBIMXDMABUFFER_CONF_OPTS += \
> + --with-dwl-allocator=yes \
> + --hantro-headers-path=$(STAGING_DIR)/usr/include/hantro_dec \
> + --hantro-decoder-version=$(BR2_PACKAGE_LIBIMXDMABUFFER_DWL_HANTRO_DEC_VERSION)
> +LIBIMXDMABUFFER_DEPENDENCIES += imx-vpu-hantro
> +else
> +LIBIMXDMABUFFER_CONF_OPTS += --with-dwl-allocator=no
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_IPU),y)
> +LIBIMXDMABUFFER_CONF_OPTS += --with-ipu-allocator=yes
> +else
> +LIBIMXDMABUFFER_CONF_OPTS += --with-ipu-allocator=no
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_G2D),y)
> +LIBIMXDMABUFFER_CONF_OPTS += --with-g2d-allocator=yes
> +LIBIMXDMABUFFER_DEPENDENCIES += imx-gpu-g2d
> +else
> +LIBIMXDMABUFFER_CONF_OPTS += --with-g2d-allocator=no
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_PXP),y)
> +LIBIMXDMABUFFER_CONF_OPTS += --with-pxp-allocator=yes
> +else
> +LIBIMXDMABUFFER_CONF_OPTS += --with-pxp-allocator=no
> +endif
> +
> +$(eval $(waf-package))
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 2/3] package/libimxvpuapi2: new package
2022-01-12 9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
2022-01-12 10:31 ` Baruch Siach via buildroot
@ 2022-07-28 8:36 ` Arnout Vandecappelle
1 sibling, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2022-07-28 8:36 UTC (permalink / raw)
To: Sébastien Szymanski, buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
On 12/01/2022 10:42, Sébastien Szymanski wrote:
> This is version 2 of libimxvpuapi.
> The API has been rewritten, and is incompatible with the older one.
> Currently, the following platforms are supported (listed with their VPUs):
> * i.MX6 (Chips&Media CODA960 codec)
> * i.MX8m (Hantro G1/G2 decoder, no encoder)
> * i.MX8mm (Hantro G1/G2 decoder, Hantro H1 encoder)
>
> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> ---
> package/Config.in | 1 +
> package/libimxvpuapi2/Config.in | 48 ++++++++++++++++++++++++
> package/libimxvpuapi2/libimxvpuapi2.hash | 3 ++
> package/libimxvpuapi2/libimxvpuapi2.mk | 28 ++++++++++++++
> 4 files changed, 80 insertions(+)
> create mode 100644 package/libimxvpuapi2/Config.in
> create mode 100644 package/libimxvpuapi2/libimxvpuapi2.hash
> create mode 100644 package/libimxvpuapi2/libimxvpuapi2.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 8d844aa11e..009d2006f0 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1763,6 +1763,7 @@ menu "Multimedia"
> source "package/libebml/Config.in"
> source "package/libhdhomerun/Config.in"
> source "package/libimxvpuapi/Config.in"
> + source "package/libimxvpuapi2/Config.in"
This one should also move to package/freescale-imx. libimxvpuapi really should
go there as well.
> source "package/libmatroska/Config.in"
> source "package/libmms/Config.in"
> source "package/libmpeg2/Config.in"
> diff --git a/package/libimxvpuapi2/Config.in b/package/libimxvpuapi2/Config.in
> new file mode 100644
> index 0000000000..0954718cc0
> --- /dev/null
> +++ b/package/libimxvpuapi2/Config.in
> @@ -0,0 +1,48 @@
> +comment "libimxvpuapi2 needs an i.MX platform with VPU support and libimxdmabuffer"
> + depends on BR2_arm || BR2_aarch64
> + depends on (!BR2_PACKAGE_FREESCALE_IMX_HAS_VPU \
> + && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO) \
The VPU presence is considered an architecture dependency, so there's no need
to show a comment for them.
> + || !BR2_PACKAGE_LIBIMXDMABUFFER
This should be select (see below) so no comment either. You do need a comment
for the linux transitive dependency however.
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2
> + bool "libimxvpuapi2"
> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
> + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU || BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
> + depends on BR2_PACKAGE_LIBIMXDMABUFFER
This should be select, not depends on.
> + select BR2_PACKAGE_IMX_VPU if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> + select BR2_PACKAGE_IMX_VPU_HANTRO if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
> + help
> + This library provides an API for using hardware video codecs
> + on i.MX platforms. The API abstracts away platform specific
> + details and allows for using the same code with different
> + hardware video codecs on different i.MX platforms.
> +
> + This is version 2 of libimxvpuapi. The API has been rewritten,
> + and is incompatible with the older one.
We heard from Gary Bisson that indeed we need both gst1-imx and gst1-imx2
because the latter no longer supports some elements for imx6. Thus, we also need
both libimxvpuapi and libimxvpuapi2. Please add that to the commit log.
> +
> + https://github.com/Freescale/libimxvpuapi
> +
> +if BR2_PACKAGE_LIBIMXVPUAPI2
> +choice
> + prompt "Platform"
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
> + bool "i.MX6 (Coda)"
> + depends on BR2_PACKAGE_IMX_VPU
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
> + bool "i.MX8M (Hantro)"
> + depends on BR2_PACKAGE_IMX_VPU_HANTRO
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
> + bool "i.MX8MM (Hantro)"
> + depends on BR2_PACKAGE_IMX_VPU_HANTRO
> +endchoice
This choice should be removed, instead using the symbols from
package/freescale-imx/Config.in.
> +
> +config BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM
> + string
> + default "imx6" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX6
> + default "imx8m" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M
> + default "imx8mm" if BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM
> +
> +endif
> diff --git a/package/libimxvpuapi2/libimxvpuapi2.hash b/package/libimxvpuapi2/libimxvpuapi2.hash
> new file mode 100644
> index 0000000000..d26cf8767b
> --- /dev/null
> +++ b/package/libimxvpuapi2/libimxvpuapi2.hash
> @@ -0,0 +1,3 @@
> +# locally computed hash
> +sha256 611a5176e37e5132d97817e6d6048acf229f67efd2201e3f4aab6f720e7b67d1 libimxvpuapi2-2.2.0.tar.gz
> +sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE
> diff --git a/package/libimxvpuapi2/libimxvpuapi2.mk b/package/libimxvpuapi2/libimxvpuapi2.mk
> new file mode 100644
> index 0000000000..6957171ad3
> --- /dev/null
> +++ b/package/libimxvpuapi2/libimxvpuapi2.mk
> @@ -0,0 +1,28 @@
> +################################################################################
> +#
> +# libimxvpuapi2
> +#
> +################################################################################
> +
> +LIBIMXVPUAPI2_VERSION = 2.2.0
> +LIBIMXVPUAPI2_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI2_VERSION))
> +LIBIMXVPUAPI2_LICENSE = LGPL-2.1+
> +LIBIMXVPUAPI2_LICENSE_FILES = LICENSE
> +LIBIMXVPUAPI2_DEPENDENCIES = host-pkgconf host-python3 libimxdmabuffer
> +LIBIMXVPUAPI2_INSTALL_STAGING = YES
> +LIBIMXVPUAPI2_NEEDS_EXTERNAL_WAF = NO
Again, this is the default.
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX6),y)
> +LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8M)$(BR2_PACKAGE_LIBIMXVPUAPI2_IMX8MM),y)
> +LIBIMXVPUAPI2_DEPENDENCIES += imx-vpu-hantro
> +endif
> +
> +LIBIMXVPUAPI2_CONF_OPTS += \
> + --imx-headers=$(STAGING_DIR)/usr/include/ \
Again, you need to point into the kernel build dir.
Regards,
Arnout
> + --sysroot-path=$(STAGING_DIR) \
> + --imx-platform=$(BR2_PACKAGE_LIBIMXVPUAPI2_PLATFORM)
> +
> +$(eval $(waf-package))
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: new package
2022-01-12 9:42 ` [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: " Sébastien Szymanski
2022-01-14 17:44 ` Herve Codina
@ 2022-07-28 19:51 ` Arnout Vandecappelle
2022-08-08 14:14 ` Sébastien Szymanski
1 sibling, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2022-07-28 19:51 UTC (permalink / raw)
To: Sébastien Szymanski, buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
On 12/01/2022 10:42, Sébastien Szymanski wrote:
> This is version 2 of gst1-imx.
Please add the following.
Although this replaces the gst1-imx package, we want to keep both because
version 2 removes some elements that are relevant on i.MX6 without X11 or
wayland: imxg2dvideosink, imxipuvideosink, imxeglvivsink.
> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> ---
> package/gstreamer1/Config.in | 1 +
> package/gstreamer1/gst1-imx2/Config.in | 75 +++++++++++++++++++++
> package/gstreamer1/gst1-imx2/gst1-imx2.hash | 3 +
> package/gstreamer1/gst1-imx2/gst1-imx2.mk | 75 +++++++++++++++++++++
> 4 files changed, 154 insertions(+)
> create mode 100644 package/gstreamer1/gst1-imx2/Config.in
> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.hash
> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.mk
>
> diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
> index 8fe8a34395..436c76379d 100644
> --- a/package/gstreamer1/Config.in
> +++ b/package/gstreamer1/Config.in
> @@ -9,6 +9,7 @@ source "package/gstreamer1/gst1-plugins-bad/Config.in"
> source "package/gstreamer1/gst1-plugins-ugly/Config.in"
> source "package/gstreamer1/gst1-devtools/Config.in"
> source "package/gstreamer1/gst1-imx/Config.in"
> +source "package/gstreamer1/gst1-imx2/Config.in"
Note that this one should *not* move to package/freescale-imx, it's correct to
put it here in gstreamer1.
> source "package/gstreamer1/gst1-interpipe/Config.in"
> source "package/gstreamer1/gst1-libav/Config.in"
> source "package/gstreamer1/gst1-python/Config.in"
> diff --git a/package/gstreamer1/gst1-imx2/Config.in b/package/gstreamer1/gst1-imx2/Config.in
> new file mode 100644
> index 0000000000..b95e6bdb21
> --- /dev/null
> +++ b/package/gstreamer1/gst1-imx2/Config.in
> @@ -0,0 +1,75 @@
> +menuconfig BR2_PACKAGE_GST1_IMX2
> + bool "gst1-imx2"
> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
> + depends on BR2_PACKAGE_LIBIMXDMABUFFER
This should be a select.
On the other hand, it should also have
depends on BR2_PACKAGE_FREESCALE_IMX
> + select BR2_PACKAGE_GST1_PLUGINS_BASE
> + help
> + This is a set of GStreamer 1.0 plugins for plugins for
> + Freescale's i.MX platforms, which make use of the i.MX
> + multimedia capabilities.
> +
> + https://github.com/Freescale/gstreamer-imx
> +
> +if BR2_PACKAGE_GST1_IMX2
> +
> +config BR2_PACKAGE_GST1_IMX2_G2D
> + bool "imxg2d"
> + depends on BR2_PACKAGE_IMX_GPU_G2D
All these depends on should also be turned in select, and propagate their
dependencies. Since the dependencies are all architecture dependencies, I think,
there's no need for a comment. You only need a comment for the linux dependency.
> + help
> + Elements leveraging the 2D GPU
> +
> +comment "imxg2d needs the G2D libraries"
> + depends on !BR2_PACKAGE_IMX_GPU_G2D
> +
> +config BR2_PACKAGE_GST1_IMX2_IPU
> + bool "imxipu"
> + depends on BR2_LINUX_KERNEL
> + help
> + Elements leveraging the IPU
> +
> +comment "imxipu needs an imx-specific Linux kernel to be built"
> + depends on !BR2_LINUX_KERNEL
> +
> +config BR2_PACKAGE_GST1_IMX2_MP3ENCODER
> + bool "mp3encoder"
> + depends on BR2_PACKAGE_IMX_CODEC
> + help
> + Elements for MP3 encoding
I'm a bit surprised that there's no SoC dependency here...
> +
> +comment "mp3encoder needs the i.MX codec binaries"
> + depends on !BR2_PACKAGE_IMX_CODEC
> +
> +config BR2_PACKAGE_GST1_IMX2_PXP
> + bool "imxpxp"
> + depends on BR2_LINUX_KERNEL
> + help
> + Elements leveraging the PXP
> +
> +comment "imxpxp needs an imx-specific Linux kernel to be built"
> + depends on !BR2_LINUX_KERNEL
> +
> +config BR2_PACKAGE_GST1_IMX2_UNIAUDIODEC
> + bool "uniaudiodec"
> + depends on BR2_PACKAGE_IMX_CODEC
> + help
> + Elements for audio decoding
> +
> +comment "uniaudiodec needs the i.MX codec binaries"
> + depends on !BR2_PACKAGE_IMX_CODEC
> +
> +config BR2_PACKAGE_GST1_IMX2_VPU
> + bool "imxvpu"
> + depends on BR2_PACKAGE_LIBIMXVPUAPI2
> + help
> + Elements leveraging the VPU
> +
> +comment "imxvpu needs the VPU imxvpuapi2 library"
> + depends on !BR2_PACKAGE_LIBIMXVPUAPI2
> +
> +config BR2_PACKAGE_GST1_IMX2_V4L2
> + bool "imxv4l2"
> + select BR2_PACKAGE_GST1_PLUGINS_BAD
> + help
> + Elements for V4L2 capture and output
> +
> +endif
> diff --git a/package/gstreamer1/gst1-imx2/gst1-imx2.hash b/package/gstreamer1/gst1-imx2/gst1-imx2.hash
> new file mode 100644
> index 0000000000..cc0734fd52
> --- /dev/null
> +++ b/package/gstreamer1/gst1-imx2/gst1-imx2.hash
> @@ -0,0 +1,3 @@
> +# locally computed hash
> +sha256 57c0e05b3d57f90df8a16760f4373e04ed60c3a7fab7844c00392f67f889d196 gst1-imx2-9a200b1551c4531234f9b6437eac2c42a07334b0.tar.gz
> +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 LICENSE
> diff --git a/package/gstreamer1/gst1-imx2/gst1-imx2.mk b/package/gstreamer1/gst1-imx2/gst1-imx2.mk
> new file mode 100644
> index 0000000000..f71aeae4f6
> --- /dev/null
> +++ b/package/gstreamer1/gst1-imx2/gst1-imx2.mk
> @@ -0,0 +1,75 @@
> +################################################################################
> +#
> +# gst1-imx2
> +#
> +################################################################################
> +
> +GST1_IMX2_VERSION = 9a200b1551c4531234f9b6437eac2c42a07334b0
> +GST1_IMX2_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_IMX2_VERSION))
> +GST1_IMX2_LICENSE = LGPL-2.0+
> +GST1_IMX2_LICENSE_FILES = LICENSE
> +GST1_IMX2_INSTALL_STAGING = YES
> +
> +GST1_IMX2_DEPENDENCIES = \
> + host-pkgconf \
> + gstreamer1 \
> + gst1-plugins-base \
> + libimxdmabuffer
> +
> +GST1_IMX2_CONF_OPTS = -Dsysroot=$(STAGING_DIR)
> +
> +ifeq ($(BR2_LINUX_KERNEL),y)
> +# IPU and PXP need access to imx-specific kernel headers
Again, you'll probably need to point into the kernel build directory.
Regards,
Arnout
> +GST1_IMX2_DEPENDENCIES += linux
> +endif
> +
> +ifeq ($(BR2_PACKAGE_IMX_CODEC),y)
> +GST1_IMX2_DEPENDENCIES += imx-codec
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_IMX2_G2D),y)
> +GST1_IMX2_CONF_OPTS += -Dg2d=enabled
> +GST1_IMX2_DEPENDENCIES += imx-gpu-g2d
> +else
> +GST1_IMX2_CONF_OPTS += -Dg2d=disabled
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_IMX2_IPU),y)
> +GST1_IMX2_CONF_OPTS += -Dipu=enabled
> +else
> +GST1_IMX2_CONF_OPTS += -Dipu=disabled
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_IMX2_MP3ENCODER),y)
> +GST1_IMX2_CONF_OPTS += -Dmp3encoder=enabled
> +else
> +GST1_IMX2_CONF_OPTS += -Dmp3encoder=disabled
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_IMX2_PXP),y)
> +GST1_IMX2_CONF_OPTS += -Dpxp=enabled
> +else
> +GST1_IMX2_CONF_OPTS += -Dpxp=disabled
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_IMX2_UNIAUDIODEC),y)
> +GST1_IMX2_CONF_OPTS += -Duniaudiodec=enabled
> +else
> +GST1_IMX2_CONF_OPTS += -Duniaudiodec=disabled
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_IMX2_VPU),y)
> +GST1_IMX2_DEPENDENCIES += libimxvpuapi2
> +GST1_IMX2_CONF_OPTS += -Dvpu=enabled
> +else
> +GST1_IMX2_CONF_OPTS += -Dvpu=disabled
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_IMX2_V4L2),y)
> +GST1_IMX2_DEPENDENCIES += gst1-plugins-bad
> +GST1_IMX2_CONF_OPTS += -Dv4l2=true
> +else
> +GST1_IMX2_CONF_OPTS += -Dv4l2=false
> +endif
> +
> +$(eval $(meson-package))
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package
2022-07-28 8:23 ` [Buildroot] [PATCH 1/3] package/libimxdmabuffer: " Arnout Vandecappelle
@ 2022-08-08 13:56 ` Sébastien Szymanski
0 siblings, 0 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-08-08 13:56 UTC (permalink / raw)
To: Arnout Vandecappelle, buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
Hi Arnout,
thank you for the review !
On 7/28/22 10:23, Arnout Vandecappelle wrote:
> Hi Sebastien,
>
> Sorry that it took us so long to get around to reviewing this patch.
> There are some major changes that we would like you to make to the
> approach, so I've marked the series as Changes Requested. Please read on
> for the details.
>
> On 12/01/2022 10:42, Sébastien Szymanski wrote:
>> Library for allocating and managing physically contiguous memory ("DMA
>> memory" or "DMA buffers") on i.MX devices.
>> Needed for libimxvpuapi2 and gst1-imx2.
>> The user has to choose an allocator depending on the i.MX device.
>
> This is the part that we don't like. In
> package/freescale-imx/Config.in, we already have a choice between all
> the different CPUs. If there is some more fine-grain distinction that
> needs to be made for this, we should add a CPU option to that list.
>
>>
>> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>> ---
>> package/Config.in | 1 +
>> package/libimxdmabuffer/Config.in | 59 ++++++++++++++++++++
>> package/libimxdmabuffer/libimxdmabuffer.hash | 3 +
>> package/libimxdmabuffer/libimxdmabuffer.mk | 51 +++++++++++++++++
>> 4 files changed, 114 insertions(+)
>> create mode 100644 package/libimxdmabuffer/Config.in
>> create mode 100644 package/libimxdmabuffer/libimxdmabuffer.hash
>> create mode 100644 package/libimxdmabuffer/libimxdmabuffer.mk
...
>> +
>> +if BR2_PACKAGE_LIBIMXDMABUFFER_DWL
>> +choice
>> + prompt "Hantro decoder version"
>> +
>> +config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
>> + bool "G1"
>> +
>> +config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
>> + bool "G2"
>> +endchoice
>
> This one shold be fully dependent on the target CPU.
>
> Note that we have some symbols like
> BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO, it may be useful to add more
> of them to distinguish G1 and G2:
>
> config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G1
> bool
> default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_...
>
> config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G2
> bool
> default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_...
>
> config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO
> bool
> default y if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G1 || \
> BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO_G2
All i.MX8 with hantro VPU in Buildroot (i.MX8M, i.MX8MM and i.MX8MP)
have both G1 and G2 decoder.
libimxdmabuffer requires to choose one:
https://github.com/Freescale/libimxdmabuffer/blob/master/wscript#L228
Regards,
>
>
>> +
>> +config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_HANTRO_DEC_VERSION
>> + string
>> + default "G1" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
>> + default "G2" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
>> +endif
>> +
>> +endif
--
Sébastien Szymanski, Armadeus Systems
Software engineer
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: new package
2022-07-28 19:51 ` Arnout Vandecappelle
@ 2022-08-08 14:14 ` Sébastien Szymanski
2022-08-08 20:36 ` Arnout Vandecappelle
0 siblings, 1 reply; 14+ messages in thread
From: Sébastien Szymanski @ 2022-08-08 14:14 UTC (permalink / raw)
To: Arnout Vandecappelle, buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
Hi Arnout,
On 7/28/22 21:51, Arnout Vandecappelle wrote:
>
>
> On 12/01/2022 10:42, Sébastien Szymanski wrote:
>> This is version 2 of gst1-imx.
>
> Please add the following.
>
> Although this replaces the gst1-imx package, we want to keep both
> because version 2 removes some elements that are relevant on i.MX6
> without X11 or wayland: imxg2dvideosink, imxipuvideosink, imxeglvivsink.
>
>
>> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>> ---
>> package/gstreamer1/Config.in | 1 +
>> package/gstreamer1/gst1-imx2/Config.in | 75 +++++++++++++++++++++
>> package/gstreamer1/gst1-imx2/gst1-imx2.hash | 3 +
>> package/gstreamer1/gst1-imx2/gst1-imx2.mk | 75 +++++++++++++++++++++
>> 4 files changed, 154 insertions(+)
>> create mode 100644 package/gstreamer1/gst1-imx2/Config.in
>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.hash
>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.mk
>>
>> diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
>> index 8fe8a34395..436c76379d 100644
>> --- a/package/gstreamer1/Config.in
>> +++ b/package/gstreamer1/Config.in
>> @@ -9,6 +9,7 @@ source "package/gstreamer1/gst1-plugins-bad/Config.in"
>> source "package/gstreamer1/gst1-plugins-ugly/Config.in"
>> source "package/gstreamer1/gst1-devtools/Config.in"
>> source "package/gstreamer1/gst1-imx/Config.in"
>> +source "package/gstreamer1/gst1-imx2/Config.in"
>
> Note that this one should *not* move to package/freescale-imx, it's
> correct to put it here in gstreamer1.
>
>> source "package/gstreamer1/gst1-interpipe/Config.in"
>> source "package/gstreamer1/gst1-libav/Config.in"
>> source "package/gstreamer1/gst1-python/Config.in"
>> diff --git a/package/gstreamer1/gst1-imx2/Config.in
>> b/package/gstreamer1/gst1-imx2/Config.in
>> new file mode 100644
>> index 0000000000..b95e6bdb21
>> --- /dev/null
>> +++ b/package/gstreamer1/gst1-imx2/Config.in
>> @@ -0,0 +1,75 @@
>> +menuconfig BR2_PACKAGE_GST1_IMX2
>> + bool "gst1-imx2"
>> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
>> + depends on BR2_PACKAGE_LIBIMXDMABUFFER
>
> This should be a select.
>
> On the other hand, it should also have
>
> depends on BR2_PACKAGE_FREESCALE_IMX
>
>> + select BR2_PACKAGE_GST1_PLUGINS_BASE
>> + help
>> + This is a set of GStreamer 1.0 plugins for plugins for
>> + Freescale's i.MX platforms, which make use of the i.MX
>> + multimedia capabilities.
>> +
>> + https://github.com/Freescale/gstreamer-imx
>> +
>> +if BR2_PACKAGE_GST1_IMX2
>> +
>> +config BR2_PACKAGE_GST1_IMX2_G2D
>> + bool "imxg2d"
>> + depends on BR2_PACKAGE_IMX_GPU_G2D
>
> All these depends on should also be turned in select, and propagate
> their dependencies. Since the dependencies are all architecture
> dependencies, I think, there's no need for a comment. You only need a
> comment for the linux dependency.
I have copied the gst1-imx package which uses depends on. When using
select the following issue appears:
package/gstreamer1/gstreamer1/Config.in:5:error: recursive dependency
detected!
package/gstreamer1/gstreamer1/Config.in:5: symbol
BR2_PACKAGE_GSTREAMER1 is selected by BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
package/webkitgtk/Config.in:94: symbol BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
depends on BR2_PACKAGE_WEBKITGTK
package/webkitgtk/Config.in:28: symbol BR2_PACKAGE_WEBKITGTK is selected
by BR2_PACKAGE_MIDORI
package/midori/Config.in:24: symbol BR2_PACKAGE_MIDORI depends on
BR2_PACKAGE_LIBGTK3
package/libgtk3/Config.in:15: symbol BR2_PACKAGE_LIBGTK3 is selected
by BR2_PACKAGE_VTE
package/vte/Config.in:1: symbol BR2_PACKAGE_VTE depends on
BR2_PACKAGE_HAS_LIBEGL_WAYLAND
package/opengl/libegl/Config.in:4: symbol
BR2_PACKAGE_HAS_LIBEGL_WAYLAND is selected by
BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
package/freescale-imx/imx-gpu-viv/Config.in:64: symbol
BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL is part of choice <choice>
package/freescale-imx/imx-gpu-viv/Config.in:39: choice <choice> contains
symbol <choice>
package/freescale-imx/imx-gpu-viv/Config.in:39: choice <choice> contains
symbol BR2_PACKAGE_IMX_GPU_VIV
package/freescale-imx/imx-gpu-viv/Config.in:9: symbol
BR2_PACKAGE_IMX_GPU_VIV is selected by BR2_PACKAGE_IMX_GPU_G2D
package/freescale-imx/imx-gpu-g2d/Config.in:9: symbol
BR2_PACKAGE_IMX_GPU_G2D is selected by BR2_PACKAGE_GST1_IMX2_G2D
package/gstreamer1/gst1-imx2/Config.in:21: symbol
BR2_PACKAGE_GST1_IMX2_G2D depends on BR2_PACKAGE_GSTREAMER1
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
There was a similar issue for gst1-imx:
https://lore.kernel.org/all/20160920224355.l76a3kggupuiugok@t450s.lan/
So, I will keep depends on here.
Regards,
--
Sébastien Szymanski, Armadeus Systems
Software engineer
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: new package
2022-08-08 14:14 ` Sébastien Szymanski
@ 2022-08-08 20:36 ` Arnout Vandecappelle
2022-08-09 12:50 ` Sébastien Szymanski
0 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2022-08-08 20:36 UTC (permalink / raw)
To: Sébastien Szymanski, buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
On 08/08/2022 16:14, Sébastien Szymanski wrote:
> Hi Arnout,
>
> On 7/28/22 21:51, Arnout Vandecappelle wrote:
>>
>>
>> On 12/01/2022 10:42, Sébastien Szymanski wrote:
>>> This is version 2 of gst1-imx.
>>
>> Please add the following.
>>
>> Although this replaces the gst1-imx package, we want to keep both because
>> version 2 removes some elements that are relevant on i.MX6 without X11 or
>> wayland: imxg2dvideosink, imxipuvideosink, imxeglvivsink.
>>
>>
>>> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>>> ---
>>> package/gstreamer1/Config.in | 1 +
>>> package/gstreamer1/gst1-imx2/Config.in | 75 +++++++++++++++++++++
>>> package/gstreamer1/gst1-imx2/gst1-imx2.hash | 3 +
>>> package/gstreamer1/gst1-imx2/gst1-imx2.mk | 75 +++++++++++++++++++++
>>> 4 files changed, 154 insertions(+)
>>> create mode 100644 package/gstreamer1/gst1-imx2/Config.in
>>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.hash
>>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.mk
>>>
>>> diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
>>> index 8fe8a34395..436c76379d 100644
>>> --- a/package/gstreamer1/Config.in
>>> +++ b/package/gstreamer1/Config.in
>>> @@ -9,6 +9,7 @@ source "package/gstreamer1/gst1-plugins-bad/Config.in"
>>> source "package/gstreamer1/gst1-plugins-ugly/Config.in"
>>> source "package/gstreamer1/gst1-devtools/Config.in"
>>> source "package/gstreamer1/gst1-imx/Config.in"
>>> +source "package/gstreamer1/gst1-imx2/Config.in"
>>
>> Note that this one should *not* move to package/freescale-imx, it's correct
>> to put it here in gstreamer1.
>>
>>> source "package/gstreamer1/gst1-interpipe/Config.in"
>>> source "package/gstreamer1/gst1-libav/Config.in"
>>> source "package/gstreamer1/gst1-python/Config.in"
>>> diff --git a/package/gstreamer1/gst1-imx2/Config.in
>>> b/package/gstreamer1/gst1-imx2/Config.in
>>> new file mode 100644
>>> index 0000000000..b95e6bdb21
>>> --- /dev/null
>>> +++ b/package/gstreamer1/gst1-imx2/Config.in
>>> @@ -0,0 +1,75 @@
>>> +menuconfig BR2_PACKAGE_GST1_IMX2
>>> + bool "gst1-imx2"
>>> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
>>> + depends on BR2_PACKAGE_LIBIMXDMABUFFER
>>
>> This should be a select.
>>
>> On the other hand, it should also have
>>
>> depends on BR2_PACKAGE_FREESCALE_IMX
>>
>>> + select BR2_PACKAGE_GST1_PLUGINS_BASE
>>> + help
>>> + This is a set of GStreamer 1.0 plugins for plugins for
>>> + Freescale's i.MX platforms, which make use of the i.MX
>>> + multimedia capabilities.
>>> +
>>> + https://github.com/Freescale/gstreamer-imx
>>> +
>>> +if BR2_PACKAGE_GST1_IMX2
>>> +
>>> +config BR2_PACKAGE_GST1_IMX2_G2D
>>> + bool "imxg2d"
>>> + depends on BR2_PACKAGE_IMX_GPU_G2D
>>
>> All these depends on should also be turned in select, and propagate their
>> dependencies. Since the dependencies are all architecture dependencies, I
>> think, there's no need for a comment. You only need a comment for the linux
>> dependency.
>
> I have copied the gst1-imx package which uses depends on.
Well, we're trying to improve the situation :-)
> When using select the following issue appears:
>
> package/gstreamer1/gstreamer1/Config.in:5:error: recursive dependency detected!
> package/gstreamer1/gstreamer1/Config.in:5: symbol BR2_PACKAGE_GSTREAMER1 is
> selected by BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
> package/webkitgtk/Config.in:94: symbol BR2_PACKAGE_WEBKITGTK_MULTIMEDIA depends
> on BR2_PACKAGE_WEBKITGTK
> package/webkitgtk/Config.in:28: symbol BR2_PACKAGE_WEBKITGTK is selected by
> BR2_PACKAGE_MIDORI
> package/midori/Config.in:24: symbol BR2_PACKAGE_MIDORI depends on
> BR2_PACKAGE_LIBGTK3
> package/libgtk3/Config.in:15: symbol BR2_PACKAGE_LIBGTK3 is selected by
> BR2_PACKAGE_VTE
> package/vte/Config.in:1: symbol BR2_PACKAGE_VTE depends on
> BR2_PACKAGE_HAS_LIBEGL_WAYLAND
> package/opengl/libegl/Config.in:4: symbol BR2_PACKAGE_HAS_LIBEGL_WAYLAND is
> selected by BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> package/freescale-imx/imx-gpu-viv/Config.in:64: symbol
> BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL is part of choice <choice>
> package/freescale-imx/imx-gpu-viv/Config.in:39: choice <choice> contains symbol
> <choice>
> package/freescale-imx/imx-gpu-viv/Config.in:39: choice <choice> contains symbol
> BR2_PACKAGE_IMX_GPU_VIV
> package/freescale-imx/imx-gpu-viv/Config.in:9: symbol BR2_PACKAGE_IMX_GPU_VIV
> is selected by BR2_PACKAGE_IMX_GPU_G2D
> package/freescale-imx/imx-gpu-g2d/Config.in:9: symbol BR2_PACKAGE_IMX_GPU_G2D
> is selected by BR2_PACKAGE_GST1_IMX2_G2D
> package/gstreamer1/gst1-imx2/Config.in:21: symbol BR2_PACKAGE_GST1_IMX2_G2D
> depends on BR2_PACKAGE_GSTREAMER1
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
I'm trying to see the problem with this dependency chain, but I can't find
it... Perhaps it's the choice for imx-gpu-viv output that is causing the problem.
You did propagate the dependencies, right?
depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64 # imx-gpu-g2d
depends on BR2_TOOLCHAIN_USES_GLIBC # imx-gpu-g2d
Regards,
Arnout
>
> There was a similar issue for gst1-imx:
>
> https://lore.kernel.org/all/20160920224355.l76a3kggupuiugok@t450s.lan/
>
> So, I will keep depends on here.
>
> Regards,
>
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: new package
2022-08-08 20:36 ` Arnout Vandecappelle
@ 2022-08-09 12:50 ` Sébastien Szymanski
0 siblings, 0 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-08-09 12:50 UTC (permalink / raw)
To: Arnout Vandecappelle, buildroot; +Cc: Eric Le Bihan, Yann E . MORIN
On 8/8/22 22:36, Arnout Vandecappelle wrote:
>
>
> On 08/08/2022 16:14, Sébastien Szymanski wrote:
>> Hi Arnout,
>>
>> On 7/28/22 21:51, Arnout Vandecappelle wrote:
>>>
>>>
>>> On 12/01/2022 10:42, Sébastien Szymanski wrote:
>>>> This is version 2 of gst1-imx.
>>>
>>> Please add the following.
>>>
>>> Although this replaces the gst1-imx package, we want to keep both
>>> because version 2 removes some elements that are relevant on i.MX6
>>> without X11 or wayland: imxg2dvideosink, imxipuvideosink, imxeglvivsink.
>>>
>>>
>>>> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>>>> ---
>>>> package/gstreamer1/Config.in | 1 +
>>>> package/gstreamer1/gst1-imx2/Config.in | 75
>>>> +++++++++++++++++++++
>>>> package/gstreamer1/gst1-imx2/gst1-imx2.hash | 3 +
>>>> package/gstreamer1/gst1-imx2/gst1-imx2.mk | 75
>>>> +++++++++++++++++++++
>>>> 4 files changed, 154 insertions(+)
>>>> create mode 100644 package/gstreamer1/gst1-imx2/Config.in
>>>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.hash
>>>> create mode 100644 package/gstreamer1/gst1-imx2/gst1-imx2.mk
>>>>
>>>> diff --git a/package/gstreamer1/Config.in
>>>> b/package/gstreamer1/Config.in
>>>> index 8fe8a34395..436c76379d 100644
>>>> --- a/package/gstreamer1/Config.in
>>>> +++ b/package/gstreamer1/Config.in
>>>> @@ -9,6 +9,7 @@ source "package/gstreamer1/gst1-plugins-bad/Config.in"
>>>> source "package/gstreamer1/gst1-plugins-ugly/Config.in"
>>>> source "package/gstreamer1/gst1-devtools/Config.in"
>>>> source "package/gstreamer1/gst1-imx/Config.in"
>>>> +source "package/gstreamer1/gst1-imx2/Config.in"
>>>
>>> Note that this one should *not* move to package/freescale-imx, it's
>>> correct to put it here in gstreamer1.
>>>
>>>> source "package/gstreamer1/gst1-interpipe/Config.in"
>>>> source "package/gstreamer1/gst1-libav/Config.in"
>>>> source "package/gstreamer1/gst1-python/Config.in"
>>>> diff --git a/package/gstreamer1/gst1-imx2/Config.in
>>>> b/package/gstreamer1/gst1-imx2/Config.in
>>>> new file mode 100644
>>>> index 0000000000..b95e6bdb21
>>>> --- /dev/null
>>>> +++ b/package/gstreamer1/gst1-imx2/Config.in
>>>> @@ -0,0 +1,75 @@
>>>> +menuconfig BR2_PACKAGE_GST1_IMX2
>>>> + bool "gst1-imx2"
>>>> + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
>>>> + depends on BR2_PACKAGE_LIBIMXDMABUFFER
>>>
>>> This should be a select.
>>>
>>> On the other hand, it should also have
>>>
>>> depends on BR2_PACKAGE_FREESCALE_IMX
>>>
>>>> + select BR2_PACKAGE_GST1_PLUGINS_BASE
>>>> + help
>>>> + This is a set of GStreamer 1.0 plugins for plugins for
>>>> + Freescale's i.MX platforms, which make use of the i.MX
>>>> + multimedia capabilities.
>>>> +
>>>> + https://github.com/Freescale/gstreamer-imx
>>>> +
>>>> +if BR2_PACKAGE_GST1_IMX2
>>>> +
>>>> +config BR2_PACKAGE_GST1_IMX2_G2D
>>>> + bool "imxg2d"
>>>> + depends on BR2_PACKAGE_IMX_GPU_G2D
>>>
>>> All these depends on should also be turned in select, and propagate
>>> their dependencies. Since the dependencies are all architecture
>>> dependencies, I think, there's no need for a comment. You only need a
>>> comment for the linux dependency.
>>
>> I have copied the gst1-imx package which uses depends on.
>
> Well, we're trying to improve the situation :-)
>
>> When using select the following issue appears:
>>
>> package/gstreamer1/gstreamer1/Config.in:5:error: recursive dependency
>> detected!
>> package/gstreamer1/gstreamer1/Config.in:5: symbol
>> BR2_PACKAGE_GSTREAMER1 is selected by BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
>> package/webkitgtk/Config.in:94: symbol
>> BR2_PACKAGE_WEBKITGTK_MULTIMEDIA depends on BR2_PACKAGE_WEBKITGTK
>> package/webkitgtk/Config.in:28: symbol BR2_PACKAGE_WEBKITGTK is
>> selected by BR2_PACKAGE_MIDORI
>> package/midori/Config.in:24: symbol BR2_PACKAGE_MIDORI depends on
>> BR2_PACKAGE_LIBGTK3
>> package/libgtk3/Config.in:15: symbol BR2_PACKAGE_LIBGTK3 is selected
>> by BR2_PACKAGE_VTE
>> package/vte/Config.in:1: symbol BR2_PACKAGE_VTE depends on
>> BR2_PACKAGE_HAS_LIBEGL_WAYLAND
>> package/opengl/libegl/Config.in:4: symbol
>> BR2_PACKAGE_HAS_LIBEGL_WAYLAND is selected by
>> BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>> package/freescale-imx/imx-gpu-viv/Config.in:64: symbol
>> BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL is part of choice <choice>
>> package/freescale-imx/imx-gpu-viv/Config.in:39: choice <choice>
>> contains symbol <choice>
>> package/freescale-imx/imx-gpu-viv/Config.in:39: choice <choice>
>> contains symbol BR2_PACKAGE_IMX_GPU_VIV
>> package/freescale-imx/imx-gpu-viv/Config.in:9: symbol
>> BR2_PACKAGE_IMX_GPU_VIV is selected by BR2_PACKAGE_IMX_GPU_G2D
>> package/freescale-imx/imx-gpu-g2d/Config.in:9: symbol
>> BR2_PACKAGE_IMX_GPU_G2D is selected by BR2_PACKAGE_GST1_IMX2_G2D
>> package/gstreamer1/gst1-imx2/Config.in:21: symbol
>> BR2_PACKAGE_GST1_IMX2_G2D depends on BR2_PACKAGE_GSTREAMER1
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>
> I'm trying to see the problem with this dependency chain, but I can't
> find it... Perhaps it's the choice for imx-gpu-viv output that is
> causing the problem.
>
> You did propagate the dependencies, right?
Yes, I did.
Regards,
>
> depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64 #
> imx-gpu-g2d
> depends on BR2_TOOLCHAIN_USES_GLIBC # imx-gpu-g2d
>
>
> Regards,
> Arnout
>
>>
>> There was a similar issue for gst1-imx:
>>
>> https://lore.kernel.org/all/20160920224355.l76a3kggupuiugok@t450s.lan/
>>
>> So, I will keep depends on here.
>>
>> Regards,
>>
>>
--
Sébastien Szymanski, Armadeus Systems
Software engineer
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2022-08-09 12:52 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-12 9:42 [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package Sébastien Szymanski
2022-01-12 9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
2022-01-12 10:31 ` Baruch Siach via buildroot
2022-01-12 12:53 ` Sébastien Szymanski
2022-07-28 8:36 ` Arnout Vandecappelle
2022-01-12 9:42 ` [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: " Sébastien Szymanski
2022-01-14 17:44 ` Herve Codina
2022-01-17 9:37 ` Sébastien Szymanski
2022-07-28 19:51 ` Arnout Vandecappelle
2022-08-08 14:14 ` Sébastien Szymanski
2022-08-08 20:36 ` Arnout Vandecappelle
2022-08-09 12:50 ` Sébastien Szymanski
2022-07-28 8:23 ` [Buildroot] [PATCH 1/3] package/libimxdmabuffer: " Arnout Vandecappelle
2022-08-08 13:56 ` Sébastien Szymanski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.