FFmpeg 7.1.1
Loading...
Searching...
No Matches
Files | Data Structures | Typedefs | Functions
Colorspace Utility

Files

file  csp.h
 Colorspace value utility functions for libavutil.
 

Data Structures

struct  AVLumaCoefficients
 Struct containing luma coefficients to be used for RGB to YUV/YCoCg, or similar calculations. More...
 
struct  AVCIExy
 Struct containing chromaticity x and y values for the standard CIE 1931 chromaticity definition. More...
 
struct  AVPrimaryCoefficients
 Struct defining the red, green, and blue primary locations in terms of CIE 1931 chromaticity x and y. More...
 
struct  AVColorPrimariesDesc
 Struct that contains both white point location and primaries location, providing the complete description of a color gamut. More...
 

Typedefs

typedef AVCIExy AVWhitepointCoefficients
 Struct defining white point location in terms of CIE 1931 chromaticity x and y.
 
typedef double(* av_csp_trc_function) (double)
 Function pointer representing a double -> double transfer function that performs an EOTF transfer inversion.
 

Functions

const AVLumaCoefficientsav_csp_luma_coeffs_from_avcsp (enum AVColorSpace csp)
 Retrieves the Luma coefficients necessary to construct a conversion matrix from an enum constant describing the colorspace.
 
const AVColorPrimariesDescav_csp_primaries_desc_from_id (enum AVColorPrimaries prm)
 Retrieves a complete gamut description from an enum constant describing the color primaries.
 
enum AVColorPrimaries av_csp_primaries_id_from_desc (const AVColorPrimariesDesc *prm)
 Detects which enum AVColorPrimaries constant corresponds to the given complete gamut description.
 
double av_csp_approximate_trc_gamma (enum AVColorTransferCharacteristic trc)
 Determine a suitable 'gamma' value to match the supplied AVColorTransferCharacteristic.
 
av_csp_trc_function av_csp_trc_func_from_id (enum AVColorTransferCharacteristic trc)
 Determine the function needed to apply the given AVColorTransferCharacteristic to linear input.
 

Detailed Description

Typedef Documentation

◆ AVWhitepointCoefficients

Struct defining white point location in terms of CIE 1931 chromaticity x and y.

Definition at line 72 of file csp.h.

◆ av_csp_trc_function

typedef double(* av_csp_trc_function) (double)

Function pointer representing a double -> double transfer function that performs an EOTF transfer inversion.

This function outputs linear light.

Definition at line 87 of file csp.h.

Function Documentation

◆ av_csp_luma_coeffs_from_avcsp()

const AVLumaCoefficients * av_csp_luma_coeffs_from_avcsp ( enum AVColorSpace  csp)

Retrieves the Luma coefficients necessary to construct a conversion matrix from an enum constant describing the colorspace.

Parameters
cspAn enum constant indicating YUV or similar colorspace.
Returns
The Luma coefficients associated with that colorspace, or NULL if the constant is unknown to libavutil.

◆ av_csp_primaries_desc_from_id()

const AVColorPrimariesDesc * av_csp_primaries_desc_from_id ( enum AVColorPrimaries  prm)

Retrieves a complete gamut description from an enum constant describing the color primaries.

Parameters
prmAn enum constant indicating primaries
Returns
A description of the colorspace gamut associated with that enum constant, or NULL if the constant is unknown to libavutil.

◆ av_csp_primaries_id_from_desc()

enum AVColorPrimaries av_csp_primaries_id_from_desc ( const AVColorPrimariesDesc prm)

Detects which enum AVColorPrimaries constant corresponds to the given complete gamut description.

See also
enum AVColorPrimaries
Parameters
prmA description of the colorspace gamut
Returns
The enum constant associated with this gamut, or AVCOL_PRI_UNSPECIFIED if no clear match can be idenitified.

◆ av_csp_approximate_trc_gamma()

double av_csp_approximate_trc_gamma ( 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)

This function returns the gamma exponent for the OETF. For example, sRGB is approximated by gamma 2.2, not by gamma 0.45455.

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.

◆ av_csp_trc_func_from_id()

av_csp_trc_function av_csp_trc_func_from_id ( 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: