diff options
author | wm4 <wm4@nowhere> | 2015-02-03 16:52:44 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-02-03 16:52:44 +0100 |
commit | f296dcb248625d6e5979eae1e683b5f4522896f9 (patch) | |
tree | 955606d2a9d73f4dee1e1404053e446a45c038e7 /video/out | |
parent | 0f560bbf8a9a10411be2688dba9363621da0437d (diff) |
csputils, vo_opengl: remove per-component gamma
There was some code accounting for different gamma values for R/G/B.
It's inherited from an old, undocumented MPlayer feature, which was at
some point disabled for convenience by myself (meaning you couldn't
actually set separate gamma because it was removed from the property
interface - mp_csp_copy_equalizer_values() just set them to the same
value). Get rid of these meaningless leftovers.
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/gl_video.c | 6 | ||||
-rw-r--r-- | video/out/gl_video_shaders.glsl | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/video/out/gl_video.c b/video/out/gl_video.c index 5ad935bd70..f965a4abd9 100644 --- a/video/out/gl_video.c +++ b/video/out/gl_video.c @@ -567,10 +567,8 @@ static void update_uniforms(struct gl_video *p, GLuint program) gl->Uniform1f(gl->GetUniformLocation(program, "sig_offset"), sig_offset); float gamma = p->opts.gamma ? p->opts.gamma : 1.0; - gl->Uniform3f(gl->GetUniformLocation(program, "inv_gamma"), - 1.0 / (cparams.rgamma * gamma), - 1.0 / (cparams.ggamma * gamma), - 1.0 / (cparams.bgamma * gamma)); + gl->Uniform1f(gl->GetUniformLocation(program, "inv_gamma"), + 1.0 / (cparams.gamma * gamma)); for (int n = 0; n < p->plane_count; n++) { char textures_n[32]; diff --git a/video/out/gl_video_shaders.glsl b/video/out/gl_video_shaders.glsl index b13d518e6c..032248516d 100644 --- a/video/out/gl_video_shaders.glsl +++ b/video/out/gl_video_shaders.glsl @@ -178,7 +178,7 @@ uniform mat3 colormatrix; uniform vec3 colormatrix_c; uniform mat3 cms_matrix; uniform mat2 dither_trafo; -uniform vec3 inv_gamma; +uniform float inv_gamma; uniform float input_gamma; uniform float conv_gamma; uniform float sig_center; @@ -495,7 +495,7 @@ void main() { color = clamp(color, 0.0, 1.0); #ifdef USE_GAMMA_POW // User-defined gamma correction factor (via the gamma sub-option) - color = pow(color, inv_gamma); + color = pow(color, vec3(inv_gamma)); #endif #ifdef USE_3DLUT // For the 3DLUT we are arbitrarily using 2.4 as input gamma to reduce |