Merge pull request #5275 from jernejsk/aw-fixes

Several Allwinner fixes
This commit is contained in:
Christian Hewitt 2021-03-27 12:46:55 +04:00 committed by GitHub
commit 9d60919914
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 68 additions and 129 deletions

View File

@ -0,0 +1,65 @@
From a30656bf2bee534836a984bbd488b1f16e01b9a0 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Sun, 14 Mar 2021 08:40:19 +0100
Subject: [PATCH] CDVDVideoCodecDRMPRIME: skip frames when requested
---
.../DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp | 27 +++++++++++++++++++
.../DVDCodecs/Video/DVDVideoCodecDRMPRIME.h | 2 +-
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
index 8024c20816ffe..b27db92b5f7d7 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
@@ -517,6 +517,12 @@ void CDVDVideoCodecDRMPRIME::SetPictureParams(VideoPicture* pVideoPicture)
pVideoPicture->iFlags = 0;
pVideoPicture->iFlags |= m_pFrame->interlaced_frame ? DVP_FLAG_INTERLACED : 0;
pVideoPicture->iFlags |= m_pFrame->top_field_first ? DVP_FLAG_TOP_FIELD_FIRST : 0;
+ pVideoPicture->iFlags |= m_pFrame->data[0] ? 0 : DVP_FLAG_DROPPED;
+
+ if (m_codecControlFlags & DVD_CODEC_CTRL_DROP)
+ {
+ pVideoPicture->iFlags |= DVP_FLAG_DROPPED;
+ }
int64_t pts = m_pFrame->best_effort_timestamp;
pVideoPicture->pts = (pts == AV_NOPTS_VALUE)
@@ -590,3 +596,24 @@ CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::GetPicture(VideoPicture* pVideo
return VC_PICTURE;
}
+
+void CDVDVideoCodecDRMPRIME::SetCodecControl(int flags)
+{
+ m_codecControlFlags = flags;
+
+ if (m_pCodecContext)
+ {
+ if ((flags & DVD_CODEC_CTRL_DROP_ANY) != 0)
+ {
+ m_pCodecContext->skip_frame = AVDISCARD_NONREF;
+ m_pCodecContext->skip_idct = AVDISCARD_NONREF;
+ m_pCodecContext->skip_loop_filter = AVDISCARD_NONREF;
+ }
+ else
+ {
+ m_pCodecContext->skip_frame = AVDISCARD_DEFAULT;
+ m_pCodecContext->skip_idct = AVDISCARD_DEFAULT;
+ m_pCodecContext->skip_loop_filter = AVDISCARD_DEFAULT;
+ }
+ }
+}
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.h b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.h
index 77d066c3d9caf..9d70893b70b83 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.h
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.h
@@ -29,7 +29,7 @@ class CDVDVideoCodecDRMPRIME : public CDVDVideoCodec
CDVDVideoCodec::VCReturn GetPicture(VideoPicture* pVideoPicture) override;
const char* GetName() override { return m_name.c_str(); }
unsigned GetAllowedReferences() override { return 5; }
- void SetCodecControl(int flags) override { m_codecControlFlags = flags; }
+ void SetCodecControl(int flags) override;
protected:
void Drain();

View File

@ -2,8 +2,8 @@
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="crust"
PKG_VERSION="2abb49c37b0302399b98498b9a51f5ed30454aea"
PKG_SHA256="62da63ce5f35c41b7b9cbc9ec8c89dbd52e41a60bde00218ac747a1b335803cb"
PKG_VERSION="219383cd48924179bdd6c5e125c0dd9ab0d78c16"
PKG_SHA256="f16e362e20c4c59da4f4a6e692f5d1c3b442a7e398ae9f45932791711f6aa1f6"
PKG_ARCH="arm aarch64"
PKG_LICENSE="BSD-3c"
PKG_SITE="https://github.com/crust-firmware/crust"

View File

@ -16,7 +16,7 @@ Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
resets = <&ccu RST_BUS_GPU>;
+
+ assigned-clocks = <&ccu CLK_GPU>;
+ assigned-clock-rates = <576000000>;
+ assigned-clock-rates = <432000000>;
};
gic: interrupt-controller@1c81000 {

View File

@ -1,126 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Sat, 30 Jan 2021 18:07:50 +0100
Subject: [PATCH] configs: Update or add board configurations
---
configs/bananapi_m2_plus_h3_defconfig | 3 +++
configs/beelink_x2_defconfig | 5 +++++
configs/libretech_all_h3_cc_h3_defconfig | 3 +++
configs/libretech_all_h3_cc_h5_defconfig | 3 +++
configs/nanopi_m1_defconfig | 4 ++++
configs/orangepi_2_defconfig | 1 +
configs/orangepi_pc2_defconfig | 1 +
configs/orangepi_pc_defconfig | 2 ++
configs/orangepi_pc_plus_defconfig | 2 ++
configs/orangepi_plus2e_defconfig | 1 +
configs/orangepi_plus_defconfig | 2 ++
11 files changed, 27 insertions(+)
create mode 100644 configs/bananapi_m2_plus_h3_defconfig
create mode 100644 configs/beelink_x2_defconfig
create mode 100644 configs/libretech_all_h3_cc_h3_defconfig
create mode 100644 configs/libretech_all_h3_cc_h5_defconfig
create mode 100644 configs/nanopi_m1_defconfig
diff --git a/configs/bananapi_m2_plus_h3_defconfig b/configs/bananapi_m2_plus_h3_defconfig
new file mode 100644
index 000000000000..d2ff46056b6c
--- /dev/null
+++ b/configs/bananapi_m2_plus_h3_defconfig
@@ -0,0 +1,3 @@
+CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
+CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/beelink_x2_defconfig b/configs/beelink_x2_defconfig
new file mode 100644
index 000000000000..57461e95a330
--- /dev/null
+++ b/configs/beelink_x2_defconfig
@@ -0,0 +1,5 @@
+CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
+CONFIG_CIR_PROTO_NEC=y
+CONFIG_CIR_WAKE_CODE=0x8051
+CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/libretech_all_h3_cc_h3_defconfig b/configs/libretech_all_h3_cc_h3_defconfig
new file mode 100644
index 000000000000..d2ff46056b6c
--- /dev/null
+++ b/configs/libretech_all_h3_cc_h3_defconfig
@@ -0,0 +1,3 @@
+CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
+CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/libretech_all_h3_cc_h5_defconfig b/configs/libretech_all_h3_cc_h5_defconfig
new file mode 100644
index 000000000000..6cec3a1e13cb
--- /dev/null
+++ b/configs/libretech_all_h3_cc_h5_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SOC_H5=y
+CONFIG_CIR=y
+CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/nanopi_m1_defconfig b/configs/nanopi_m1_defconfig
new file mode 100644
index 000000000000..d93f873f74e2
--- /dev/null
+++ b/configs/nanopi_m1_defconfig
@@ -0,0 +1,4 @@
+CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
+CONFIG_CIR_USE_OSC24M=y
+CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/orangepi_2_defconfig b/configs/orangepi_2_defconfig
index 77aaea55455a..d2ff46056b6c 100644
--- a/configs/orangepi_2_defconfig
+++ b/configs/orangepi_2_defconfig
@@ -1,2 +1,3 @@
CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig
index 1077dd735643..25149d7f46d0 100644
--- a/configs/orangepi_pc2_defconfig
+++ b/configs/orangepi_pc2_defconfig
@@ -1,4 +1,5 @@
CONFIG_SOC_H5=y
CONFIG_CIR=y
+CONFIG_CIR_USE_OSC24M=y
CONFIG_REGULATOR_GPIO_DRAM=y
CONFIG_REGULATOR_SY8106A=y
diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig
index 77aaea55455a..d93f873f74e2 100644
--- a/configs/orangepi_pc_defconfig
+++ b/configs/orangepi_pc_defconfig
@@ -1,2 +1,4 @@
CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
+CONFIG_CIR_USE_OSC24M=y
CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/orangepi_pc_plus_defconfig b/configs/orangepi_pc_plus_defconfig
index 77aaea55455a..d93f873f74e2 100644
--- a/configs/orangepi_pc_plus_defconfig
+++ b/configs/orangepi_pc_plus_defconfig
@@ -1,2 +1,4 @@
CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
+CONFIG_CIR_USE_OSC24M=y
CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/orangepi_plus2e_defconfig b/configs/orangepi_plus2e_defconfig
index d2ff46056b6c..d93f873f74e2 100644
--- a/configs/orangepi_plus2e_defconfig
+++ b/configs/orangepi_plus2e_defconfig
@@ -1,3 +1,4 @@
CONFIG_PLATFORM_H3=y
CONFIG_CIR=y
+CONFIG_CIR_USE_OSC24M=y
CONFIG_REGULATOR_GPIO_DRAM=y
diff --git a/configs/orangepi_plus_defconfig b/configs/orangepi_plus_defconfig
index 77aaea55455a..d93f873f74e2 100644
--- a/configs/orangepi_plus_defconfig
+++ b/configs/orangepi_plus_defconfig
@@ -1,2 +1,4 @@
CONFIG_PLATFORM_H3=y
+CONFIG_CIR=y
+CONFIG_CIR_USE_OSC24M=y
CONFIG_REGULATOR_GPIO_DRAM=y