diff options
author | Niklas Haas <git@haasn.xyz> | 2017-07-25 23:17:04 +0200 |
---|---|---|
committer | Niklas Haas <git@haasn.xyz> | 2017-08-03 21:48:25 +0200 |
commit | fee6b287a559084062d179974816fd922dc93a4f (patch) | |
tree | 954fe93c54730fcf73afcdc3610b9f51ffdf9778 /video/out/opengl/lcms.h | |
parent | 1aab0376014ff7fc278a81847c989b3970aa0736 (diff) | |
download | mpv-fee6b287a559084062d179974816fd922dc93a4f.tar.bz2 mpv-fee6b287a559084062d179974816fd922dc93a4f.tar.xz |
vo_opengl: support embedded ICC profiles
This currently only works when using lcms-based color management
(--icc-profile-*).
In principle, we could also support using lcms even when the user has
not specified an ICC profile, by generating the profile against a fixed
reference (--target-prim/--target-trc) instead. I still might do that
some day, simply because 3dlut provides a higher quality conversion than
our simple gamut mapping does for stuff like BT.2020, and also because
it's now needed to enable embedded ICC profiles. But that would be a
separate change, so preserve the status quo for now.
(Besides, my opinion is still that you should be using an ICC profile if
you care about colors being accurate _at all_)
Diffstat (limited to 'video/out/opengl/lcms.h')
-rw-r--r-- | video/out/opengl/lcms.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/video/out/opengl/lcms.h b/video/out/opengl/lcms.h index 0c0a959e82..20faa8dd5e 100644 --- a/video/out/opengl/lcms.h +++ b/video/out/opengl/lcms.h @@ -4,10 +4,12 @@ #include <stddef.h> #include <stdbool.h> #include "misc/bstr.h" +#include <libavutil/buffer.h> extern const struct m_sub_options mp_icc_conf; struct mp_icc_opts { + int use_embedded; char *profile; int profile_auto; char *cache_dir; @@ -32,8 +34,9 @@ void gl_lcms_update_options(struct gl_lcms *p); 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); + enum mp_csp_prim prim, enum mp_csp_trc trc, + struct AVBufferRef *vid_profile); bool gl_lcms_has_changed(struct gl_lcms *p, enum mp_csp_prim prim, - enum mp_csp_trc trc); + enum mp_csp_trc trc, struct AVBufferRef *vid_profile); #endif |