mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
rkmpp: update to 90c9f77
This commit is contained in:
parent
6638fa5f60
commit
13b257e58c
@ -17,8 +17,8 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="rkmpp"
|
PKG_NAME="rkmpp"
|
||||||
PKG_VERSION="60cbbff"
|
PKG_VERSION="90c9f77"
|
||||||
PKG_SHA256="fa442a006c5ddf395649ea0ed088851ecf1e15c254f03fd99e84164590b40b4f"
|
PKG_SHA256="8bd361e506446fa381897547b48800a70f69e3f39e5188929c8dbde44861aa69"
|
||||||
PKG_ARCH="arm aarch64"
|
PKG_ARCH="arm aarch64"
|
||||||
PKG_LICENSE="APL"
|
PKG_LICENSE="APL"
|
||||||
PKG_SITE="https://github.com/rockchip-linux/mpp"
|
PKG_SITE="https://github.com/rockchip-linux/mpp"
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
From 7adc82dade16d0f12f3cbfb3a1163f80e8034966 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Randy Li <randy.li@rock-chips.com>
|
||||||
|
Date: Wed, 15 Mar 2017 15:14:45 +0800
|
||||||
|
Subject: [PATCH 1/3] [osal]: add rk3036 platform
|
||||||
|
|
||||||
|
Change-Id: I82029e8345d3c8e2a9a3baf4be55b7f4c9b284f0
|
||||||
|
Signed-off-by: Randy Li <randy.li@rock-chips.com>
|
||||||
|
---
|
||||||
|
osal/mpp_platform.cpp | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/osal/mpp_platform.cpp b/osal/mpp_platform.cpp
|
||||||
|
index 2238eecc..db21d28f 100644
|
||||||
|
--- a/osal/mpp_platform.cpp
|
||||||
|
+++ b/osal/mpp_platform.cpp
|
||||||
|
@@ -31,6 +31,7 @@ class MppPlatformService;
|
||||||
|
|
||||||
|
typedef enum RockchipSocType_e {
|
||||||
|
ROCKCHIP_SOC_AUTO,
|
||||||
|
+ ROCKCHIP_SOC_RK3036,
|
||||||
|
ROCKCHIP_SOC_RK3066,
|
||||||
|
ROCKCHIP_SOC_RK3188,
|
||||||
|
ROCKCHIP_SOC_RK3288,
|
||||||
|
@@ -52,6 +53,7 @@ typedef struct {
|
||||||
|
} MppVpuType;
|
||||||
|
|
||||||
|
static const MppVpuType mpp_vpu_version[] = {
|
||||||
|
+ { "rk3036", ROCKCHIP_SOC_RK3036, HAVE_VPU1 | HAVE_HEVC_DEC, },
|
||||||
|
{ "rk3066", ROCKCHIP_SOC_RK3066, HAVE_VPU1, },
|
||||||
|
{ "rk3188", ROCKCHIP_SOC_RK3188, HAVE_VPU1, },
|
||||||
|
{ "rk3288", ROCKCHIP_SOC_RK3288, HAVE_VPU1 | HAVE_HEVC_DEC, },
|
@ -0,0 +1,75 @@
|
|||||||
|
From 7eeac4c01e577ce81ab5b4356691566dcc897a38 Mon Sep 17 00:00:00 2001
|
||||||
|
From: LongChair <LongChair@hotmail.com>
|
||||||
|
Date: Wed, 26 Apr 2017 11:45:37 +0200
|
||||||
|
Subject: [PATCH 2/3] [mpp]: retrieve available input packet free slots
|
||||||
|
|
||||||
|
This is something that allows to know before putting a packet into
|
||||||
|
the decoder if it would accept it or if it is full.
|
||||||
|
|
||||||
|
This patch also adds a constant define for the input buffer count
|
||||||
|
rather than having the 4 hardcoded.
|
||||||
|
|
||||||
|
Change-Id: I876e5d4efd0b2e38619ab87d4147a40bedee5669
|
||||||
|
Signed-off-by: LongChair <LongChair@hotmail.com>
|
||||||
|
Reviewed-by: ayaka <ayaka@soulik.info>
|
||||||
|
Signed-off-by: Randy Li <randy.li@rock-chips.com>
|
||||||
|
---
|
||||||
|
inc/rk_mpi_cmd.h | 1 +
|
||||||
|
mpp/mpp.cpp | 11 ++++++++---
|
||||||
|
2 files changed, 9 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/inc/rk_mpi_cmd.h b/inc/rk_mpi_cmd.h
|
||||||
|
index b67b65dd..0eaa328d 100644
|
||||||
|
--- a/inc/rk_mpi_cmd.h
|
||||||
|
+++ b/inc/rk_mpi_cmd.h
|
||||||
|
@@ -96,6 +96,7 @@ typedef enum {
|
||||||
|
MPP_DEC_SET_VC1_EXTRA_DATA,
|
||||||
|
MPP_DEC_SET_OUTPUT_FORMAT,
|
||||||
|
MPP_DEC_CHANGE_HARD_MODE,
|
||||||
|
+ MPP_DEC_GET_FREE_PACKET_SLOT_COUNT,
|
||||||
|
MPP_DEC_CMD_END,
|
||||||
|
|
||||||
|
MPP_ENC_CMD_BASE = CMD_MODULE_CODEC | CMD_CTX_ID_ENC,
|
||||||
|
diff --git a/mpp/mpp.cpp b/mpp/mpp.cpp
|
||||||
|
index c77aac12..321ea76d 100644
|
||||||
|
--- a/mpp/mpp.cpp
|
||||||
|
+++ b/mpp/mpp.cpp
|
||||||
|
@@ -33,6 +33,7 @@
|
||||||
|
|
||||||
|
#define MPP_TEST_FRAME_SIZE SZ_1M
|
||||||
|
#define MPP_TEST_PACKET_SIZE SZ_512K
|
||||||
|
+#define MPP_MAX_INPUT_PACKETS 4
|
||||||
|
|
||||||
|
Mpp::Mpp()
|
||||||
|
: mPackets(NULL),
|
||||||
|
@@ -102,8 +103,8 @@ MPP_RET Mpp::init(MppCtxType type, MppCodingType coding)
|
||||||
|
|
||||||
|
mpp_task_queue_init(&mInputTaskQueue);
|
||||||
|
mpp_task_queue_init(&mOutputTaskQueue);
|
||||||
|
- mpp_task_queue_setup(mInputTaskQueue, 4);
|
||||||
|
- mpp_task_queue_setup(mOutputTaskQueue, 4);
|
||||||
|
+ mpp_task_queue_setup(mInputTaskQueue, MPP_MAX_INPUT_PACKETS);
|
||||||
|
+ mpp_task_queue_setup(mOutputTaskQueue, MPP_MAX_INPUT_PACKETS);
|
||||||
|
} else {
|
||||||
|
mThreadCodec = new MppThread(mpp_dec_advanced_thread, this, "mpp_dec_parser");
|
||||||
|
|
||||||
|
@@ -258,7 +259,7 @@ MPP_RET Mpp::put_packet(MppPacket packet)
|
||||||
|
AutoMutex autoLock(mPackets->mutex());
|
||||||
|
RK_U32 eos = mpp_packet_get_eos(packet);
|
||||||
|
|
||||||
|
- if (mPackets->list_size() < 4 || eos) {
|
||||||
|
+ if (mPackets->list_size() < MPP_MAX_INPUT_PACKETS || eos) {
|
||||||
|
MppPacket pkt;
|
||||||
|
if (MPP_OK != mpp_packet_copy_init(&pkt, packet))
|
||||||
|
return MPP_NOK;
|
||||||
|
@@ -745,6 +746,10 @@ MPP_RET Mpp::control_dec(MpiCmd cmd, MppParam param)
|
||||||
|
case MPP_DEC_SET_OUTPUT_FORMAT: {
|
||||||
|
ret = mpp_dec_control(mDec, cmd, param);
|
||||||
|
} break;
|
||||||
|
+ case MPP_DEC_GET_FREE_PACKET_SLOT_COUNT: {
|
||||||
|
+ *((RK_S32 *)param) = MPP_MAX_INPUT_PACKETS - mPackets->list_size();
|
||||||
|
+ ret = MPP_OK;
|
||||||
|
+ } break;
|
||||||
|
default : {
|
||||||
|
} break;
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
From 376fb9c7c24c3b8a322cd583839d582cd7041d47 Mon Sep 17 00:00:00 2001
|
From e34511ef9354282ff1edf87391a9ea1a3a321292 Mon Sep 17 00:00:00 2001
|
||||||
From: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
From: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
|
||||||
Date: Mon, 29 May 2017 14:08:43 +0200
|
Date: Mon, 29 May 2017 14:08:43 +0200
|
||||||
Subject: [PATCH] [drm] fix 32-bit mmap issue on 64-bit kernels
|
Subject: [PATCH 3/3] fix 32-bit mmap issue on 64-bit kernels
|
||||||
|
|
||||||
Running 32-bit userland on a 64-bit kernel resulted in the error:
|
Running 32-bit userland on a 64-bit kernel resulted in the error:
|
||||||
|
|
||||||
@ -12,11 +12,11 @@ value to 32 bit. This patch fixes both issues.
|
|||||||
|
|
||||||
For details see https://github.com/rockchip-linux/kernel/issues/17
|
For details see https://github.com/rockchip-linux/kernel/issues/17
|
||||||
---
|
---
|
||||||
osal/allocator/allocator_drm.c | 4 +++-
|
osal/allocator/allocator_drm.c | 2 ++
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
diff --git a/osal/allocator/allocator_drm.c b/osal/allocator/allocator_drm.c
|
diff --git a/osal/allocator/allocator_drm.c b/osal/allocator/allocator_drm.c
|
||||||
index 3057671f..9a4e31fe 100644
|
index 48735c90..a3a16a55 100644
|
||||||
--- a/osal/allocator/allocator_drm.c
|
--- a/osal/allocator/allocator_drm.c
|
||||||
+++ b/osal/allocator/allocator_drm.c
|
+++ b/osal/allocator/allocator_drm.c
|
||||||
@@ -15,6 +15,8 @@
|
@@ -15,6 +15,8 @@
|
||||||
@ -28,12 +28,3 @@ index 3057671f..9a4e31fe 100644
|
|||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -67,7 +69,7 @@ static int drm_ioctl(int fd, int req, void *arg)
|
|
||||||
|
|
||||||
static void* drm_mmap(int fd, size_t len, int prot, int flags, loff_t offset)
|
|
||||||
{
|
|
||||||
- static unsigned long pagesize_mask = 0;
|
|
||||||
+ static loff_t pagesize_mask = 0;
|
|
||||||
#if !defined(__gnu_linux__)
|
|
||||||
func_mmap64 fp_mmap64 = mpp_rt_get_mmap64();
|
|
||||||
#endif
|
|
Loading…
x
Reference in New Issue
Block a user