1
mirror of https://github.com/mpv-player/mpv synced 2024-11-18 21:16:10 +01:00
mpv/player
Niklas Haas 1f3000b03c vo_opengl: implement support for OOTFs and non-display referred content
This introduces (yet another..) mp_colorspace members, an enum `light`
(for lack of a better name) which basically tells us whether we're
dealing with scene-referred or display-referred light, but also a bit
more metadata (in which way is the scene-referred light expected to be
mapped to the display?).

The addition of this parameter accomplishes two goals:

1. Allows us to actually support HLG more-or-less correctly[1]
2. Allows people playing back direct “camera” content (e.g. v-log or
   s-log2) to treat it as scene-referred instead of display-referred

[1] Even better would be to use the display-referred OOTF instead of the
idealized OOTF, but this would require either native HLG support in
LittleCMS (unlikely) or more communication between lcms.c and
video_shaders.c than I'm remotely comfortable with

That being said, in principle we could switch our usage of the BT.1886
EOTF to the BT.709 OETF instead and treat BT.709 content as being
scene-referred under application of the 709+1886 OOTF; which moves that
particular conversion from the 3dlut to the shader code; but also allows
a) users like UliZappe to turn it off and b) supporting the full HLG
OOTF in the same framework. But I think I prefer things as they are
right now.
2017-06-18 20:54:44 +02:00
..
javascript js: add javascript scripting support using MuJS 2017-06-14 12:29:32 +02:00
lua ytdl_hook: don't override start time set by saved state 2017-06-09 11:13:24 +01:00
audio.c audio: replace from_dB function 2017-05-05 01:22:06 +02:00
client.c Fix use of ISC license 2017-04-15 16:20:00 +02:00
client.h client API: turn mpv_suspend() and mpv_resume() into stubs 2016-11-22 15:54:44 +01:00
command.c vo_opengl: implement support for OOTFs and non-display referred content 2017-06-18 20:54:44 +02:00
command.h player: fix core-idle and eof-reached update notifcations 2017-04-14 18:58:48 +02:00
configfiles.c options: another missed --sub-ass-style-override use 2017-06-07 20:43:59 +02:00
core.h player: fix a corner case in previous commit 2017-04-14 19:06:31 +02:00
external_files.c external_files: parse ~ in --{sub,audio}-paths 2017-05-31 13:10:34 +01:00
external_files.h player: rename and move find_subfiles.c 2015-09-20 18:05:06 +02:00
javascript.c javascript: replace custom MIN macro with MPMIN 2017-06-17 14:28:42 +02:00
lavfi.c lavfi: temporary workaround for FFmpeg av_buffersrc_parameters_set() bug 2017-02-22 10:43:35 +01:00
lavfi.h lavfi: support hwdec filters for --lavfi-complex 2017-02-20 13:42:08 +01:00
loadfile.c player: fix a corner case in previous commit 2017-04-14 19:06:31 +02:00
lua.c scripting: expand --script filename for C plugins 2017-06-09 19:42:12 +02:00
main.c player: make sure version information is always included in --log-file 2017-05-22 18:31:39 +02:00
misc.c player: remove --stream-capture option/property 2017-01-21 17:19:01 +01:00
osd.c player: different way to auto-enable the demuxer cache 2017-02-02 18:38:16 +01:00
playloop.c player: fix a corner case in previous commit 2017-04-14 19:06:31 +02:00
screenshot.c screenshot: cleanup: use normal MSGL_ defines 2017-04-01 20:47:36 +02:00
screenshot.h player: make screenshot commands honor the async flag 2017-04-01 20:47:23 +02:00
scripting.c js: add javascript scripting support using MuJS 2017-06-14 12:29:32 +02:00
sub.c player: enable no-video subtitle display on coverart too 2016-10-31 13:55:32 +01:00
video.c vo.c, vo.h, vo_null.c: change license to LGPL 2017-05-10 15:06:20 +02:00