aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartijn Kaijser <machine.sanctum@gmail.com>2015-01-01 13:22:20 +0100
committerMartijn Kaijser <machine.sanctum@gmail.com>2015-01-01 13:22:20 +0100
commitb1dca90ea699e1ff8d8d913408aa399d27b83511 (patch)
tree1685dd427e3272c1b49a4ed6d66e46cf4ed642f1
parent38c6b090a748796454ca3b67c2ce21fca4e6309d (diff)
parent1197af9b137a3794c08c7edb38e3e4bdf2d56335 (diff)
Merge pull request #6060 from koying/fixamlscaler
FIX: [aml] only use screen size if ppscaler is disabled
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
index 1ddb804ea0..d30665b268 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
@@ -1687,11 +1687,18 @@ bool CAMLCodec::OpenDecoder(CDVDStreamInfo &hints)
g_renderManager.RegisterRenderFeaturesCallBack((const void*)this, RenderFeaturesCallBack);
m_display_rect = CRect(0, 0, CDisplaySettings::Get().GetCurrentResolutionInfo().iWidth, CDisplaySettings::Get().GetCurrentResolutionInfo().iHeight);
- char mode[256] = {0};
- aml_get_sysfs_str("/sys/class/display/mode", mode, 255);
- RESOLUTION_INFO res;
- if (aml_mode_to_resolution(mode, &res))
- m_display_rect = CRect(0, 0, res.iScreenWidth, res.iScreenHeight);
+
+ char buffer[256] = {0};
+ aml_get_sysfs_str("/sys/class/ppmgr/ppscaler", buffer, 255);
+ if (!strstr(buffer, "enabled")) // Scaler not enabled, use screen size
+ {
+ CLog::Log(LOGDEBUG, "ppscaler not enabled");
+ memset(buffer, 0, 256);
+ aml_get_sysfs_str("/sys/class/display/mode", buffer, 255);
+ RESOLUTION_INFO res;
+ if (aml_mode_to_resolution(buffer, &res))
+ m_display_rect = CRect(0, 0, res.iScreenWidth, res.iScreenHeight);
+ }
/*
// if display is set to 1080xxx, then disable deinterlacer for HD content