1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-11 08:37:59 +00:00
mpv/video/out
Niklas Haas 5e1e7d32e8
vo_opengl: generalize HDR tone mapping to gamut mapping
Since this code was already written for HDR, and is now per-channel
(because it works better for HDR as well), we can actually reuse this to
get very high quality gamut mapping without clipping. The only required
change is to move the tone mapping from before the gamut map to after
the gamut map. Additonally, we need to also account for changes in the
signal range as a result of applying the CMS when we compute ref_peak,
which is fortunately pretty easy because we only need to consider the
case of primaries mapping to themselves.

Since `HDR` no longer really makes sense as a label, rename it to
`--tone-mapping` in general. Also fits better with
`--tone-mapping-desat` etc.

Arguably we could also rename `--hdr-compute-peak`, but that option is
basically only useful for HDR content anyway because we don't need
information about the signal range for gamut mapping.

This (finally!) gives us reasonably high quality gamut mapping even in
the absence of an ICC profile / 3DLUT.
2017-08-03 12:46:57 +02:00
..
cocoa cocoa: remove usage of FFABS and the dependency on libavutil/common.h 2017-07-31 20:22:33 +02:00
opengl vo_opengl: generalize HDR tone mapping to gamut mapping 2017-08-03 12:46:57 +02:00
wayland video/out/wayland/buffer.c: Add missing free() 2017-05-26 08:52:12 +01:00
win32 droptarget: fix style and refactor 2017-03-26 00:41:16 +11:00
aspect.c aspect: change license to LGPL 2017-06-17 17:08:51 +02:00
aspect.h aspect: change license to LGPL 2017-06-17 17:08:51 +02:00
bitmap_packer.c bitmap_packer: remove some unused functions 2016-07-01 20:29:45 +02:00
bitmap_packer.h bitmap_packer: remove some unused functions 2016-07-01 20:29:45 +02:00
cocoa_common.h osx: change license of OSX and cocoa files to LGPL 2017-06-24 16:29:22 +02:00
cocoa_common.m osx: change license of OSX and cocoa files to LGPL 2017-06-24 16:29:22 +02:00
d3d_shader_420p.h vo_direct3d: support NV12 with shaders 2015-03-02 19:09:18 +01:00
d3d_shader_yuv.hlsl vo_direct3d: support NV12 with shaders 2015-03-02 19:09:18 +01:00
dither.c Change GPL/LGPL dual-licensed files to LGPL 2016-01-19 18:36:34 +01:00
dither.h
drm_common.c vo_drm: nake drm mode help output also output refresh rate 2017-06-18 20:54:44 +02:00
drm_common.h vo_drm: change CLI options + refactors 2016-10-07 00:22:23 +02:00
filter_kernels.c vo_opengl: generalize --scale-clamp etc. 2017-07-12 19:08:58 +02:00
filter_kernels.h vo_opengl: generalize --scale-clamp etc. 2017-07-12 19:08:58 +02:00
vo_caca.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_direct3d.c vo_direct3d: remove non-working nv12 shader support 2017-06-30 18:13:01 +02:00
vo_drm.c vo_drm: fallback to vo_wait_default if VT switcher is not available 2017-06-08 15:24:10 +02:00
vo_image.c image_writer, vo_image: change license to LGPL 2017-06-18 15:45:24 +02:00
vo_lavc.c encode_lavc: move from GPL 2+ to LGPL 2.1+. 2017-06-13 14:22:15 -04:00
vo_null.c vo.c, vo.h, vo_null.c: change license to LGPL 2017-05-10 15:06:20 +02:00
vo_opengl_cb.c vo: fix subtleties in the redrawing logic 2017-02-21 15:39:44 +01:00
vo_opengl.c vo_opengl: add direct rendering support 2017-07-24 04:32:55 +02:00
vo_rpi.c vo_rpi: partially undeprecate 2016-12-08 11:00:14 +01:00
vo_sdl.c video: get rid of swapped packed YUV 2017-06-30 18:01:29 +02:00
vo_tct.c vo_tct: check ioctl result 2017-02-20 14:19:57 +01:00
vo_vaapi.c vaapi: remove central lock around vaapi API calls 2017-01-28 18:27:30 +01:00
vo_vdpau.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_wayland.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_x11.c build: make various x11 protocol extension libs mandatory 2017-04-21 07:30:03 +02:00
vo_xv.c video: get rid of swapped packed YUV 2017-06-30 18:01:29 +02:00
vo.c vo_opengl: add direct rendering support 2017-07-24 04:32:55 +02:00
vo.h vo_opengl: add direct rendering support 2017-07-24 04:32:55 +02:00
w32_common.c w32_common: use sent messages to wake up the Win32 thread 2017-07-04 23:08:40 +10:00
w32_common.h w32_common, w32_keyboard: change license to LGPL 2017-06-24 12:54:45 +02:00
wayland_common.c wayland_common: organize and correctly map mouse buttons 2017-03-17 06:25:32 +00:00
wayland_common.h wayland_common: remove untested/unusable wayland dnd code 2016-07-30 00:02:39 +02:00
win_state.c win_state: change license to LGPL 2017-06-17 21:10:24 +02:00
win_state.h x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00
x11_common.c x11: add 128x128 sized icon support 2017-07-02 13:07:36 +02:00
x11_common.h x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00