From 0fd357a416ab4df70d9612d2b94327a8d5aadbd9 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Sun, 27 Aug 2023 13:47:34 +0200 Subject: [PATCH] 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. --- video/out/vo_gpu_next.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/video/out/vo_gpu_next.c b/video/out/vo_gpu_next.c index 7b0a0c5f26..a4a456750d 100644 --- a/video/out/vo_gpu_next.c +++ b/video/out/vo_gpu_next.c @@ -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;