aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorxbmc <fernetmenta@online.de>2012-04-07 09:19:00 +0200
committerRainer Hochecker <fernetmenta@online.de>2013-09-12 11:37:55 +0200
commit3b8e8845d154064cd81659d61437ff9ba4dc349b (patch)
tree1e5827974fe1990bc5fe70e1491c184ea3ab5df9 /system
parentff9ae39332aef4f2389b4eba3d5c023adcc229ba (diff)
vdpau: redesign
Diffstat (limited to 'system')
-rw-r--r--system/settings/settings.xml10
-rw-r--r--system/shaders/yuv2rgb_basic.glsl12
2 files changed, 22 insertions, 0 deletions
diff --git a/system/settings/settings.xml b/system/settings/settings.xml
index 56710c7429..44a247f1de 100644
--- a/system/settings/settings.xml
+++ b/system/settings/settings.xml
@@ -375,6 +375,16 @@
<level>2</level>
<default>true</default>
</setting>
+ <setting id="videoplayer.usevdpaumixer" type="boolean" label="13437" help="36421">
+ <visible>HAVE_LIBVDPAU</visible>
+ <level>2</level>
+ <default>true</default>
+ <control>
+ <dependencies>
+ <dependency type="enable" setting="videoplayer.usevdpau" operator="is">true</dependency> <!-- USE VDPAU -->
+ </dependencies>
+ </control>
+ </setting>
<setting id="videoplayer.usevaapi" type="boolean" label="13426" help="36156">
<requirement>HAVE_LIBVA</requirement>
<level>2</level>
diff --git a/system/shaders/yuv2rgb_basic.glsl b/system/shaders/yuv2rgb_basic.glsl
index 2ce65a14b4..92b9be70b6 100644
--- a/system/shaders/yuv2rgb_basic.glsl
+++ b/system/shaders/yuv2rgb_basic.glsl
@@ -69,6 +69,18 @@ void main()
rgb.a = gl_Color.a;
gl_FragColor = rgb;
+#elif defined(XBMC_VDPAU_NV12)
+
+ vec4 yuv, rgb;
+ yuv.rgba = vec4( texture2D(m_sampY, stretch(m_cordY)).r
+ , texture2D(m_sampU, stretch(m_cordU)).r
+ , texture2D(m_sampV, stretch(m_cordV)).g
+ , 1.0 );
+
+ rgb = m_yuvmat * yuv;
+ rgb.a = gl_Color.a;
+ gl_FragColor = rgb;
+
#elif defined(XBMC_YUY2) || defined(XBMC_UYVY)
#if(XBMC_texture_rectangle)