mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
RPi: add kodi patch to fix SW decoded video deinterlace
This is more correct and needed with latest ffmpeg patches from jc Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
f3165aae56
commit
7d2935acb6
@ -1,7 +1,7 @@
|
||||
From 886f9ddb2fbdf8e4528d7c6b6513a9f762f0b109 Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Sat, 11 Sep 2021 14:03:05 +0100
|
||||
Subject: [PATCH 1/3] CDVDVideoCodecDRMPRIME: Also support YUV420 buffers
|
||||
Subject: [PATCH 1/4] CDVDVideoCodecDRMPRIME: Also support YUV420 buffers
|
||||
|
||||
CDVDVideoCodecDRMPRIME: Add support for deinterlace of sw decoded buffers
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 55303f4a214d80af24d75a93f102edbe02000423 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/3] gbm: Set max bpc for high bit depth videos
|
||||
Subject: [PATCH 2/4] gbm: Set max bpc for high bit depth videos
|
||||
|
||||
---
|
||||
.../HwDecRender/VideoLayerBridgeDRMPRIME.cpp | 16 ++++++++++++++++
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e93a6bc009e660db2746b529149bac8d2e3ae122 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/3] CVideoLayerBridgeDRMPRIME add colourspace connector
|
||||
Subject: [PATCH 3/4] CVideoLayerBridgeDRMPRIME add colourspace connector
|
||||
property
|
||||
|
||||
---
|
||||
|
@ -0,0 +1,42 @@
|
||||
From 8d00033fc98dd0c2570b6b933b4313e7b238b6d0 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Fri, 30 Sep 2022 17:59:55 +0100
|
||||
Subject: [PATCH 4/4] DVDVideoCodecDRMPRIME: use AV_PIX_FMT_DRM_PRIME for
|
||||
frames input to ffmpeg
|
||||
|
||||
This is more correct and necessary with more recent trees from jc
|
||||
---
|
||||
.../VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
index a36107c515..63233cdbdd 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp
|
||||
@@ -660,13 +660,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");
|
||||
- enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_DRM_PRIME, AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE };
|
||||
+ enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_DRM_PRIME, AV_PIX_FMT_NONE };
|
||||
|
||||
std::string args = StringUtils::Format("video_size={}x{}:pix_fmt={}:time_base={}/{}:"
|
||||
"pixel_aspect={}/{}",
|
||||
m_pCodecContext->width,
|
||||
m_pCodecContext->height,
|
||||
- m_pCodecContext->pix_fmt,
|
||||
+ AV_PIX_FMT_DRM_PRIME,
|
||||
m_pCodecContext->time_base.num ?
|
||||
m_pCodecContext->time_base.num : 1,
|
||||
m_pCodecContext->time_base.num ?
|
||||
@@ -818,6 +818,7 @@ CDVDVideoCodec::VCReturn CDVDVideoCodecDRMPRIME::ProcessFilterIn()
|
||||
m_pFrame->data[0] = reinterpret_cast<uint8_t*>(descriptor);
|
||||
}
|
||||
|
||||
+ m_pFrame->format = AV_PIX_FMT_DRM_PRIME;
|
||||
int ret = av_buffersrc_add_frame(m_pFilterIn, m_pFrame);
|
||||
if (ret < 0)
|
||||
{
|
||||
--
|
||||
2.34.1
|
||||
|
Loading…
x
Reference in New Issue
Block a user