mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
xbmc: update to xbmc-14-3f20fb2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
3df253529b
commit
50fbf7230f
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xbmc-theme-Confluence"
|
||||
PKG_VERSION="14-6f26fca"
|
||||
PKG_VERSION="14-3f20fb2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xbmc"
|
||||
PKG_VERSION="14-6f26fca"
|
||||
PKG_VERSION="14-3f20fb2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 88407b12f16fd9b37ac4fb0ef4fc01d4220d15fa Mon Sep 17 00:00:00 2001
|
||||
From 1a5f6373ff6b5c9b102978ae23bb3015e09c2ca6 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Mon, 28 May 2012 10:34:39 +0200
|
||||
Subject: [PATCH 01/31] videoplayer: adapt lateness detection and dropping to
|
||||
Subject: [PATCH 01/29] videoplayer: adapt lateness detection and dropping to
|
||||
buffering
|
||||
|
||||
---
|
||||
@ -182,7 +182,7 @@ index 741017d..c5b24d6 100644
|
||||
+ virtual void SetCodecControl(int flags) {}
|
||||
};
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
index 0d4dcd5..2c541f5 100644
|
||||
index 2db5d99..6920db2 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
@@ -167,6 +167,7 @@ CDVDVideoCodecFFmpeg::CDVDVideoCodecFFmpeg() : CDVDVideoCodec()
|
||||
@ -193,7 +193,7 @@ index 0d4dcd5..2c541f5 100644
|
||||
}
|
||||
|
||||
CDVDVideoCodecFFmpeg::~CDVDVideoCodecFFmpeg()
|
||||
@@ -342,6 +343,14 @@ void CDVDVideoCodecFFmpeg::SetDropState(bool bDrop)
|
||||
@@ -344,6 +345,14 @@ void CDVDVideoCodecFFmpeg::SetDropState(bool bDrop)
|
||||
{
|
||||
if( m_pCodecContext )
|
||||
{
|
||||
@ -208,7 +208,7 @@ index 0d4dcd5..2c541f5 100644
|
||||
// i don't know exactly how high this should be set
|
||||
// couldn't find any good docs on it. think it varies
|
||||
// from codec to codec on what it does
|
||||
@@ -543,6 +552,7 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p
|
||||
@@ -545,6 +554,7 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p
|
||||
void CDVDVideoCodecFFmpeg::Reset()
|
||||
{
|
||||
m_started = false;
|
||||
@ -216,7 +216,7 @@ index 0d4dcd5..2c541f5 100644
|
||||
m_iLastKeyframe = m_pCodecContext->has_b_frames;
|
||||
avcodec_flush_buffers(m_pCodecContext);
|
||||
|
||||
@@ -640,6 +650,22 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
|
||||
@@ -642,6 +652,22 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
|
||||
else
|
||||
pDvdVideoPicture->pts = DVD_NOPTS_VALUE;
|
||||
|
||||
@ -239,7 +239,7 @@ index 0d4dcd5..2c541f5 100644
|
||||
if(!m_started)
|
||||
pDvdVideoPicture->iFlags |= DVP_FLAG_DROPPED;
|
||||
|
||||
@@ -821,3 +847,18 @@ unsigned CDVDVideoCodecFFmpeg::GetAllowedReferences()
|
||||
@@ -823,3 +849,18 @@ unsigned CDVDVideoCodecFFmpeg::GetAllowedReferences()
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
@ -646,10 +646,10 @@ index 296cae6..4795ca0 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 0c230eb40a84be37b75ff3524945858839733437 Mon Sep 17 00:00:00 2001
|
||||
From ca470bff36fcc6a8ab30a4205f34c4a215e9851d Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Sun, 2 Sep 2012 16:05:21 +0200
|
||||
Subject: [PATCH 02/31] video player: present correct pts to user for a/v sync
|
||||
Subject: [PATCH 02/29] video player: present correct pts to user for a/v sync
|
||||
(after buffering in renderer)
|
||||
|
||||
---
|
||||
@ -701,10 +701,10 @@ index 4795ca0..b60a0ee 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 1b446083247a50ee640f3fbbbfba3269f5c3b1e9 Mon Sep 17 00:00:00 2001
|
||||
From 10df96a1b9ed083fc294dbf63ec194f64678a8d7 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Sat, 1 Jun 2013 11:21:19 +0200
|
||||
Subject: [PATCH 03/31] renderer: bump buffers to 5
|
||||
Subject: [PATCH 03/29] renderer: bump buffers to 5
|
||||
|
||||
---
|
||||
xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +-
|
||||
@ -727,10 +727,10 @@ index fb41ccf..f5e5677 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 9e4070c20193efe1130a26ada3580c436956b230 Mon Sep 17 00:00:00 2001
|
||||
From 4889fa6842a6a33b6e8392bd6735ffd20e3d02b1 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Mon, 28 May 2012 10:41:31 +0200
|
||||
Subject: [PATCH 04/31] videoplayer: update frametime, it might change due to
|
||||
Subject: [PATCH 04/29] videoplayer: update frametime, it might change due to
|
||||
fps detection
|
||||
|
||||
---
|
||||
@ -754,10 +754,10 @@ index 75c67a9..fb7ea06 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From c2a2ce71fef08fc39b24bad848cbb865b9229cf6 Mon Sep 17 00:00:00 2001
|
||||
From 4c75b9140604b9eeb8ccd25fef8cd99396f63238 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Mon, 28 May 2012 10:43:06 +0200
|
||||
Subject: [PATCH 05/31] videoplayer: give streams with invalid fps a chance for
|
||||
Subject: [PATCH 05/29] videoplayer: give streams with invalid fps a chance for
|
||||
fps detection
|
||||
|
||||
---
|
||||
@ -781,10 +781,10 @@ index fb7ea06..af7a443 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 9679baba7fd0f000d11ff1c213480a48958a7f0a Mon Sep 17 00:00:00 2001
|
||||
From 4cfd387c0d1cefd90f6274121513c344705e1a02 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Mon, 28 May 2012 10:49:05 +0200
|
||||
Subject: [PATCH 06/31] dvdplayer: allow rewinding at end of stream, do a seek
|
||||
Subject: [PATCH 06/29] dvdplayer: allow rewinding at end of stream, do a seek
|
||||
after rewind
|
||||
|
||||
---
|
||||
@ -792,7 +792,7 @@ Subject: [PATCH 06/31] dvdplayer: allow rewinding at end of stream, do a seek
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
index 93df78c..fbff9fd 100644
|
||||
index a2ac2c6..b3d7c3d 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
@@ -1582,7 +1582,7 @@ void CDVDPlayer::HandlePlaySpeed()
|
||||
@ -821,10 +821,10 @@ index 93df78c..fbff9fd 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 48ed6dd5a189e4013ec4bdef193882d18f5a5fc3 Mon Sep 17 00:00:00 2001
|
||||
From 5d3daa2e5faaf0506a43e602600de054700167f6 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Mon, 20 Aug 2012 16:06:39 +0200
|
||||
Subject: [PATCH 07/31] dvdplayer: observe pts counter overflow
|
||||
Subject: [PATCH 07/29] dvdplayer: observe pts counter overflow
|
||||
|
||||
---
|
||||
.../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 197 ++++++++++++++++++++-
|
||||
@ -832,7 +832,7 @@ Subject: [PATCH 07/31] dvdplayer: observe pts counter overflow
|
||||
2 files changed, 200 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
index 0041c23..59ff17c 100644
|
||||
index 03cd1d7..080b3d2 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
@@ -18,7 +18,6 @@
|
||||
@ -851,7 +851,7 @@ index 0041c23..59ff17c 100644
|
||||
#include "stdint.h"
|
||||
#endif
|
||||
#include "DVDDemuxFFmpeg.h"
|
||||
@@ -445,6 +445,9 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
@@ -447,6 +447,9 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
|
||||
CreateStreams();
|
||||
|
||||
@ -861,7 +861,7 @@ index 0041c23..59ff17c 100644
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -585,6 +588,12 @@ double CDVDDemuxFFmpeg::ConvertTimestamp(int64_t pts, int den, int num)
|
||||
@@ -587,6 +590,12 @@ double CDVDDemuxFFmpeg::ConvertTimestamp(int64_t pts, int den, int num)
|
||||
if (pts == (int64_t)AV_NOPTS_VALUE)
|
||||
return DVD_NOPTS_VALUE;
|
||||
|
||||
@ -874,7 +874,7 @@ index 0041c23..59ff17c 100644
|
||||
// do calculations in floats as they can easily overflow otherwise
|
||||
// we don't care for having a completly exact timestamp anyway
|
||||
double timestamp = (double)pts * num / den;
|
||||
@@ -724,6 +733,24 @@ DemuxPacket* CDVDDemuxFFmpeg::Read()
|
||||
@@ -726,6 +735,24 @@ DemuxPacket* CDVDDemuxFFmpeg::Read()
|
||||
m_pkt.pkt.pts = AV_NOPTS_VALUE;
|
||||
}
|
||||
|
||||
@ -899,7 +899,7 @@ index 0041c23..59ff17c 100644
|
||||
// copy contents into our own packet
|
||||
pPacket->iSize = m_pkt.pkt.size;
|
||||
|
||||
@@ -857,7 +884,16 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts)
|
||||
@@ -859,7 +886,16 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts)
|
||||
ret = av_seek_frame(m_pFormatContext, -1, seek_pts, backwords ? AVSEEK_FLAG_BACKWARD : 0);
|
||||
|
||||
if(ret >= 0)
|
||||
@ -916,7 +916,7 @@ index 0041c23..59ff17c 100644
|
||||
}
|
||||
|
||||
if(m_iCurrentPts == DVD_NOPTS_VALUE)
|
||||
@@ -876,6 +912,165 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts)
|
||||
@@ -878,6 +914,165 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts)
|
||||
return (ret >= 0);
|
||||
}
|
||||
|
||||
@ -1107,10 +1107,10 @@ index 08eb3df..dd89584 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From a178c584cf800702210406c383d2cfa8ba582b34 Mon Sep 17 00:00:00 2001
|
||||
From 7f17dc86fad3c003be4fa1bcdc6bf1b9362f8147 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Tue, 2 Oct 2012 13:02:10 +0200
|
||||
Subject: [PATCH 08/31] dvdplayer: avoid short screen flicker caused by
|
||||
Subject: [PATCH 08/29] dvdplayer: avoid short screen flicker caused by
|
||||
unnecessary reconfigure of renderer
|
||||
|
||||
---
|
||||
@ -1143,10 +1143,10 @@ index af7a443..cc6e88c 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 775a19a406601c73266feefa98b151e102c1cee6 Mon Sep 17 00:00:00 2001
|
||||
From 6a3924dd51b9de56f38f60bf736e60aa969c6f40 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Thu, 11 Oct 2012 12:05:50 +0200
|
||||
Subject: [PATCH 09/31] vdpau: advanced settings for auto deinterlacing
|
||||
Subject: [PATCH 09/29] vdpau: advanced settings for auto deinterlacing
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++----
|
||||
@ -1174,7 +1174,7 @@ index 0c71532..345c442 100644
|
||||
if (deint != -1)
|
||||
{
|
||||
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
|
||||
index d1797ac..a8acb0c 100644
|
||||
index 5f3f2d8..f42970c 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.cpp
|
||||
+++ b/xbmc/settings/AdvancedSettings.cpp
|
||||
@@ -156,6 +156,8 @@ void CAdvancedSettings::Initialize()
|
||||
@ -1212,10 +1212,10 @@ index 7e50a63..980138e 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 53ae554c72f826f6a65f94bb888c6c3e9f1db80c Mon Sep 17 00:00:00 2001
|
||||
From 06dc66c7b370f9e016c03e3cc22b2583d21b4d10 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Fri, 2 Nov 2012 13:20:03 +0100
|
||||
Subject: [PATCH 10/31] player: fix rewind
|
||||
Subject: [PATCH 10/29] player: fix rewind
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++-
|
||||
@ -1263,7 +1263,7 @@ index a365821..07366df 100644
|
||||
|
||||
class CDVDMsgPlayerSeekChapter : public CDVDMsg
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
index fbff9fd..5c1ab1a 100644
|
||||
index b3d7c3d..a267559 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
@@ -1583,11 +1583,13 @@ void CDVDPlayer::HandlePlaySpeed()
|
||||
@ -1276,7 +1276,7 @@ index fbff9fd..5c1ab1a 100644
|
||||
&& m_SpeedState.lasttime != GetTime())
|
||||
{
|
||||
m_SpeedState.lastpts = m_dvdPlayerVideo.GetCurrentPts();
|
||||
m_SpeedState.lasttime = GetTime();
|
||||
m_SpeedState.lasttime = (double) GetTime();
|
||||
+ m_SpeedState.lastabstime = CDVDClock::GetAbsoluteClock();
|
||||
// check how much off clock video is when ff/rw:ing
|
||||
// a problem here is that seeking isn't very accurate
|
||||
@ -1285,8 +1285,8 @@ index fbff9fd..5c1ab1a 100644
|
||||
{
|
||||
CLog::Log(LOGDEBUG, "CDVDPlayer::Process - Seeking to catch up");
|
||||
int64_t iTime = (int64_t)DVD_TIME_TO_MSEC(m_clock.GetClock() + m_State.time_offset + 500000.0 * m_playSpeed / DVD_PLAYSPEED_NORMAL);
|
||||
- m_messenger.Put(new CDVDMsgPlayerSeek(iTime, (GetPlaySpeed() < 0), true, false, false, true));
|
||||
+ m_messenger.Put(new CDVDMsgPlayerSeek(iTime, (GetPlaySpeed() < 0), true, false, false, true, false));
|
||||
- m_messenger.Put(new CDVDMsgPlayerSeek((int) iTime, (GetPlaySpeed() < 0), true, false, false, true));
|
||||
+ m_messenger.Put(new CDVDMsgPlayerSeek((int) iTime, (GetPlaySpeed() < 0), true, false, false, true, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1430,17 +1430,17 @@ index b60a0ee..ecd2d20 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From d507617b934c83b13a1bc49e8885722f058e1b61 Mon Sep 17 00:00:00 2001
|
||||
From 81f0ce5da5cf8fb773c96156de4591f962853ff5 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Thu, 28 Mar 2013 15:18:53 +0100
|
||||
Subject: [PATCH 11/31] OMXPlayer: some caching fixes for pvr
|
||||
Subject: [PATCH 11/29] OMXPlayer: some caching fixes for pvr
|
||||
|
||||
---
|
||||
xbmc/cores/omxplayer/OMXPlayer.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp
|
||||
index 29ea4ae..0df8aba 100644
|
||||
index b135741..8965fe2 100644
|
||||
--- a/xbmc/cores/omxplayer/OMXPlayer.cpp
|
||||
+++ b/xbmc/cores/omxplayer/OMXPlayer.cpp
|
||||
@@ -2524,7 +2524,8 @@ void COMXPlayer::HandleMessages()
|
||||
@ -1457,17 +1457,17 @@ index 29ea4ae..0df8aba 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 6873226a091f9ad66e72dbfd88dd6f608dd5adbe Mon Sep 17 00:00:00 2001
|
||||
From 37d547fba784e6b8066f6d72ae43a308eaaec032 Mon Sep 17 00:00:00 2001
|
||||
From: xbmc <fernetmenta@online.de>
|
||||
Date: Thu, 28 Mar 2013 20:50:59 +0100
|
||||
Subject: [PATCH 12/31] fix incorrect display of fps when dr kicks in
|
||||
Subject: [PATCH 12/29] fix incorrect display of fps when dr kicks in
|
||||
|
||||
---
|
||||
xbmc/Application.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||
index a25f44f..027172e 100644
|
||||
index 397bfa4..fda7929 100644
|
||||
--- a/xbmc/Application.cpp
|
||||
+++ b/xbmc/Application.cpp
|
||||
@@ -2336,10 +2336,11 @@ void CApplication::Render()
|
||||
@ -1487,10 +1487,10 @@ index a25f44f..027172e 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From f6217d1f508d8bdd0c025f859936b474f3136f85 Mon Sep 17 00:00:00 2001
|
||||
From 2839e0755a58cd7b5df97f53987ba39a2635622f Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Thu, 25 Jul 2013 17:18:13 +0200
|
||||
Subject: [PATCH 13/31] ActiveAE: slightly reduce buffer size
|
||||
Subject: [PATCH 13/29] ActiveAE: slightly reduce buffer size
|
||||
|
||||
---
|
||||
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++--
|
||||
@ -1515,10 +1515,10 @@ index fe5e893..c98c73b 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 6715696b126d772fa3553eaaa30f6ca110841a7c Mon Sep 17 00:00:00 2001
|
||||
From 960c1a510cec7624691166547a3be29add96a56f Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Sun, 4 Aug 2013 10:11:16 +0200
|
||||
Subject: [PATCH 14/31] Revert "vdpau: comment some features that will be added
|
||||
Subject: [PATCH 14/29] Revert "vdpau: comment some features that will be added
|
||||
later"
|
||||
|
||||
This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf.
|
||||
@ -1574,32 +1574,24 @@ index 345c442..6d2e564 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From a542f0f7139300e06423d761f558d40b910a5730 Mon Sep 17 00:00:00 2001
|
||||
From 42e8966f4e32bbd42a61c7a95483246ffce274aa Mon Sep 17 00:00:00 2001
|
||||
From: Marcel Groothuis <margro.xbmc@gmail.com>
|
||||
Date: Thu, 5 Dec 2013 22:02:50 +0100
|
||||
Subject: [PATCH 15/31] ffmpeg demuxer: faster channel change for PVR addons
|
||||
Subject: [PATCH 15/29] ffmpeg demuxer: faster channel change for PVR addons
|
||||
without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR)
|
||||
Credits: FernetMenta, Davilla, Popcornmix, Whaupt
|
||||
|
||||
---
|
||||
.../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 187 +++++++++++++++++++--
|
||||
.../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 185 +++++++++++++++++++--
|
||||
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.h | 7 +-
|
||||
.../dvdplayer/DVDDemuxers/DVDFactoryDemuxer.cpp | 13 +-
|
||||
3 files changed, 184 insertions(+), 23 deletions(-)
|
||||
3 files changed, 184 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
index 59ff17c..6e2f585 100644
|
||||
index 080b3d2..c01bc11 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
@@ -52,7 +52,6 @@
|
||||
#include "URL.h"
|
||||
#include "cores/FFmpeg.h"
|
||||
|
||||
-
|
||||
struct StereoModeConversionMap
|
||||
{
|
||||
const char* name;
|
||||
@@ -71,6 +70,8 @@ static const struct StereoModeConversionMap WmvToInternalStereoModeMap[] =
|
||||
@@ -74,6 +74,8 @@ static const struct StereoModeConversionMap WmvToInternalStereoModeMap[] =
|
||||
{}
|
||||
};
|
||||
|
||||
@ -1608,7 +1600,7 @@ index 59ff17c..6e2f585 100644
|
||||
void CDemuxStreamAudioFFmpeg::GetStreamInfo(std::string& strInfo)
|
||||
{
|
||||
if(!m_stream) return;
|
||||
@@ -172,6 +173,8 @@ CDVDDemuxFFmpeg::CDVDDemuxFFmpeg() : CDVDDemux()
|
||||
@@ -175,6 +177,8 @@ CDVDDemuxFFmpeg::CDVDDemuxFFmpeg() : CDVDDemux()
|
||||
m_program = UINT_MAX;
|
||||
m_pkt.result = -1;
|
||||
memset(&m_pkt.pkt, 0, sizeof(AVPacket));
|
||||
@ -1617,7 +1609,7 @@ index 59ff17c..6e2f585 100644
|
||||
}
|
||||
|
||||
CDVDDemuxFFmpeg::~CDVDDemuxFFmpeg()
|
||||
@@ -192,10 +195,11 @@ bool CDVDDemuxFFmpeg::Aborted()
|
||||
@@ -195,10 +199,11 @@ bool CDVDDemuxFFmpeg::Aborted()
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1630,7 +1622,7 @@ index 59ff17c..6e2f585 100644
|
||||
m_iCurrentPts = DVD_NOPTS_VALUE;
|
||||
m_speed = DVD_PLAYSPEED_NORMAL;
|
||||
m_program = UINT_MAX;
|
||||
@@ -206,8 +210,6 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
@@ -209,8 +214,6 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
m_pInput = pInput;
|
||||
strFile = m_pInput->GetFileName();
|
||||
|
||||
@ -1639,9 +1631,9 @@ index 59ff17c..6e2f585 100644
|
||||
if( m_pInput->GetContent().length() > 0 )
|
||||
{
|
||||
std::string content = m_pInput->GetContent();
|
||||
@@ -402,17 +404,22 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
@@ -405,13 +408,19 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
if (iformat && (strcmp(iformat->name, "mjpeg") == 0) && m_ioContext->seekable == 0)
|
||||
m_pFormatContext->max_analyze_duration = 500000;
|
||||
av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0);
|
||||
|
||||
+ if (iformat && (strcmp(iformat->name, "mpegts") == 0))
|
||||
+ {
|
||||
@ -1659,13 +1651,9 @@ index 59ff17c..6e2f585 100644
|
||||
- /* too speed up dvd switches, only analyse very short */
|
||||
+ /* to speed up dvd switches, only analyse very short */
|
||||
if(m_pInput->IsStreamType(DVDSTREAM_TYPE_DVD))
|
||||
m_pFormatContext->max_analyze_duration = 500000;
|
||||
av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0);
|
||||
|
||||
-
|
||||
CLog::Log(LOGDEBUG, "%s - avformat_find_stream_info starting", __FUNCTION__);
|
||||
int iErr = avformat_find_stream_info(m_pFormatContext, NULL);
|
||||
if (iErr < 0)
|
||||
@@ -431,7 +438,19 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
@@ -433,7 +442,19 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
|
||||
}
|
||||
}
|
||||
CLog::Log(LOGDEBUG, "%s - av_find_stream_info finished", __FUNCTION__);
|
||||
@ -1675,17 +1663,17 @@ index 59ff17c..6e2f585 100644
|
||||
+ // make sure we start video with an i-frame
|
||||
+ ResetVideoStreams();
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ m_program = 0;
|
||||
+ m_checkvideo = true;
|
||||
}
|
||||
+ }
|
||||
+
|
||||
// reset any timeout
|
||||
m_timeout.SetInfinite();
|
||||
|
||||
@@ -485,7 +504,7 @@ void CDVDDemuxFFmpeg::Reset()
|
||||
@@ -487,7 +508,7 @@ void CDVDDemuxFFmpeg::Reset()
|
||||
{
|
||||
CDVDInputStream* pInputStream = m_pInput;
|
||||
Dispose();
|
||||
@ -1694,7 +1682,7 @@ index 59ff17c..6e2f585 100644
|
||||
}
|
||||
|
||||
void CDVDDemuxFFmpeg::Flush()
|
||||
@@ -679,25 +698,32 @@ DemuxPacket* CDVDDemuxFFmpeg::Read()
|
||||
@@ -681,25 +702,32 @@ DemuxPacket* CDVDDemuxFFmpeg::Read()
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1737,7 +1725,7 @@ index 59ff17c..6e2f585 100644
|
||||
|
||||
if (pPacket)
|
||||
{
|
||||
@@ -1681,3 +1707,128 @@ std::string CDVDDemuxFFmpeg::ConvertCodecToInternalStereoMode(const std::string
|
||||
@@ -1683,3 +1711,128 @@ std::string CDVDDemuxFFmpeg::ConvertCodecToInternalStereoMode(const std::string
|
||||
}
|
||||
return "";
|
||||
}
|
||||
@ -1949,10 +1937,10 @@ index ca689d0..f383563 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From fb1c1a317923b34030bf9b3a21a5d472c05a884c Mon Sep 17 00:00:00 2001
|
||||
From 14bc80543a56bc13bd1431bb69abc1eb6b797574 Mon Sep 17 00:00:00 2001
|
||||
From: Wolfgang Haupt <w.haupt@at-visions.com>
|
||||
Date: Thu, 5 Dec 2013 22:11:57 +0100
|
||||
Subject: [PATCH 16/31] DVDFactoryDemuxer: skip streaminfo for udp tcp and
|
||||
Subject: [PATCH 16/29] DVDFactoryDemuxer: skip streaminfo for udp tcp and
|
||||
pvr-channels
|
||||
|
||||
---
|
||||
@ -2076,10 +2064,10 @@ index 667f6d3..0094709 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 574b9866f6fb72511e6ca66b9944e8b18bbc4563 Mon Sep 17 00:00:00 2001
|
||||
From 27f983a373cdf3bc660a865f21a778316203a2d3 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Sun, 22 Dec 2013 14:52:29 +0100
|
||||
Subject: [PATCH 17/31] linux: add shared lib for sse4 operations
|
||||
Subject: [PATCH 17/29] linux: add shared lib for sse4 operations
|
||||
|
||||
---
|
||||
Makefile.in | 8 ++-
|
||||
@ -2094,10 +2082,10 @@ Subject: [PATCH 17/31] linux: add shared lib for sse4 operations
|
||||
create mode 100644 xbmc/linux/sse4/Makefile.in
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index cc0b40c..f471695 100644
|
||||
index 433d5ba..1dd97ee 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -318,6 +318,12 @@ CHECK_LIBADD=@WAYLAND_TEST_LIBS@
|
||||
@@ -320,6 +320,12 @@ CHECK_LIBADD=@WAYLAND_TEST_LIBS@
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -2110,7 +2098,7 @@ index cc0b40c..f471695 100644
|
||||
CHECK_PROGRAMS = xbmc-test
|
||||
|
||||
CLEAN_FILES += $(CHECK_PROGRAMS) $(CHECK_EXTENSIONS)
|
||||
@@ -445,7 +451,7 @@ endif
|
||||
@@ -447,7 +453,7 @@ endif
|
||||
|
||||
codecs: papcodecs dvdpcodecs dvdpextcodecs
|
||||
|
||||
@ -2120,7 +2108,7 @@ index cc0b40c..f471695 100644
|
||||
externals: codecs libs visualizations screensavers libaddon pvraddons
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index ce82cd4..a1abd70 100644
|
||||
index a9d5f46..c6f7cf1 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -843,6 +843,19 @@ elif test "$use_arch" = "arm"; then
|
||||
@ -2374,20 +2362,20 @@ index 0000000..45aa826
|
||||
2.0.3
|
||||
|
||||
|
||||
From df4f83ca42cf1648bc3a9beacee8805f598092b9 Mon Sep 17 00:00:00 2001
|
||||
From 6bdf738ed60795c3bb9224be9144ca5429767e33 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Tue, 28 Jan 2014 10:05:26 +0100
|
||||
Subject: [PATCH 18/31] xbmc pr 3080
|
||||
Subject: [PATCH 18/29] xbmc pr 3080
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
index 2c541f5..dce21e0 100644
|
||||
index 6920db2..d72e256 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
@@ -475,6 +475,14 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p
|
||||
@@ -477,6 +477,14 @@ int CDVDVideoCodecFFmpeg::Decode(uint8_t* pData, int iSize, double dts, double p
|
||||
av_init_packet(&avpkt);
|
||||
avpkt.data = pData;
|
||||
avpkt.size = iSize;
|
||||
@ -2406,17 +2394,17 @@ index 2c541f5..dce21e0 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From d14da2b136b5242cf2e31892320e00f5ac237b39 Mon Sep 17 00:00:00 2001
|
||||
From f6ef191529a8c0b5c741efcc84300631874c7dd8 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Tue, 11 Feb 2014 18:15:06 +0100
|
||||
Subject: [PATCH 19/31] ActiveAE: add some debug logging
|
||||
Subject: [PATCH 19/29] ActiveAE: add some debug logging
|
||||
|
||||
---
|
||||
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp
|
||||
index c61e9175..99c2faf 100644
|
||||
index ec10397..3b67fc0 100644
|
||||
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp
|
||||
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp
|
||||
@@ -263,7 +263,13 @@ unsigned int CActiveAEStream::AddData(uint8_t* const *data, unsigned int offset,
|
||||
@ -2437,10 +2425,10 @@ index c61e9175..99c2faf 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 419b457b3eed7bbadcc9265de698a1aa68cf721e Mon Sep 17 00:00:00 2001
|
||||
From 93a43540101240e2355f5a725fea8316dd94b1a9 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Fri, 13 Jun 2014 14:37:16 +0200
|
||||
Subject: [PATCH 20/31] vaapi - postprocessing
|
||||
Subject: [PATCH 20/29] vaapi - postprocessing
|
||||
|
||||
---
|
||||
configure.in | 16 +-
|
||||
@ -2461,7 +2449,7 @@ Subject: [PATCH 20/31] vaapi - postprocessing
|
||||
15 files changed, 3466 insertions(+), 674 deletions(-)
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index a1abd70..20633fe 100644
|
||||
index c6f7cf1..9e35f52 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1862,21 +1862,15 @@ if test "x$use_vaapi" != "xno"; then
|
||||
@ -2492,10 +2480,10 @@ index a1abd70..20633fe 100644
|
||||
fi
|
||||
else
|
||||
diff --git a/language/English/strings.po b/language/English/strings.po
|
||||
index 3b3fdd0..db1db23 100755
|
||||
index dc494c1..a55ede5 100755
|
||||
--- a/language/English/strings.po
|
||||
+++ b/language/English/strings.po
|
||||
@@ -6188,7 +6188,13 @@ msgctxt "#13456"
|
||||
@@ -6189,7 +6189,13 @@ msgctxt "#13456"
|
||||
msgid "Hardware accelerated"
|
||||
msgstr ""
|
||||
|
||||
@ -2510,7 +2498,7 @@ index 3b3fdd0..db1db23 100755
|
||||
|
||||
#: system/settings/settings.xml
|
||||
msgctxt "#13500"
|
||||
@@ -7352,7 +7358,22 @@ msgctxt "#16326"
|
||||
@@ -7353,7 +7359,22 @@ msgctxt "#16326"
|
||||
msgid "DXVA-HD"
|
||||
msgstr ""
|
||||
|
||||
@ -2534,7 +2522,7 @@ index 3b3fdd0..db1db23 100755
|
||||
|
||||
#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
|
||||
msgctxt "#16400"
|
||||
@@ -15349,7 +15370,14 @@ msgctxt "#36431"
|
||||
@@ -15350,7 +15371,14 @@ msgctxt "#36431"
|
||||
msgid "Defines whether video decoding should be performed in software (requires more CPU) or with hardware acceleration where possible."
|
||||
msgstr ""
|
||||
|
||||
@ -2551,7 +2539,7 @@ index 3b3fdd0..db1db23 100755
|
||||
|
||||
#: system/settings/settings.xml
|
||||
diff --git a/system/settings/settings.xml b/system/settings/settings.xml
|
||||
index 637ddea..416e7ee 100644
|
||||
index cc331b7..ce9cb61 100644
|
||||
--- a/system/settings/settings.xml
|
||||
+++ b/system/settings/settings.xml
|
||||
@@ -715,6 +715,21 @@
|
||||
@ -3110,10 +3098,10 @@ index c5b24d6..69ff8c9 100644
|
||||
|
||||
struct {
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
index dce21e0..95e648a 100644
|
||||
index d72e256..a4ebcd8 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
@@ -628,6 +628,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
|
||||
@@ -630,6 +630,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
|
||||
pDvdVideoPicture->chroma_position = m_pCodecContext->chroma_sample_location;
|
||||
pDvdVideoPicture->color_primaries = m_pCodecContext->color_primaries;
|
||||
pDvdVideoPicture->color_transfer = m_pCodecContext->color_trc;
|
||||
@ -3121,7 +3109,7 @@ index dce21e0..95e648a 100644
|
||||
if(m_pCodecContext->color_range == AVCOL_RANGE_JPEG
|
||||
|| m_pCodecContext->pix_fmt == PIX_FMT_YUVJ420P)
|
||||
pDvdVideoPicture->color_range = 1;
|
||||
@@ -651,10 +652,24 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
|
||||
@@ -653,10 +654,24 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
|
||||
pDvdVideoPicture->qscale_type = DVP_QSCALE_UNKNOWN;
|
||||
}
|
||||
|
||||
@ -7173,10 +7161,10 @@ index 760eda5..965f297 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 01fe1bb2130c11bd8ea0a2ddbb3de0ae568d43e8 Mon Sep 17 00:00:00 2001
|
||||
From eff747c2066e426c0eb8ad9581a250b09ac308ec Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <Peter.Fruehberger@gmail.com>
|
||||
Date: Sun, 29 Jun 2014 14:45:28 +0200
|
||||
Subject: [PATCH 21/31] VAAPI: Don't use swfilter for large surfaces - fallback
|
||||
Subject: [PATCH 21/29] VAAPI: Don't use swfilter for large surfaces - fallback
|
||||
to vaapi render
|
||||
|
||||
---
|
||||
@ -7257,10 +7245,10 @@ index 93be338..4e1b136 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 418e2d3a9c5c92ca02348005a83ad5949f209959 Mon Sep 17 00:00:00 2001
|
||||
From 9741c9eab449c8fcc4ec2dfad3dc859645ad45d9 Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <Peter.Fruehberger@gmail.com>
|
||||
Date: Sun, 29 Jun 2014 16:21:44 +0200
|
||||
Subject: [PATCH 22/31] VAAPI: Fix fallback condition
|
||||
Subject: [PATCH 22/29] VAAPI: Fix fallback condition
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 3 +--
|
||||
@ -7284,20 +7272,20 @@ index 4e1b136..92b2f97 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 6fdaf675b27ebc4282044478ec755d80bac72b91 Mon Sep 17 00:00:00 2001
|
||||
From 5ee8e27e35a5709a6474a01cd6ceda098d91b278 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Fri, 18 Jul 2014 10:39:07 +0200
|
||||
Subject: [PATCH 24/31] fast channel switch, make sure extradata is decoded
|
||||
Subject: [PATCH 23/29] fast channel switch, make sure extradata is decoded
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
index 6e2f585..7a44a1a 100644
|
||||
index c01bc11..d38bfab 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
@@ -1763,7 +1763,8 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPacket *pkt)
|
||||
@@ -1767,7 +1767,8 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPacket *pkt)
|
||||
// We don't need to actually decode here
|
||||
// we just want to transport SPS data into codec context
|
||||
st->codec->skip_idct = AVDISCARD_ALL;
|
||||
@ -7311,10 +7299,10 @@ index 6e2f585..7a44a1a 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 0b185af12c454c36afaefa4db81cd3aa7ddf03cc Mon Sep 17 00:00:00 2001
|
||||
From bac2292ff9f68f91fc7f14bdcc79cd784167803b Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Mon, 21 Jul 2014 08:53:07 +0200
|
||||
Subject: [PATCH 25/31] vaapi: fix potential segfault, squash me later
|
||||
Subject: [PATCH 24/29] vaapi: fix potential segfault, squash me later
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 +
|
||||
@ -7336,10 +7324,10 @@ index 92b2f97..671e8a5 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From b1bf55d5abde519fa711d61f4b9664dbfce4623e Mon Sep 17 00:00:00 2001
|
||||
From 5a9cbb8fa924af1afddfa90882f0358c6e6a749a Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Tue, 22 Jul 2014 15:36:31 +0200
|
||||
Subject: [PATCH 26/31] dvdplayer: get number of channels for active audio
|
||||
Subject: [PATCH 25/29] dvdplayer: get number of channels for active audio
|
||||
stream from audio player, ffmpeg demuxer does not update this info for codecs
|
||||
like AAC
|
||||
|
||||
@ -7350,7 +7338,7 @@ Subject: [PATCH 26/31] dvdplayer: get number of channels for active audio
|
||||
3 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
index 5c1ab1a..2ca4eaf 100644
|
||||
index a267559..a7b23e5 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
|
||||
@@ -3788,12 +3788,18 @@ void CDVDPlayer::GetAudioStreamInfo(int index, SPlayerAudioStreamInfo &info)
|
||||
@ -7381,7 +7369,7 @@ index 5c1ab1a..2ca4eaf 100644
|
||||
m_pDemuxer->GetStreamCodecName(stream->iId, codecName);
|
||||
info.audioCodecName = codecName;
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
|
||||
index 3141a9b..68ec63d 100644
|
||||
index e4c6089..120cdde 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
|
||||
@@ -552,6 +552,8 @@ void CDVDPlayerAudio::Process()
|
||||
@ -7421,10 +7409,10 @@ index 2a1b564..ec9570a 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 495c5b8970309ee38d6ae8ae927c02a7c17709a0 Mon Sep 17 00:00:00 2001
|
||||
From 15bf21b291dc3d97187210ac8b8515d31e7e4c53 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Wed, 23 Jul 2014 15:07:37 +0200
|
||||
Subject: [PATCH 27/31] ffmpeg demuxer: allow a stream change if pat/pmt was
|
||||
Subject: [PATCH 26/29] ffmpeg demuxer: allow a stream change if pat/pmt was
|
||||
not seen on open
|
||||
|
||||
---
|
||||
@ -7432,10 +7420,10 @@ Subject: [PATCH 27/31] ffmpeg demuxer: allow a stream change if pat/pmt was
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
index 7a44a1a..9983d9e 100644
|
||||
index d38bfab..e388ecf 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
@@ -462,7 +462,13 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo)
|
||||
@@ -466,7 +466,13 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo)
|
||||
|
||||
UpdateCurrentPTS();
|
||||
|
||||
@ -7454,88 +7442,10 @@ index 7a44a1a..9983d9e 100644
|
||||
2.0.3
|
||||
|
||||
|
||||
From 66aadd770712c0658a032c79fab287a102c477e5 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Sat, 26 Jul 2014 09:54:06 +0200
|
||||
Subject: [PATCH 28/31] ffmpeg: adapt depreciated attribute
|
||||
max_analyze_duration
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
index 9983d9e..a8e1f7a 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
@@ -52,6 +52,10 @@
|
||||
#include "URL.h"
|
||||
#include "cores/FFmpeg.h"
|
||||
|
||||
+extern "C" {
|
||||
+#include "libavutil/opt.h"
|
||||
+}
|
||||
+
|
||||
struct StereoModeConversionMap
|
||||
{
|
||||
const char* name;
|
||||
@@ -402,11 +406,11 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo)
|
||||
|
||||
// analyse very short to speed up mjpeg playback start
|
||||
if (iformat && (strcmp(iformat->name, "mjpeg") == 0) && m_ioContext->seekable == 0)
|
||||
- m_pFormatContext->max_analyze_duration = 500000;
|
||||
+ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0);
|
||||
|
||||
if (iformat && (strcmp(iformat->name, "mpegts") == 0))
|
||||
{
|
||||
- m_pFormatContext->max_analyze_duration = 500000;
|
||||
+ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0);
|
||||
m_checkvideo = true;
|
||||
}
|
||||
|
||||
@@ -418,7 +422,7 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo)
|
||||
{
|
||||
/* to speed up dvd switches, only analyse very short */
|
||||
if(m_pInput->IsStreamType(DVDSTREAM_TYPE_DVD))
|
||||
- m_pFormatContext->max_analyze_duration = 500000;
|
||||
+ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0);
|
||||
|
||||
CLog::Log(LOGDEBUG, "%s - avformat_find_stream_info starting", __FUNCTION__);
|
||||
int iErr = avformat_find_stream_info(m_pFormatContext, NULL);
|
||||
--
|
||||
2.0.3
|
||||
|
||||
|
||||
From 98e4a94f1dfb752a3207ac1fc97988196a3ce2cf Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Sat, 26 Jul 2014 14:37:52 +0200
|
||||
Subject: [PATCH 29/31] ffmpeg: fix deadlock caused by calling
|
||||
avctx->thread_count after codec_open
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
index 671e8a5..7021031 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
@@ -554,7 +554,6 @@ bool CDecoder::Open(AVCodecContext* avctx, const enum PixelFormat fmt, unsigned
|
||||
}
|
||||
|
||||
avctx->hwaccel_context = &m_hwContext;
|
||||
- avctx->thread_count = 1;
|
||||
avctx->get_buffer2 = CDecoder::FFGetBuffer;
|
||||
avctx->slice_flags = SLICE_FLAG_CODED_ORDER|SLICE_FLAG_ALLOW_FIELD;
|
||||
return true;
|
||||
--
|
||||
2.0.3
|
||||
|
||||
|
||||
From 8e2ba85b190fd11a5e3d360c63fd0ec98b70ac6b Mon Sep 17 00:00:00 2001
|
||||
From eac4c134fa62021edabfeba52a3a680c7722deb0 Mon Sep 17 00:00:00 2001
|
||||
From: xhaggi <sascha.woo@gmail.com>
|
||||
Date: Tue, 22 Jul 2014 11:45:53 +0200
|
||||
Subject: [PATCH 30/31] [builtins] don't activate an already active window
|
||||
Subject: [PATCH 27/29] [builtins] don't activate an already active window
|
||||
|
||||
---
|
||||
xbmc/interfaces/Builtins.cpp | 36 +++++++++++++++++++++---------------
|
||||
@ -7598,3 +7508,57 @@ index 1816851..af6a6fd 100644
|
||||
else
|
||||
--
|
||||
2.0.3
|
||||
|
||||
|
||||
From 172d51ad45e6469724ca7a16502e8bce4c3dd28f Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Sat, 26 Jul 2014 09:54:06 +0200
|
||||
Subject: [PATCH 28/29] ffmpeg: fixup fast channel switch (deprecated
|
||||
max_analyze_duration)
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
index e388ecf..a8e1f7a 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
|
||||
@@ -410,7 +410,7 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo)
|
||||
|
||||
if (iformat && (strcmp(iformat->name, "mpegts") == 0))
|
||||
{
|
||||
- m_pFormatContext->max_analyze_duration = 500000;
|
||||
+ av_opt_set_int(m_pFormatContext, "analyzeduration", 500000, 0);
|
||||
m_checkvideo = true;
|
||||
}
|
||||
|
||||
--
|
||||
2.0.3
|
||||
|
||||
|
||||
From 17a6846a544096eb6493b576d2db1bd2c1f0b7a0 Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <peter.fruehberger@gmail.com>
|
||||
Date: Sun, 3 Aug 2014 17:18:08 +0200
|
||||
Subject: [PATCH 29/29] VAAPI: fixup don't cause deadlock squash into
|
||||
e98e77105895bad63e8205eaa5ea2fed94753ff1
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
index 671e8a5..7021031 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
@@ -554,7 +554,6 @@ bool CDecoder::Open(AVCodecContext* avctx, const enum PixelFormat fmt, unsigned
|
||||
}
|
||||
|
||||
avctx->hwaccel_context = &m_hwContext;
|
||||
- avctx->thread_count = 1;
|
||||
avctx->get_buffer2 = CDecoder::FFGetBuffer;
|
||||
avctx->slice_flags = SLICE_FLAG_CODED_ORDER|SLICE_FLAG_ALLOW_FIELD;
|
||||
return true;
|
||||
--
|
||||
2.0.3
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
From 9c1dea43c9b9b66c48d057d3c0e44cd4a807e4dc Mon Sep 17 00:00:00 2001
|
||||
From 233c97d88577ae7758884386b5e8c49d52bdd22f Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Fri, 20 Dec 2013 00:36:34 +0200
|
||||
Date: Sun, 3 Aug 2014 13:00:06 +0300
|
||||
Subject: [PATCH] service addons: use a wrapper to setup systemd
|
||||
|
||||
---
|
||||
@ -10,7 +10,7 @@ Subject: [PATCH] service addons: use a wrapper to setup systemd
|
||||
3 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp
|
||||
index 4202363..105749f 100644
|
||||
index 51a8da8..deedb04 100644
|
||||
--- a/xbmc/addons/AddonDatabase.cpp
|
||||
+++ b/xbmc/addons/AddonDatabase.cpp
|
||||
@@ -20,6 +20,7 @@
|
||||
@ -21,7 +21,7 @@ index 4202363..105749f 100644
|
||||
#include "utils/log.h"
|
||||
#include "utils/Variant.h"
|
||||
#include "utils/StringUtils.h"
|
||||
@@ -581,6 +582,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t
|
||||
@@ -596,6 +597,7 @@ bool CAddonDatabase::DisableAddon(const std::string &addonID, bool disable /* =
|
||||
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
|
||||
if (service)
|
||||
service->Stop();
|
||||
@ -29,7 +29,7 @@ index 4202363..105749f 100644
|
||||
}
|
||||
// restart the pvr manager when disabling a pvr add-on with the pvr manager enabled
|
||||
else if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_PVRDLL, false) && addon &&
|
||||
@@ -601,6 +603,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t
|
||||
@@ -616,6 +618,7 @@ bool CAddonDatabase::DisableAddon(const std::string &addonID, bool disable /* =
|
||||
// If the addon is a service, start it
|
||||
if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_SERVICE, false) && addon && disabled)
|
||||
{
|
||||
@ -38,7 +38,7 @@ index 4202363..105749f 100644
|
||||
if (service)
|
||||
service->Start();
|
||||
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
|
||||
index 8c9f241..d2f4610 100644
|
||||
index b410d6c..d33f8a6 100644
|
||||
--- a/xbmc/addons/AddonInstaller.cpp
|
||||
+++ b/xbmc/addons/AddonInstaller.cpp
|
||||
@@ -70,6 +70,13 @@ CAddonInstaller &CAddonInstaller::Get()
|
||||
@ -55,23 +55,23 @@ index 8c9f241..d2f4610 100644
|
||||
void CAddonInstaller::OnJobComplete(unsigned int jobID, bool success, CJob* job)
|
||||
{
|
||||
if (success)
|
||||
@@ -586,6 +593,7 @@ bool CAddonInstallJob::OnPreInstall()
|
||||
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
|
||||
if (service)
|
||||
service->Stop();
|
||||
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true);
|
||||
CAddonMgr::Get().RemoveAddon(m_addon->ID()); // remove it
|
||||
return running;
|
||||
}
|
||||
@@ -713,6 +721,7 @@ void CAddonInstallJob::OnPostInstall(bool reloadAddon)
|
||||
AddonPtr addon;
|
||||
CAddonMgr::Get().GetAddon(m_addon->ID(), addon);
|
||||
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(addon);
|
||||
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false);
|
||||
@@ -644,6 +651,7 @@ bool CAddonInstallJob::OnPreInstall()
|
||||
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(localAddon);
|
||||
if (service)
|
||||
service->Start();
|
||||
service->Stop();
|
||||
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true);
|
||||
}
|
||||
@@ -794,6 +803,7 @@ bool CAddonUnInstallJob::DoWork()
|
||||
return !CAddonMgr::Get().IsAddonDisabled(m_addon->ID());
|
||||
}
|
||||
@@ -773,6 +781,7 @@ void CAddonInstallJob::OnPostInstall(bool reloadAddon)
|
||||
if (CAddonMgr::Get().GetAddon(m_addon->ID(), localAddon, ADDON_SERVICE, false))
|
||||
{
|
||||
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(localAddon);
|
||||
+ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false);
|
||||
if (service)
|
||||
service->Start();
|
||||
}
|
||||
@@ -840,6 +849,7 @@ bool CAddonUnInstallJob::DoWork()
|
||||
boost::shared_ptr<CService> service = boost::dynamic_pointer_cast<CService>(m_addon);
|
||||
if (service)
|
||||
service->Stop();
|
||||
@ -80,10 +80,10 @@ index 8c9f241..d2f4610 100644
|
||||
|
||||
AddonPtr repoPtr = CAddonInstallJob::GetRepoForAddon(m_addon);
|
||||
diff --git a/xbmc/addons/AddonInstaller.h b/xbmc/addons/AddonInstaller.h
|
||||
index 39cab93..2938c7f 100644
|
||||
index ab93a2f..7d62b5b 100644
|
||||
--- a/xbmc/addons/AddonInstaller.h
|
||||
+++ b/xbmc/addons/AddonInstaller.h
|
||||
@@ -29,6 +29,8 @@ class CAddonInstaller : public IJobCallback
|
||||
@@ -38,6 +38,8 @@ class CAddonInstaller : public IJobCallback
|
||||
public:
|
||||
static CAddonInstaller &Get();
|
||||
|
||||
@ -91,7 +91,7 @@ index 39cab93..2938c7f 100644
|
||||
+
|
||||
bool IsDownloading() const;
|
||||
void GetInstallList(ADDON::VECADDONS &addons) const;
|
||||
bool GetProgress(const CStdString &addonID, unsigned int &percent) const;
|
||||
bool GetProgress(const std::string &addonID, unsigned int &percent) const;
|
||||
--
|
||||
1.8.3.2
|
||||
1.9.1
|
||||
|
||||
|
@ -1,16 +1,17 @@
|
||||
From 4b7c1455582ccb6f8979681b4baed93d2852140c Mon Sep 17 00:00:00 2001
|
||||
From 0e26e69497c0977f6a0efbf48d199f6313c539cf Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Fri, 11 Jul 2014 19:37:12 +0300
|
||||
Date: Sun, 3 Aug 2014 13:03:44 +0300
|
||||
Subject: [PATCH] bye bye libflac
|
||||
|
||||
---
|
||||
configure.in | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in
|
||||
--- xbmc-14-67f025d/configure.in 2014-07-25 06:45:49.000000000 +0200
|
||||
+++ xbmc-14-67f025d.patch/configure.in 2014-07-25 06:54:20.396754173 +0200
|
||||
@@ -1056,7 +1056,6 @@
|
||||
diff --git a/configure.in b/configure.in
|
||||
index a9d5f46..702f086 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1056,7 +1056,6 @@ AC_CHECK_HEADER([jpeglib.h],, AC_MSG_ERROR($missing_library))
|
||||
AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library))
|
||||
AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library))
|
||||
AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library))
|
||||
@ -18,7 +19,7 @@ diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in
|
||||
|
||||
AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library))
|
||||
XB_FIND_SONAME([CURL], [curl])
|
||||
@@ -1219,7 +1218,6 @@
|
||||
@@ -1219,7 +1218,6 @@ fi
|
||||
fi
|
||||
|
||||
XB_FIND_SONAME([OGG], [ogg])
|
||||
@ -26,7 +27,7 @@ diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in
|
||||
XB_FIND_SONAME([VORBIS], [vorbis])
|
||||
XB_FIND_SONAME([VORBISFILE], [vorbisfile])
|
||||
XB_FIND_SONAME([MODPLUG], [modplug])
|
||||
@@ -2596,7 +2594,6 @@
|
||||
@@ -2596,7 +2594,6 @@ AC_SUBST(OUTPUT_FILES)
|
||||
AC_SUBST(HAVE_XBMC_NONFREE)
|
||||
AC_SUBST(USE_ASAP_CODEC)
|
||||
AC_SUBST(LIBCURL_BASENAME)
|
||||
@ -34,3 +35,6 @@ diff -Naur xbmc-14-67f025d/configure.in xbmc-14-67f025d.patch/configure.in
|
||||
AC_SUBST(LIBVORBISFILE_BASENAME)
|
||||
AC_SUBST(LIBMODPLUG_BASENAME)
|
||||
AC_SUBST(LIBOGG_BASENAME)
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
From e86491994f73d0d9fbf5087429ad122fc5fb9f5b Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <Peter.Fruehberger@gmail.com>
|
||||
Date: Sun, 27 Jul 2014 17:46:42 +0200
|
||||
Subject: [PATCH] SWCodec: Add VP9 as pure sw decoder to use multithreading
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
index 0d4dcd5..2db5d99 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
|
||||
@@ -210,7 +210,8 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
|
||||
break;
|
||||
}
|
||||
}
|
||||
- else if (hints.codec == AV_CODEC_ID_HEVC)
|
||||
+ else if (hints.codec == AV_CODEC_ID_HEVC
|
||||
+ || hints.codec == AV_CODEC_ID_VP9)
|
||||
m_isSWCodec = true;
|
||||
|
||||
if(pCodec == NULL)
|
||||
@@ -295,7 +296,8 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
|
||||
if( num_threads > 1 && !hints.software && m_pHardware == NULL // thumbnail extraction fails when run threaded
|
||||
&& ( pCodec->id == AV_CODEC_ID_H264
|
||||
|| pCodec->id == AV_CODEC_ID_MPEG4
|
||||
- || pCodec->id == AV_CODEC_ID_HEVC))
|
||||
+ || pCodec->id == AV_CODEC_ID_HEVC
|
||||
+ || pCodec->id == AV_CODEC_ID_VP9))
|
||||
m_pCodecContext->thread_count = num_threads;
|
||||
|
||||
if (avcodec_open2(m_pCodecContext, pCodec, NULL) < 0)
|
||||
--
|
||||
1.9.3
|
||||
|
Loading…
x
Reference in New Issue
Block a user