summaryrefslogtreecommitdiffstats
path: root/DOCS/man
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2016-05-16 02:44:30 +0200
committerNiklas Haas <git@nand.wakku.to>2016-05-16 02:49:49 +0200
commite047cc0931a22d277d7ccd14588f905d7852f7e0 (patch)
tree6ad6d88295bf3b7ab045ce6befadd063bec84c81 /DOCS/man
parent3cfe98c6848d888e06e5d402f9100d55ab09d755 (diff)
downloadmpv-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')
-rw-r--r--DOCS/man/vo.rst35
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.