diff options
Diffstat (limited to 'video/out/gpu')
-rw-r--r-- | video/out/gpu/video.c | 10 | ||||
-rw-r--r-- | video/out/gpu/video.h | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c index 63dd5586c8..89da4ed19f 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c @@ -424,6 +424,7 @@ static const char *handle_scaler_opt(const char *name, bool tscale); static void reinit_from_options(struct gl_video *p); static void get_scale_factors(struct gl_video *p, bool transpose_rot, double xy[2]); static void gl_video_setup_hooks(struct gl_video *p); +static void gl_video_update_options(struct gl_video *p); #define GLSL(x) gl_sc_add(p->sc, #x "\n"); #define GLSLF(...) gl_sc_addf(p->sc, __VA_ARGS__) @@ -2993,6 +2994,8 @@ static void gl_video_interpolate_frame(struct gl_video *p, struct vo_frame *t, void gl_video_render_frame(struct gl_video *p, struct vo_frame *frame, struct ra_fbo fbo) { + gl_video_update_options(p); + struct mp_rect target_rc = {0, 0, fbo.tex->params.w, fbo.tex->params.h}; p->broken_frame = false; @@ -3624,12 +3627,15 @@ static const char *handle_scaler_opt(const char *name, bool tscale) return NULL; } -void gl_video_update_options(struct gl_video *p) +static void gl_video_update_options(struct gl_video *p) { if (m_config_cache_update(p->opts_cache)) { gl_lcms_update_options(p->cms); reinit_from_options(p); } + + if (mp_csp_equalizer_state_changed(p->video_eq)) + p->output_tex_valid = false; } static void reinit_from_options(struct gl_video *p) @@ -3660,6 +3666,8 @@ static void reinit_from_options(struct gl_video *p) void gl_video_configure_queue(struct gl_video *p, struct vo *vo) { + gl_video_update_options(p); + int queue_size = 1; // Figure out an adequate size for the interpolation queue. The larger diff --git a/video/out/gpu/video.h b/video/out/gpu/video.h index 8b84db8b58..b87390f4d1 100644 --- a/video/out/gpu/video.h +++ b/video/out/gpu/video.h @@ -150,7 +150,6 @@ struct gl_video *gl_video_init(struct ra *ra, struct mp_log *log, struct mpv_global *g); void gl_video_uninit(struct gl_video *p); void gl_video_set_osd_source(struct gl_video *p, struct osd_state *osd); -void gl_video_update_options(struct gl_video *p); bool gl_video_check_format(struct gl_video *p, int mp_format); void gl_video_config(struct gl_video *p, struct mp_image_params *params); void gl_video_set_output_depth(struct gl_video *p, int r, int g, int b); |