diff options
Diffstat (limited to 'system')
-rwxr-xr-x | system/settings/settings.xml | 107 | ||||
-rw-r--r-- | system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl | 9 | ||||
-rw-r--r-- | system/shaders/GL/1.5/gl_tonemap.glsl | 4 | ||||
-rw-r--r-- | system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl | 36 | ||||
-rw-r--r-- | system/shaders/GL/4.0/gl_yuv2rgb_filter4.glsl | 38 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_convolution-4x4.frag (renamed from system/shaders/GLES/2.0/gles_convolution-4x4.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_convolution-6x6.frag (renamed from system/shaders/GLES/2.0/gles_convolution-6x6.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader.vert (renamed from system/shaders/GLES/2.0/gles_guishader_vert.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_default.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_default.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_fonts.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_fonts.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_multi.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_multi.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_multi_blendcolor.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_multi_blendcolor.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_rgba.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_rgba.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_rgba_blendcolor.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_rgba_blendcolor.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_rgba_bob.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_rgba_bob.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_rgba_bob_oes.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_rgba_bob_oes.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_rgba_oes.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_rgba_oes.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_texture.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_texture.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_shader_texture_noblend.frag (renamed from system/shaders/GLES/2.0/gles_guishader_frag_texture_noblend.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_videofilter.frag | 11 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_videofilter.vert | 14 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_yuv2rgb.vert (renamed from system/shaders/GLES/2.0/gles_yuv2rgb_vertex.glsl) | 2 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_yuv2rgb_basic.frag (renamed from system/shaders/GLES/2.0/gles_yuv2rgb_basic.glsl) | 7 | ||||
-rw-r--r-- | system/shaders/GLES/2.0/gles_yuv2rgb_bob.frag (renamed from system/shaders/GLES/2.0/gles_yuv2rgb_bob.glsl) | 0 | ||||
-rw-r--r-- | system/shaders/yuv2rgb_d3d.fx | 10 |
25 files changed, 104 insertions, 134 deletions
diff --git a/system/settings/settings.xml b/system/settings/settings.xml index 2537075b23..fc252bd86d 100755 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml @@ -2086,113 +2086,6 @@ </setting> </group> </category> - <category id="gameskeyboard" label="35150"> - <group id="1" label="128"> - <setting id="gameskeyboard.enablekeyboard" type="boolean" label="35152" help="35153"> - <level>0</level> - <control type="toggle" /> - <default>true</default> - </setting> - </group> - <group id="2" label="35151"> - <setting id="gameskeyboard.keyboardplayers" type="integer" label="35154" help="35155"> - <level>0</level> - <default>1</default> - <constraints> - <minimum>1</minimum> - <step>1</step> - <maximum>8</maximum> - </constraints> - <dependencies> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - <control type="slider" format="integer"> - <popup>true</popup> - <formatlabel>35156</formatlabel> <!-- TODO: Add a <formattype>integer</formattype> tag --> - </control> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig1" type="action" label="35157" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">1</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig2" type="action" label="35158" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">2</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig3" type="action" label="35159" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">3</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig4" type="action" label="35160" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">4</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig5" type="action" label="35161" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">5</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig6" type="action" label="35162" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">6</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig7" type="action" label="35163" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">7</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - <setting id="gameskeyboard.keyboardplayerconfig8" type="action" label="35164" help="35155"> - <level>0</level> - <control type="button" format="action" /> - <dependencies> - <dependency type="visible"> - <condition on="property" name="gte" setting="gameskeyboard.keyboardplayers">8</condition> - </dependency> - <dependency type="enable" setting="gameskeyboard.enablekeyboard">true</dependency> - </dependencies> - </setting> - </group> - </category> </section> <section id="system" label="13000" help="36349"> <category id="display" label="14220" help="36603"> diff --git a/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl b/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl index 4a3b059c9b..e4ea964a72 100644 --- a/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl +++ b/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl @@ -33,6 +33,9 @@ varying vec2 m_cordV; uniform vec2 m_step; uniform mat4 m_yuvmat; uniform float m_stretch; +uniform mat3 m_primMat; +uniform float m_gammaDstInv; +uniform float m_gammaSrc; uniform float m_alpha; vec2 stretch(vec2 pos) @@ -118,5 +121,11 @@ vec4 process() #endif +#if defined(XBMC_COL_CONVERSION) + rgb.rgb = pow(rgb.rgb, vec3(m_gammaSrc)); + rgb.rgb = m_primMat * rgb.rgb; + rgb.rgb = pow(rgb.rgb, vec3(m_gammaDstInv)); +#endif + return rgb; } diff --git a/system/shaders/GL/1.5/gl_tonemap.glsl b/system/shaders/GL/1.5/gl_tonemap.glsl new file mode 100644 index 0000000000..bcec4e6550 --- /dev/null +++ b/system/shaders/GL/1.5/gl_tonemap.glsl @@ -0,0 +1,4 @@ +float tonemap(float val) +{ + return val * (1 + val/(m_toneP1*m_toneP1))/(1 + val); +} diff --git a/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl b/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl index 79c7a20d1e..b4fb012910 100644 --- a/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl +++ b/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl @@ -12,6 +12,11 @@ uniform vec2 m_step; uniform mat4 m_yuvmat; uniform float m_stretch; uniform float m_alpha; +uniform mat3 m_primMat; +uniform float m_gammaDstInv; +uniform float m_gammaSrc; +uniform float m_toneP1; +uniform vec3 m_coefsDst; in vec2 m_cordY; in vec2 m_cordU; in vec2 m_cordV; @@ -38,25 +43,20 @@ vec2 stretch(vec2 pos) vec4 process() { vec4 rgb; + vec4 yuv; + #if defined(XBMC_YV12) - vec4 yuv; yuv.rgba = vec4( texture(m_sampY, stretch(m_cordY)).r , texture(m_sampU, stretch(m_cordU)).r , texture(m_sampV, stretch(m_cordV)).r , 1.0 ); - rgb = m_yuvmat * yuv; - rgb.a = m_alpha; - #elif defined(XBMC_NV12) - vec4 yuv; yuv.rgba = vec4( texture(m_sampY, stretch(m_cordY)).r , texture(m_sampU, stretch(m_cordU)).rg , 1.0 ); - rgb = m_yuvmat * yuv; - rgb.a = m_alpha; #elif defined(XBMC_YUY2) || defined(XBMC_UYVY) @@ -83,13 +83,29 @@ vec4 process() vec2 outUV = mix(c1.br, c2.br, f.x); #endif //XBMC_YUY2 - float outY = mix(leftY, rightY, step(0.5, f.x)); + float outY = mix(leftY, rightY, step(0.5, f.x)); - vec4 yuv = vec4(outY, outUV, 1.0); - rgb = m_yuvmat * yuv; + yuv = vec4(outY, outUV, 1.0); +#endif + +#if defined(XBMC_TONE_MAPPING) + //float scale = tonemap(yuv.x) / yuv.x; +#endif + + rgb = m_yuvmat * yuv; rgb.a = m_alpha; +#if defined(XBMC_COL_CONVERSION) + rgb.rgb = pow(rgb.rgb, vec3(m_gammaSrc)); + rgb.rgb = m_primMat * rgb.rgb; + rgb.rgb = pow(rgb.rgb, vec3(m_gammaDstInv)); + +#if defined(XBMC_TONE_MAPPING) + float luma = dot(rgb.rgb, m_coefsDst); + rgb.rgb *= tonemap(luma) / luma; +#endif + #endif return rgb; diff --git a/system/shaders/GL/4.0/gl_yuv2rgb_filter4.glsl b/system/shaders/GL/4.0/gl_yuv2rgb_filter4.glsl index c1376f09d1..bbcfe19a96 100644 --- a/system/shaders/GL/4.0/gl_yuv2rgb_filter4.glsl +++ b/system/shaders/GL/4.0/gl_yuv2rgb_filter4.glsl @@ -13,6 +13,11 @@ uniform mat4 m_yuvmat; uniform float m_stretch; uniform float m_alpha; uniform sampler1D m_kernelTex; +uniform mat3 m_primMat; +uniform float m_gammaDstInv; +uniform float m_gammaSrc; +uniform float m_toneP1; +uniform vec3 m_coefsDst; in vec2 m_cordY; in vec2 m_cordU; in vec2 m_cordV; @@ -85,23 +90,36 @@ float filter_0(sampler2D sampler, vec2 coord) vec4 process() { vec4 rgb; -#if defined(XBMC_YV12) + vec4 yuv; - vec4 yuv = vec4(filter_0(m_sampY, stretch(m_cordY)), - texture(m_sampU, stretch(m_cordU)).r, - texture(m_sampV, stretch(m_cordV)).r, - 1.0); +#if defined(XBMC_YV12) - rgb = m_yuvmat * yuv; - rgb.a = m_alpha; + yuv = vec4(filter_0(m_sampY, stretch(m_cordY)), + texture(m_sampU, stretch(m_cordU)).r, + texture(m_sampV, stretch(m_cordV)).r, + 1.0); #elif defined(XBMC_NV12) - vec4 yuv = vec4(filter_0(m_sampY, stretch(m_cordY)), - texture(m_sampU, stretch(m_cordU)).rg, - 1.0); + yuv = vec4(filter_0(m_sampY, stretch(m_cordY)), + texture(m_sampU, stretch(m_cordU)).rg, + 1.0); + +#endif + rgb = m_yuvmat * yuv; rgb.a = m_alpha; + +#if defined(XBMC_COL_CONVERSION) + rgb.rgb = pow(rgb.rgb, vec3(m_gammaSrc)); + rgb.rgb = m_primMat * rgb.rgb; + rgb.rgb = pow(rgb.rgb, vec3(m_gammaDstInv)); + +#if defined(XBMC_TONE_MAPPING) + float luma = dot(rgb.rgb, m_coefsDst); + rgb.rgb *= tonemap(luma) / luma; +#endif + #endif return rgb; diff --git a/system/shaders/GLES/2.0/gles_convolution-4x4.glsl b/system/shaders/GLES/2.0/gles_convolution-4x4.frag index 89e5b8d58d..89e5b8d58d 100644 --- a/system/shaders/GLES/2.0/gles_convolution-4x4.glsl +++ b/system/shaders/GLES/2.0/gles_convolution-4x4.frag diff --git a/system/shaders/GLES/2.0/gles_convolution-6x6.glsl b/system/shaders/GLES/2.0/gles_convolution-6x6.frag index 8333d51f32..8333d51f32 100644 --- a/system/shaders/GLES/2.0/gles_convolution-6x6.glsl +++ b/system/shaders/GLES/2.0/gles_convolution-6x6.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_vert.glsl b/system/shaders/GLES/2.0/gles_shader.vert index 018961f556..018961f556 100644 --- a/system/shaders/GLES/2.0/gles_guishader_vert.glsl +++ b/system/shaders/GLES/2.0/gles_shader.vert diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_default.glsl b/system/shaders/GLES/2.0/gles_shader_default.frag index 6f4ae0b19c..6f4ae0b19c 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_default.glsl +++ b/system/shaders/GLES/2.0/gles_shader_default.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_fonts.glsl b/system/shaders/GLES/2.0/gles_shader_fonts.frag index 953d81dbc2..953d81dbc2 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_fonts.glsl +++ b/system/shaders/GLES/2.0/gles_shader_fonts.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_multi.glsl b/system/shaders/GLES/2.0/gles_shader_multi.frag index 49202d2848..49202d2848 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_multi.glsl +++ b/system/shaders/GLES/2.0/gles_shader_multi.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_multi_blendcolor.glsl b/system/shaders/GLES/2.0/gles_shader_multi_blendcolor.frag index c01ecd29e7..c01ecd29e7 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_multi_blendcolor.glsl +++ b/system/shaders/GLES/2.0/gles_shader_multi_blendcolor.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_rgba.glsl b/system/shaders/GLES/2.0/gles_shader_rgba.frag index d5d7ffb3e6..d5d7ffb3e6 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_rgba.glsl +++ b/system/shaders/GLES/2.0/gles_shader_rgba.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_blendcolor.glsl b/system/shaders/GLES/2.0/gles_shader_rgba_blendcolor.frag index 329cc408cc..329cc408cc 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_blendcolor.glsl +++ b/system/shaders/GLES/2.0/gles_shader_rgba_blendcolor.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_bob.glsl b/system/shaders/GLES/2.0/gles_shader_rgba_bob.frag index b1c1628204..b1c1628204 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_bob.glsl +++ b/system/shaders/GLES/2.0/gles_shader_rgba_bob.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_bob_oes.glsl b/system/shaders/GLES/2.0/gles_shader_rgba_bob_oes.frag index bbab5c4091..bbab5c4091 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_bob_oes.glsl +++ b/system/shaders/GLES/2.0/gles_shader_rgba_bob_oes.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_oes.glsl b/system/shaders/GLES/2.0/gles_shader_rgba_oes.frag index 55e311cf1e..55e311cf1e 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_rgba_oes.glsl +++ b/system/shaders/GLES/2.0/gles_shader_rgba_oes.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_texture.glsl b/system/shaders/GLES/2.0/gles_shader_texture.frag index 82b60d9a02..82b60d9a02 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_texture.glsl +++ b/system/shaders/GLES/2.0/gles_shader_texture.frag diff --git a/system/shaders/GLES/2.0/gles_guishader_frag_texture_noblend.glsl b/system/shaders/GLES/2.0/gles_shader_texture_noblend.frag index 7072a167f0..7072a167f0 100644 --- a/system/shaders/GLES/2.0/gles_guishader_frag_texture_noblend.glsl +++ b/system/shaders/GLES/2.0/gles_shader_texture_noblend.frag diff --git a/system/shaders/GLES/2.0/gles_videofilter.frag b/system/shaders/GLES/2.0/gles_videofilter.frag new file mode 100644 index 0000000000..d4c15eeee5 --- /dev/null +++ b/system/shaders/GLES/2.0/gles_videofilter.frag @@ -0,0 +1,11 @@ +#version 100 + +precision mediump float; + +uniform sampler2D img; +varying vec2 cord; + +void main() +{ + gl_FragColor = texture2D(img, cord); +}
\ No newline at end of file diff --git a/system/shaders/GLES/2.0/gles_videofilter.vert b/system/shaders/GLES/2.0/gles_videofilter.vert new file mode 100644 index 0000000000..2d5a0f9b44 --- /dev/null +++ b/system/shaders/GLES/2.0/gles_videofilter.vert @@ -0,0 +1,14 @@ +#version 100 + +attribute vec4 m_attrpos; +attribute vec2 m_attrcord; +varying vec2 cord; +uniform mat4 m_proj; +uniform mat4 m_model; + +void main () +{ + mat4 mvp = m_proj * m_model; + gl_Position = mvp * m_attrpos; + cord = m_attrcord.xy; +} diff --git a/system/shaders/GLES/2.0/gles_yuv2rgb_vertex.glsl b/system/shaders/GLES/2.0/gles_yuv2rgb.vert index 481c9d3d99..43b4b06dcc 100644 --- a/system/shaders/GLES/2.0/gles_yuv2rgb_vertex.glsl +++ b/system/shaders/GLES/2.0/gles_yuv2rgb.vert @@ -18,7 +18,7 @@ * */ - #version 100 +#version 100 attribute vec4 m_attrpos; attribute vec2 m_attrcordY; diff --git a/system/shaders/GLES/2.0/gles_yuv2rgb_basic.glsl b/system/shaders/GLES/2.0/gles_yuv2rgb_basic.frag index 575aa42e9c..4447b6aa7f 100644 --- a/system/shaders/GLES/2.0/gles_yuv2rgb_basic.glsl +++ b/system/shaders/GLES/2.0/gles_yuv2rgb_basic.frag @@ -30,7 +30,6 @@ varying vec2 m_cordU; varying vec2 m_cordV; uniform vec2 m_step; uniform mat4 m_yuvmat; -uniform float m_stretch; uniform float m_alpha; void main() @@ -51,9 +50,9 @@ void main() #elif defined(XBMC_NV12_RRG) vec4 yuv; - yuv.rgba = vec4( texture2D(m_sampY, stretch(m_cordY)).r - , texture2D(m_sampU, stretch(m_cordU)).r - , texture2D(m_sampV, stretch(m_cordV)).g + yuv.rgba = vec4( texture2D(m_sampY, m_cordY).r + , texture2D(m_sampU, m_cordU).r + , texture2D(m_sampV, m_cordV).g , 1.0 ); rgb = m_yuvmat * yuv; diff --git a/system/shaders/GLES/2.0/gles_yuv2rgb_bob.glsl b/system/shaders/GLES/2.0/gles_yuv2rgb_bob.frag index 28254e26af..28254e26af 100644 --- a/system/shaders/GLES/2.0/gles_yuv2rgb_bob.glsl +++ b/system/shaders/GLES/2.0/gles_yuv2rgb_bob.frag diff --git a/system/shaders/yuv2rgb_d3d.fx b/system/shaders/yuv2rgb_d3d.fx index 85f6001db1..dd75621f08 100644 --- a/system/shaders/yuv2rgb_d3d.fx +++ b/system/shaders/yuv2rgb_d3d.fx @@ -24,7 +24,9 @@ texture2D g_Texture[3]; float4x4 g_ColorMatrix; float2 g_StepXY; float2 g_viewPort; - +float4x4 g_primMat; +float g_gammaDstInv; +float g_gammaSrc; SamplerState YUVSampler : IMMUTABLE { @@ -125,7 +127,11 @@ float4 YUV2RGB(VS_OUTPUT In) : SV_TARGET float4 YUV = float4(outY, outUV, 1.0); #endif - return output4(mul(YUV, g_ColorMatrix), In.TextureY); + float4 rgb = mul(YUV, g_ColorMatrix); +#if defined(XBMC_COL_CONVERSION) + rgb.rgb = pow(mul(pow(rgb, g_gammaSrc), g_primMat), g_gammaDstInv).rgb; +#endif + return output4(rgb, In.TextureY); } technique11 YUV2RGB_T |