mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
RPi: rebase kodi patches
Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
f6e32433ec
commit
153d6eccbb
@ -1,14 +1,14 @@
|
||||
From 42b30508bfe5451d4dc2884acfde9e0ec2d58c92 Mon Sep 17 00:00:00 2001
|
||||
From e181af5b2b97b3fbc69b9ad7318a3c02f6186ca5 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Fri, 3 Dec 2021 16:00:50 +0000
|
||||
Subject: [PATCH 2/4] gbm: Set max bpc for high bit depth videos
|
||||
Subject: [PATCH 1/5] gbm: Set max bpc for high bit depth videos
|
||||
|
||||
---
|
||||
.../HwDecRender/VideoLayerBridgeDRMPRIME.cpp | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
.../HwDecRender/VideoLayerBridgeDRMPRIME.cpp | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp
|
||||
index 4b8ee5afbb..bd6623e8d1 100644
|
||||
index 233e6310bb..9b36758c00 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp
|
||||
@@ -34,6 +34,14 @@ void CVideoLayerBridgeDRMPRIME::Disable()
|
||||
@ -26,21 +26,20 @@ index 4b8ee5afbb..bd6623e8d1 100644
|
||||
m_DRM->AddProperty(plane, "FB_ID", 0);
|
||||
m_DRM->AddProperty(plane, "CRTC_ID", 0);
|
||||
|
||||
@@ -175,6 +183,14 @@ void CVideoLayerBridgeDRMPRIME::Configure(CVideoBufferDRMPRIME* buffer)
|
||||
std::tie(result, value) = plane->GetPropertyValue("COLOR_RANGE", GetColorRange(picture));
|
||||
if (result)
|
||||
m_DRM->AddProperty(plane, "COLOR_RANGE", value);
|
||||
@@ -175,6 +183,13 @@ void CVideoLayerBridgeDRMPRIME::Configure(CVideoBufferDRMPRIME* buffer)
|
||||
plane->GetPropertyValue("COLOR_RANGE", GetColorRange(picture));
|
||||
if (colorRange)
|
||||
m_DRM->AddProperty(plane, "COLOR_RANGE", colorRange.value());
|
||||
+
|
||||
+ // set max bpc to allow the drm driver to choose a deep colour mode
|
||||
+ int bpc = buffer->GetPicture().colorBits > 8 ? 12 : 8;
|
||||
+ auto connector = m_DRM->GetConnector();
|
||||
+ result = m_DRM->AddProperty(connector, "max bpc", bpc);
|
||||
+ bool result = m_DRM->AddProperty(connector, "max bpc", bpc);
|
||||
+ CLog::Log(LOGDEBUG, "CVideoLayerBridgeDRMPRIME::{} - setting max bpc to {} ({})", __FUNCTION__,
|
||||
+ bpc, result);
|
||||
+
|
||||
}
|
||||
|
||||
void CVideoLayerBridgeDRMPRIME::SetVideoPlane(CVideoBufferDRMPRIME* buffer, const CRect& destRect)
|
||||
--
|
||||
2.39.0
|
||||
2.39.2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 97d39a46091b65e4355ce7e545bdec46ff2f87de Mon Sep 17 00:00:00 2001
|
||||
From 05fbbc78734827304edd3eb10de0a0117d10a8b9 Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Sat, 11 Sep 2021 14:03:05 +0100
|
||||
Subject: [PATCH 1/4] CDVDVideoCodecDRMPRIME: Also support YUV420 buffers
|
||||
Subject: [PATCH 2/5] CDVDVideoCodecDRMPRIME: Also support YUV420 buffers
|
||||
|
||||
CDVDVideoCodecDRMPRIME: Add support for deinterlace of sw decoded buffers
|
||||
|
||||
@ -11,10 +11,10 @@ Need to call SetDimensions earlier and store the drm descriptor in expected plac
|
||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
index 20a5c24f53..a36107c515 100644
|
||||
index b221cdaf75..c0efa91770 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
@@ -582,7 +582,7 @@ bool CDVDVideoCodecDRMPRIME::SetPictureParams(VideoPicture* pVideoPicture)
|
||||
@@ -619,7 +619,7 @@ bool CDVDVideoCodecDRMPRIME::SetPictureParams(VideoPicture* pVideoPicture)
|
||||
pVideoPicture->videoBuffer = nullptr;
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ index 20a5c24f53..a36107c515 100644
|
||||
{
|
||||
CVideoBufferDRMPRIMEFFmpeg* buffer =
|
||||
dynamic_cast<CVideoBufferDRMPRIMEFFmpeg*>(m_videoBufferPool->Get());
|
||||
@@ -660,7 +660,7 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -697,7 +697,7 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
|
||||
const AVFilter* srcFilter = avfilter_get_by_name("buffer");
|
||||
const AVFilter* outFilter = avfilter_get_by_name("buffersink");
|
||||
@ -32,7 +32,7 @@ index 20a5c24f53..a36107c515 100644
|
||||
|
||||
std::string args = StringUtils::Format("video_size={}x{}:pix_fmt={}:time_base={}/{}:"
|
||||
"pixel_aspect={}/{}",
|
||||
@@ -808,6 +808,16 @@ void CDVDVideoCodecDRMPRIME::FilterClose()
|
||||
@@ -845,6 +845,16 @@ void CDVDVideoCodecDRMPRIME::FilterClose()
|
||||
|
||||
CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::ProcessFilterIn()
|
||||
{
|
||||
@ -50,5 +50,5 @@ index 20a5c24f53..a36107c515 100644
|
||||
if (ret < 0)
|
||||
{
|
||||
--
|
||||
2.39.0
|
||||
2.39.2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 518d8487d090af854fb72a7d0e5efc075d97228c Mon Sep 17 00:00:00 2001
|
||||
From 8fbcf5fada25720b5c6f66959d5ee1c28cff04f9 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Wed, 18 Jan 2023 16:41:00 +0000
|
||||
Subject: [PATCH 4/4] CDVDVideoCodecDRMPRIME: Adjust av formats to match recent
|
||||
Subject: [PATCH 3/5] CDVDVideoCodecDRMPRIME: Adjust av formats to match recent
|
||||
ffmpeg changes
|
||||
|
||||
---
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH 4/4] CDVDVideoCodecDRMPRIME: Adjust av formats to match recent
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
index a36107c515..d5b3289680 100644
|
||||
index c0efa91770..29d38a3ec0 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
@@ -319,6 +319,7 @@ bool CDVDVideoCodecDRMPRIME::Open(CDVDStreamInfo& hints, CDVDCodecOptions& optio
|
||||
@@ -355,6 +355,7 @@ bool CDVDVideoCodecDRMPRIME::Open(CDVDStreamInfo& hints, CDVDCodecOptions& optio
|
||||
m_pCodecContext->bits_per_coded_sample = hints.bitsperpixel;
|
||||
m_pCodecContext->time_base.num = 1;
|
||||
m_pCodecContext->time_base.den = DVD_TIME_BASE;
|
||||
@ -20,7 +20,7 @@ index a36107c515..d5b3289680 100644
|
||||
m_pCodecContext->thread_count = CServiceBroker::GetCPUInfo()->GetCPUCount();
|
||||
|
||||
if (hints.extradata && hints.extrasize > 0)
|
||||
@@ -660,13 +661,13 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -697,13 +698,13 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
|
||||
const AVFilter* srcFilter = avfilter_get_by_name("buffer");
|
||||
const AVFilter* outFilter = avfilter_get_by_name("buffersink");
|
||||
@ -36,7 +36,7 @@ index a36107c515..d5b3289680 100644
|
||||
m_pCodecContext->time_base.num ?
|
||||
m_pCodecContext->time_base.num : 1,
|
||||
m_pCodecContext->time_base.num ?
|
||||
@@ -818,6 +819,7 @@ CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::ProcessFilterIn()
|
||||
@@ -855,6 +856,7 @@ CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::ProcessFilterIn()
|
||||
m_pFrame->data[0] = reinterpret_cast<uint8_t*>(descriptor);
|
||||
}
|
||||
|
||||
@ -45,5 +45,5 @@ index a36107c515..d5b3289680 100644
|
||||
if (ret < 0)
|
||||
{
|
||||
--
|
||||
2.39.0
|
||||
2.39.2
|
||||
|
@ -1,87 +0,0 @@
|
||||
From 0b9b204c6560f3aff39697f92616b48102840dfe Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Rusak <lorusak@gmail.com>
|
||||
Date: Mon, 29 Apr 2019 18:48:45 -0700
|
||||
Subject: [PATCH 3/4] CVideoLayerBridgeDRMPRIME add colourspace connector
|
||||
property
|
||||
|
||||
---
|
||||
.../Buffers/VideoBufferDRMPRIME.cpp | 12 ++++++++++++
|
||||
.../VideoPlayer/Buffers/VideoBufferDRMPRIME.h | 1 +
|
||||
.../HwDecRender/VideoLayerBridgeDRMPRIME.cpp | 19 +++++++++++++++++++
|
||||
3 files changed, 32 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.cpp b/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.cpp
|
||||
index b1c23ffc3d..a5fb7ddf44 100644
|
||||
--- a/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.cpp
|
||||
@@ -20,6 +20,18 @@ extern "C"
|
||||
namespace DRMPRIME
|
||||
{
|
||||
|
||||
+std::string GetColorimetry(const VideoPicture& picture)
|
||||
+{
|
||||
+ switch (picture.color_space)
|
||||
+ {
|
||||
+ case AVCOL_SPC_BT2020_CL:
|
||||
+ case AVCOL_SPC_BT2020_NCL:
|
||||
+ return "BT2020_RGB";
|
||||
+ }
|
||||
+
|
||||
+ return "Default";
|
||||
+}
|
||||
+
|
||||
std::string GetColorEncoding(const VideoPicture& picture)
|
||||
{
|
||||
switch (picture.color_space)
|
||||
diff --git a/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.h b/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.h
|
||||
index e77f75b58b..4de9732308 100644
|
||||
--- a/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.h
|
||||
+++ b/xbmc/cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.h
|
||||
@@ -34,6 +34,7 @@ enum hdmi_eotf
|
||||
HDMI_EOTF_BT_2100_HLG,
|
||||
};
|
||||
|
||||
+std::string GetColorimetry(const VideoPicture& picture);
|
||||
std::string GetColorEncoding(const VideoPicture& picture);
|
||||
std::string GetColorRange(const VideoPicture& picture);
|
||||
uint8_t GetEOTF(const VideoPicture& picture);
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp
|
||||
index bd6623e8d1..a1342595c6 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/VideoLayerBridgeDRMPRIME.cpp
|
||||
@@ -42,6 +42,16 @@ void CVideoLayerBridgeDRMPRIME::Disable()
|
||||
CLog::Log(LOGDEBUG, "CVideoLayerBridgeDRMPRIME::{} - setting max bpc to {} ({})",
|
||||
__FUNCTION__, bpc, result);
|
||||
|
||||
+ uint64_t value;
|
||||
+ std::tie(result, value) = connector->GetPropertyValue("Colorspace", "Default");
|
||||
+ if (result)
|
||||
+ {
|
||||
+ CLog::Log(LOGDEBUG, "CVideoLayerBridgeDRMPRIME::{} - setting connector colorspace to Default",
|
||||
+ __FUNCTION__);
|
||||
+ m_DRM->AddProperty(connector, "Colorspace", value);
|
||||
+ m_DRM->SetActive(true);
|
||||
+ }
|
||||
+
|
||||
m_DRM->AddProperty(plane, "FB_ID", 0);
|
||||
m_DRM->AddProperty(plane, "CRTC_ID", 0);
|
||||
|
||||
@@ -191,6 +201,15 @@ void CVideoLayerBridgeDRMPRIME::Configure(CVideoBufferDRMPRIME* buffer)
|
||||
CLog::Log(LOGDEBUG, "CVideoLayerBridgeDRMPRIME::{} - setting max bpc to {} ({})", __FUNCTION__,
|
||||
bpc, result);
|
||||
|
||||
+ std::tie(result, value) = connector->GetPropertyValue("Colorspace", GetColorimetry(picture));
|
||||
+ if (result)
|
||||
+ {
|
||||
+ CLog::Log(LOGDEBUG, "CVideoLayerBridgeDRMPRIME::{} - setting connector colorspace to {}",
|
||||
+ __FUNCTION__, GetColorimetry(picture));
|
||||
+ m_DRM->AddProperty(connector, "Colorspace", value);
|
||||
+ m_DRM->SetActive(true);
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
void CVideoLayerBridgeDRMPRIME::SetVideoPlane(CVideoBufferDRMPRIME* buffer, const CRect& destRect)
|
||||
--
|
||||
2.39.0
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 4b60bcc31eddb776d0134c4f2a64ad36969bde1b Mon Sep 17 00:00:00 2001
|
||||
From 56117d2874dcc36ac779609c63f1a8b0bace5366 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Mon, 6 Feb 2023 15:19:51 +0000
|
||||
Subject: [PATCH] DVDVideoCodecDRMPRIME: Add support for arbitrary output pixel
|
||||
formats
|
||||
Subject: [PATCH 4/5] DVDVideoCodecDRMPRIME: Add support for arbitrary output
|
||||
pixel formats
|
||||
|
||||
This enables any ffmpeg pixel formats to be supported by DRMPRIME decoder
|
||||
by creating a scale ffmpeg filter to convert it to a supported format.
|
||||
@ -20,10 +20,10 @@ And it happens automatically without requiring user video settings
|
||||
2 files changed, 77 insertions(+), 50 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
index 347dce1ae8..e071de2e53 100644
|
||||
index 29d38a3ec0..611876ba8d 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
@@ -201,7 +201,7 @@ enum AVPixelFormat CDVDVideoCodecDRMPRIME::GetFormat(struct AVCodecContext* avct
|
||||
@@ -219,7 +219,7 @@ enum AVPixelFormat CDVDVideoCodecDRMPRIME::GetFormat(struct AVCodecContext* avct
|
||||
{
|
||||
for (int n = 0; fmt[n] != AV_PIX_FMT_NONE; n++)
|
||||
{
|
||||
@ -32,7 +32,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
{
|
||||
CDVDVideoCodecDRMPRIME* ctx = static_cast<CDVDVideoCodecDRMPRIME*>(avctx->opaque);
|
||||
ctx->UpdateProcessInfo(avctx, fmt[n]);
|
||||
@@ -222,7 +222,8 @@ enum AVPixelFormat CDVDVideoCodecDRMPRIME::GetFormat(struct AVCodecContext* avct
|
||||
@@ -240,7 +240,8 @@ enum AVPixelFormat CDVDVideoCodecDRMPRIME::GetFormat(struct AVCodecContext* avct
|
||||
|
||||
int CDVDVideoCodecDRMPRIME::GetBuffer(struct AVCodecContext* avctx, AVFrame* frame, int flags)
|
||||
{
|
||||
@ -42,7 +42,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
{
|
||||
int width = frame->width;
|
||||
int height = frame->height;
|
||||
@@ -230,7 +231,7 @@ int CDVDVideoCodecDRMPRIME::GetBuffer(struct AVCodecContext* avctx, AVFrame* fra
|
||||
@@ -248,7 +249,7 @@ int CDVDVideoCodecDRMPRIME::GetBuffer(struct AVCodecContext* avctx, AVFrame* fra
|
||||
AlignedSize(avctx, width, height);
|
||||
|
||||
int size;
|
||||
@ -51,7 +51,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
{
|
||||
case AV_PIX_FMT_YUV420P:
|
||||
case AV_PIX_FMT_YUVJ420P:
|
||||
@@ -250,13 +251,12 @@ int CDVDVideoCodecDRMPRIME::GetBuffer(struct AVCodecContext* avctx, AVFrame* fra
|
||||
@@ -268,13 +269,12 @@ int CDVDVideoCodecDRMPRIME::GetBuffer(struct AVCodecContext* avctx, AVFrame* fra
|
||||
|
||||
CDVDVideoCodecDRMPRIME* ctx = static_cast<CDVDVideoCodecDRMPRIME*>(avctx->opaque);
|
||||
auto buffer = dynamic_cast<CVideoBufferDMA*>(
|
||||
@ -67,7 +67,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
|
||||
buffer->Export(frame, width, height);
|
||||
buffer->SyncStart();
|
||||
@@ -611,9 +611,9 @@ bool CDVDVideoCodecDRMPRIME::SetPictureParams(VideoPicture* pVideoPicture)
|
||||
@@ -628,9 +628,9 @@ bool CDVDVideoCodecDRMPRIME::SetPictureParams(VideoPicture* pVideoPicture)
|
||||
buffer->SetRef(m_pFrame);
|
||||
pVideoPicture->videoBuffer = buffer;
|
||||
}
|
||||
@ -79,7 +79,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
buffer->SetPictureParams(*pVideoPicture);
|
||||
buffer->Acquire();
|
||||
buffer->SyncEnd();
|
||||
@@ -647,13 +647,13 @@ void CDVDVideoCodecDRMPRIME::FilterTest()
|
||||
@@ -664,13 +664,13 @@ void CDVDVideoCodecDRMPRIME::FilterTest()
|
||||
|
||||
if (name.find("deinterlace") != std::string::npos)
|
||||
{
|
||||
@ -96,7 +96,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -663,14 +663,31 @@ void CDVDVideoCodecDRMPRIME::FilterTest()
|
||||
@@ -680,14 +680,31 @@ void CDVDVideoCodecDRMPRIME::FilterTest()
|
||||
__FUNCTION__);
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
return true;
|
||||
|
||||
if (!(m_pFilterGraph = avfilter_graph_alloc()))
|
||||
@@ -681,13 +698,13 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -698,13 +715,13 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
|
||||
const AVFilter* srcFilter = avfilter_get_by_name("buffer");
|
||||
const AVFilter* outFilter = avfilter_get_by_name("buffersink");
|
||||
@ -146,7 +146,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
m_pCodecContext->time_base.num ?
|
||||
m_pCodecContext->time_base.num : 1,
|
||||
m_pCodecContext->time_base.num ?
|
||||
@@ -706,7 +723,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -723,7 +740,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
CLog::Log(LOGERROR,
|
||||
"CDVDVideoCodecDRMPRIME::FilterOpen - avfilter_graph_create_filter: src: {} ({})",
|
||||
err, result);
|
||||
@ -154,7 +154,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -714,7 +730,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -731,7 +747,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
if (!par)
|
||||
{
|
||||
CLog::Log(LOGERROR, "CDVDVideoCodecDRMPRIME::FilterOpen - unable to alloc buffersrc");
|
||||
@ -162,7 +162,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -730,7 +745,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -747,7 +762,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
CLog::Log(LOGERROR,
|
||||
"CDVDVideoCodecDRMPRIME::FilterOpen - av_buffersrc_parameters_set: {} ({})",
|
||||
err, result);
|
||||
@ -170,7 +170,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
return false;
|
||||
}
|
||||
av_freep(&par);
|
||||
@@ -744,7 +758,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -761,7 +775,6 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
CLog::Log(LOGERROR,
|
||||
"CDVDVideoCodecDRMPRIME::FilterOpen - avfilter_graph_create_filter: out: {} ({})",
|
||||
err, result);
|
||||
@ -178,7 +178,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -753,32 +766,46 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -770,32 +783,46 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
if (result < 0)
|
||||
{
|
||||
CLog::Log(LOGERROR, "CDVDVideoCodecDRMPRIME::FilterOpen - failed settings pix formats");
|
||||
@ -243,7 +243,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
}
|
||||
|
||||
if ((result = avfilter_graph_config(m_pFilterGraph, nullptr)) < 0)
|
||||
@@ -787,15 +814,11 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
@@ -804,15 +831,11 @@ bool CDVDVideoCodecDRMPRIME::FilterOpen(const std::string& filters, bool test)
|
||||
av_strerror(result, err, AV_ERROR_MAX_STRING_SIZE);
|
||||
CLog::Log(LOGERROR, "CDVDVideoCodecDRMPRIME::FilterOpen - avfilter_graph_config: {} ({})",
|
||||
err, result);
|
||||
@ -259,7 +259,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
|
||||
m_processInfo.SetVideoDeintMethod(filters);
|
||||
|
||||
@@ -830,16 +853,16 @@ void CDVDVideoCodecDRMPRIME::FilterClose()
|
||||
@@ -847,16 +870,16 @@ void CDVDVideoCodecDRMPRIME::FilterClose()
|
||||
CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::ProcessFilterIn()
|
||||
{
|
||||
// sw decoded buffers need cache flush and for descripter to be set
|
||||
@ -279,7 +279,7 @@ index 347dce1ae8..e071de2e53 100644
|
||||
int ret = av_buffersrc_add_frame(m_pFilterIn, m_pFrame);
|
||||
if (ret < 0)
|
||||
{
|
||||
@@ -932,25 +955,28 @@ CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::GetPicture(VideoPicture* pVideo
|
||||
@@ -949,25 +972,28 @@ CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::GetPicture(VideoPicture* pVideo
|
||||
return VC_ERROR;
|
||||
}
|
||||
|
@ -1,17 +1,18 @@
|
||||
From 12b3f602eb11e348e29c61ad162734dab3f51520 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Tue, 21 Mar 2023 19:53:12 +0100
|
||||
Subject: [PATCH] fixup DVDVideoCodecDRMPRIME av formats for latest ffmpeg
|
||||
From 85c8218d79f042c6d16b1d1ff6479743f095994e Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Fri, 14 Apr 2023 19:59:42 +0100
|
||||
Subject: [PATCH 5/5] DVDVideoCodecDRMPRIME: Remove obsolete
|
||||
thread_safe_callbacks
|
||||
|
||||
---
|
||||
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
index f9c69d6871..1030ed4aa3 100644
|
||||
index 611876ba8d..f7022e1854 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
@@ -337,7 +337,6 @@ bool CDVDVideoCodecDRMPRIME::Open(CDVDStreamInfo& hints, CDVDCodecOptions& optio
|
||||
@@ -355,7 +355,6 @@ bool CDVDVideoCodecDRMPRIME::Open(CDVDStreamInfo& hints, CDVDCodecOptions& optio
|
||||
m_pCodecContext->bits_per_coded_sample = hints.bitsperpixel;
|
||||
m_pCodecContext->time_base.num = 1;
|
||||
m_pCodecContext->time_base.den = DVD_TIME_BASE;
|
Loading…
x
Reference in New Issue
Block a user