diff options
author | Memphiz <memphis@machzwo.de> | 2012-12-10 23:36:48 +0100 |
---|---|---|
committer | Memphiz <memphis@machzwo.de> | 2012-12-10 23:41:00 +0100 |
commit | 7037a5d603f8903d43948ae3d7588764f142f614 (patch) | |
tree | 08ae610f4d077758a2e70161d92fe4ffc9fd7298 | |
parent | c3cf4fb9cf8579ef67cb33072639bcf8262a3eac (diff) |
[vda/vtb] - videocoreref is flipped in y direction - somehow this influences the rendercapture image in a way that it is flipped in y too (relevant for the bookmarks and boblight). glReadPixels always returns a y flipped image - so we flip it via matrices before rendering the capture image - for corevideobuf we now skip the flip for fixing the upside down bookmarks (commented with fixme - because we still don't understand why this is affecting rendercapture at all)
-rw-r--r-- | xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp index 0630f134f8..c7c4f072ad 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp @@ -1323,8 +1323,15 @@ bool CLinuxRendererGLES::RenderCapture(CRenderCapture* capture) g_matrices.MatrixMode(MM_MODELVIEW); g_matrices.PushMatrix(); - g_matrices.Translatef(0.0f, capture->GetHeight(), 0.0f); - g_matrices.Scalef(1.0f, -1.0f, 1.0f); + // fixme - we know that cvref is already flipped in y direction + // but somehow this also effects the rendercapture here + // for cvref we have to skip the flip here or we get upside down + // images + if (m_renderMethod != RENDER_CVREF) + { + g_matrices.Translatef(0.0f, capture->GetHeight(), 0.0f); + g_matrices.Scalef(1.0f, -1.0f, 1.0f); + } capture->BeginRender(); |