1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-30 15:29:56 +00:00
mpv/video/out
Niklas Haas ebe798a333 vo_opengl: increase 3DLUT accuracy at lower LUT sizes
This code had the exact same texture indexing bug that the original
scaler code had before the introduction of the LUT_POS macro to fix it.

We can re-use this same macro here, and the performance drop is
virtually entirely negligible. The benefit is greatly improved LUT
accuracy as the 3DLUT size decreases - in particular, the old LUT
started introducing more and more black crush the lower your LUT size is
(because the error was essentially an over-contrast bias, with a
magnitude linearly related to the lut size).

The new code improves black stability as the LUT size decreases, and
only at very low values (16 and below) do black levels start noticeably
getting affected (due to crude linearization of the nonlinear response
curve).

The default value of 3dlut-size is definitely generous enough for this
to make no difference out of the box, but it also causes no performance
drop at all on my machine so I see no harm in improving the logic.
Furthermore, this means we could easily decrease the default 3dlut size
in a future commit, perhaps even down to 64x64x64 as a default. (But
more testing is warranted here)
2016-07-25 10:26:45 +02:00
..
cocoa cocoa: fix display refresh rate retrieval on multi monitor setups 2016-06-18 19:15:36 +02:00
opengl vo_opengl: increase 3DLUT accuracy at lower LUT sizes 2016-07-25 10:26:45 +02:00
wayland Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
win32 mpv_talloc.h: rename from talloc.h 2016-01-11 21:05:55 +01:00
aspect.c aspect: rework --video-unscaled 2016-04-10 18:29:20 +02:00
aspect.h Update license headers 2015-04-13 12:10:01 +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 vo_opengl: cocoa: switch to new internal API 2015-10-01 22:42:25 +02:00
cocoa_common.m cocoa: remove unused icc profile variables 2016-07-21 08:48:45 +02:00
d3d_shader_420p.h
d3d_shader_nv12.h
d3d_shader_yuv.hlsl
dither.c Change GPL/LGPL dual-licensed files to LGPL 2016-01-19 18:36:34 +01:00
dither.h
drm_common.c build: silence -Wunused-result 2016-06-07 14:12:33 +02:00
drm_common.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
filter_kernels.c filter_kernels: improve the gaussian function 2016-01-07 12:17:34 +01:00
filter_kernels.h filter_kernels.h: adjust the license 2016-01-19 18:41:11 +01:00
vo_caca.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_direct3d.c vo_direct3d: remove bitmap packer 2016-07-01 20:28:49 +02:00
vo_drm.c vo_opengl: allow backends to provide callbacks for custom event loops 2016-07-20 20:42:30 +02:00
vo_image.c mpv_talloc.h: rename from talloc.h 2016-01-11 21:05:55 +01:00
vo_lavc.c mp_image: split colorimetry metadata into its own struct 2016-07-03 19:42:52 +02:00
vo_null.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_opengl_cb.c vo_opengl_cb: icc-profile-auto does not and will not work 2016-06-05 15:00:07 +02:00
vo_opengl.c vo_opengl: glctx can be NULL during init 2016-07-21 16:07:15 +02:00
vo_rpi.c mp_image: split colorimetry metadata into its own struct 2016-07-03 19:42:52 +02:00
vo_sdl.c vo_opengl: allow backends to provide callbacks for custom event loops 2016-07-20 20:42:30 +02:00
vo_vaapi.c x11: stop using vo.event_fd 2016-07-20 20:52:08 +02:00
vo_vdpau.c x11: stop using vo.event_fd 2016-07-20 20:52:08 +02:00
vo_wayland.c wayland: port to the new wakeup/wait_events framework 2016-07-21 14:45:38 +02:00
vo_x11.c x11: stop using vo.event_fd 2016-07-20 20:52:08 +02:00
vo_xv.c x11: stop using vo.event_fd 2016-07-20 20:52:08 +02:00
vo.c vo: remove now unused event_fd handling 2016-07-21 14:48:30 +02:00
vo.h vo: remove now unused event_fd handling 2016-07-21 14:48:30 +02:00
w32_common.c w32_common: make WM_NCHITTEST simpler and more accurate 2016-07-03 21:58:29 +10:00
w32_common.h vo_direct3d: fix operation 2015-10-31 12:52:02 +01:00
wayland_common.c x11, wayland: do not accidentally close FD 0 2016-07-21 15:18:32 +02:00
wayland_common.h wayland: port to the new wakeup/wait_events framework 2016-07-21 14:45:38 +02:00
win_state.c video: switch from using display aspect to sample aspect 2015-12-19 20:45:36 +01:00
win_state.h
x11_common.c x11, wayland: do not accidentally close FD 0 2016-07-21 15:18:32 +02:00
x11_common.h x11: stop using vo.event_fd 2016-07-20 20:52:08 +02:00
x11_icon.bin