diff --git a/packages/multimedia/rkmpp/package.mk b/packages/multimedia/rkmpp/package.mk index fbdff24278..6fbb1f2d1a 100644 --- a/packages/multimedia/rkmpp/package.mk +++ b/packages/multimedia/rkmpp/package.mk @@ -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" diff --git a/packages/multimedia/rkmpp/patches/rkmpp-0001-fix-32-bit-mmap-issue-on-64-bit-kernels.patch b/packages/multimedia/rkmpp/patches/rkmpp-0001-fix-32-bit-mmap-issue-on-64-bit-kernels.patch index 5182af32a7..d79f912843 100644 --- a/packages/multimedia/rkmpp/patches/rkmpp-0001-fix-32-bit-mmap-issue-on-64-bit-kernels.patch +++ b/packages/multimedia/rkmpp/patches/rkmpp-0001-fix-32-bit-mmap-issue-on-64-bit-kernels.patch @@ -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 Date: Mon, 29 May 2017 14:08:43 +0200 Subject: [PATCH] fix 32-bit mmap issue on 64-bit kernels diff --git a/packages/multimedia/rkmpp/patches/rkmpp-0002-disable-unit-tests-by-default.patch b/packages/multimedia/rkmpp/patches/rkmpp-0002-disable-unit-tests-by-default.patch index 7b589d6545..bbb26a9e92 100644 --- a/packages/multimedia/rkmpp/patches/rkmpp-0002-disable-unit-tests-by-default.patch +++ b/packages/multimedia/rkmpp/patches/rkmpp-0002-disable-unit-tests-by-default.patch @@ -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 Date: Sun, 24 Jun 2018 11:07:44 +0200 Subject: [PATCH] disable unit tests by default diff --git a/packages/multimedia/rkmpp/patches/rkmpp-0004-h264d-fix-mpp_buf_slot_get_prop-crash.patch b/packages/multimedia/rkmpp/patches/rkmpp-0003-h264d-fix-mpp_buf_slot_get_prop-crash.patch similarity index 85% rename from packages/multimedia/rkmpp/patches/rkmpp-0004-h264d-fix-mpp_buf_slot_get_prop-crash.patch rename to packages/multimedia/rkmpp/patches/rkmpp-0003-h264d-fix-mpp_buf_slot_get_prop-crash.patch index aa82af07f2..c58e86188f 100644 --- a/packages/multimedia/rkmpp/patches/rkmpp-0004-h264d-fix-mpp_buf_slot_get_prop-crash.patch +++ b/packages/multimedia/rkmpp/patches/rkmpp-0003-h264d-fix-mpp_buf_slot_get_prop-crash.patch @@ -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 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; diff --git a/packages/multimedia/rkmpp/patches/rkmpp-0003-h264d-revert-vdpu-fast-mode-code.patch b/packages/multimedia/rkmpp/patches/rkmpp-0003-h264d-revert-vdpu-fast-mode-code.patch deleted file mode 100644 index 4b1852926f..0000000000 --- a/packages/multimedia/rkmpp/patches/rkmpp-0003-h264d-revert-vdpu-fast-mode-code.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 51c122a2ee9a1f06c6a33bddc0be2db1065bb385 Mon Sep 17 00:00:00 2001 -From: Jonas Karlman -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, -- ®_ctx->cabac_buf, VDPU_CABAC_TAB_SIZE)); -+ ®_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, -- ®_ctx->reg_buf[i].poc, VDPU_POC_BUF_SIZE)); -- FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group, -- ®_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, -- ®_ctx->cabac_buf, VDPU_CABAC_TAB_SIZE)); -+ ®_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, -- ®_ctx->reg_buf[i].poc, VDPU_POC_BUF_SIZE)); -- FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group, -- ®_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; diff --git a/packages/multimedia/rkmpp/patches/rkmpp-0005-m2vd-use-ctx-pts.patch b/packages/multimedia/rkmpp/patches/rkmpp-0004-m2vd-use-ctx-pts.patch similarity index 93% rename from packages/multimedia/rkmpp/patches/rkmpp-0005-m2vd-use-ctx-pts.patch rename to packages/multimedia/rkmpp/patches/rkmpp-0004-m2vd-use-ctx-pts.patch index 8dc27335ef..9ee09016d6 100644 --- a/packages/multimedia/rkmpp/patches/rkmpp-0005-m2vd-use-ctx-pts.patch +++ b/packages/multimedia/rkmpp/patches/rkmpp-0004-m2vd-use-ctx-pts.patch @@ -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 Date: Thu, 1 Mar 2018 22:31:47 +0100 Subject: [PATCH] [m2vd]: use ctx pts diff --git a/packages/multimedia/rkmpp/patches/rkmpp-0006-m2vd-export-aspect-ratio-information.patch b/packages/multimedia/rkmpp/patches/rkmpp-0005-m2vd-export-aspect-ratio-information.patch similarity index 98% rename from packages/multimedia/rkmpp/patches/rkmpp-0006-m2vd-export-aspect-ratio-information.patch rename to packages/multimedia/rkmpp/patches/rkmpp-0005-m2vd-export-aspect-ratio-information.patch index c2cd637632..ed2a4ecc5b 100644 --- a/packages/multimedia/rkmpp/patches/rkmpp-0006-m2vd-export-aspect-ratio-information.patch +++ b/packages/multimedia/rkmpp/patches/rkmpp-0005-m2vd-export-aspect-ratio-information.patch @@ -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 Date: Sat, 15 Sep 2018 11:24:28 +0200 Subject: [PATCH] [m2vd]: export aspect ratio information