Message ID | 20180725150149.30774-5-gary.bisson@boundarydevices.com |
---|---|
State | Superseded |
Headers | show |
Series | imx: update multimedia packages to 4.9.88_2.0.0_ga | expand |
Hi Gary, On Wed, Jul 25, 2018 at 05:01:45PM +0200, Gary Bisson wrote: > +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 CPUs > + integrating a Hantro Video Processing Unit (VPU). It requires > + a kernel that includes the i.MX specific headers to be built. Here also, a mention of i.MX8 would be nice, IMO. baruch
Hi Baruch, On Wed, Jul 25, 2018 at 07:29:12PM +0300, Baruch Siach wrote: > Hi Gary, > > On Wed, Jul 25, 2018 at 05:01:45PM +0200, Gary Bisson wrote: > > +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 CPUs > > + integrating a Hantro Video Processing Unit (VPU). It requires > > + a kernel that includes the i.MX specific headers to be built. > > Here also, a mention of i.MX8 would be nice, IMO. Yes that would be clearer indeed, will be fixed in V2. Thanks, Gary
On 25-07-18 17:01, Gary Bisson wrote: > This package provides the user-space libraries needed to use the Hantro > VPU present in processors such as the i.MX8MQ. > > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> > --- > package/freescale-imx/Config.in | 4 +- > ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++ > .../freescale-imx/imx-vpu-hantro/Config.in | 15 +++++++ > .../imx-vpu-hantro/imx-vpu-hantro.hash | 2 + > .../imx-vpu-hantro/imx-vpu-hantro.mk | 42 ++++++++++++++++++ > 5 files changed, 106 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 > > diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in > index 5e0c7ff291..9b47958ff3 100644 > --- a/package/freescale-imx/Config.in > +++ b/package/freescale-imx/Config.in > @@ -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 Wouldn't it make more sense to make a new _HAS_VPU_HANTRO option? You're later changing some 'depends' options to depending on the provider instead of depending on the VPU, so that makes sense. > > 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) > diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch > new file mode 100644 > index 0000000000..951ead9824 > --- /dev/null > +++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch > @@ -0,0 +1,44 @@ > +From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001 > +From: Gary Bisson <gary.bisson@boundarydevices.com> > +Date: Thu, 12 Jul 2018 11:38:28 +0200 > +Subject: [PATCH] Fix ion.h header inclusion to be standard > + > +NXP "solution" was to manually copy the header to include/linux. > +Let's point the Makefile to the proper (mainline) location instead: > +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h > + > +Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> Is it now possible to upstream things to codeaurora? Did you do that? > +--- > + Makefile | 2 ++ > + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +- > + 2 files changed, 3 insertions(+), 1 deletion(-) > + > +diff --git a/Makefile b/Makefile > +index b74e23a..a5ce22b 100755 > +--- a/Makefile > ++++ b/Makefile > +@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so > + INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc > + #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver > + INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include > ++# ION header location > ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi > + > + CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \ > + -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \ > +diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c > +index 8183660..ed37d86 100644 > +--- a/decoder_sw/software/linux/dwl/dwl_linux.c > ++++ b/decoder_sw/software/linux/dwl/dwl_linux.c > +@@ -41,7 +41,7 @@ > + #include "dwl.h" > + #include <linux/hantrodec.h> > + #ifdef USE_ION > +-#include <linux/ion.h> > ++#include <ion.h> > + #ifdef ANDROID > + #include <linux/mxc_ion.h> > + #endif > +-- > +2.18.0 > + > diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in > new file mode 100644 > index 0000000000..5a1255164e > --- /dev/null > +++ b/package/freescale-imx/imx-vpu-hantro/Config.in > @@ -0,0 +1,15 @@ > +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 If you make a new BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO, this becomes unnecessary. Actually the dependency on BR2_arm in imx-vpu is also redundant now IMO. > + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU > + help > + Library of userspace helpers specific for the NXP i.MX CPUs > + integrating a Hantro Video Processing Unit (VPU). It requires > + a kernel that includes the i.MX specific headers to be built. You copied this from imx-vpu, but it is wrong there... Look at commit 0ac0982fb7e936c48c0925b272eb18e0195e1c47 which removed the Linux dependency but failed to update the help text... So, you need to add a dependency on BR2_LINUX_KERNEL and the corresponding comment. Regards, Arnout > + > + This library is provided by Freescale as-is and doesn't have > + an upstream. > diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash > new file mode 100644 > index 0000000000..3b1a545b3f > --- /dev/null > +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash > @@ -0,0 +1,2 @@ > +sha256 cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302 imx-vpu-hantro-1.6.0.bin > +sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a COPYING > diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk > new file mode 100644 > index 0000000000..57ce411e63 > --- /dev/null > +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk > @@ -0,0 +1,42 @@ > +################################################################################ > +# > +# imx-vpu-hantro > +# > +################################################################################ > + > +IMX_VPU_HANTRO_VERSION = 1.6.0 > +IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE) > +IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin > + > +IMX_VPU_HANTRO_INSTALL_STAGING = YES > + > +IMX_VPU_HANTRO_MAKE_ENV = \ > + $(TARGET_MAKE_ENV) \ > + $(TARGET_CONFIGURE_OPTS) \ > + CROSS_COMPILE="$(TARGET_CROSS)" \ > + SDKTARGETSYSROOT=$(STAGING_DIR) \ > + LINUX_KERNEL_ROOT=$(LINUX_DIR) > + > +IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement > +IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING > +IMX_VPU_HANTRO_REDISTRIBUTE = NO > + > +define IMX_VPU_HANTRO_EXTRACT_CMDS > + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_DL_DIR)/$(IMX_VPU_HANTRO_SOURCE)) > +endef > + > +define IMX_VPU_HANTRO_BUILD_CMDS > + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) > +endef > + > +define IMX_VPU_HANTRO_INSTALL_STAGING_CMDS > + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ > + DEST_DIR=$(STAGING_DIR) libdir=/usr/lib install > +endef > + > +define IMX_VPU_HANTRO_INSTALL_TARGET_CMDS > + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ > + DEST_DIR=$(TARGET_DIR) libdir=/usr/lib install > +endef > + > +$(eval $(generic-package)) >
Hi Arnout, On Thu, Jul 26, 2018 at 11:41:44AM +0200, Arnout Vandecappelle wrote: > > > On 25-07-18 17:01, Gary Bisson wrote: > > This package provides the user-space libraries needed to use the Hantro > > VPU present in processors such as the i.MX8MQ. > > > > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> > > --- > > package/freescale-imx/Config.in | 4 +- > > ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++ > > .../freescale-imx/imx-vpu-hantro/Config.in | 15 +++++++ > > .../imx-vpu-hantro/imx-vpu-hantro.hash | 2 + > > .../imx-vpu-hantro/imx-vpu-hantro.mk | 42 ++++++++++++++++++ > > 5 files changed, 106 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 > > > > diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in > > index 5e0c7ff291..9b47958ff3 100644 > > --- a/package/freescale-imx/Config.in > > +++ b/package/freescale-imx/Config.in > > @@ -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 > > Wouldn't it make more sense to make a new _HAS_VPU_HANTRO option? You're later > changing some 'depends' options to depending on the provider instead of > depending on the VPU, so that makes sense. Yes we could, I just didn't do it as first as I recall someone not being fond of the FREESCALE_IMX_HAS_XXX options. But if we remove the virtual package as Thomas suggested that would be best indeed. > > 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) > > diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch > > new file mode 100644 > > index 0000000000..951ead9824 > > --- /dev/null > > +++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch > > @@ -0,0 +1,44 @@ > > +From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001 > > +From: Gary Bisson <gary.bisson@boundarydevices.com> > > +Date: Thu, 12 Jul 2018 11:38:28 +0200 > > +Subject: [PATCH] Fix ion.h header inclusion to be standard > > + > > +NXP "solution" was to manually copy the header to include/linux. > > +Let's point the Makefile to the proper (mainline) location instead: > > +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h > > + > > +Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> > > Is it now possible to upstream things to codeaurora? Did you do that? Not that I know of. I've tried sending emails to the owner of the repo + main contributor but never received an answer. The best approach is to have that patch in the meta-freescale BSP, then NXP will look at it (it is the case here). > > +--- > > + Makefile | 2 ++ > > + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +- > > + 2 files changed, 3 insertions(+), 1 deletion(-) > > + > > +diff --git a/Makefile b/Makefile > > +index b74e23a..a5ce22b 100755 > > +--- a/Makefile > > ++++ b/Makefile > > +@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so > > + INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc > > + #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver > > + INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include > > ++# ION header location > > ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi > > + > > + CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \ > > + -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \ > > +diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c > > +index 8183660..ed37d86 100644 > > +--- a/decoder_sw/software/linux/dwl/dwl_linux.c > > ++++ b/decoder_sw/software/linux/dwl/dwl_linux.c > > +@@ -41,7 +41,7 @@ > > + #include "dwl.h" > > + #include <linux/hantrodec.h> > > + #ifdef USE_ION > > +-#include <linux/ion.h> > > ++#include <ion.h> > > + #ifdef ANDROID > > + #include <linux/mxc_ion.h> > > + #endif > > +-- > > +2.18.0 > > + > > diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in > > new file mode 100644 > > index 0000000000..5a1255164e > > --- /dev/null > > +++ b/package/freescale-imx/imx-vpu-hantro/Config.in > > @@ -0,0 +1,15 @@ > > +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 > > If you make a new BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO, this becomes > unnecessary. Actually the dependency on BR2_arm in imx-vpu is also redundant now > IMO. True. > > + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU > > + help > > + Library of userspace helpers specific for the NXP i.MX CPUs > > + integrating a Hantro Video Processing Unit (VPU). It requires > > + a kernel that includes the i.MX specific headers to be built. > > You copied this from imx-vpu, but it is wrong there... Look at commit > 0ac0982fb7e936c48c0925b272eb18e0195e1c47 which removed the Linux dependency but > failed to update the help text... Yep, will update help text for imx-vpu. Here it is required. > So, you need to add a dependency on BR2_LINUX_KERNEL and the corresponding comment. Yes. Thanks, Gary
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index 5e0c7ff291..9b47958ff3 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -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) diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch new file mode 100644 index 0000000000..951ead9824 --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch @@ -0,0 +1,44 @@ +From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001 +From: Gary Bisson <gary.bisson@boundarydevices.com> +Date: Thu, 12 Jul 2018 11:38:28 +0200 +Subject: [PATCH] Fix ion.h header inclusion to be standard + +NXP "solution" was to manually copy the header to include/linux. +Let's point the Makefile to the proper (mainline) location instead: +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h + +Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> +--- + Makefile | 2 ++ + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index b74e23a..a5ce22b 100755 +--- a/Makefile ++++ b/Makefile +@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so + INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc + #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver + INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include ++# ION header location ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi + + CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \ + -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \ +diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c +index 8183660..ed37d86 100644 +--- a/decoder_sw/software/linux/dwl/dwl_linux.c ++++ b/decoder_sw/software/linux/dwl/dwl_linux.c +@@ -41,7 +41,7 @@ + #include "dwl.h" + #include <linux/hantrodec.h> + #ifdef USE_ION +-#include <linux/ion.h> ++#include <ion.h> + #ifdef ANDROID + #include <linux/mxc_ion.h> + #endif +-- +2.18.0 + diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in new file mode 100644 index 0000000000..5a1255164e --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/Config.in @@ -0,0 +1,15 @@ +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 CPUs + integrating a Hantro Video Processing Unit (VPU). 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. diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash new file mode 100644 index 0000000000..3b1a545b3f --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash @@ -0,0 +1,2 @@ +sha256 cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302 imx-vpu-hantro-1.6.0.bin +sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a COPYING diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk new file mode 100644 index 0000000000..57ce411e63 --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# imx-vpu-hantro +# +################################################################################ + +IMX_VPU_HANTRO_VERSION = 1.6.0 +IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE) +IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin + +IMX_VPU_HANTRO_INSTALL_STAGING = YES + +IMX_VPU_HANTRO_MAKE_ENV = \ + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + SDKTARGETSYSROOT=$(STAGING_DIR) \ + LINUX_KERNEL_ROOT=$(LINUX_DIR) + +IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement +IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING +IMX_VPU_HANTRO_REDISTRIBUTE = NO + +define IMX_VPU_HANTRO_EXTRACT_CMDS + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_DL_DIR)/$(IMX_VPU_HANTRO_SOURCE)) +endef + +define IMX_VPU_HANTRO_BUILD_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) +endef + +define IMX_VPU_HANTRO_INSTALL_STAGING_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ + DEST_DIR=$(STAGING_DIR) libdir=/usr/lib install +endef + +define IMX_VPU_HANTRO_INSTALL_TARGET_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ + DEST_DIR=$(TARGET_DIR) libdir=/usr/lib install +endef + +$(eval $(generic-package))
This package provides the user-space libraries needed to use the Hantro VPU present in processors such as the i.MX8MQ. Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> --- package/freescale-imx/Config.in | 4 +- ...on.h-header-inclusion-to-be-standard.patch | 44 +++++++++++++++++++ .../freescale-imx/imx-vpu-hantro/Config.in | 15 +++++++ .../imx-vpu-hantro/imx-vpu-hantro.hash | 2 + .../imx-vpu-hantro/imx-vpu-hantro.mk | 42 ++++++++++++++++++ 5 files changed, 106 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