Skip to contentSkip to conversation

imx: update multimedia packages to 4.9.88_2.0.0_ga

PATCH Superseded Gary Bisson 2 participants 10 messages Jul 26, 2018 Arm i.MX and Layerscape

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover imx: update multimedia packages to 4.9.88_2.0.0_ga

Hi,

This series updates the i.MX multimedia packages to be in line with the NXP 4.9.88-2.0.0_ga release [1].

The main benefit of this release is that it works for both 32-bit i.MX6/7 processors as well as 64-bit i.MX8MQ.

That means that new packages had to be added to support the i.MX8MQ VPU IP (from Hantro).

In Yocto, the imx-vpu package for the Chips&Media VPU present on i.MX6 wasn't renamed. But packages such as imx-vpuwrap now depend on virtual/imxvpu which can either be provided by imx-vpu (Chips&Media) or imx-vpu-hantro (Hantro) [2][3].

As I thought it'd be confusing to have a virtual imxvpu virtual package with an imx-vpu provider, I renamed imx-vpu to imx-vpu-cnm and added an imx-vpu virtual package.

Each patch for this imx-vpu change modifies several packages (those depending on it) so that it doesn't break the build in case someone bisects the tree.

Finally, I've verified those packages on both i.MX6Q and i.MX8MQ. But in the case of i.MX8MQ, the VPU testing was limited to the package unit tests since the open-source imx plugin doesn't support Hantro VPU (yet). Note that I don't plan on integrating NXP plugin since it implies changing all the standard plugins to be "NXP-compliant" [4].

Let me know if you are ok with this approach. As usual, comments are welcome.

Changelog v2:
- Add BR2_PACKAGE_IMX_VPU to Config.in.legacy (Baruch)
- Name i.MX processors targeted by each package in Config.in help text (Baruch)

Regards,
Gary

[1] https://community.nxp.com/docs/DOC-340805
[2] https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/imx-vpu/imx-vpu_5.4.38.bb#L11
[3] https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.6.0.bb#L9
[4] https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer

Gary Bisson (8):
firmware-imx: bump to version 7.5
imx-vpu: rename package to imx-vpu-cnm
imx-vpu-cnm: bump version to 5.4.38
imx-vpu-hantro: new package
imx-vpu: new virtual package
imx-vpuwrap: bump version to 4.3.5
imx-codec: bump version to 4.3.5
imx-parser: bump version to 4.3.5

 Config.in.legacy                              |  7 +++
 package/freescale-imx/Config.in               |  5 ++-
 .../firmware-imx/firmware-imx.hash            |  2 +-
 .../firmware-imx/firmware-imx.mk              |  2 +-
 .../freescale-imx/imx-codec/imx-codec.hash    |  3 +-
 package/freescale-imx/imx-codec/imx-codec.mk  |  4 +-
 .../freescale-imx/imx-parser/imx-parser.hash  |  3 +-
 .../freescale-imx/imx-parser/imx-parser.mk    |  2 +-
 package/freescale-imx/imx-vpu-cnm/Config.in   | 26 +++++++++++
 .../imx-vpu-cnm/imx-vpu-cnm.hash              |  3 ++
 .../freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk  | 39 ++++++++++++++++
 ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++
 .../freescale-imx/imx-vpu-hantro/Config.in    | 25 +++++++++++
 .../imx-vpu-hantro/imx-vpu-hantro.hash        |  2 +
 .../imx-vpu-hantro/imx-vpu-hantro.mk          | 42 ++++++++++++++++++
 package/freescale-imx/imx-vpu/Config.in       | 21 +++------
 package/freescale-imx/imx-vpu/imx-vpu.hash    |  2 -
 package/freescale-imx/imx-vpu/imx-vpu.mk      | 34 +-------------
 package/freescale-imx/imx-vpuwrap/Config.in   | 11 +++--
 .../imx-vpuwrap/imx-vpuwrap.hash              |  3 +-
 .../freescale-imx/imx-vpuwrap/imx-vpuwrap.mk  |  2 +-
 package/gstreamer/gst-fsl-plugins/Config.in   |  2 +-
 .../gst-fsl-plugins/gst-fsl-plugins.mk        |  2 +-
 package/libimxvpuapi/Config.in                |  7 ++-
 24 files changed, 220 insertions(+), 73 deletions(-)
 create mode 100644 package/freescale-imx/imx-vpu-cnm/Config.in
 create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
 create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
 create mode 100644 package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
 create mode 100644 package/freescale-imx/imx-vpu-hantro/Config.in
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
 delete mode 100644 package/freescale-imx/imx-vpu/imx-vpu.hash
Signature · 1 line
2.18.0
#1 lore raw

PATCH v2 1/8 firmware-imx: bump to version 7.5

This new package includes new binaries for i.MX8QXP.

---
 package/freescale-imx/firmware-imx/firmware-imx.hash | 2 +-
 package/freescale-imx/firmware-imx/firmware-imx.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/freescale-imx/firmware-imx/firmware-imx.hash +1 -1
index dd0e13a7cf..c4930bb67d 100644
@@ -1,4 +1,4 @@
 # Locally calculated
-sha256 8a8ec439d014e928f42c49bab1c382914ec5b4f1041df28e5d687eb194bd07ab  firmware-imx-7.4.bin
+sha256 a8f099bdf786b2da1e8b43094950c033ccdbf93f1b8a93caffb912e1500cd735  firmware-imx-7.5.bin
 sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a  EULA
 sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a  COPYING
package/freescale-imx/firmware-imx/firmware-imx.mk +1 -1
index b9756fc2bf..0a503d7a66 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FIRMWARE_IMX_VERSION = 7.4
+FIRMWARE_IMX_VERSION = 7.5
 FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE)
 FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin
 
Signature · 1 line
2.18.0
#2 lore raw

PATCH v2 2/8 imx-vpu: rename package to imx-vpu-cnm

In reply to Gary Bisson

So far the i.MX processors have been using a Chips&Media CODA VPU. But the latest generation of processors (starting with i.MX8MQ) uses VPU cores from Hantro which is provided as imx-vpu-hantro package.

NXP chose in Yocto to keep the imx-vpu naming for Chips&Media package and created a virtual "imxvpu" package that can either be provided by imx-vpu or imx-vpu-hantro.

Since this naming can be confusing (IMO), renaming the imx-vpu package to imx-vpu-cnm and then create a virtual imx-vpu one should be clearer.

---
Changelog v2:
- Add BR2_PACKAGE_IMX_VPU to Config.in.legacy (Baruch)
- Mention i.MX5x/i.MX6x in Config.in help text (Baruch)

---
 Config.in.legacy                              |  7 ++++
 package/freescale-imx/Config.in               |  2 +-
 package/freescale-imx/imx-codec/imx-codec.mk  |  2 +-
 package/freescale-imx/imx-vpu-cnm/Config.in   | 18 +++++++++
 .../imx-vpu-cnm.hash}                         |  0
 .../freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk  | 39 +++++++++++++++++++
 package/freescale-imx/imx-vpu/Config.in       | 17 --------
 package/freescale-imx/imx-vpu/imx-vpu.mk      | 39 -------------------
 package/freescale-imx/imx-vpuwrap/Config.in   |  2 +-
 .../freescale-imx/imx-vpuwrap/imx-vpuwrap.mk  |  2 +-
 package/libimxvpuapi/Config.in                |  2 +-
 package/libimxvpuapi/libimxvpuapi.mk          |  2 +-
 12 files changed, 70 insertions(+), 62 deletions(-)
 create mode 100644 package/freescale-imx/imx-vpu-cnm/Config.in
 rename package/freescale-imx/{imx-vpu/imx-vpu.hash => imx-vpu-cnm/imx-vpu-cnm.hash} (100%)
 create mode 100644 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk
 delete mode 100644 package/freescale-imx/imx-vpu/Config.in
 delete mode 100644 package/freescale-imx/imx-vpu/imx-vpu.mk
Config.in.legacy +7 -0
index 9743ebd08f..8e0ab777c0 100644
@@ -239,6 +239,13 @@ config BR2_GDB_VERSION_7_10
 	  The 7.10 version of gdb has been removed. Use a newer version
 	  instead.
 
+config BR2_PACKAGE_IMX_VPU
+	bool "imx-vpu option renamed imx-vpu-cnm"
+	select BR2_LEGACY
+	select BR2_PACKAGE_IMX_VPU_CNM
+	help
+	  The imx-vpu option has been renamed imx-vpu-cnm.
+
 ###############################################################################
 comment "Legacy options removed in 2018.05"
 
package/freescale-imx/Config.in +1 -1
index 30e71b825f..5e0c7ff291 100644
@@ -79,7 +79,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-vpuwrap/Config.in"
 source "package/freescale-imx/firmware-imx/Config.in"
 if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
package/freescale-imx/imx-codec/imx-codec.mk +1 -1
index 784c1fa4a9..7b8a5bd4d5 100644
@@ -21,7 +21,7 @@ ifeq ($(BR2_ARM_EABIHF),y)
 IMX_CODEC_CONF_OPTS += --enable-fhw
 endif
 
-ifeq ($(BR2_PACKAGE_IMX_VPU),y)
+ifeq ($(BR2_PACKAGE_IMX_VPU_CNM),y)
 IMX_CODEC_CONF_OPTS += --enable-vpu
 endif
 
package/freescale-imx/imx-vpu-cnm/Config.in new file +18 -0
new file mode 100644
index 0000000000..dfe9608600
@@ -0,0 +1,18 @@
+comment "imx-vpu-cnm needs an i.MX platform with VPU support"
+	depends on BR2_arm
+	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+
+config BR2_PACKAGE_IMX_VPU_CNM
+	bool "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
+	help
+	  Library of userspace helpers specific for the NXP i.MX SoC
+	  integrating a Chips&Media CODA Video Processing Unit (VPU)
+	  such as the i.MX5x/i.MX6x.
+	  It requires a kernel that includes the i.MX specific headers
+	  to be built.
+
+	  This library is provided by NXP as-is and doesn't have an
+	  upstream.
package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash renamed from package/freescale-imx/imx-vpu/imx-vpu.hash +0 -0
similarity index 100%
rename from package/freescale-imx/imx-vpu/imx-vpu.hash
rename to package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash
package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk new file +39 -0
new file mode 100644
index 0000000000..a6cca08e9c
@@ -0,0 +1,39 @@
+################################################################################
+#
+# imx-vpu-cnm
+#
+################################################################################
+
+IMX_VPU_CNM_VERSION = 5.4.37
+IMX_VPU_CNM_SITE = $(FREESCALE_IMX_SITE)
+IMX_VPU_CNM_SOURCE = imx-vpu-$(IMX_VPU_CNM_VERSION).bin
+
+IMX_VPU_CNM_INSTALL_STAGING = YES
+
+IMX_VPU_CNM_MAKE_ENV = \
+	$(TARGET_MAKE_ENV) \
+	$(TARGET_CONFIGURE_OPTS) \
+	CROSS_COMPILE="$(TARGET_CROSS)" \
+	PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM)
+
+IMX_VPU_CNM_LICENSE = NXP Semiconductor Software License Agreement
+IMX_VPU_CNM_LICENSE_FILES = EULA COPYING
+IMX_VPU_CNM_REDISTRIBUTE = NO
+
+define IMX_VPU_CNM_EXTRACT_CMDS
+	$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_CNM_DL_DIR)/$(IMX_VPU_CNM_SOURCE))
+endef
+
+define IMX_VPU_CNM_BUILD_CMDS
+	$(IMX_VPU_CNM_MAKE_ENV) $(MAKE1) -C $(@D)
+endef
+
+define IMX_VPU_CNM_INSTALL_STAGING_CMDS
+	$(IMX_VPU_CNM_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(STAGING_DIR) install
+endef
+
+define IMX_VPU_CNM_INSTALL_TARGET_CMDS
+	$(IMX_VPU_CNM_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
package/freescale-imx/imx-vpu/Config.in deleted +0 -17
deleted file mode 100644
index 779717f5ed..0000000000
@@ -1,17 +0,0 @@
-comment "imx-vpu needs an i.MX platform with VPU support"
-	depends on BR2_arm
-	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
-
-config BR2_PACKAGE_IMX_VPU
-	bool "imx-vpu"
-	depends on BR2_arm # Only relevant for i.MX
-	depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
-	select BR2_PACKAGE_FIRMWARE_IMX
-	help
-	  Library of userspace helpers specific for the Freescale i.MX
-	  platform. It wraps the kernel interfaces for the i.MX platform
-	  Video Processing Unit (VPU) driver. It requires a kernel that
-	  includes the i.MX specific headers to be built.
-
-	  This library is provided by Freescale as-is and doesn't have
-	  an upstream.
package/freescale-imx/imx-vpu/imx-vpu.mk deleted +0 -39
deleted file mode 100644
index 2bcfe53eba..0000000000
@@ -1,39 +0,0 @@
-################################################################################
-#
-# imx-vpu
-#
-################################################################################
-
-IMX_VPU_VERSION = 5.4.37
-IMX_VPU_SITE = $(FREESCALE_IMX_SITE)
-IMX_VPU_SOURCE = imx-vpu-$(IMX_VPU_VERSION).bin
-
-IMX_VPU_INSTALL_STAGING = YES
-
-IMX_VPU_MAKE_ENV = \
-	$(TARGET_MAKE_ENV) \
-	$(TARGET_CONFIGURE_OPTS) \
-	CROSS_COMPILE="$(TARGET_CROSS)" \
-	PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM)
-
-IMX_VPU_LICENSE = NXP Semiconductor Software License Agreement
-IMX_VPU_LICENSE_FILES = EULA COPYING
-IMX_VPU_REDISTRIBUTE = NO
-
-define IMX_VPU_EXTRACT_CMDS
-	$(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_DL_DIR)/$(IMX_VPU_SOURCE))
-endef
-
-define IMX_VPU_BUILD_CMDS
-	$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D)
-endef
-
-define IMX_VPU_INSTALL_STAGING_CMDS
-	$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(STAGING_DIR) install
-endef
-
-define IMX_VPU_INSTALL_TARGET_CMDS
-	$(IMX_VPU_MAKE_ENV) $(MAKE1) -C $(@D) DEST_DIR=$(TARGET_DIR) install
-endef
-
-$(eval $(generic-package))
package/freescale-imx/imx-vpuwrap/Config.in +1 -1
index bdfa147867..85eb16004d 100644
@@ -11,7 +11,7 @@ config BR2_PACKAGE_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
+	select BR2_PACKAGE_IMX_VPU_CNM
 	help
 	  Wrapper library for the vpu library, giving it a different
 	  API.
package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk +1 -1
index edba87279f..0b60868e9a 100644
@@ -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
+IMX_VPUWRAP_DEPENDENCIES = imx-vpu-cnm
 IMX_VPUWRAP_INSTALL_STAGING = YES
 
 IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement
package/libimxvpuapi/Config.in +1 -1
index 8b8b839ce8..3d25b3b751 100644
@@ -6,7 +6,7 @@ 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
+	select BR2_PACKAGE_IMX_VPU_CNM
 	help
 	  This library provides an API for using the iMX6 VPU video
 	  engine. It is an alternative to Freescale's VPU
package/libimxvpuapi/libimxvpuapi.mk +1 -1
index bcabbf3877..27189ff044 100644
@@ -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
+LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu-cnm
 LIBIMXVPUAPI_INSTALL_STAGING = YES
 
 $(eval $(waf-package))
Signature · 1 line
2.18.0
#3 lore raw

PATCH v2 2/8 imx-vpu: rename package to imx-vpu-cnm

Hi Gary,

package/freescale-imx/imx-vpu-cnm/Config.in line 13

Quoted 9 lines · Gary Bisson
package/freescale-imx/imx-vpu-cnm/Config.in new file +9 -0
+config BR2_PACKAGE_IMX_VPU_CNM
+	bool "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
+	help
+	  Library of userspace helpers specific for the NXP i.MX SoC
+	  integrating a Chips&Media CODA Video Processing Unit (VPU)
+	  such as the i.MX5x/i.MX6x.

I believe this VPU is also in i.MX27 SoCs.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
#4 lore raw

PATCH v2 3/8 imx-vpu-cnm: bump version to 5.4.38

In reply to Gary Bisson

No changelog provided by NXP.
Added COPYING hash value to track license changes.

---
 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash | 3 ++-
 package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.hash +2 -1
index 0ac0f3d0c2..822286dceb 100644
@@ -1,2 +1,3 @@
 # Locally computed
-sha256	ee265e88d17c7369bd9cb917e7cce035b8c7ee2ba4491645fdab9f382f54beb0  imx-vpu-5.4.37.bin
+sha256  34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f  imx-vpu-5.4.38.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
package/freescale-imx/imx-vpu-cnm/imx-vpu-cnm.mk +1 -1
index a6cca08e9c..d29eb0ed2c 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_VPU_CNM_VERSION = 5.4.37
+IMX_VPU_CNM_VERSION = 5.4.38
 IMX_VPU_CNM_SITE = $(FREESCALE_IMX_SITE)
 IMX_VPU_CNM_SOURCE = imx-vpu-$(IMX_VPU_CNM_VERSION).bin
 
Signature · 1 line
2.18.0
#5 lore raw

PATCH v2 4/8 imx-vpu-hantro: new package

In reply to Gary Bisson

This package provides the user-space libraries needed to use the Hantro VPU present in processors such as the i.MX8MQ.

---
Changelog v2:
- Mention i.MX8Mx in Config.in help text (Baruch)

---
 package/freescale-imx/Config.in               |  4 +-
 ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++
 .../freescale-imx/imx-vpu-hantro/Config.in    | 17 +++++++
 .../imx-vpu-hantro/imx-vpu-hantro.hash        |  2 +
 .../imx-vpu-hantro/imx-vpu-hantro.mk          | 42 ++++++++++++++++++
 5 files changed, 108 insertions(+), 1 deletion(-)
 create mode 100644 package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch
 create mode 100644 package/freescale-imx/imx-vpu-hantro/Config.in
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash
 create mode 100644 package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk
package/freescale-imx/Config.in +3 -1
index 5e0c7ff291..9b47958ff3 100644
@@ -63,7 +63,8 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
 	default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS || \
 		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || \
 		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \
-		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
+		BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
 
 config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
 	bool
@@ -80,6 +81,7 @@ 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-cnm/Config.in"
+source "package/freescale-imx/imx-vpu-hantro/Config.in"
 source "package/freescale-imx/imx-vpuwrap/Config.in"
 source "package/freescale-imx/firmware-imx/Config.in"
 if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch new file +44 -0

44 lines not on this page · raw message

package/freescale-imx/imx-vpu-hantro/Config.in new file +17 -0
new file mode 100644
index 0000000000..5c6fdf44ed
@@ -0,0 +1,17 @@
+comment "imx-vpu-hantro needs an i.MX platform with VPU support"
+	depends on BR2_aarch64
+	depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
+
+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
+	help
+	  Library of userspace helpers specific for the NXP i.MX SoC
+	  integrating a Hantro Video Processing Unit (VPU) such as the
+	  i.MX8MQ/i.MX8MM.
+	  It requires a kernel that includes the i.MX specific headers
+	  to be built.
+
+	  This library is provided by NXP as-is and doesn't have an
+	  upstream.
package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash new file +2 -0
new file mode 100644
index 0000000000..3b1a545b3f
@@ -0,0 +1,2 @@
+sha256  cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302  imx-vpu-hantro-1.6.0.bin
+sha256  0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a  COPYING
package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk new file +42 -0

42 lines not on this page · raw message

Signature · 1 line
2.18.0
#6 lore raw

PATCH v2 5/8 imx-vpu: new virtual package

In reply to Gary Bisson

Since it can be provided by either imx-vpu-cnm or imx-vpu-hantro.

---
 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
package/freescale-imx/Config.in +1 -0
index 9b47958ff3..bcddf647ef 100644
@@ -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"
package/freescale-imx/imx-codec/imx-codec.mk +1 -1
index 7b8a5bd4d5..7f738d8129 100644
@@ -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
 
package/freescale-imx/imx-vpu-cnm/Config.in +8 -0
index dfe9608600..89e77017da 100644
@@ -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
package/freescale-imx/imx-vpu-hantro/Config.in +8 -0
index 5c6fdf44ed..60dc5d8db0 100644
@@ -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
package/freescale-imx/imx-vpu/Config.in new file +6 -0
new file mode 100644
index 0000000000..caefe9db8c
@@ -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
package/freescale-imx/imx-vpu/imx-vpu.mk new file +7 -0
new file mode 100644
index 0000000000..6e44ad1fce
@@ -0,0 +1,7 @@
+################################################################################
+#
+# imx-vpu
+#
+################################################################################
+
+$(eval $(virtual-package))
package/freescale-imx/imx-vpuwrap/Config.in +3 -4
index 85eb16004d..87303cca9d 100644
@@ -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.
package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk +1 -1
index 0b60868e9a..edba87279f 100644
@@ -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
package/gstreamer/gst-fsl-plugins/Config.in +1 -1
index a2ff11ec3e..86226c31fb 100644
@@ -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
package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +1 -1
index 547d253e88..45a629ba39 100644
@@ -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
 
package/libimxvpuapi/Config.in +3 -4
index 3d25b3b751..479377743d 100644
@@ -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
package/libimxvpuapi/libimxvpuapi.mk +1 -1
index 27189ff044..bcabbf3877 100644
@@ -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))
Signature · 1 line
2.18.0
#7 lore raw

PATCH v2 6/8 imx-vpuwrap: bump version to 4.3.5

In reply to Gary Bisson

No changelog provided for 4.3.5 but it can now builds against the following VPU backeds:
- Chips&Media
- Hantro
- Amphion (not supported in BR yet)

Changes in 4.3.2:
- Add vpu_wrapper_test
- Add gst_dump tools
- Add gl sink
- Enable RMVB/VC1/DIVX3
- Add webp support

Changes in 4.3.4:
- set hasColorDesc and fullRange in VPU_DecGetInitialInfo.
- Fix H264 failure due to too many MBI buffers.

---
 package/freescale-imx/imx-vpuwrap/Config.in        | 4 ++--
 package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash | 3 ++-
 package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk   | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)
package/freescale-imx/imx-vpuwrap/Config.in +2 -2
index 87303cca9d..54050bf7af 100644
@@ -1,5 +1,5 @@
 comment "imx-vpuwrap needs an imx-specific Linux kernel to be built"
-	depends on BR2_arm
+	depends on BR2_arm || BR2_aarch64
 	depends on !BR2_LINUX_KERNEL
 
 comment "imx-vpuwrap needs an i.MX VPU backend provider"
@@ -9,7 +9,7 @@ comment "imx-vpuwrap needs an i.MX VPU backend provider"
 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_arm || BR2_aarch64 # Only relevant for i.MX
 	depends on BR2_PACKAGE_HAS_IMX_VPU
 	help
 	  Wrapper library for the vpu library, giving it a different
package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash +2 -1
index 2999984d2c..28c73c002c 100644
@@ -1,2 +1,3 @@
 # locally computed
-sha256	282e7f8766ce385d8752bd29f04ddeff709ece0846be97547cf982183bbe241e  imx-vpuwrap-1.0.68.bin
+sha256  5c08b4b7c771404c998779f0e27a75564b57958d463e2df152c910d76cca9e44  imx-vpuwrap-4.3.5.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk +1 -1
index edba87279f..e456f67cfd 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_VPUWRAP_VERSION = 1.0.68
+IMX_VPUWRAP_VERSION = 4.3.5
 IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE)
 IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin
 IMX_VPUWRAP_DEPENDENCIES = imx-vpu
Signature · 1 line
2.18.0
#8 lore raw

PATCH v2 7/8 imx-codec: bump version to 4.3.5

In reply to Gary Bisson

No changelog provided by NXP for v4.3.5.

Added COPYING hash to track license change.

Changelog for v4.3.4
1. Add INSANE_SKIP for file-rdeps to fix QA Issue
2. Update mp3_enc version to 02.03.01
3. Fix crash in lib_mp3_enc_arm12_elinux.so This crash error is caused by division by zero in noOfElements_mp3e() function When encoding 0 size file by using unit test
so before performing a division operation, need to check whether divisor is zero or not to fix it.

Changelog for v4.3.2
1. Upgrade EULA to v20
2. Add i.MX8 support
3. Bugfix/Optimization
- Remove video codec in imx-codec package.
- Fix logically dead code issue for aac_dec.
- Fix wrong sizeof argument for flac_dec.
- Cancel unused code in nb_amr/wb_amr/flac_dec/bsac_dec.

---
 package/freescale-imx/imx-codec/imx-codec.hash | 3 ++-
 package/freescale-imx/imx-codec/imx-codec.mk   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
package/freescale-imx/imx-codec/imx-codec.hash +2 -1
index 53d8f71c39..9d99ee0101 100644
@@ -1,2 +1,3 @@
 # locally computed
-sha256	20d3f9b4187fcd9e7007c94558a00bab1191513eee74b6f0d8c7b43f874e06ed  imx-codec-4.2.1.bin
+sha256  6bb54f91c3ca18567e14d95d3858022dc9be00dc86e9edfdb544d1240a3b2b04  imx-codec-4.3.5.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
package/freescale-imx/imx-codec/imx-codec.mk +1 -1
index 7f738d8129..a3276027fb 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_CODEC_VERSION = 4.2.1
+IMX_CODEC_VERSION = 4.3.5
 IMX_CODEC_SITE = $(FREESCALE_IMX_SITE)
 IMX_CODEC_SOURCE = imx-codec-$(IMX_CODEC_VERSION).bin
 IMX_CODEC_INSTALL_STAGING = YES
Signature · 1 line
2.18.0
#9 lore raw

PATCH v2 8/8 imx-parser: bump version to 4.3.5

In reply to Gary Bisson

Added COPYING hash to track license changes.

No changelog provided by NXP for v4.3.5.

Changelog for v4.3.4:
- Fix crash issue when parse index list.
- Add mett atom in mp4 parser.
- MP4 PARSER 06.13.00 add interface PARSER_API_GET_TEXT_TRACK_MIME to get mime type from mett atom.
- Add protection for contentDescriptionObject in case the size is not correct and larger than qwSize.

Changelog for v4.3.2:
- Fix creating parser error
When the variable value is negetive, if(bytesToRead) will return true, modify this condition to if(bytesToRead > 0).
- FLAC PARSER 03.00.07
Check read actual length in case of parser reach eos.
- MP4 PARSER 06.12.11
Fix crash issue when parse id3 metadata.
- MPG2 PARSER 04.05.16
Fix parser return wrong frame size after fastforward.
- ASFPARSER_01.00.55
Update for HEVC tag and audio AC3 support.

---
 package/freescale-imx/imx-parser/imx-parser.hash | 3 ++-
 package/freescale-imx/imx-parser/imx-parser.mk   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
package/freescale-imx/imx-parser/imx-parser.hash +2 -1
index 3266f48110..708e9b8386 100644
@@ -1,2 +1,3 @@
 # locally computed
-sha256	36d3ae7285f3a83a87abf680b8a52b3c07df869d2443de844fb5f0ff528ca862  imx-parser-4.2.1.bin
+sha256  9cd8c49a0bb1050afcfbcc7a677a348443fda4ecacb621cc6e38897619e27c67  imx-parser-4.3.5.bin
+sha256  78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa  COPYING
package/freescale-imx/imx-parser/imx-parser.mk +1 -1
index 11536e5024..fc4376f04b 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-IMX_PARSER_VERSION = 4.2.1
+IMX_PARSER_VERSION = 4.3.5
 IMX_PARSER_SITE = $(FREESCALE_IMX_SITE)
 IMX_PARSER_SOURCE = imx-parser-$(IMX_PARSER_VERSION).bin
 IMX_PARSER_INSTALL_STAGING = YES
Signature · 1 line
2.18.0