From 6a2a77a44d394e51330f10da92d2989171ff99b3 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Thu, 25 Feb 2016 11:21:25 +0300 Subject: [PATCH] [Stereo3D] Added block_lr and block_rl to supported modes. --- xbmc/cores/VideoPlayer/VideoRenderers/RenderFlags.cpp | 4 ++-- xbmc/guilib/StereoscopicsManager.cpp | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderFlags.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderFlags.cpp index 24b1b10519467..49f7f7ca7e144 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderFlags.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderFlags.cpp @@ -102,8 +102,8 @@ namespace RenderManager { convert["right_left"] = CONF_FLAGS_STEREO_MODE_SBS | CONF_FLAGS_STEREO_CADANCE_RIGHT_LEFT; convert["anaglyph_green_magenta"] = 0u; convert["anaglyph_yellow_blue"] = 0u; - convert["block_lr"] = 0u; - convert["block_rl"] = 0u; + convert["block_lr"] = CONF_FLAGS_STEREO_CADANCE_LEFT_RIGHT; + convert["block_rl"] = CONF_FLAGS_STEREO_CADANCE_RIGHT_LEFT; } return convert[mode]; } diff --git a/xbmc/guilib/StereoscopicsManager.cpp b/xbmc/guilib/StereoscopicsManager.cpp index 1443acaf0f25d..6aaa82f4d883b 100644 --- a/xbmc/guilib/StereoscopicsManager.cpp +++ b/xbmc/guilib/StereoscopicsManager.cpp @@ -70,8 +70,10 @@ static const struct StereoModeMap VideoModeToGuiModeMap[] = { "anaglyph_cyan_red", RENDER_STEREO_MODE_ANAGLYPH_RED_CYAN }, { "anaglyph_green_magenta", RENDER_STEREO_MODE_ANAGLYPH_GREEN_MAGENTA }, { "anaglyph_yellow_blue", RENDER_STEREO_MODE_ANAGLYPH_YELLOW_BLUE }, - { "block_lr", RENDER_STEREO_MODE_OFF }, // unsupported - { "block_rl", RENDER_STEREO_MODE_OFF }, // unsupported + { "block_lr", RENDER_STEREO_MODE_HARDWAREBASED }, + { "block_rl", RENDER_STEREO_MODE_HARDWAREBASED }, + { "block_lr", RENDER_STEREO_MODE_SPLIT_HORIZONTAL }, // fallback + { "block_rl", RENDER_STEREO_MODE_SPLIT_HORIZONTAL }, // fallback {} }; @@ -310,7 +312,7 @@ int CStereoscopicsManager::ConvertVideoToGuiStereoMode(const std::string &mode) size_t i = 0; while (VideoModeToGuiModeMap[i].name) { - if (mode == VideoModeToGuiModeMap[i].name) + if (mode == VideoModeToGuiModeMap[i].name && g_Windowing.SupportsStereo(VideoModeToGuiModeMap[i].mode)) return VideoModeToGuiModeMap[i].mode; i++; }