diff options
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/gl_video.c | 16 | ||||
-rw-r--r-- | video/out/gl_video.h | 1 | ||||
-rw-r--r-- | video/out/vo.c | 1 | ||||
-rw-r--r-- | video/out/vo_opengl.c | 7 |
4 files changed, 7 insertions, 18 deletions
diff --git a/video/out/gl_video.c b/video/out/gl_video.c index 6fb41e5814..e285be252a 100644 --- a/video/out/gl_video.c +++ b/video/out/gl_video.c @@ -1973,6 +1973,12 @@ void gl_video_config(struct gl_video *p, struct mp_image_params *params) p->image_dw = params->d_w; p->image_dh = params->d_h; p->image_params = *params; + + struct mp_csp_details csp = MP_CSP_DETAILS_DEFAULTS; + csp.levels_in = params->colorlevels; + csp.levels_out = params->outputlevels; + csp.format = params->colorspace; + p->colorspace = csp; } void gl_video_set_output_depth(struct gl_video *p, int r, int g, int b) @@ -2046,16 +2052,6 @@ bool gl_video_get_csp_override(struct gl_video *p, struct mp_csp_details *csp) return true; } -bool gl_video_set_csp_override(struct gl_video *p, struct mp_csp_details *csp) -{ - if (p->is_yuv) { - p->colorspace = *csp; - update_all_uniforms(p); - return true; - } - return false; -} - bool gl_video_set_equalizer(struct gl_video *p, const char *name, int val) { if (mp_csp_equalizer_set(&p->video_eq, name, val) >= 0) { diff --git a/video/out/gl_video.h b/video/out/gl_video.h index 2ed8507a9c..bc21310498 100644 --- a/video/out/gl_video.h +++ b/video/out/gl_video.h @@ -66,7 +66,6 @@ void gl_video_resize(struct gl_video *p, struct mp_rect *window, struct mp_rect *src, struct mp_rect *dst, struct mp_osd_res *osd); bool gl_video_get_csp_override(struct gl_video *p, struct mp_csp_details *csp); -bool gl_video_set_csp_override(struct gl_video *p, struct mp_csp_details *csp); bool gl_video_set_equalizer(struct gl_video *p, const char *name, int val); bool gl_video_get_equalizer(struct gl_video *p, const char *name, int *val); diff --git a/video/out/vo.c b/video/out/vo.c index f3fc4aca4d..014fcf03ad 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -430,6 +430,7 @@ int vo_reconfig(struct vo *vo, struct mp_image_params *params, int flags) struct mp_csp_details csp; if (vo_control(vo, VOCTRL_GET_YUV_COLORSPACE, &csp) > 0) { csp.levels_in = params->colorlevels; + csp.levels_out = params->outputlevels; csp.format = params->colorspace; vo_control(vo, VOCTRL_SET_YUV_COLORSPACE, &csp); } diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c index a6950c8d11..9253920049 100644 --- a/video/out/vo_opengl.c +++ b/video/out/vo_opengl.c @@ -245,13 +245,6 @@ static int control(struct vo *vo, uint32_t request, void *data) vo->want_redraw = true; return r ? VO_TRUE : VO_NOTIMPL; } - case VOCTRL_SET_YUV_COLORSPACE: { - mpgl_lock(p->glctx); - gl_video_set_csp_override(p->renderer, data); - mpgl_unlock(p->glctx); - vo->want_redraw = true; - return VO_TRUE; - } case VOCTRL_GET_YUV_COLORSPACE: mpgl_lock(p->glctx); gl_video_get_csp_override(p->renderer, data); |