1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-12 18:02:36 +00:00
mpv/video
wm4 f3c84a322d vo_opengl: fix display of ARGB ith color management enabled
PNG uses a different component order from GL_RGBA, so we upload the
surface using the "wrong" order, and then fix it in the shader. This
breaks if a sRGB texture (GL_SRGB) is used: the hardware will not touch
the alpha channel, which means that the B component is not adjusted,
leading to incorrect output.

Just remove the use of sRGB textures completely. It might lead to a
slight slow down when playing RGB with color management enabled, but
with this combination of obscure use case with minor performance impact
it's not a meaningful disadvantage.

Unfortunately this also means that alpha is handled incorrectly with our
own color management, but alpha isn't so important and can be fixed
later. (0.0 and 1.0 are unchanged by the transfer function, so it
"mostly" works.)

Fixes #1530.
2015-01-28 13:36:07 +01:00
..
decode video: have a generic context struct for hwdec backends 2015-01-22 15:32:23 +01:00
filter vf_ilpack: remove this filter 2015-01-27 19:13:51 +01:00
out vo_opengl: fix display of ARGB ith color management enabled 2015-01-28 13:36:07 +01:00
csputils.c vo_opengl: handle grayscale input better, add YA16 support 2015-01-21 19:29:18 +01:00
csputils.h vo_opengl: handle grayscale input better, add YA16 support 2015-01-21 19:29:18 +01:00
fmt-conversion.c vo_opengl: handle grayscale input better, add YA16 support 2015-01-21 19:29:18 +01:00
fmt-conversion.h
hwdec.h video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
image_writer.c image_writer: check for conversion errors 2015-01-15 20:10:08 +01:00
image_writer.h
img_format.c video: try to keep implied alpha when using conversion filters 2015-01-21 21:49:15 +01:00
img_format.h vo_opengl: handle grayscale input better, add YA16 support 2015-01-21 19:29:18 +01:00
img_fourcc.h
memcpy_pic.h
mp_image_pool.c mp_image_pool: allow passing pool=NULL in more places 2015-01-22 17:37:40 +01:00
mp_image_pool.h
mp_image.c vo_opengl: change the way unaligned chroma size is handled 2015-01-27 18:09:03 +01:00
mp_image.h vo_opengl: change the way unaligned chroma size is handled 2015-01-27 18:09:03 +01:00
sws_utils.c image_writer: check for conversion errors 2015-01-15 20:10:08 +01:00
sws_utils.h image_writer: check for conversion errors 2015-01-15 20:10:08 +01:00
vaapi.c video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vaapi.h video: have a generic context struct for hwdec backends 2015-01-22 15:32:23 +01:00
vdpau_functions.inc video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vdpau_mixer.c video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vdpau_mixer.h
vdpau.c video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vdpau.h video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00