summaryrefslogtreecommitdiffstats
path: root/video/out
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-02-03 16:52:44 +0100
committerwm4 <wm4@nowhere>2015-02-03 16:52:44 +0100
commitf296dcb248625d6e5979eae1e683b5f4522896f9 (patch)
tree955606d2a9d73f4dee1e1404053e446a45c038e7 /video/out
parent0f560bbf8a9a10411be2688dba9363621da0437d (diff)
downloadmpv-f296dcb248625d6e5979eae1e683b5f4522896f9.tar.bz2
mpv-f296dcb248625d6e5979eae1e683b5f4522896f9.tar.xz
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.c6
-rw-r--r--video/out/gl_video_shaders.glsl4
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