From 6bec6ac55828495356e3498dc52294e28c38c3c1 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 24 Dec 2015 14:43:23 +0100 Subject: sub: better alpha blending when rendering to alpha surfaces This actually treats destination alpha correctly, and gives much better results than before. I don't know if this is perfectly correct yet, though. Slight difference with vo_opengl behavior suggests it might not be. Note that this does not affect VOs with true alpha support. vo_opengl does not use this code at all, and does the alpha calculations in OpenGL instead. --- video/fmt-conversion.c | 1 + video/img_format.h | 1 + 2 files changed, 2 insertions(+) (limited to 'video') diff --git a/video/fmt-conversion.c b/video/fmt-conversion.c index 6482f5429f..71cd044169 100644 --- a/video/fmt-conversion.c +++ b/video/fmt-conversion.c @@ -49,6 +49,7 @@ static const struct { {IMGFMT_BGR4, AV_PIX_FMT_BGR4}, {IMGFMT_PAL8, AV_PIX_FMT_PAL8}, {IMGFMT_GBRP, AV_PIX_FMT_GBRP}, + {IMGFMT_GBRAP, AV_PIX_FMT_GBRAP}, {IMGFMT_YUYV, AV_PIX_FMT_YUYV422}, {IMGFMT_UYVY, AV_PIX_FMT_UYVY422}, {IMGFMT_NV12, AV_PIX_FMT_NV12}, diff --git a/video/img_format.h b/video/img_format.h index 0d8c699850..8788f86c35 100644 --- a/video/img_format.h +++ b/video/img_format.h @@ -197,6 +197,7 @@ enum mp_imgfmt { // Planar RGB (planes are shuffled: plane 0 is G, etc.) IMGFMT_GBRP, + IMGFMT_GBRAP, // XYZ colorspace, similar organization to RGB48. Even though it says "12", // the components are stored as 16 bit, with lower 4 bits set to 0. -- cgit v1.2.3