1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-17 21:27:08 +00:00

vo_gpu_next: make option shim consistent with new API

Avoids some unnecessary #ifdef and allows us to isolate the shim to a
single location.
This commit is contained in:
Niklas Haas 2023-08-27 13:47:34 +02:00 committed by Niklas Haas
parent 835fd7bdeb
commit 0fd357a416

View File

@ -67,6 +67,26 @@ typedef struct pl_options_t {
struct pl_dither_params dither_params;
struct pl_icc_params icc_params;
} *pl_options;
static inline pl_options pl_options_alloc(pl_log log)
{
struct pl_options_t *opts = talloc_ptrtype(NULL, opts);
opts->params = pl_render_default_params;
opts->deband_params = pl_deband_default_params;
opts->sigmoid_params = pl_sigmoid_default_params;
opts->color_adjustment = pl_color_adjustment_neutral;
opts->peak_detect_params = pl_peak_detect_default_params;
opts->color_map_params = pl_color_map_default_params;
opts->dither_params = pl_dither_default_params;
opts->icc_params = pl_icc_default_params;
// Redirect always-enabled params structs to shim
opts->params.color_adjustment = &opts->color_adjustment;
opts->params.color_map_params = &opts->color_map_params;
opts->params.icc_params = &opts->icc_params;
return opts;
}
#define pl_options_free TA_FREEP
#endif
struct osd_entry {
@ -1507,9 +1527,7 @@ static void uninit(struct vo *vo)
pl_shader_info_deref(&p->perf_redraw.info[i].shader);
}
#if PL_API_VER >= 309
pl_options_free(&p->pars);
#endif
p->ra_ctx = NULL;
p->pllog = NULL;
@ -1567,23 +1585,7 @@ static int preinit(struct vo *vo)
talloc_free(cache_file);
}
#if PL_API_VER >= 309
p->pars = pl_options_alloc(p->pllog);
#else
p->pars = talloc_ptrtype(p, p->pars);
p->pars->params = pl_render_default_params;
p->pars->deband_params = pl_deband_default_params;
p->pars->sigmoid_params = pl_sigmoid_default_params;
p->pars->color_adjustment = pl_color_adjustment_neutral;
p->pars->peak_detect_params = pl_peak_detect_default_params;
p->pars->color_map_params = pl_color_map_default_params;
p->pars->dither_params = pl_dither_default_params;
p->pars->icc_params = pl_icc_default_params;
// Redirect always-enabled params structs to shim
p->pars->params.color_adjustment = &p->pars->color_adjustment;
p->pars->params.color_map_params = &p->pars->color_map_params;
p->pars->params.icc_params = &p->pars->icc_params;
#endif
update_render_options(vo);
return 0;