FFmpeg
Macros | Functions
color_utils.c File Reference
#include <stddef.h>
#include <math.h>
#include "libavutil/color_utils.h"
#include "libavutil/pixfmt.h"

Go to the source code of this file.

Macros

#define BT709_alpha   1.099296826809442
 
#define BT709_beta   0.018053968510807
 

Functions

double avpriv_get_gamma_from_trc (enum AVColorTransferCharacteristic trc)
 Determine a suitable 'gamma' value to match the supplied AVColorTransferCharacteristic. More...
 
static double avpriv_trc_bt709 (double Lc)
 
static double avpriv_trc_gamma22 (double Lc)
 
static double avpriv_trc_gamma28 (double Lc)
 
static double avpriv_trc_smpte240M (double Lc)
 
static double avpriv_trc_linear (double Lc)
 
static double avpriv_trc_log (double Lc)
 
static double avpriv_trc_log_sqrt (double Lc)
 
static double avpriv_trc_iec61966_2_4 (double Lc)
 
static double avpriv_trc_bt1361 (double Lc)
 
static double avpriv_trc_iec61966_2_1 (double Lc)
 
static double avpriv_trc_smpte_st2084 (double Lc)
 
static double avpriv_trc_smpte_st428_1 (double Lc)
 
static double avpriv_trc_arib_std_b67 (double Lc)
 
avpriv_trc_function avpriv_get_trc_function_from_trc (enum AVColorTransferCharacteristic trc)
 Determine the function needed to apply the given AVColorTransferCharacteristic to linear input. More...
 

Macro Definition Documentation

◆ BT709_alpha

#define BT709_alpha   1.099296826809442

Definition at line 57 of file color_utils.c.

◆ BT709_beta

#define BT709_beta   0.018053968510807

Definition at line 58 of file color_utils.c.

Function Documentation

◆ avpriv_get_gamma_from_trc()

double avpriv_get_gamma_from_trc ( enum AVColorTransferCharacteristic  trc)

Determine a suitable 'gamma' value to match the supplied AVColorTransferCharacteristic.

See Apple Technical Note TN2257 (https://developer.apple.com/library/mac/technotes/tn2257/_index.html)

Returns
Will return an approximation to the simple gamma function matching the supplied Transfer Characteristic, Will return 0.0 for any we cannot reasonably match against.

Definition at line 27 of file color_utils.c.

Referenced by mov_write_gama_tag(), and png_get_gama().

◆ avpriv_trc_bt709()

static double avpriv_trc_bt709 ( double  Lc)
static

Definition at line 60 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_gamma22()

static double avpriv_trc_gamma22 ( double  Lc)
static

Definition at line 70 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_gamma28()

static double avpriv_trc_gamma28 ( double  Lc)
static

Definition at line 75 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_smpte240M()

static double avpriv_trc_smpte240M ( double  Lc)
static

Definition at line 80 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_linear()

static double avpriv_trc_linear ( double  Lc)
static

Definition at line 90 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_log()

static double avpriv_trc_log ( double  Lc)
static

Definition at line 95 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_log_sqrt()

static double avpriv_trc_log_sqrt ( double  Lc)
static

Definition at line 100 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_iec61966_2_4()

static double avpriv_trc_iec61966_2_4 ( double  Lc)
static

Definition at line 106 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_bt1361()

static double avpriv_trc_bt1361 ( double  Lc)
static

Definition at line 116 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_iec61966_2_1()

static double avpriv_trc_iec61966_2_1 ( double  Lc)
static

Definition at line 126 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_smpte_st2084()

static double avpriv_trc_smpte_st2084 ( double  Lc)
static

Definition at line 136 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_smpte_st428_1()

static double avpriv_trc_smpte_st428_1 ( double  Lc)
static

Definition at line 151 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_trc_arib_std_b67()

static double avpriv_trc_arib_std_b67 ( double  Lc)
static

Definition at line 158 of file color_utils.c.

Referenced by avpriv_get_trc_function_from_trc().

◆ avpriv_get_trc_function_from_trc()

avpriv_trc_function avpriv_get_trc_function_from_trc ( enum AVColorTransferCharacteristic  trc)

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.

Returns
Will return pointer to the function matching the supplied Transfer Characteristic. If unspecified will return NULL:

Definition at line 169 of file color_utils.c.

Referenced by decode_block(), decode_init(), and main().