1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-20 14:20:55 +00:00
mpv/video/out
Niklas Haas 61f5a80f10
vo_opengl: get rid of approx-gamma and make it the default as per BT.1886
After finding out more about how video mastering is done in the real
world it dawned upon me why the "hack" we figured out in #534 looks so
much better.

Since mastering studios have historically been using only CRTs, the
practice adopted for backwards compatibility was to simulate CRT
responses even on modern digital monitors, a practice so ubiquitous that
the ITU-R formalized it in R-Rec BT.1886 to be precisely gamma 2.40.

As such, we finally have enough proof to get rid of the option
altogether and just always do that.

The value 1.961 is a rounded version of my experimentally obtained
approximation of the BT.709 curve, which resulted in a value of around
1.9610336. This is the closest average match to the source brightness
while preserving the nonlinear response of the BT.1886 ideal monitor.

For playback in dark environments, it's expected that the gamma shift
should be reproduced by a user controlled setting, up to a maximum of
1.224 (2.4/1.961) for a pitch black environment.

More information:
https://developer.apple.com/library/mac/technotes/tn2257/_index.html
2015-01-16 02:17:19 +01:00
..
cocoa cocoa: fix build on 10.9 2015-01-02 20:54:09 +01:00
wayland wayland/buffer: use buffer macros consistently 2014-09-16 15:48:07 +02:00
aspect.c vo: add some general support code for VOs that allow rotation 2014-04-21 02:57:16 +02:00
aspect.h vo: add some general support code for VOs that allow rotation 2014-04-21 02:57:16 +02:00
bitmap_packer.c bitmap_packer: use printf() for fatal message 2013-12-21 20:50:11 +01:00
bitmap_packer.h
cocoa_common.h cocoa: move the gl function loader to gl_cocoa.c 2014-12-28 19:10:44 +01:00
cocoa_common.m vo_opengl: add support for in memory icc profiles 2015-01-07 18:47:27 +01:00
d3d_shader_yuv.h
d3d_shader_yuv.hlsl vo_direct3d: remove 2ch hack for 10 bit playback 2013-01-13 20:04:14 +01:00
dither.c malloc+memset(0) to calloc 2014-09-05 01:59:11 +02:00
dither.h gl_video: improve dithering 2013-05-26 16:44:20 +02:00
filter_kernels.c vo_opengl: add ewa_lanczos upscaler (aka jinc) 2015-01-15 21:20:27 +01:00
filter_kernels.h vo_opengl: add ewa_lanczos upscaler (aka jinc) 2015-01-15 21:20:27 +01:00
gl_cocoa.c cocoa: move the gl function loader to gl_cocoa.c 2014-12-28 19:10:44 +01:00
gl_common.c vo_opengl_old: remove ancient ATI-specific YUV conversions 2015-01-02 00:59:27 +01:00
gl_common.h vo_opengl_old: remove ancient ATI-specific YUV conversions 2015-01-02 00:59:27 +01:00
gl_header_fixes.h vo_opengl_old: remove ancient ATI-specific YUV conversions 2015-01-02 00:59:27 +01:00
gl_hwdec_vaglx.c client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00
gl_hwdec_vda.c gl_hwdec_vda: refuse to work with old OpenGL versions 2014-12-31 21:04:52 +01:00
gl_hwdec_vdpau.c client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00
gl_hwdec.c client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00
gl_hwdec.h client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00
gl_lcms.c vo_opengl: gl_lcms: implement change detection for memory profiles 2015-01-08 01:03:09 +01:00
gl_lcms.h vo_opengl: gl_lcms: implement change detection for memory profiles 2015-01-08 01:03:09 +01:00
gl_osd.c vo_opengl: GLES does not support GL_BGRA 2014-12-20 19:23:17 +01:00
gl_osd.h vo_opengl_old: fix OSD regression 2014-12-20 18:43:11 +01:00
gl_video_shaders.glsl vo_opengl: get rid of approx-gamma and make it the default as per BT.1886 2015-01-16 02:17:19 +01:00
gl_video.c vo_opengl: get rid of approx-gamma and make it the default as per BT.1886 2015-01-16 02:17:19 +01:00
gl_video.h video: Add sigmoidal upscaling to avoid ringing artifacts 2015-01-09 03:18:21 +01:00
gl_w32.c win32: request UTF-16 API variants, Vista+ APIs, and COM C macros 2015-01-07 21:42:44 +01:00
gl_wayland.c vo_opengl: remove pointless glFinish calls 2014-12-19 23:50:12 +01:00
gl_x11.c x11: always use glXGetProcAddressARB() 2015-01-07 21:13:26 +01:00
gl_x11egl.c vo_opengl: add GLES 2 support 2014-12-19 01:21:19 +01:00
pnm_loader.c Audit and replace all ctype.h uses 2014-07-01 23:11:08 +02:00
pnm_loader.h
vo_caca.c vo: remove vo_mouse_movement() wrapper 2014-07-27 21:53:29 +02:00
vo_direct3d.c vo_direct3d: fix shader colormatrix generation 2015-01-07 22:08:20 +01:00
vo_image.c Do not call strerror() 2014-11-26 21:21:56 +01:00
vo_lavc.c ao_lavc, vo_lavc: Fix crashes in case of multiple init attempts. 2014-11-12 12:16:07 +01:00
vo_null.c vo: make draw_image and vo_queue_image transfer image ownership 2014-06-17 23:05:50 +02:00
vo_opengl_cb.c vo_opengl_cb: initial screenshot support 2015-01-15 20:10:11 +01:00
vo_opengl_old.c csputils: replace float[3][4] with a struct 2015-01-06 16:51:06 +01:00
vo_opengl.c vo_opengl: don't crash win32 backend with NULL events 2015-01-08 18:30:19 +01:00
vo_sdl.c command: make window-scale property observable 2014-11-02 20:53:56 +01:00
vo_vaapi.c vo_vaapi: fix broken error checks 2014-11-07 09:28:47 +01:00
vo_vdpau.c vo: fix some nonsense 2014-12-10 17:00:18 +01:00
vo_wayland.c vo_wayland: drop redundant "const" 2014-11-07 09:28:58 +01:00
vo_x11.c vo_x11: don't attempt to resize when unconfigured 2014-12-14 22:01:30 +01:00
vo_xv.c command: make window-scale property observable 2014-11-02 20:53:56 +01:00
vo.c vo: don't synchronize when seeking 2015-01-12 05:14:41 +01:00
vo.h vo: add functions to increment drop_count 2015-01-08 21:15:09 +01:00
w32_common.c win32: minor simplification 2015-01-08 18:32:23 +01:00
w32_common.h win32: create OpenGL context on the GUI thread 2014-08-05 20:02:23 +02:00
wayland_common.c wayland: implement key modifiers 2015-01-12 16:41:00 +01:00
wayland_common.h wayland_common: fix changing videos when fullscreen 2014-09-10 19:21:52 +02:00
win_state.c video/out/win_state.c: fix --monitoraspect 2015-01-05 17:28:26 +01:00
win_state.h video/out: separate out code to compute window size 2014-05-06 20:22:32 +02:00
x11_common.c x11: explicitly query map status when waiting for map event 2015-01-12 12:15:27 +01:00
x11_common.h x11: copy WinID option 2014-12-09 21:55:18 +01:00
x11_icon.bin x11: add window icon 2013-09-01 23:27:33 +02:00