diff options
author | wm4 <wm4@nowhere> | 2016-06-04 17:52:10 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-06-04 17:52:10 +0200 |
commit | 352904fd036c5d9dbe53e3726a0c4fdcfe408c24 (patch) | |
tree | 768bf670cbe649e9fee724eb6205490c4e928252 /video/out/opengl/lcms.h | |
parent | 2dfea67f3b23106148f48840d19f4ec44ad7eeb8 (diff) | |
download | mpv-352904fd036c5d9dbe53e3726a0c4fdcfe408c24.tar.bz2 mpv-352904fd036c5d9dbe53e3726a0c4fdcfe408c24.tar.xz |
vo_opengl: cleanup icc + runtime option changing behavior
Commit 026b75e7 actually enabled changing icc options at runtime (via
vo_cmdline), but it didn't quite work. In particular, changing the icc-
profile option just kept the old profile, because it was cached
accordingly.
As part of this, change gl_lcms.opts from a struct to a pointer to a
struct. We properly copy it, instead of allowing possibly dangling
strings, like it was done in a working but unclean way before.
Also, reinit the whole rendering chain when the auto icc profile
changes, just like it's done when icc options are changed.
Diffstat (limited to 'video/out/opengl/lcms.h')
-rw-r--r-- | video/out/opengl/lcms.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/video/out/opengl/lcms.h b/video/out/opengl/lcms.h index 2c6543d953..094514ac9e 100644 --- a/video/out/opengl/lcms.h +++ b/video/out/opengl/lcms.h @@ -28,7 +28,8 @@ struct gl_lcms; struct gl_lcms *gl_lcms_init(void *talloc_ctx, struct mp_log *log, struct mpv_global *global); void gl_lcms_set_options(struct gl_lcms *p, struct mp_icc_opts *opts); -void gl_lcms_set_memory_profile(struct gl_lcms *p, bstr profile); +bool gl_lcms_set_memory_profile(struct gl_lcms *p, bstr profile); +bool gl_lcms_has_profile(struct gl_lcms *p); bool gl_lcms_get_lut3d(struct gl_lcms *p, struct lut3d **, enum mp_csp_prim prim, enum mp_csp_trc trc); bool gl_lcms_has_changed(struct gl_lcms *p, enum mp_csp_prim prim, |