@@ -80,6 +80,7 @@ source "package/freescale-imx/imx-lib/Config.in"
source "package/freescale-imx/imx-m4fwloader/Config.in"
source "package/freescale-imx/imx-parser/Config.in"
source "package/freescale-imx/imx-uuc/Config.in"
+source "package/freescale-imx/imx-vpu/Config.in"
source "package/freescale-imx/imx-vpu-cnm/Config.in"
source "package/freescale-imx/imx-vpu-hantro/Config.in"
source "package/freescale-imx/imx-vpuwrap/Config.in"
@@ -21,7 +21,7 @@ ifeq ($(BR2_ARM_EABIHF),y)
IMX_CODEC_CONF_OPTS += --enable-fhw
endif
-ifeq ($(BR2_PACKAGE_IMX_VPU_CNM),y)
+ifeq ($(BR2_PACKAGE_HAS_IMX_VPU),y)
IMX_CODEC_CONF_OPTS += --enable-vpu
endif
@@ -7,6 +7,7 @@ config BR2_PACKAGE_IMX_VPU_CNM
depends on BR2_arm # Only relevant for i.MX
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
select BR2_PACKAGE_FIRMWARE_IMX
+ select BR2_PACKAGE_HAS_IMX_VPU
help
Library of userspace helpers specific for the NXP i.MX SoC
integrating a Chips&Media CODA Video Processing Unit (VPU)
@@ -16,3 +17,10 @@ config BR2_PACKAGE_IMX_VPU_CNM
This library is provided by NXP as-is and doesn't have an
upstream.
+
+if BR2_PACKAGE_IMX_VPU_CNM
+
+config BR2_PACKAGE_PROVIDES_IMX_VPU
+ default "imx-vpu-cnm"
+
+endif
@@ -6,6 +6,7 @@ config BR2_PACKAGE_IMX_VPU_HANTRO
bool "imx-vpu-hantro"
depends on BR2_aarch64 # Only relevant for i.MX8
depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+ select BR2_PACKAGE_HAS_IMX_VPU
help
Library of userspace helpers specific for the NXP i.MX SoC
integrating a Hantro Video Processing Unit (VPU) such as the
@@ -15,3 +16,10 @@ config BR2_PACKAGE_IMX_VPU_HANTRO
This library is provided by NXP as-is and doesn't have an
upstream.
+
+if BR2_PACKAGE_IMX_VPU_HANTRO
+
+config BR2_PACKAGE_PROVIDES_IMX_VPU
+ default "imx-vpu-hantro"
+
+endif
new file mode 100644
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_IMX_VPU
+ bool
+
+config BR2_PACKAGE_PROVIDES_IMX_VPU
+ depends on BR2_PACKAGE_HAS_IMX_VPU
+ string
new file mode 100644
@@ -0,0 +1,7 @@
+################################################################################
+#
+# imx-vpu
+#
+################################################################################
+
+$(eval $(virtual-package))
@@ -2,16 +2,15 @@ comment "imx-vpuwrap needs an imx-specific Linux kernel to be built"
depends on BR2_arm
depends on !BR2_LINUX_KERNEL
-comment "imx-vpuwrap needs an i.MX platform with VPU support"
+comment "imx-vpuwrap needs an i.MX VPU backend provider"
depends on BR2_arm
- depends on BR2_LINUX_KERNEL && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+ depends on BR2_LINUX_KERNEL && !BR2_PACKAGE_HAS_IMX_VPU
config BR2_PACKAGE_IMX_VPUWRAP
bool "imx-vpuwrap"
depends on BR2_LINUX_KERNEL
depends on BR2_arm # Only relevant for i.MX
- depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
- select BR2_PACKAGE_IMX_VPU_CNM
+ depends on BR2_PACKAGE_HAS_IMX_VPU
help
Wrapper library for the vpu library, giving it a different
API.
@@ -7,7 +7,7 @@
IMX_VPUWRAP_VERSION = 1.0.68
IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE)
IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin
-IMX_VPUWRAP_DEPENDENCIES = imx-vpu-cnm
+IMX_VPUWRAP_DEPENDENCIES = imx-vpu
IMX_VPUWRAP_INSTALL_STAGING = YES
IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement
@@ -11,7 +11,7 @@ config BR2_PACKAGE_GST_FSL_PLUGINS
depends on BR2_arm # Only relevant for i.MX
depends on BR2_TOOLCHAIN_USES_GLIBC # imx-codec
select BR2_PACKAGE_GST_PLUGINS_BASE
- select BR2_PACKAGE_IMX_VPUWRAP if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+ select BR2_PACKAGE_IMX_VPUWRAP if BR2_PACKAGE_HAS_IMX_VPU
select BR2_PACKAGE_IMX_LIB
select BR2_PACKAGE_IMX_PARSER
select BR2_PACKAGE_IMX_CODEC
@@ -18,7 +18,7 @@ GST_FSL_PLUGINS_AUTORECONF = YES
GST_FSL_PLUGINS_DEPENDENCIES += host-pkgconf gstreamer gst-plugins-base \
imx-lib imx-parser imx-codec
-ifeq ($(BR2_PACKAGE_FREESCALE_IMX_HAS_VPU),y)
+ifeq ($(BR2_PACKAGE_HAS_IMX_VPU),y)
GST_FSL_PLUGINS_DEPENDENCIES += imx-vpuwrap
endif
@@ -1,12 +1,11 @@
-comment "libimxvpuapi needs an i.MX platform with VPU support"
+comment "libimxvpuapi needs an i.MX VPU backend provider"
depends on BR2_arm
- depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+ depends on !BR2_PACKAGE_HAS_IMX_VPU
config BR2_PACKAGE_LIBIMXVPUAPI
bool "libimxvpuapi"
depends on BR2_arm # Only relevant for i.MX
- depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
- select BR2_PACKAGE_IMX_VPU_CNM
+ depends on BR2_PACKAGE_HAS_IMX_VPU
help
This library provides an API for using the iMX6 VPU video
engine. It is an alternative to Freescale's VPU
@@ -8,7 +8,7 @@ LIBIMXVPUAPI_VERSION = 0.10.3
LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION))
LIBIMXVPUAPI_LICENSE = LGPL-2.1+
LIBIMXVPUAPI_LICENSE_FILES = LICENSE
-LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu-cnm
+LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu
LIBIMXVPUAPI_INSTALL_STAGING = YES
$(eval $(waf-package))
Since it can be provided by either imx-vpu-cnm or imx-vpu-hantro. Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> --- package/freescale-imx/Config.in | 1 + package/freescale-imx/imx-codec/imx-codec.mk | 2 +- package/freescale-imx/imx-vpu-cnm/Config.in | 8 ++++++++ package/freescale-imx/imx-vpu-hantro/Config.in | 8 ++++++++ package/freescale-imx/imx-vpu/Config.in | 6 ++++++ package/freescale-imx/imx-vpu/imx-vpu.mk | 7 +++++++ package/freescale-imx/imx-vpuwrap/Config.in | 7 +++---- package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk | 2 +- package/gstreamer/gst-fsl-plugins/Config.in | 2 +- package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk | 2 +- package/libimxvpuapi/Config.in | 7 +++---- package/libimxvpuapi/libimxvpuapi.mk | 2 +- 12 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 package/freescale-imx/imx-vpu/Config.in create mode 100644 package/freescale-imx/imx-vpu/imx-vpu.mk