From bac90482654219cfdde65680726b85516dcbdc66 Mon Sep 17 00:00:00 2001 From: Kevin Wheatley Date: Tue, 1 Sep 2015 11:41:38 +0100 Subject: avutil/color_utils: Add basic transfer functions for each AVColorTransferCharacteristic Most functions are valid over a domain and range of [0.0-1.0] but some are defined over greater. This patch does not deal with AVColorRange and assumes AVCOL_RANGE_JPEG for the returned values. Signed-off-by: Kevin Wheatley --- libavutil/color_utils.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'libavutil/color_utils.h') diff --git a/libavutil/color_utils.h b/libavutil/color_utils.h index 3600a72d10..9529006452 100644 --- a/libavutil/color_utils.h +++ b/libavutil/color_utils.h @@ -36,4 +36,21 @@ */ double avpriv_get_gamma_from_trc(enum AVColorTransferCharacteristic trc); + +typedef double (*avpriv_trc_function)(double); + +/** + * Determine the function needed to apply the given + * AVColorTransferCharacteristic to linear input. + * + * The function returned should expect a nominal domain and range of [0.0-1.0] + * values outside of this range maybe valid depending on the chosen + * characteristic function. + * + * @return Will return pointer to the function matching the + * supplied Transfer Characteristic. If unspecified will + * return NULL: + */ +avpriv_trc_function avpriv_get_trc_function_from_trc(enum AVColorTransferCharacteristic trc); + #endif -- cgit v1.2.3