meta-digi-arm: Add imx-lib package.

Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commit is contained in:
Alex Gonzalez 2012-11-20 16:47:13 +01:00
parent b9f421b1b9
commit 49f97e39ef
5 changed files with 140 additions and 0 deletions

View File

@ -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}"

View File

@ -0,0 +1,31 @@
From 3bca9e128dd82e69f877e90c1bcd614c48a75161 Mon Sep 17 00:00:00 2001
From: Sammy He <r62914@freescale.com>
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 <r62914@freescale.com>
---
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

View File

@ -0,0 +1,36 @@
From 57e5a741c5bef4ac5afd820979a93808ecc97c64 Mon Sep 17 00:00:00 2001
From: Sammy He <r62914@freescale.com>
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 <r62914@freescale.com>
---
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

View File

@ -0,0 +1,29 @@
From: Alex Gonzalez <alex.gonzalez@digi.com>
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 <alex.gonzalez@digi.com>
---
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;
}

View File

@ -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"