Message ID | 1454154357-31625-9-git-send-email-gary.bisson@boundarydevices.com |
---|---|
State | Changes Requested |
Headers | show |
Dear Gary Bisson, On Sat, 30 Jan 2016 12:45:55 +0100, Gary Bisson wrote: > diff --git a/package/Config.in b/package/Config.in > index 09c2b40..d3e5e30 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -1033,6 +1033,7 @@ menu "Multimedia" > source "package/libfslparser/Config.in" > source "package/libfslvpuwrap/Config.in" > source "package/libhdhomerun/Config.in" > + source "package/libimxvpuapi/Config.in" Why isn't it part of the package/freescale/ directory ? Because it isn't sourced from the same site ? > source "package/libmatroska/Config.in" > source "package/libmms/Config.in" > source "package/libmpeg2/Config.in" > diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in > new file mode 100644 > index 0000000..222aa76 > --- /dev/null > +++ b/package/libimxvpuapi/Config.in > @@ -0,0 +1,10 @@ > +config BR2_PACKAGE_LIBIMXVPUAPI > + bool "libimxvpuapi" > + depends on BR2_arm # Only relevant for i.MX > + select BR2_PACKAGE_FREESCALE_IMX > + select BR2_PACKAGE_IMX_VPU I am wondering if the first one shouldn't be a "depends on", but I'm not sure. What do other think ? > + help > + This library provides an API for using the iMX6 VPU video engine. It > + is an alternative to Freescale's VPU wrapper. Both the wrapper and > + this library are layered on top of imx-vpu, the low-level iMX6 VPU > + interface. A URL to the upstream web page would be good. A github page is fine as a fallback if there's no real upstream web site. > diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk > new file mode 100644 > index 0000000..ff9282d > --- /dev/null > +++ b/package/libimxvpuapi/libimxvpuapi.mk > @@ -0,0 +1,35 @@ > +################################################################################ > +# > +# libimxvpuapi > +# > +################################################################################ > + > +LIBIMXVPUAPI_VERSION = 0.10.1 > +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION)) > +LIBIMXVPUAPI_LICENSE = LGPLv2.1 License seems to be LGPLv2.1+. Also, you forgot to include a hash file. Could you fix those issues and send an updated version? Thanks a lot! Thomas
Thomas, All, On Mon, Feb 1, 2016 at 9:42 PM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Dear Gary Bisson, > > On Sat, 30 Jan 2016 12:45:55 +0100, Gary Bisson wrote: > >> diff --git a/package/Config.in b/package/Config.in >> index 09c2b40..d3e5e30 100644 >> --- a/package/Config.in >> +++ b/package/Config.in >> @@ -1033,6 +1033,7 @@ menu "Multimedia" >> source "package/libfslparser/Config.in" >> source "package/libfslvpuwrap/Config.in" >> source "package/libhdhomerun/Config.in" >> + source "package/libimxvpuapi/Config.in" > > Why isn't it part of the package/freescale/ directory ? Because it > isn't sourced from the same site ? No actually my thought process was that this package is the equivalent of libfslvpuwrap which, for some reason, isn't part of the freescale-imx folder. Not sure why, I'm sure there's an historical reason behind it. >> source "package/libmatroska/Config.in" >> source "package/libmms/Config.in" >> source "package/libmpeg2/Config.in" >> diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in >> new file mode 100644 >> index 0000000..222aa76 >> --- /dev/null >> +++ b/package/libimxvpuapi/Config.in >> @@ -0,0 +1,10 @@ >> +config BR2_PACKAGE_LIBIMXVPUAPI >> + bool "libimxvpuapi" >> + depends on BR2_arm # Only relevant for i.MX >> + select BR2_PACKAGE_FREESCALE_IMX >> + select BR2_PACKAGE_IMX_VPU > > I am wondering if the first one shouldn't be a "depends on", but I'm > not sure. What do other think ? > >> + help >> + This library provides an API for using the iMX6 VPU video engine. It >> + is an alternative to Freescale's VPU wrapper. Both the wrapper and >> + this library are layered on top of imx-vpu, the low-level iMX6 VPU >> + interface. > > A URL to the upstream web page would be good. A github page is fine as > a fallback if there's no real upstream web site. Ok, I will add the Github page then: https://github.com/Freescale/libimxvpuapi >> diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk >> new file mode 100644 >> index 0000000..ff9282d >> --- /dev/null >> +++ b/package/libimxvpuapi/libimxvpuapi.mk >> @@ -0,0 +1,35 @@ >> +################################################################################ >> +# >> +# libimxvpuapi >> +# >> +################################################################################ >> + >> +LIBIMXVPUAPI_VERSION = 0.10.1 >> +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION)) >> +LIBIMXVPUAPI_LICENSE = LGPLv2.1 > > License seems to be LGPLv2.1+. The LICENSE file says LGPLv2.1 but indeed the source code headers state the LGPLv2.1+. Who wins then? https://github.com/Freescale/libimxvpuapi/blob/master/imxvpuapi/imxvpuapi_jpeg.c#L7 https://github.com/Freescale/libimxvpuapi/blob/master/LICENSE > Also, you forgot to include a hash file. Could you fix those issues and > send an updated version? I might have missed an update, are we providing hash even for Github projects now? Regards, Gary
Hello, On Mon, 1 Feb 2016 22:07:35 +0100, Gary Bisson wrote: > >> diff --git a/package/Config.in b/package/Config.in > >> index 09c2b40..d3e5e30 100644 > >> --- a/package/Config.in > >> +++ b/package/Config.in > >> @@ -1033,6 +1033,7 @@ menu "Multimedia" > >> source "package/libfslparser/Config.in" > >> source "package/libfslvpuwrap/Config.in" > >> source "package/libhdhomerun/Config.in" > >> + source "package/libimxvpuapi/Config.in" > > > > Why isn't it part of the package/freescale/ directory ? Because it > > isn't sourced from the same site ? > > No actually my thought process was that this package is the equivalent > of libfslvpuwrap which, for some reason, isn't part of the > freescale-imx folder. Not sure why, I'm sure there's an historical > reason behind it. The main reason to have a sub-folder is to be able to share variables, such as _VERSION and _SITE. So if they are not shared with your package, there's indeed little reason to have it under package/freescale-imx/. Now, the question is where it should appear in the menuconfig. I don't have a strong opinion here, but if libfslvpuwrap is in Multimedia, then I think your choice is OK. And indeed, libfslvpuwrap also selects BR2_PACKAGE_FREESCALE_IMX and BR2_PACKAGE_IMX_VPU, so let's do the same for your package. > >> +LIBIMXVPUAPI_VERSION = 0.10.1 > >> +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION)) > >> +LIBIMXVPUAPI_LICENSE = LGPLv2.1 > > > > License seems to be LGPLv2.1+. > > The LICENSE file says LGPLv2.1 but indeed the source code headers > state the LGPLv2.1+. Who wins then? > https://github.com/Freescale/libimxvpuapi/blob/master/imxvpuapi/imxvpuapi_jpeg.c#L7 > https://github.com/Freescale/libimxvpuapi/blob/master/LICENSE It's not a question of who wins. All software under GPLvX+ or LGPLvX+ will have the license text of GPLvX or LGPLvX in its COPYING/LICENSE file. It doesn't change the fact that the source is distributed under GPLvX+ / LGPLvX+, which means that the recipient can chose either GPLvX or any later version of the GPL (ditto LGPLvX). > > Also, you forgot to include a hash file. Could you fix those issues and > > send an updated version? > > I might have missed an update, are we providing hash even for Github > projects now? As explained on IRC, Github changed the way they generate tarballs, and they now seem to generate stable tarballs (i.e tarballs that have the exact same contents for a given tag/commit of a given project). Thanks! Thomas
diff --git a/package/Config.in b/package/Config.in index 09c2b40..d3e5e30 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1033,6 +1033,7 @@ menu "Multimedia" source "package/libfslparser/Config.in" source "package/libfslvpuwrap/Config.in" source "package/libhdhomerun/Config.in" + source "package/libimxvpuapi/Config.in" source "package/libmatroska/Config.in" source "package/libmms/Config.in" source "package/libmpeg2/Config.in" diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in new file mode 100644 index 0000000..222aa76 --- /dev/null +++ b/package/libimxvpuapi/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBIMXVPUAPI + bool "libimxvpuapi" + depends on BR2_arm # Only relevant for i.MX + select BR2_PACKAGE_FREESCALE_IMX + select BR2_PACKAGE_IMX_VPU + help + This library provides an API for using the iMX6 VPU video engine. It + is an alternative to Freescale's VPU wrapper. Both the wrapper and + this library are layered on top of imx-vpu, the low-level iMX6 VPU + interface. diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk new file mode 100644 index 0000000..ff9282d --- /dev/null +++ b/package/libimxvpuapi/libimxvpuapi.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# libimxvpuapi +# +################################################################################ + +LIBIMXVPUAPI_VERSION = 0.10.1 +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION)) +LIBIMXVPUAPI_LICENSE = LGPLv2.1 +LIBIMXVPUAPI_LICENSE_FILES = LICENSE +LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu +LIBIMXVPUAPI_INSTALL_STAGING = YES + +define LIBIMXVPUAPI_CONFIGURE_CMDS + cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \ + --prefix=/usr +endef + +define LIBIMXVPUAPI_BUILD_CMDS + cd $(@D); \ + $(HOST_DIR)/usr/bin/python2 ./waf build -j $(PARALLEL_JOBS) +endef + +define LIBIMXVPUAPI_INSTALL_STAGING_CMDS + cd $(@D); \ + $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(STAGING_DIR) install +endef + +define LIBIMXVPUAPI_INSTALL_TARGET_CMDS + cd $(@D); \ + $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(TARGET_DIR) install +endef + +$(eval $(generic-package))
This is a library for using the i.MX6 VPU. It is an alternative to libfslvpuwrap, hosted on Github, and has an API that features several improvements over libfslvpuwrap, which include: * User-defined context information associated with input frames, which is passed on to corresponding output frames (to be able to identify which input frame produced which output frame) * Groundwork for future DMA-BUF/BMM/ION/CMA allocator integration, using file descriptors instead of physical addresses * Indicators for when it is safe to try to decode frames, which is critical in multi-threaded playback cases * Simplified, higher-level JPEG en/decoding API, based on the VPU MJPEG codec; useful for picture viewing without the extra boilerplate for VPU-based en/decoding Changelog 0.10.0 -> 0.10.1: - add debian packaging files - update waf to version 1.8.16 - add workaround in wscript to prevent stale pkg-config .pc files - fix memory leak by adding missing IOFreeVirtMem() call in vpulib backend This patch is based on the Yocto equivalent: https://github.com/Freescale/meta-fsl-arm/commit/e519d6c https://github.com/Freescale/meta-fsl-arm/commit/1dd6a5b This package has been implicitely tested through gstreamer as the plugins rely on it for vpu decoding: # gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> --- package/Config.in | 1 + package/libimxvpuapi/Config.in | 10 ++++++++++ package/libimxvpuapi/libimxvpuapi.mk | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 package/libimxvpuapi/Config.in create mode 100644 package/libimxvpuapi/libimxvpuapi.mk