diff options
Diffstat (limited to 'video/out/gpu')
-rw-r--r-- | video/out/gpu/video.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c index 9d5df7c739..4d14eb8019 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c @@ -2357,9 +2357,11 @@ static void pass_convert_yuv(struct gl_video *p) p->components = 3; if (!p->has_alpha || p->opts.alpha_mode == ALPHA_NO) { GLSL(color.a = 1.0;) - } else { // alpha present in image + } else if (p->image_params.alpha == MP_ALPHA_PREMUL) { p->components = 4; - GLSL(color = vec4(color.rgb * color.a, color.a);) + } else { + p->components = 4; + GLSL(color = vec4(color.rgb * color.a, color.a);) // straight -> premul } } |