From 49f97e39efb0045a5e9c0a5e9e8b151fab73d91f Mon Sep 17 00:00:00 2001 From: Alex Gonzalez Date: Tue, 20 Nov 2012 16:47:13 +0100 Subject: [PATCH] meta-digi-arm: Add imx-lib package. Signed-off-by: Alex Gonzalez --- .../fsl-mm-core/imx-lib.inc | 33 +++++++++++++++++ ...-Fix-decoding-mp4PackedPBFrame-strea.patch | 31 ++++++++++++++++ ...-Fix-the-issue-of-rotation-180-degre.patch | 36 +++++++++++++++++++ ...-do-not-error-if-no-VPU-IRAM-present.patch | 29 +++++++++++++++ .../fsl-mm-core/imx-lib_11.09.01.bb | 11 ++++++ 5 files changed, 140 insertions(+) create mode 100644 meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib.inc create mode 100644 meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0001-ENGR00156800-vpu-Fix-decoding-mp4PackedPBFrame-strea.patch create mode 100644 meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0002-ENGR00162690-vpu-Fix-the-issue-of-rotation-180-degre.patch create mode 100644 meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0003-vpu-do-not-error-if-no-VPU-IRAM-present.patch create mode 100644 meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib_11.09.01.bb diff --git a/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib.inc b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib.inc new file mode 100644 index 000000000..084e6c65a --- /dev/null +++ b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib.inc @@ -0,0 +1,33 @@ +# Copyright (C) 2012 Freescale Semiconductor +# Copyright (C) 2012 Digi International. + +DESCRIPTION = "Platform specific libraries for imx platform" +LICENSE = "LGPLv2.1" +SECTION = "multimedia" +DEPENDS = "virtual/kernel" + +INC_PR = "r2" + +LIC_FILES_CHKSUM = "file://ipu/mxc_ipu_hl_lib.h;endline=13;md5=6c7486b21a8524b1879fa159578da31e" + +SRC_URI = "${DIGI_LOG_MIRROR}/${PN}-${PV}.tar.gz" + +PLATFORM_mx5 = "IMX51" + +PARALLEL_MAKE="-j 1" +EXTRA_OEMAKE = "" + +do_compile () { + INCLUDE_DIR="-I${STAGING_INCDIR} -I${STAGING_KERNEL_DIR}/drivers/mxc/security/rng/include \ + -I${STAGING_KERNEL_DIR}/drivers/mxc/security/sahara2/include \ + -I${STAGING_KERNEL_DIR}/include" + oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all +} + +do_install () { + oe_runmake DEST_DIR="${D}" install +} + +FILES_${PN} += "${libdir}/*${SOLIBS}" +FILES_${PN}-dbg += "${libdir}/.debug" +FILES_${PN}-dev += "${libdir}/*${SOLIBSDEV}" diff --git a/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0001-ENGR00156800-vpu-Fix-decoding-mp4PackedPBFrame-strea.patch b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0001-ENGR00156800-vpu-Fix-decoding-mp4PackedPBFrame-strea.patch new file mode 100644 index 000000000..4fa3d8be2 --- /dev/null +++ b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0001-ENGR00156800-vpu-Fix-decoding-mp4PackedPBFrame-strea.patch @@ -0,0 +1,31 @@ +From 3bca9e128dd82e69f877e90c1bcd614c48a75161 Mon Sep 17 00:00:00 2001 +From: Sammy He +Date: Thu, 15 Sep 2011 22:40:10 +0800 +Subject: [PATCH 1/3] ENGR00156800 vpu: Fix decoding mp4PackedPBFrame stream failure issue + +Decoding the stream with mp4PackedPBFrame is failure due to write +point in bitstream set wrong. +This patch will fix it. + +Signed-off-by: Sammy He +--- + vpu/vpu_lib.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c +index a5522fa..32d44b2 100644 +--- a/vpu/vpu_lib.c ++++ b/vpu/vpu_lib.c +@@ -3552,6 +3552,9 @@ RetCode vpu_DecGetOutputInfo(DecHandle handle, DecOutputInfo * info) + info->notSufficientSliceBuffer = (val >> 2) & 0x1; + } else if (pCodecInst->codecMode == MP4_DEC) { + info->mp4PackedPBframe = ((val >> 16) & 0x01); ++ /* Need to backup WR_PTR for mp4PackedPBframe */ ++ if (info->mp4PackedPBframe) ++ pCodecInst->ctxRegs[CTX_BIT_WR_PTR] = VpuReadReg(BIT_WR_PTR); + } + + val = VpuReadReg(RET_DEC_PIC_SIZE); /* decoding picture size */ +-- +1.7.1 + diff --git a/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0002-ENGR00162690-vpu-Fix-the-issue-of-rotation-180-degre.patch b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0002-ENGR00162690-vpu-Fix-the-issue-of-rotation-180-degre.patch new file mode 100644 index 000000000..1183b29dc --- /dev/null +++ b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0002-ENGR00162690-vpu-Fix-the-issue-of-rotation-180-degre.patch @@ -0,0 +1,36 @@ +From 57e5a741c5bef4ac5afd820979a93808ecc97c64 Mon Sep 17 00:00:00 2001 +From: Sammy He +Date: Mon, 21 Nov 2011 23:08:18 +0800 +Subject: [PATCH 2/3] ENGR00162690 vpu: Fix the issue of rotation 180 degree in encoder + +There may be mosaic if rotation is 180 degree in vpu encoder on mx5. +This patch fixed it, same solution is applied to mx6 platform. + +Signed-off-by: Sammy He +--- + vpu/vpu_lib.c | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) + +diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c +index 32d44b2..0fcf5d5 100644 +--- a/vpu/vpu_lib.c ++++ b/vpu/vpu_lib.c +@@ -1306,7 +1306,6 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param) + return RETCODE_FAILURE_TIMEOUT; + + if (pEncInfo->rotationEnable) { +- rotMirEnable = 0x10; /* Enable rotator */ + switch (pEncInfo->rotationAngle) { + case 0: + rotMirMode |= 0x0; +@@ -1326,7 +1325,6 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param) + } + } + if (pEncInfo->mirrorEnable) { +- rotMirEnable = 0x10; /* Enable mirror */ + switch (pEncInfo->mirrorDirection) { + case MIRDIR_NONE: + rotMirMode |= 0x0; +-- +1.7.1 + diff --git a/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0003-vpu-do-not-error-if-no-VPU-IRAM-present.patch b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0003-vpu-do-not-error-if-no-VPU-IRAM-present.patch new file mode 100644 index 000000000..a37d31195 --- /dev/null +++ b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib/imx-lib-11.09.01-0003-vpu-do-not-error-if-no-VPU-IRAM-present.patch @@ -0,0 +1,29 @@ +From: Alex Gonzalez +Date: Thu, 3 May 2012 18:05:09 +0200 +Subject: [PATCH] imx-lib: Do not error if no VPU IRAM present. + +When the kernel is configured with no VPU IRAM, the vpu encoder prints +an error message. Transform it into a warning as functionally everything +works fine with no VPU IRAM. + +CCORE_MX53_EXTENSIONS-85 + +Signed-off-by: Alex Gonzalez +--- + vpu/vpu_util.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/vpu/vpu_util.c b/vpu/vpu_util.c +index fba9434..e042206 100644 +--- a/vpu/vpu_util.c ++++ b/vpu/vpu_util.c +@@ -1005,7 +1005,7 @@ void SetEncSecondAXIIRAM(SecAxiUse *psecAxiIramInfo, SetIramParam *parm) + psecAxiIramInfo->searchRamAddr = iram.start; + size -= psecAxiIramInfo->searchRamSize; + } else { +- err_msg("VPU iram is less than search ram size\n"); ++ warn_msg("VPU iram is less than search ram size\n"); + goto out; + } + + diff --git a/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib_11.09.01.bb b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib_11.09.01.bb new file mode 100644 index 000000000..3a1b9e2b3 --- /dev/null +++ b/meta-digi-arm/recipes-multimedia/fsl-mm-core/imx-lib_11.09.01.bb @@ -0,0 +1,11 @@ +include imx-lib.inc + +PR = "${INC_PR}.1" + +COMPATIBLE_MACHINE = "(mx5)" + +SRC_URI += " file://imx-lib-11.09.01-0001-ENGR00156800-vpu-Fix-decoding-mp4PackedPBFrame-strea.patch \ + file://imx-lib-11.09.01-0002-ENGR00162690-vpu-Fix-the-issue-of-rotation-180-degre.patch \ + file://imx-lib-11.09.01-0003-vpu-do-not-error-if-no-VPU-IRAM-present.patch " +SRC_URI[md5sum] = "45574f8f32f7000ca11d585fa60dea8c" +SRC_URI[sha256sum] = "f151a8bb3099b596b5834a1139c19e526802e6a0aa965018d16375e7e1f48f27"