rkmpp: update to f367af4

This commit is contained in:
Jonas Karlman 2019-01-15 19:50:06 +01:00
parent e1da5b4a93
commit a6e2371d14
7 changed files with 9 additions and 149 deletions

View File

@ -2,8 +2,8 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="rkmpp"
PKG_VERSION="50d2179ff5d271c591f87082ad757aa99ee6501d"
PKG_SHA256="f9bc02d987de47b98aa9c847ca696bf23fedcdd8bed7f1fe8509cc5ba25954ed"
PKG_VERSION="f367af4a37db719dde7a03a09bc0bb977b185a29"
PKG_SHA256="546f74e2e6ef9bbd543778fd39793f552929db2838b518a5c7a51e864756c73f"
PKG_ARCH="arm aarch64"
PKG_LICENSE="APL"
PKG_SITE="https://github.com/rockchip-linux/mpp"

View File

@ -1,4 +1,4 @@
From dded8152c718456fc35e4ba8ae42aca9b92509f0 Mon Sep 17 00:00:00 2001
From 3b9802254aeed9a0708d6c0c6b64c6b94ede3fa5 Mon Sep 17 00:00:00 2001
From: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Date: Mon, 29 May 2017 14:08:43 +0200
Subject: [PATCH] fix 32-bit mmap issue on 64-bit kernels

View File

@ -1,4 +1,4 @@
From 0bcf210be37b631039ceef89155538770ccefed7 Mon Sep 17 00:00:00 2001
From 9e8b370b826e662879fcec9193956ec59a7db331 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 24 Jun 2018 11:07:44 +0200
Subject: [PATCH] disable unit tests by default

View File

@ -1,4 +1,4 @@
From 773108dc3584ce325ff4127dbd54a0a935a89bfc Mon Sep 17 00:00:00 2001
From 57a996a3c2ebf8991216c9084b476254e205c28c Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Fri, 7 Sep 2018 19:53:10 +0200
Subject: [PATCH] [h264d]: fix mpp_buf_slot_get_prop crash
@ -8,10 +8,10 @@ Subject: [PATCH] [h264d]: fix mpp_buf_slot_get_prop crash
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/mpp/codec/dec/h264/h264d_init.c b/mpp/codec/dec/h264/h264d_init.c
index f32c2a77..46f02466 100644
index cd17776c..acad2ea7 100644
--- a/mpp/codec/dec/h264/h264d_init.c
+++ b/mpp/codec/dec/h264/h264d_init.c
@@ -1387,7 +1387,11 @@ static RK_U32 check_ref_dbp_err(H264_DecCtx_t *p_Dec, H264_RefPicInfo_t *pref, R
@@ -1401,7 +1401,11 @@ static RK_U32 check_ref_dbp_err(H264_DecCtx_t *p_Dec, H264_RefPicInfo_t *pref, R
for (i = 0; i < MAX_REF_SIZE; i++) {
if (pref[i].valid) {
MppFrame mframe = NULL;

View File

@ -1,140 +0,0 @@
From 51c122a2ee9a1f06c6a33bddc0be2db1065bb385 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Tue, 7 Aug 2018 18:14:57 +0200
Subject: [PATCH] [h264d]: revert vdpu fast mode code
---
mpp/hal/rkdec/h264d/hal_h264d_vdpu1.c | 18 +++++-------------
mpp/hal/rkdec/h264d/hal_h264d_vdpu2.c | 18 +++++-------------
2 files changed, 10 insertions(+), 26 deletions(-)
diff --git a/mpp/hal/rkdec/h264d/hal_h264d_vdpu1.c b/mpp/hal/rkdec/h264d/hal_h264d_vdpu1.c
index 59d1d7dd..35356c2f 100644
--- a/mpp/hal/rkdec/h264d/hal_h264d_vdpu1.c
+++ b/mpp/hal/rkdec/h264d/hal_h264d_vdpu1.c
@@ -416,7 +416,8 @@ static MPP_RET vdpu1_set_vlc_regs(H264dHalCtx_t *p_hal,
//!< set poc to buffer
{
H264dVdpuRegCtx_t *reg_ctx = (H264dVdpuRegCtx_t *)p_hal->reg_ctx;
- RK_U32 *pocBase = (RK_U32 *)mpp_buffer_get_ptr(reg_ctx->poc_buf);
+ RK_U32 *pocBase = (RK_U32 *)((RK_U8 *)mpp_buffer_get_ptr(reg_ctx->cabac_buf)
+ + VDPU_CABAC_TAB_SIZE);
//!< set reference reorder poc
for (i = 0; i < 32; i++) {
@@ -620,7 +621,8 @@ static MPP_RET vdpu1_set_asic_regs(H264dHalCtx_t *p_hal,
H264dVdpuRegCtx_t *reg_ctx = (H264dVdpuRegCtx_t *)p_hal->reg_ctx;
if (p_hal->pp->scaleing_list_enable_flag) {
RK_U32 temp = 0;
- RK_U32 *ptr = (RK_U32 *)mpp_buffer_get_ptr(reg_ctx->sclst_buf);
+ RK_U32 *ptr = (RK_U32 *)((RK_U8 *)mpp_buffer_get_ptr(reg_ctx->cabac_buf)
+ + VDPU_CABAC_TAB_SIZE + VDPU_POC_BUF_SIZE);
for (i = 0; i < 6; i++) {
for (j = 0; j < 4; j++) {
@@ -722,21 +724,15 @@ MPP_RET vdpu1_h264d_init(void *hal, MppHalCfg *cfg)
H264dVdpuRegCtx_t *reg_ctx = (H264dVdpuRegCtx_t *)p_hal->reg_ctx;
//!< malloc buffers
FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group,
- &reg_ctx->cabac_buf, VDPU_CABAC_TAB_SIZE));
+ &reg_ctx->cabac_buf, VDPU_CABAC_TAB_SIZE + VDPU_POC_BUF_SIZE + VDPU_SCALING_LIST_SIZE));
RK_U32 i = 0;
RK_U32 loop = p_hal->fast_mode ? MPP_ARRAY_ELEMS(reg_ctx->reg_buf) : 1;
for (i = 0; i < loop; i++) {
reg_ctx->reg_buf[i].regs = mpp_calloc_size(void, sizeof(H264dVdpu1Regs_t));
- FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group,
- &reg_ctx->reg_buf[i].poc, VDPU_POC_BUF_SIZE));
- FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group,
- &reg_ctx->reg_buf[i].sclst, VDPU_SCALING_LIST_SIZE));
}
if (!p_hal->fast_mode) {
reg_ctx->regs = reg_ctx->reg_buf[0].regs;
- reg_ctx->poc_buf = reg_ctx->reg_buf[0].poc;
- reg_ctx->sclst_buf = reg_ctx->reg_buf[0].sclst;
}
//!< copy cabac table bytes
FUN_CHECK(ret = mpp_buffer_write(reg_ctx->cabac_buf, 0,
@@ -771,8 +767,6 @@ MPP_RET vdpu1_h264d_deinit(void *hal)
RK_U32 loop = p_hal->fast_mode ? MPP_ARRAY_ELEMS(reg_ctx->reg_buf) : 1;
for (i = 0; i < loop; i++) {
MPP_FREE(reg_ctx->reg_buf[i].regs);
- mpp_buffer_put(reg_ctx->reg_buf[i].poc);
- mpp_buffer_put(reg_ctx->reg_buf[i].sclst);
}
mpp_buffer_put(reg_ctx->cabac_buf);
MPP_FREE(p_hal->reg_ctx);
@@ -809,8 +803,6 @@ MPP_RET vdpu1_h264d_gen_regs(void *hal, HalTaskInfo *task)
for (i = 0; i < MPP_ARRAY_ELEMS(reg_ctx->reg_buf); i++) {
if (!reg_ctx->reg_buf[i].valid) {
task->dec.reg_index = i;
- reg_ctx->poc_buf = reg_ctx->reg_buf[i].poc;
- reg_ctx->sclst_buf = reg_ctx->reg_buf[i].sclst;
reg_ctx->regs = reg_ctx->reg_buf[i].regs;
reg_ctx->reg_buf[i].valid = 1;
break;
diff --git a/mpp/hal/rkdec/h264d/hal_h264d_vdpu2.c b/mpp/hal/rkdec/h264d/hal_h264d_vdpu2.c
index 7ad44840..71dd9e44 100644
--- a/mpp/hal/rkdec/h264d/hal_h264d_vdpu2.c
+++ b/mpp/hal/rkdec/h264d/hal_h264d_vdpu2.c
@@ -451,7 +451,8 @@ static MPP_RET set_vlc_regs(H264dHalCtx_t *p_hal, H264dVdpuRegs_t *p_regs)
//!< set poc to buffer
{
H264dVdpuRegCtx_t *reg_ctx = (H264dVdpuRegCtx_t *)p_hal->reg_ctx;
- RK_U32 *ptr = (RK_U32 *)mpp_buffer_get_ptr(reg_ctx->poc_buf);
+ RK_U32 *ptr = (RK_U32 *)((RK_U8 *)mpp_buffer_get_ptr(reg_ctx->cabac_buf)
+ + VDPU_CABAC_TAB_SIZE);
//!< set reference reorder poc
for (i = 0; i < 32; i++) {
if (pp->RefFrameList[i / 2].bPicEntry != 0xff) {
@@ -636,7 +637,8 @@ static MPP_RET set_asic_regs(H264dHalCtx_t *p_hal, H264dVdpuRegs_t *p_regs)
H264dVdpuRegCtx_t *reg_ctx = (H264dVdpuRegCtx_t *)p_hal->reg_ctx;
if (p_hal->pp->scaleing_list_enable_flag) {
RK_U32 temp = 0;
- RK_U32 *ptr = (RK_U32 *)mpp_buffer_get_ptr(reg_ctx->cabac_buf);
+ RK_U32 *ptr = (RK_U32 *)((RK_U8 *)mpp_buffer_get_ptr(reg_ctx->cabac_buf)
+ + VDPU_CABAC_TAB_SIZE + VDPU_POC_BUF_SIZE);
for (i = 0; i < 6; i++) {
for (j = 0; j < 4; j++) {
@@ -686,21 +688,15 @@ MPP_RET vdpu2_h264d_init(void *hal, MppHalCfg *cfg)
H264dVdpuRegCtx_t *reg_ctx = (H264dVdpuRegCtx_t *)p_hal->reg_ctx;
//!< malloc buffers
FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group,
- &reg_ctx->cabac_buf, VDPU_CABAC_TAB_SIZE));
+ &reg_ctx->cabac_buf, VDPU_CABAC_TAB_SIZE + VDPU_POC_BUF_SIZE + VDPU_SCALING_LIST_SIZE));
RK_U32 i = 0;
RK_U32 loop = p_hal->fast_mode ? MPP_ARRAY_ELEMS(reg_ctx->reg_buf) : 1;
for (i = 0; i < loop; i++) {
reg_ctx->reg_buf[i].regs = mpp_calloc_size(void, sizeof(H264dVdpuRegs_t));
- FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group,
- &reg_ctx->reg_buf[i].poc, VDPU_POC_BUF_SIZE));
- FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group,
- &reg_ctx->reg_buf[i].sclst, VDPU_SCALING_LIST_SIZE));
}
if (!p_hal->fast_mode) {
reg_ctx->regs = reg_ctx->reg_buf[0].regs;
- reg_ctx->poc_buf = reg_ctx->reg_buf[0].poc;
- reg_ctx->sclst_buf = reg_ctx->reg_buf[0].sclst;
}
//!< copy cabac table bytes
FUN_CHECK(ret = mpp_buffer_write(reg_ctx->cabac_buf, 0,
@@ -735,8 +731,6 @@ MPP_RET vdpu2_h264d_deinit(void *hal)
RK_U32 loop = p_hal->fast_mode ? MPP_ARRAY_ELEMS(reg_ctx->reg_buf) : 1;
for (i = 0; i < loop; i++) {
MPP_FREE(reg_ctx->reg_buf[i].regs);
- mpp_buffer_put(reg_ctx->reg_buf[i].poc);
- mpp_buffer_put(reg_ctx->reg_buf[i].sclst);
}
mpp_buffer_put(reg_ctx->cabac_buf);
MPP_FREE(p_hal->reg_ctx);
@@ -773,8 +767,6 @@ MPP_RET vdpu2_h264d_gen_regs(void *hal, HalTaskInfo *task)
for (i = 0; i < MPP_ARRAY_ELEMS(reg_ctx->reg_buf); i++) {
if (!reg_ctx->reg_buf[i].valid) {
task->dec.reg_index = i;
- reg_ctx->poc_buf = reg_ctx->reg_buf[i].poc;
- reg_ctx->sclst_buf = reg_ctx->reg_buf[i].sclst;
reg_ctx->regs = reg_ctx->reg_buf[i].regs;
reg_ctx->reg_buf[i].valid = 1;
break;

View File

@ -1,4 +1,4 @@
From 6be271fa4bbebae10ec5e680a2d90266eb3d9ea8 Mon Sep 17 00:00:00 2001
From 087282d7d3fb5b5216acf7d10864ab2a42dd8473 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Thu, 1 Mar 2018 22:31:47 +0100
Subject: [PATCH] [m2vd]: use ctx pts

View File

@ -1,4 +1,4 @@
From 50c49fe8cdb9b236d27ec2b1d3195ca5121d9677 Mon Sep 17 00:00:00 2001
From e8b390f2a92a9a5668ed8f00255b75d21f9ce60a Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 15 Sep 2018 11:24:28 +0200
Subject: [PATCH] [m2vd]: export aspect ratio information