[FFmpeg-devel] [PATCH] doc/filters: add tonemap_opencl document.

Ruiling Song ruiling.song at intel.com
Thu Aug 2 01:31:43 EEST 2018


Signed-off-by: Ruiling Song <ruiling.song at intel.com>
---
 doc/filters.texi | 158 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 158 insertions(+)

diff --git a/doc/filters.texi b/doc/filters.texi
index 6695999c84..f622d03226 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -17776,6 +17776,164 @@ Apply sobel operator with scale set to 2 and delta set to 10
 @end example
 @end itemize
 
+ at section tonemap_opencl
+
+Perform HDR(PQ/HLG) to SDR conversion with tone-mapping.
+
+It accepts the following parameters:
+
+ at table @option
+ at item tonemap
+Specify the tone-mapping operator to be used.
+
+Possible values are:
+ at table @var
+ at item none
+Do not apply any tone mapping, only desaturate overbright pixels.
+
+ at item clip
+Hard-clip any out-of-range values. Use it for perfect color accuracy for
+in-range values, while distorting out-of-range values.
+
+ at item linear
+Stretch the entire reference gamut to a linear multiple of the display.
+
+ at item gamma
+Fit a logarithmic transfer between the tone curves.
+
+ at item reinhard
+Preserve overall image brightness with a simple curve, using nonlinear
+contrast, which results in flattening details and degrading color accuracy.
+
+ at item hable
+Preserve both dark and bright details better than @var{reinhard}, at the cost
+of slightly darkening everything. Use it when detail preservation is more
+important than color and brightness accuracy.
+
+ at item mobius
+Smoothly map out-of-range values, while retaining contrast and colors for
+in-range material as much as possible. Use it when color accuracy is more
+important than detail preservation.
+ at end table
+
+ at item param
+Tune the tone mapping algorithm.
+
+This affects the following algorithms:
+ at table @var
+ at item none
+Ignored.
+
+ at item linear
+Specifies the scale factor to use while stretching.
+Default to 1.0.
+
+ at item gamma
+Specifies the exponent of the function.
+Default to 1.8.
+
+ at item clip
+Specify an extra linear coefficient to multiply into the signal before clipping.
+Default to 1.0.
+
+ at item reinhard
+Specify the local contrast coefficient at the display peak.
+Default to 0.5, which means that in-gamut values will be about half as bright
+as when clipping.
+
+ at item hable
+Ignored.
+
+ at item mobius
+Specify the transition point from linear to mobius transform. Every value
+below this point is guaranteed to be mapped 1:1. The higher the value, the
+more accurate the result will be, at the cost of losing bright details.
+Default to 0.3, which due to the steep initial slope still preserves in-range
+colors fairly accurately.
+ at end table
+
+ at item desat
+Apply desaturation for highlights that exceed this level of brightness. The
+higher the parameter, the more color information will be preserved. This
+setting helps prevent unnaturally blown-out colors for super-highlights, by
+(smoothly) turning into white instead. This makes images feel more natural,
+at the cost of reducing information about out-of-range colors.
+
+The default value is 0.5, and the algorithm here is a little different from
+the cpu version tonemap currently. A setting of 0.0 disables this option.
+
+ at item threshold
+The tonemapping algorithm parameters is fine-tuned per each scene. And a threshold
+is used to detect whether the scene has changed or not. If the distance beween
+the current frame average brightness and the current running average exceeds
+a threshold value, we would re-calculate scene average and peak brightness.
+The default value is 0.2.
+
+ at item format
+Specify the output pixel format.
+
+Currently supported formats are:
+ at table @var
+ at item p010
+ at item nv12
+ at end table
+
+ at item range, r
+Set the output color range.
+
+Possible values are:
+ at table @var
+ at item tv/mpeg
+ at item pc/jpeg
+ at end table
+
+Default is same as input.
+
+ at item primaries, p
+Set the output color primaries.
+
+Possible values are:
+ at table @var
+ at item bt709
+ at item bt2020
+ at end table
+
+Default is same as input.
+
+ at item transfer, t
+Set the output transfer characteristics.
+
+Possible values are:
+ at table @var
+ at item bt709
+ at item bt2020
+ at end table
+
+Default is bt709.
+
+ at item matrix, m
+Set the output colorspace matrix.
+
+Possible value are:
+ at table @var
+ at item bt709
+ at item bt2020
+ at end table
+
+Default is same as input.
+
+ at end table
+
+ at subsection Example
+
+ at itemize
+ at item
+Convert HDR(PQ/HLG) video to bt2020-transfer-characteristic p010 format using linear operator.
+ at example
+-i INPUT -vf "hwupload, format=p010,tonemap_opencl=t=bt2020:tonemap=linear:format=p010, hwdownload" OUTPUT
+ at end example
+ at end itemize
+
 @section unsharp_opencl
 
 Sharpen or blur the input video.
-- 
2.17.0



More information about the ffmpeg-devel mailing list