diff options
author | Martijn Kaijser <machine.sanctum@gmail.com> | 2015-01-01 13:22:20 +0100 |
---|---|---|
committer | Martijn Kaijser <machine.sanctum@gmail.com> | 2015-01-01 13:22:20 +0100 |
commit | b1dca90ea699e1ff8d8d913408aa399d27b83511 (patch) | |
tree | 1685dd427e3272c1b49a4ed6d66e46cf4ed642f1 | |
parent | 38c6b090a748796454ca3b67c2ce21fca4e6309d (diff) | |
parent | 1197af9b137a3794c08c7edb38e3e4bdf2d56335 (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.cpp | 17 |
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 |