diff options
author | wm4 <wm4@nowhere> | 2015-12-24 14:43:23 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-12-24 14:43:23 +0100 |
commit | 6bec6ac55828495356e3498dc52294e28c38c3c1 (patch) | |
tree | b4e3574ad564d40ac70a5516a22c7c31fd72faae /video | |
parent | 946bd52a1d1eb561ff8bb516ef6efcd02ca3ea1e (diff) | |
download | mpv-6bec6ac55828495356e3498dc52294e28c38c3c1.tar.bz2 mpv-6bec6ac55828495356e3498dc52294e28c38c3c1.tar.xz |
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.
Diffstat (limited to 'video')
-rw-r--r-- | video/fmt-conversion.c | 1 | ||||
-rw-r--r-- | video/img_format.h | 1 |
2 files changed, 2 insertions, 0 deletions
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. |