diff options
author | Niklas Haas <git@nand.wakku.to> | 2016-05-16 02:44:30 +0200 |
---|---|---|
committer | Niklas Haas <git@nand.wakku.to> | 2016-05-16 02:49:49 +0200 |
commit | e047cc0931a22d277d7ccd14588f905d7852f7e0 (patch) | |
tree | 6ad6d88295bf3b7ab045ce6befadd063bec84c81 /DOCS/man/vo.rst | |
parent | 3cfe98c6848d888e06e5d402f9100d55ab09d755 (diff) | |
download | mpv-e047cc0931a22d277d7ccd14588f905d7852f7e0.tar.bz2 mpv-e047cc0931a22d277d7ccd14588f905d7852f7e0.tar.xz |
vo_opengl: implement more HDR tonemapping algorithms
This is now a configurable option, with tunable parameters.
I got inspiration for these algorithms off wikipedia. "simple" seems to
work pretty well, but not well enough to make it a reasonable default.
Some other notable candidates:
- Local functions (e.g. based on local contrast or gradient)
- Clamp with soft knee (linear up to a point)
- Mapping in CIE L*Ch. Map L smoothly, clamp C and h.
- Color appearance models
These will have to be implemented some other time.
Note that the parameter "peak_src" to pass_tone_map should, in
principle, be auto-detected from the SEI information of the source file
where available. This will also have to be implemented in a later
commit.
Diffstat (limited to 'DOCS/man/vo.rst')
-rw-r--r-- | DOCS/man/vo.rst | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst index 046fa7e0e6..7792831dd5 100644 --- a/DOCS/man/vo.rst +++ b/DOCS/man/vo.rst @@ -1057,9 +1057,38 @@ Available video output drivers are: ``target-brightness=<1..100000>`` Specifies the display's approximate brightness in cd/m^2. When playing - HDR content, video colors will be scaled and clipped to this - brightness. The default of 250 cd/m^2 corresponds to a typical consumer - display. + HDR content, video colors will be tone mapped to this target brightness + using the algorithm specified by ``hdr-tone-mapping``. The default of + 250 cd/m^2 corresponds to a typical consumer display. + + ``hdr-tone-mapping=<value>`` + Specifies the algorithm used for tone-mapping HDR images onto the + target display. Valid values are: + + clip + Hard-clip any out-of-range values (default) + simple + Very simple continuous curve. Preserves dynamic range and peak but + uses nonlinear contrast. + gamma + Fits a logarithmic transfer between the tone curves. + linear + Linearly stretches the entire reference gamut to (a linear multiple + of) the display. + + ``tone-mapping-param=<value>`` + Set tone mapping parameters. Ignored if the tone mapping algorithm is + not tunable. This affects the following tone mapping algorithms: + + simple + Specifies the local contrast coefficient at the display peak. + Defaults to 0.5, which means that in-gamut values will be about + half as bright as when clipping. + gamma + Specifies the exponent of the function. Defaults to 1.8. + linear + Specifies the scale factor to use while stretching. Defaults to + 1.0. ``icc-profile=<file>`` Load an ICC profile and use it to transform video RGB to screen output. |