mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
278b40cf7e | ||
|
|
f292a44b77 | ||
|
|
7cf1cf2294 | ||
|
|
dcaa6b2e8a | ||
|
|
38608fad58 | ||
|
|
446d034e18 |
@@ -1,5 +1,5 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
OPENELEC_VERSION="5.0.7"
|
||||
OPENELEC_VERSION="5.0.8"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="5.0"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi-addon-xvdr"
|
||||
PKG_VERSION="39d66cd"
|
||||
PKG_VERSION="c5eff57"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
From 07a17ab720e13d56d8438aa460b0052aa9c02060 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Fri, 20 Mar 2015 10:25:48 +0100
|
||||
Subject: [PATCH] fix frametime for active vsync
|
||||
|
||||
---
|
||||
xbmc/Application.cpp | 11 ++++++++++-
|
||||
xbmc/utils/TimeUtils.cpp | 23 +++++++++++++++++++----
|
||||
xbmc/utils/TimeUtils.h | 2 +-
|
||||
3 files changed, 30 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||
index a79c7dd..eef7f02 100644
|
||||
--- a/xbmc/Application.cpp
|
||||
+++ b/xbmc/Application.cpp
|
||||
@@ -2216,6 +2216,7 @@ void CApplication::Render()
|
||||
bool hasRendered = false;
|
||||
bool limitFrames = false;
|
||||
unsigned int singleFrameTime = 10; // default limit 100 fps
|
||||
+ bool vsync = true;
|
||||
|
||||
// Whether externalplayer is playing and we're unfocused
|
||||
bool extPlayerActive = m_pPlayer->GetCurrentPlayer() == EPC_EXTPLAYER && m_pPlayer->IsPlaying() && !m_AppFocused;
|
||||
@@ -2228,6 +2229,8 @@ void CApplication::Render()
|
||||
if (!extPlayerActive && g_graphicsContext.IsFullScreenVideo() && !m_pPlayer->IsPausedPlayback())
|
||||
{
|
||||
m_bPresentFrame = g_renderManager.HasFrame();
|
||||
+ if (vsync_mode == VSYNC_DISABLED)
|
||||
+ vsync = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2236,9 +2239,15 @@ void CApplication::Render()
|
||||
// DXMERGE - we checked for g_videoConfig.GetVSyncMode() before this
|
||||
// perhaps allowing it to be set differently than the UI option??
|
||||
if (vsync_mode == VSYNC_DISABLED || vsync_mode == VSYNC_VIDEO)
|
||||
+ {
|
||||
limitFrames = true; // not using vsync.
|
||||
+ vsync = false;
|
||||
+ }
|
||||
else if ((g_infoManager.GetFPS() > g_graphicsContext.GetFPS() + 10) && g_infoManager.GetFPS() > 1000 / singleFrameTime)
|
||||
+ {
|
||||
limitFrames = true; // using vsync, but it isn't working.
|
||||
+ vsync = false;
|
||||
+ }
|
||||
|
||||
if (limitFrames)
|
||||
{
|
||||
@@ -2334,7 +2343,7 @@ void CApplication::Render()
|
||||
}
|
||||
|
||||
m_lastFrameTime = XbmcThreads::SystemClockMillis();
|
||||
- CTimeUtils::UpdateFrameTime(flip);
|
||||
+ CTimeUtils::UpdateFrameTime(flip, vsync);
|
||||
|
||||
g_renderManager.UpdateResolution();
|
||||
g_renderManager.ManageCaptures();
|
||||
diff --git a/xbmc/utils/TimeUtils.cpp b/xbmc/utils/TimeUtils.cpp
|
||||
index 9f2e135..57e5e90 100644
|
||||
--- a/xbmc/utils/TimeUtils.cpp
|
||||
+++ b/xbmc/utils/TimeUtils.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "TimeUtils.h"
|
||||
#include "XBDateTime.h"
|
||||
#include "threads/SystemClock.h"
|
||||
+#include "guilib/GraphicContext.h"
|
||||
|
||||
#if (defined HAVE_CONFIG_H) && (!defined TARGET_WINDOWS)
|
||||
#include "config.h"
|
||||
@@ -72,12 +73,26 @@ int64_t CurrentHostFrequency(void)
|
||||
CTimeSmoother CTimeUtils::frameTimer;
|
||||
unsigned int CTimeUtils::frameTime = 0;
|
||||
|
||||
-void CTimeUtils::UpdateFrameTime(bool flip)
|
||||
+void CTimeUtils::UpdateFrameTime(bool flip, bool vsync)
|
||||
{
|
||||
unsigned int currentTime = XbmcThreads::SystemClockMillis();
|
||||
- if (flip)
|
||||
- frameTimer.AddTimeStamp(currentTime);
|
||||
- frameTime = frameTimer.GetNextFrameTime(currentTime);
|
||||
+ if (vsync)
|
||||
+ {
|
||||
+ unsigned int last = frameTime;
|
||||
+ while (frameTime < currentTime)
|
||||
+ {
|
||||
+ frameTime += (unsigned int)(1000 / g_graphicsContext.GetFPS());
|
||||
+ // observe wrap around
|
||||
+ if (frameTime < last)
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (flip)
|
||||
+ frameTimer.AddTimeStamp(currentTime);
|
||||
+ frameTime = frameTimer.GetNextFrameTime(currentTime);
|
||||
+ }
|
||||
}
|
||||
|
||||
unsigned int CTimeUtils::GetFrameTime()
|
||||
diff --git a/xbmc/utils/TimeUtils.h b/xbmc/utils/TimeUtils.h
|
||||
index f8796d5..e07540f 100644
|
||||
--- a/xbmc/utils/TimeUtils.h
|
||||
+++ b/xbmc/utils/TimeUtils.h
|
||||
@@ -32,7 +32,7 @@ int64_t CurrentHostFrequency(void);
|
||||
class CTimeUtils
|
||||
{
|
||||
public:
|
||||
- static void UpdateFrameTime(bool flip); ///< update the frame time. Not threadsafe
|
||||
+ static void UpdateFrameTime(bool flip, bool vsync); ///< update the frame time. Not threadsafe
|
||||
static unsigned int GetFrameTime(); ///< returns the frame time in MS. Not threadsafe
|
||||
static CDateTime GetLocalTime(time_t time);
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 68428562758adbcb597cadc05ba124a6bde97291 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Fri, 13 Mar 2015 20:57:17 +0100
|
||||
Subject: [PATCH] guilib: only update scrollinfo if frametime did change
|
||||
|
||||
---
|
||||
xbmc/guilib/GUIFont.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/guilib/GUIFont.cpp b/xbmc/guilib/GUIFont.cpp
|
||||
index a7ee668..06232cb 100644
|
||||
--- a/xbmc/guilib/GUIFont.cpp
|
||||
+++ b/xbmc/guilib/GUIFont.cpp
|
||||
@@ -52,7 +52,8 @@ float CScrollInfo::GetPixelsPerFrame()
|
||||
delta = 100; // assume a minimum of 10 fps
|
||||
m_lastFrameTime = currentTime;
|
||||
// do an exponential moving average of the frame time
|
||||
- m_averageFrameTime = m_averageFrameTime + (delta - m_averageFrameTime) * alphaEMA;
|
||||
+ if (delta)
|
||||
+ m_averageFrameTime = m_averageFrameTime + (delta - m_averageFrameTime) * alphaEMA;
|
||||
// and multiply by pixel speed (per ms) to get number of pixels to move this frame
|
||||
return pixelSpeed * m_averageFrameTime;
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
ENGR00313202 ARM: imx: add VPU 352M support for i.MX6Q
|
||||
When VPU freq is set to 352MHz, it need to source clk
|
||||
from PLL2_PFD2_396M, and PLL2_PFD2_396M need to change
|
||||
freq to 352M.
|
||||
|
||||
VDDSOC/PU needs to be at highest setpoint when VPU@352Mhz,
|
||||
cpufreq will be disabled as it will not save any power if
|
||||
VDDSOC/PU's voltage stays at highest setpoint.
|
||||
|
||||
Busfreq will be disabled as it needs PLL2_PFD2 to be
|
||||
as 396MHz to achieve low power audio freq setpoint.
|
||||
|
||||
To enable VPU 352MHz feature, select it in menuconfig,
|
||||
it is disabled by default.
|
||||
|
||||
Signed-off-by: Anson Huang <b20788@freescale.com>
|
||||
|
||||
diff -ruN linux-cuboxi-3.14-dc5edb8-original/arch/arm/mach-imx/busfreq-imx6.c linux-cuboxi-3.14-dc5edb8/arch/arm/mach-imx/busfreq-imx6.c
|
||||
--- linux-cuboxi-3.14-dc5edb8-original/arch/arm/mach-imx/busfreq-imx6.c 2015-02-16 21:54:12.298970658 +0100
|
||||
+++ linux-cuboxi-3.14-dc5edb8/arch/arm/mach-imx/busfreq-imx6.c 2015-02-16 21:55:33.370972180 +0100
|
||||
|
||||
43
tools/mkpkg/mkpkg_kodi-addon-xvdr-helix
Executable file
43
tools/mkpkg/mkpkg_kodi-addon-xvdr-helix
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
echo "getting sources..."
|
||||
if [ ! -d kodi-addon-xvdr.git ]; then
|
||||
git clone git://github.com/pipelka/xbmc-addon-xvdr.git -b kodi-helix kodi-addon-xvdr.git
|
||||
fi
|
||||
|
||||
cd kodi-addon-xvdr.git
|
||||
git pull
|
||||
GIT_REV=`git log -n1 --format=%h`
|
||||
cd ..
|
||||
|
||||
echo "copying sources..."
|
||||
rm -rf kodi-addon-xvdr-$GIT_REV
|
||||
cp -R kodi-addon-xvdr.git kodi-addon-xvdr-$GIT_REV
|
||||
|
||||
echo "cleaning sources..."
|
||||
rm -rf kodi-addon-xvdr-$GIT_REV/.git
|
||||
|
||||
echo "packing sources..."
|
||||
tar cvJf kodi-addon-xvdr-$GIT_REV.tar.xz kodi-addon-xvdr-$GIT_REV
|
||||
|
||||
echo "remove temporary sourcedir..."
|
||||
rm -rf kodi-addon-xvdr-$GIT_REV
|
||||
Reference in New Issue
Block a user