Freescale i.MX multimedia libraries
cover Freescale i.MX multimedia libraries
This patch series adds Freescale's proprietary multimedia libraries for
the i.MX platform.
I only tested it on mx6q (SabreLite). I'm sending it now even though there
are still a few major shortcomings, so Peter (and others) have the chance to test it on different platforms while I'm on vacation.
These are the things I'd like to see improved - feedback is very welcome!
* The platform stuff. A separate choice in imx-lib and gst-fsl-plugins really doesn't work, because they are not kept consistent (the 'select' doesn't always work).
* The binary libraries are linked against glibc, so there probably should be a dependency on glibc/eglibc as well. However, for gst-fsl-plugins, not everything depends on the binary libraries. For instance, the VPU encoder/decoder only requires a firmware blob. Unfortunately, it still didn't work with uClibc (didn't spend much time on it though).
* All the binary libraries are installed, even though they are for other platforms. The whole thing is about 10MB.
* I couldn't find an official upstream download site, so I used a mirror, but it risks disappearing unexpectedly.
* More stuff should be selectable (e.g. which gst plugins to build).
The extraction of the .bin self-extractors if fortunately just slightly
messy :-) The legal-info on the other hand is horrible - as usual, the proprietary projects are much less conscientious about legal stuff and the typical open source project...
For the platform stuff, one idea I had was to create a new menu for
platform-specific packages. In that menu, you'd have a menuconfig per platform, and this menu could give a SoC choice. The platform-specific menus can collect all the platform-specific packages which are now "polluting" the rest of the menus. For example:
menu "Platform-specific packages"
menuconfig "Freescale i.MX"
choice "i.MX SoC"
config "i.MX 51"
config "i.MX 6"
endchoice
menuconfig "Freescale QorIQ"
menuconfig "Raspberry Pi"
menuconfig "Snowball"
source "package/snowball-hdmiservice"
source "package/snowball-init"
menuconfig "TI Davinci"
How does this sound?
Regards,
Arnout
RFC PATCH 1/6 imx-lib: new package
From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>
--- package/Config.in | 1 + package/imx-lib/Config.in | 53 ++++++++++++++++++++++++++++++++++++++++++++ package/imx-lib/imx-lib.mk | 41 ++++++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 package/imx-lib/Config.in create mode 100644 package/imx-lib/imx-lib.mk
package/Config.in +1 -0
@@ -421,6 +421,7 @@ endmenu menu "Hardware handling" source "package/ccid/Config.in" +source "package/imx-lib/Config.in" source "package/lcdapi/Config.in" source "package/libaio/Config.in" source "package/libraw1394/Config.in"
package/imx-lib/Config.in new file +53 -0
53 lines not on this page · raw message
package/imx-lib/imx-lib.mk new file +41 -0
41 lines not on this page · raw message
Signature · 1 line
1.7.10.4
RFC PATCH 2/6 libfslvpuwrap: new package
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>
--- package/Config.in | 1 + package/libfslvpuwrap/Config.in | 13 +++++++++++++ package/libfslvpuwrap/libfslvpuwrap.mk | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 package/libfslvpuwrap/Config.in create mode 100644 package/libfslvpuwrap/libfslvpuwrap.mk
package/Config.in +1 -0
@@ -453,6 +453,7 @@ menu "Multimedia" source "package/libdvdread/Config.in" source "package/libdvdnav/Config.in" source "package/libebml/Config.in" +source "package/libfslvpuwrap/Config.in" source "package/libmatroska/Config.in" source "package/libmms/Config.in" source "package/libmpeg2/Config.in"
package/libfslvpuwrap/Config.in new file +13 -0
@@ -0,0 +1,13 @@ +comment "libfslvpuwrap needs an imx-specific kernel to be built" + depends on BR2_arm && !BR2_LINUX_KERNEL + +config BR2_PACKAGE_LIBFSLVPUWRAP + bool "libfslvpuwrap" + depends on BR2_LINUX_KERNEL + depends on BR2_arm # Only relevant for i.MX + select BR2_PACKAGE_IMX_LIB + help + Wrapper library for the vpu library, giving it a different API. + + This library is provided by Freescale as-is and doesn't have + an upstream.
package/libfslvpuwrap/libfslvpuwrap.mk new file +18 -0
@@ -0,0 +1,18 @@ +############################################################# +# +# buildroot makefile for libfslvpuwrap +# +############################################################# + +LIBFSLVPUWRAP_VERSION = 1.0.17 +# No official download site from freescale, just this mirror +LIBFSLVPUWRAP_SITE = http://download.ossystems.com.br/bsp/freescale/source +LIBFSLVPUWRAP_LICENSE = Freescale Semiconductor Software License Agreement +LIBFSLVPUWRAP_LICENSE_FILES = EULA.txt +LIBFSLVPUWRAP_REDISTRIBUTE = NO + +LIBFSLVPUWRAP_INSTALL_STAGING = YES + +LIBFSLVPUWRAP_DEPENDENCIES += imx-lib + +$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
RFC PATCH 3/6 firmware-imx: new package
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>
--- package/Config.in | 1 + package/firmware-imx/Config.in | 13 ++++++++++++ package/firmware-imx/firmware-imx.mk | 38 ++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 package/firmware-imx/Config.in create mode 100644 package/firmware-imx/firmware-imx.mk
package/Config.in +1 -0
@@ -213,6 +213,7 @@ source "package/eeprog/Config.in" source "package/evtest/Config.in" source "package/flashrom/Config.in" source "package/fconfig/Config.in" +source "package/firmware-imx/Config.in" source "package/fis/Config.in" source "package/fmtools/Config.in" source "package/fxload/Config.in"
package/firmware-imx/Config.in new file +13 -0
@@ -0,0 +1,13 @@ +config BR2_PACKAGE_FIRMWARE_IMX + bool "firmware-imx" + depends on BR2_arm # Only relevant for i.MX + help + Firmware blobs for the Freescale i.MX SoCs. + + It contains blobs for Atheros AR6003, SDMA and VPU. + + Note: it also contains a blob for ar3k/30101 but upstream + linux-firmware has that as well. + + This library is provided by Freescale as-is and doesn't have + an upstream.
package/firmware-imx/firmware-imx.mk new file +38 -0
@@ -0,0 +1,38 @@ +############################################################# +# +# buildroot makefile for firmware-imx +# +############################################################# + +FIRMWARE_IMX_VERSION = 12.09.01 +# No official download site from freescale, just this mirror +FIRMWARE_IMX_SITE = http://download.ossystems.com.br/bsp/freescale/source +FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin +FIRMWARE_IMX_LICENSE = Freescale Semiconductor Software License Agreement, \ + Atheros license (ath6k) +FIRMWARE_IMX_LICENSE_FILES = licenses/vpu/EULA licenses/ath6k/AR6102/License.txt +# This is a legal minefield: the EULA specifies that +# the Board Support Package includes software and hardware (sic!) +# for which a separate license is needed... +FIRMWARE_IMX_REDISTRIBUTE = NO + +FIRMWARE_IMX_BLOBS = ath6k sdma vpu + +# The archive is a shell-self-extractor of a bzipped tar. It happens +# to extract in the correct directory (firmware-imx-x.y.z) +# The --force makes sure it doesn't fail if the source dir already exists. +# The --auto-accept skips the license check - not needed for us +# because we have legal-info. +define FIRMWARE_IMX_EXTRACT_CMDS + cd $(BUILD_DIR); \ + sh $(DL_DIR)/$(FIRMWARE_IMX_SOURCE) --force --auto-accept +endef + + +define FIRMWARE_IMX_INSTALL_TARGET_CMDS + for blobdir in $(FIRMWARE_IMX_BLOBS); do \ + cp -r $(@D)/firmware/$${blobdir} $(TARGET_DIR)/lib/firmware; \ + done +endef + +$(eval $(generic-package))
Signature · 1 line
1.7.10.4
RFC PATCH 3/6 firmware-imx: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:
Arnout> From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> Arnout> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]> Arnout> ---
Arnout> package/Config.in | 1 + Arnout> package/firmware-imx/Config.in | 13 ++++++++++++ Arnout> package/firmware-imx/firmware-imx.mk | 38 ++++++++++++++++++++++++++++++++++ Arnout> 3 files changed, 52 insertions(+) Arnout> create mode 100644 package/firmware-imx/Config.in Arnout> create mode 100644 package/firmware-imx/firmware-imx.mk
Arnout> diff --git a/package/Config.in b/package/Config.in Arnout> index ac2488e..52bb408 100644
Arnout> --- a/package/Config.in
Arnout> +++ b/package/Config.in
Arnout> @@ -213,6 +213,7 @@ source "package/eeprog/Config.in"
Arnout> source "package/evtest/Config.in" Arnout> source "package/flashrom/Config.in" Arnout> source "package/fconfig/Config.in"
Arnout> +source "package/firmware-imx/Config.in"
I moved this under the new Misc devices firmware menu.
Arnout> +define FIRMWARE_IMX_INSTALL_TARGET_CMDS
Arnout> + for blobdir in $(FIRMWARE_IMX_BLOBS); do \
Arnout> + cp -r $(@D)/firmware/$${blobdir} $(TARGET_DIR)/lib/firmware; \
Arnout> + done
Arnout> +endef
And stuck a mkdir -p $(TARGET_DIR)/lib/firmware here to ensure it's available.
Signature · 1 line
Bye, Peter Korsgaard
RFC PATCH 4/6 libfslparser: new package
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>
--- package/Config.in | 1 + package/libfslparser/Config.in | 8 +++++++ package/libfslparser/libfslparser.mk | 40 ++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 package/libfslparser/Config.in create mode 100644 package/libfslparser/libfslparser.mk
package/Config.in +1 -0
@@ -454,6 +454,7 @@ menu "Multimedia" source "package/libdvdread/Config.in" source "package/libdvdnav/Config.in" source "package/libebml/Config.in" +source "package/libfslparser/Config.in" source "package/libfslvpuwrap/Config.in" source "package/libmatroska/Config.in" source "package/libmms/Config.in"
package/libfslparser/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBFSLPARSER + bool "libfslparser" + depends on BR2_arm # Only relevant for i.MX + help + Binary parser libraries for the Freescale i.MX SoCs. + + This library is provided by Freescale as-is and doesn't have + an upstream.
package/libfslparser/libfslparser.mk new file +40 -0
@@ -0,0 +1,40 @@ +############################################################# +# +# buildroot makefile for libfslparser +# +############################################################# + +LIBFSLPARSER_VERSION = 3.0.1 +# No official download site from freescale, just this mirror +LIBFSLPARSER_SITE = http://download.ossystems.com.br/bsp/freescale/source +LIBFSLPARSER_SOURCE = libfslparser-$(LIBFSLPARSER_VERSION).bin +LIBFSLPARSER_LICENSE = Freescale Semiconductor Software License Agreement +LIBFSLPARSER_LICENSE_FILES = EULA EULA.txt +# This is a legal minefield: the EULA in the bin file specifies that +# the Board Support Package includes software and hardware (sic!) +# for which a separate license is needed... +LIBFSLPARSER_REDISTRIBUTE = NO + +LIBFSLPARSER_INSTALL_STAGING = YES + +# The archive is a shell-self-extractor of a bzipped tar. It happens +# to extract in the correct directory (libfslparser-x.y.z) +# The --force makes sure it doesn't fail if the source dir already exists. +# The --auto-accept skips the license check - not needed for us +# because we have legal-info +# Since the EULA in the bin file differs from the one in the tar file, +# extract the one from the bin file as well. +define LIBFSLPARSER_EXTRACT_CMDS + awk 'BEGIN { start=0; } \ + /^EOEULA/ { start = 0; } \ + { if (start) print; } \ + /<<EOEULA/ { start=1; }'\ + $(DL_DIR)/$(LIBFSLPARSER_SOURCE) > $(@D)/EULA + cd $(BUILD_DIR); \ + sh $(DL_DIR)/$(LIBFSLPARSER_SOURCE) --force --auto-accept +endef + +# The Makefile installs several versions of the libraries, but we only +# need one of them, depending on the platform. + +$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
RFC PATCH 5/6 libfslcodec: new package
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>
--- package/Config.in | 1 + package/libfslcodec/Config.in | 8 ++++++++ package/libfslcodec/libfslcodec.mk | 40 ++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 package/libfslcodec/Config.in create mode 100644 package/libfslcodec/libfslcodec.mk
package/Config.in +1 -0
@@ -454,6 +454,7 @@ menu "Multimedia" source "package/libdvdread/Config.in" source "package/libdvdnav/Config.in" source "package/libebml/Config.in" +source "package/libfslcodec/Config.in" source "package/libfslparser/Config.in" source "package/libfslvpuwrap/Config.in" source "package/libmatroska/Config.in"
package/libfslcodec/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBFSLCODEC + bool "libfslcodec" + depends on BR2_arm # Only relevant for i.MX + help + Binary codec libraries for the Freescale i.MX SoCs. + + This library is provided by Freescale as-is and doesn't have + an upstream.
package/libfslcodec/libfslcodec.mk new file +40 -0
@@ -0,0 +1,40 @@ +############################################################# +# +# buildroot makefile for libfslcodec +# +############################################################# + +LIBFSLCODEC_VERSION = 3.0.1 +# No official download site from freescale, just this mirror +LIBFSLCODEC_SITE = http://download.ossystems.com.br/bsp/freescale/source +LIBFSLCODEC_SOURCE = libfslcodec-$(LIBFSLCODEC_VERSION).bin +LIBFSLCODEC_LICENSE = Freescale Semiconductor Software License Agreement, BSD-3c (flac, ogg headers) +LIBFSLCODEC_LICENSE_FILES = EULA EULA.txt +# This is a legal minefield: the EULA in the bin file specifies that +# the Board Support Package includes software and hardware (sic!) +# for which a separate license is needed... +LIBFSLCODEC_REDISTRIBUTE = NO + +LIBFSLCODEC_INSTALL_STAGING = YES + +# The archive is a shell-self-extractor of a bzipped tar. It happens +# to extract in the correct directory (libfslcodec-x.y.z) +# The --force makes sure it doesn't fail if the source dir already exists. +# The --auto-accept skips the license check - not needed for us +# because we have legal-info. +# Since the EULA in the bin file differs from the one in the tar file, +# extract the one from the bin file as well. +define LIBFSLCODEC_EXTRACT_CMDS + awk 'BEGIN { start=0; } \ + /^EOEULA/ { start = 0; } \ + { if (start) print; } \ + /<<EOEULA/ { start=1; }'\ + $(DL_DIR)/$(LIBFSLCODEC_SOURCE) > $(@D)/EULA + cd $(BUILD_DIR); \ + sh $(DL_DIR)/$(LIBFSLCODEC_SOURCE) --force --auto-accept +endef + +# FIXME The Makefile installs both the arm9 and arm11 versions of the +# libraries, but we only need one of them. + +$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
RFC PATCH 5/6 libfslcodec: new package
Dear Arnout Vandecappelle,
Quoted 88 lines · Arnout Vandecappelle
From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>
--- package/Config.in | 1 + package/libfslcodec/Config.in | 8 ++++++++ package/libfslcodec/libfslcodec.mk | 40 ++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 package/libfslcodec/Config.in create mode 100644 package/libfslcodec/libfslcodec.mkpackage/Config.in +1
-0@@ -454,6 +454,7 @@ menu "Multimedia" source "package/libdvdread/Config.in" source "package/libdvdnav/Config.in" source "package/libebml/Config.in" +source "package/libfslcodec/Config.in" source "package/libfslparser/Config.in" source "package/libfslvpuwrap/Config.in" source "package/libmatroska/Config.in"package/libfslcodec/Config.in new file +8
-0@@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBFSLCODEC + bool "libfslcodec" + depends on BR2_arm # Only relevant for i.MX + help + Binary codec libraries for the Freescale i.MX SoCs. + + This library is provided by Freescale as-is and doesn't have + an upstream.package/libfslcodec/libfslcodec.mk new file +9
-0@@ -0,0 +1,40 @@ +############################################################# +# +# buildroot makefile for libfslcodec +# +############################################################# + +LIBFSLCODEC_VERSION = 3.0.1 +# No official download site from freescale, just this mirror +LIBFSLCODEC_SITE =http://download.ossystems.com.br/bsp/freescale/source
package/libfslcodec/libfslcodec.mk new file +2
-0+LIBFSLCODEC_SOURCE = libfslcodec-$(LIBFSLCODEC_VERSION).bin +LIBFSLCODEC_LICENSE = Freescale Semiconductor Software LicenseAgreement, BSD-3c (flac, ogg headers)
package/libfslcodec/libfslcodec.mk new file +11
-0+LIBFSLCODEC_LICENSE_FILES = EULA EULA.txt +# This is a legal minefield: the EULA in the bin file specifies that +# the Board Support Package includes software and hardware (sic!) +# for which a separate license is needed... +LIBFSLCODEC_REDISTRIBUTE = NO + +LIBFSLCODEC_INSTALL_STAGING = YES + +# The archive is a shell-self-extractor of a bzipped tar. It happens +# to extract in the correct directory (libfslcodec-x.y.z) +# The --force makes sure it doesn't fail if the source dir alreadyexists.
package/libfslcodec/libfslcodec.mk new file +3
-0+# The --auto-accept skips the license check - not needed for us +# because we have legal-info. +# Since the EULA in the bin file differs from the one in the tarfile,
package/libfslcodec/libfslcodec.mk new file +12
-0+# extract the one from the bin file as well. +define LIBFSLCODEC_EXTRACT_CMDS + awk 'BEGIN { start=0; } \ + /^EOEULA/ { start = 0; } \ + { if (start) print; } \ + /<<EOEULA/ { start=1; }'\ + $(DL_DIR)/$(LIBFSLCODEC_SOURCE) > $(@D)/EULA + cd $(BUILD_DIR); \ + sh $(DL_DIR)/$(LIBFSLCODEC_SOURCE) --force --auto-accept +endef + +# FIXME The Makefile installs both the arm9 and arm11 versions ofthe
package/libfslcodec/libfslcodec.mk line 40
Quoted 3 lines
package/libfslcodec/libfslcodec.mk new file +3
-0+# libraries, but we only need one of them. + +$(eval $(autotools-package))
For packages like this one that install pre-built libraries, it would be good to document somewhere or to auto-check (e.g. with toolchain kconfig options vs. package kconfig options) the ABI compatibility to make sure that there won't be any issue with the toolchain used.
Best regards,
Beno?t
RFC PATCH 5/6 libfslcodec: new package
Quoted 9 lines · Beno?t Th?baudeau
Quoted 5 lines
Quoted 5 lines
+# FIXME The
Makefileinstalls both the arm9 and arm11 versions of the
+# libraries, but we only need one of them.
+
+$(eval $(autotools-package))For packages like this one that install pre-built libraries, it would be good to document somewhere or to auto-check (e.g. with toolchain kconfig options vs. package kconfig options) the ABI compatibility to make sure that there won't be any issue with the toolchain used.
I agree, but how?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
RFC PATCH 5/6 libfslcodec: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle <[email protected]> writes:
Hi,
Quoted 5 lines
Quoted 5 lines
For packages like this one that install pre-built libraries, it would be good to document somewhere or to auto-check (e.g. with toolchain kconfig options vs. package kconfig options) the ABI compatibility to make sure that there won't be any issue with the toolchain used.
Arnout> I agree, but how?
I don't know the specifics of this package, but presumably it only works with glibc and a specific soft/softfp/hard floating point mode? If so, we could atleast catch some of these dependencies in Config.in.
Signature · 1 line
Bye, Peter Korsgaard
RFC PATCH 5/6 libfslcodec: new package
Quoted 10 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle<[email protected]> writes:
Hi,
Quoted 5 lines
Quoted 5 lines
For packages like this one that install pre-built libraries, it would be good to document somewhere or to auto-check (e.g. with toolchain kconfig options vs. package kconfig options) the ABI compatibility to make sure that there won't be any issue with the toolchain used.
Quoted 5 lines
Arnout> I agree, but how?
I don't know the specifics of this package, but presumably it only works with glibc and a specific soft/softfp/hard floating point mode? If so, we could atleast catch some of these dependencies in Config.in.
Yes, but how to know what the dependencies are (except by run-testing
with all the different toolchains on all the different SoCs)?
I'd also like to find a way to decide which of the _arm9, _arm11 or_arm12 libraries to use (they all have the same ABI flags...).
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
RFC PATCH 5/6 libfslcodec: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle <[email protected]> writes:
Hi,
Quoted 4 lines
Quoted 4 lines
I don't know the specifics of this package, but presumably it only works with glibc and a specific soft/softfp/hard floating point mode? If so, we could atleast catch some of these dependencies in Config.in.
Arnout> Yes, but how to know what the dependencies are (except by Arnout> run-testing with all the different toolchains on all the Arnout> different SoCs)?
Doesn't Freescale document this anyware, or atleast mention what toolchain they have used to build it?
Arnout> I'd also like to find a way to decide which of the _arm9, Arnout> _arm11 or _arm12 libraries to use (they all have the same ABI Arnout> flags...).
Can't you decide based on the selected ARM subarchitecture? If we need to do this in a bunch of places we could centralize it by adding some BR2_ARM_Vx symbols and select the correct one from the subarch choice.
Signature · 1 line
Bye, Peter Korsgaard
RFC PATCH 6/6 gst-fsl-plugins: new package
In reply to Arnout Vandecappelle (Essensium/Mind)From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]>
--- package/multimedia/Config.in | 1 + package/multimedia/gst-fsl-plugins/Config.in | 92 ++++++++++++++++++++ ...sl-plugins-0001-gplay-add-missing-include.patch | 23 +++++ ...gins-0002-Fix-bashism-in-configure-script.patch | 65 ++++++++++++++ .../gst-fsl-plugins-0003-Use-proper-objdump.patch | 36 ++++++++ .../multimedia/gst-fsl-plugins/gst-fsl-plugins.mk | 42 +++++++++ 6 files changed, 259 insertions(+) create mode 100644 package/multimedia/gst-fsl-plugins/Config.in create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch create mode 100644 package/multimedia/gst-fsl-plugins/gst-fsl-plugins.mk
package/multimedia/Config.in +1 -0
@@ -8,6 +8,7 @@ source "package/multimedia/ffmpeg/Config.in" source "package/multimedia/gstreamer/Config.in" source "package/multimedia/gst-ffmpeg/Config.in" source "package/multimedia/gst-dsp/Config.in" +source "package/multimedia/gst-fsl-plugins/Config.in" source "package/multimedia/gst-omapfb/Config.in" source "package/multimedia/gst-plugins-base/Config.in" source "package/multimedia/gst-plugins-good/Config.in"
package/multimedia/gst-fsl-plugins/Config.in new file +92 -0
92 lines not on this page · raw message
package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch new file +23 -0
@@ -0,0 +1,23 @@ +From ed649ccb8ddc724546172d329fca39b23c49b804 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> +Date: Mon, 17 Dec 2012 17:58:28 +0100 +Subject: [PATCH] gplay: add missing include + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]> +--- + tools/gplay/gst_snapshot.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/gplay/gst_snapshot.c b/tools/gplay/gst_snapshot.c +index 40dbb6f..596f399 100755 +--- a/tools/gplay/gst_snapshot.c ++++ b/tools/gplay/gst_snapshot.c +@@ -22,6 +22,7 @@ + + #include <gst/gst.h> + #include <string.h> ++#include <stdio.h> + #include "gst_snapshot.h" + + static void +--
package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch new file +65 -0
65 lines not on this page · raw message
package/multimedia/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch new file +36 -0
@@ -0,0 +1,36 @@ +From c58b658a93b1b6d6e94ba0306d58de845012cef6 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" <[email protected]> +Date: Tue, 18 Dec 2012 12:22:52 +0100 +Subject: [PATCH] Use proper objdump + +If the OBJDUMP environment variable is set, that should be used rather +than the objdump in PATH. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1a31a06..cc7557d 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -17,7 +17,7 @@ AC_DEFUN([FIND_PARSER_SONAME], + AC_MSG_CHECKING([for lib_$1_parser_$2_elinux.3.0.so soname]) + path=`$PKG_CONFIG --variable=libdir libfslparser` + SONAME=$( $CC -print-file-name=$path/lib_$1_parser_$2_elinux.so | \ +- while read output; do objdump -p $output | \ ++ while read output; do $OBJDUMP -p $output | \ + grep "SONAME" | \ + sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) + if [[ -z "$SONAME" ]]; then +@@ -37,7 +37,7 @@ AC_DEFUN([FIND_ACODEC_SONAME], + AC_MSG_CHECKING([for lib_$1_wrap_$2_elinux.so soname]) + path=`$PKG_CONFIG --variable=libdir libfslaudiocodec` + SONAME=$( $CC -print-file-name=$path/wrap/lib_$1_wrap_$2_elinux.so | \ +- while read output; do objdump -p $output | \ ++ while read output; do $OBJDUMP -p $output | \ + grep "SONAME" | \ + sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) + if [[ -z "$SONAME" ]]; then +--
package/multimedia/gst-fsl-plugins/gst-fsl-plugins.mk new file +42 -0
42 lines not on this page · raw message
Signature · 1 line
1.7.10.4
cover Freescale i.MX multimedia libraries
In reply to Arnout Vandecappelle (Essensium/Mind)Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:
Arnout> This patch series adds Freescale's proprietary multimedia libraries for Arnout> the i.MX platform.
Arnout> I only tested it on mx6q (SabreLite). I'm sending it now even Arnout> though there are still a few major shortcomings, so Peter (and Arnout> others) have the chance to test it on different platforms while Arnout> I'm on vacation.
Thanks. Nobody commented on these patches, and it's obviously useful for some people even if it isn't perfect, so I've committed them, thanks.
I haven't gotten to runtime test it yet, just done a tets build based on nitrogen6x_defconfig.
I will try to find time to runtime test stuff as well soonish.
Arnout> These are the things I'd like to see improved - feedback is Arnout> very welcome!
Arnout> * The platform stuff. A separate choice in imx-lib and Arnout> gst-fsl-plugins really doesn't work, because they are not kept Arnout> consistent (the 'select' doesn't always work).
Agreed. My build first failed because I had just enabled gst-fsl-plugins but forgotten to track down the imx-lib option to build for mx6.
I wonder where we should put such a "global" option though. Together with the arch settings?
Arnout> * All the binary libraries are installed, even though they are Arnout> for other platforms. The whole thing is about 10MB.
Yeah, that could presumably be trimmed fairly easily if we had a global imx variant setting.
Arnout> * I couldn't find an official upstream download site, so I used Arnout> a mirror, but it risks disappearing unexpectedly.
Yeah :/ It should get mirrored on sources.buildroot.net soon though. It's not completely clear to me if we are strictly allowed to mirror these though.
Arnout> For the platform stuff, one idea I had was to create a new menu for Arnout> platform-specific packages. In that menu, you'd have a menuconfig per Arnout> platform, and this menu could give a SoC choice. The platform-specific Arnout> menus can collect all the platform-specific packages which are now Arnout> "polluting" the rest of the menus. For example:
Arnout> menu "Platform-specific packages"
Arnout> menuconfig "Freescale i.MX"
Arnout> choice "i.MX SoC"
Arnout> config "i.MX 51"
Arnout> config "i.MX 6"
Arnout> endchoice
Arnout> menuconfig "Freescale QorIQ"
Arnout> menuconfig "Raspberry Pi"
Arnout> menuconfig "Snowball"
Arnout> source "package/snowball-hdmiservice"
Arnout> source "package/snowball-init"
Arnout> menuconfig "TI Davinci"
Yes, I guess that's what we need to move towards. It gets complicated when things either don't fit nicely within a single family though.
Signature · 1 line
Bye, Peter Korsgaard