aboutsummaryrefslogtreecommitdiffhomepage
path: root/video/out/opengl/lcms.h
blob: 4e0a18c3d286bd9d11a4e59ddc39f9052a5175b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef MP_GL_LCMS_H
#define MP_GL_LCMS_H

#include <stddef.h>
#include <stdbool.h>
#include "misc/bstr.h"

extern const struct m_sub_options mp_icc_conf;

struct mp_icc_opts {
    char *profile;
    int profile_auto;
    char *cache_dir;
    char *size_str;
    int intent;
    int contrast;
};

struct lut3d;
struct mp_log;
struct mpv_global;
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_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,
                         enum mp_csp_trc trc);

#endif