XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions
drm_colorop.h File Reference
#include <drm/drm_mode_object.h>
#include <drm/drm_mode.h>
#include <drm/drm_property.h>
Include dependency graph for drm_colorop.h:

Go to the source code of this file.

Classes

struct  drm_colorop_state
 
struct  drm_colorop_funcs
 
struct  drm_colorop
 

Macros

#define DRM_COLOROP_FLAG_ALLOW_BYPASS   (1<<0) /* Allow bypass on the drm_colorop */
 
#define obj_to_colorop(x)   container_of(x, struct drm_colorop, base)
 
#define drm_for_each_colorop(colorop, dev)    list_for_each_entry(colorop, &(dev)->mode_config.colorop_list, head)
 

Enumerations

enum  drm_colorop_curve_1d_type {
  DRM_COLOROP_1D_CURVE_SRGB_EOTF , DRM_COLOROP_1D_CURVE_SRGB_INV_EOTF , DRM_COLOROP_1D_CURVE_PQ_125_EOTF , DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF ,
  DRM_COLOROP_1D_CURVE_BT2020_INV_OETF , DRM_COLOROP_1D_CURVE_BT2020_OETF , DRM_COLOROP_1D_CURVE_GAMMA22 , DRM_COLOROP_1D_CURVE_GAMMA22_INV ,
  DRM_COLOROP_1D_CURVE_COUNT
}
 

Functions

void drm_colorop_pipeline_destroy (struct drm_device *dev)
 
void drm_colorop_cleanup (struct drm_colorop *colorop)
 
int drm_plane_colorop_curve_1d_init (struct drm_device *dev, struct drm_colorop *colorop, struct drm_plane *plane, const struct drm_colorop_funcs *funcs, u64 supported_tfs, uint32_t flags)
 
int drm_plane_colorop_curve_1d_lut_init (struct drm_device *dev, struct drm_colorop *colorop, struct drm_plane *plane, const struct drm_colorop_funcs *funcs, uint32_t lut_size, enum drm_colorop_lut1d_interpolation_type interpolation, uint32_t flags)
 
int drm_plane_colorop_ctm_3x4_init (struct drm_device *dev, struct drm_colorop *colorop, struct drm_plane *plane, const struct drm_colorop_funcs *funcs, uint32_t flags)
 
int drm_plane_colorop_mult_init (struct drm_device *dev, struct drm_colorop *colorop, struct drm_plane *plane, const struct drm_colorop_funcs *funcs, uint32_t flags)
 
int drm_plane_colorop_3dlut_init (struct drm_device *dev, struct drm_colorop *colorop, struct drm_plane *plane, const struct drm_colorop_funcs *funcs, uint32_t lut_size, enum drm_colorop_lut3d_interpolation_type interpolation, uint32_t flags)
 
struct drm_colorop_state * drm_atomic_helper_colorop_duplicate_state (struct drm_colorop *colorop)
 
void drm_colorop_atomic_destroy_state (struct drm_colorop *colorop, struct drm_colorop_state *state)
 
void drm_colorop_reset (struct drm_colorop *colorop)
 
void drm_colorop_destroy (struct drm_colorop *colorop)
 
const char * drm_get_colorop_type_name (enum drm_colorop_type type)
 
const char * drm_get_colorop_curve_1d_type_name (enum drm_colorop_curve_1d_type type)
 
const char * drm_get_colorop_lut1d_interpolation_name (enum drm_colorop_lut1d_interpolation_type type)
 
const char * drm_get_colorop_lut3d_interpolation_name (enum drm_colorop_lut3d_interpolation_type type)
 
void drm_colorop_set_next_property (struct drm_colorop *colorop, struct drm_colorop *next)
 

Macro Definition Documentation

◆ DRM_COLOROP_FLAG_ALLOW_BYPASS

#define DRM_COLOROP_FLAG_ALLOW_BYPASS   (1<<0) /* Allow bypass on the drm_colorop */

◆ drm_for_each_colorop

#define drm_for_each_colorop (   colorop,
  dev 
)     list_for_each_entry(colorop, &(dev)->mode_config.colorop_list, head)

◆ obj_to_colorop

#define obj_to_colorop (   x)    container_of(x, struct drm_colorop, base)

Enumeration Type Documentation

◆ drm_colorop_curve_1d_type

enum drm_colorop_curve_1d_type - type of 1D curve

Describes a 1D curve to be applied by the DRM_COLOROP_1D_CURVE colorop.

Enumerator
DRM_COLOROP_1D_CURVE_SRGB_EOTF 

@DRM_COLOROP_1D_CURVE_SRGB_EOTF:

enum string "sRGB EOTF"

sRGB piece-wise electro-optical transfer function. Transfer characteristics as defined by IEC 61966-2-1 sRGB. Equivalent to H.273 TransferCharacteristics code point 13 with MatrixCoefficients set to 0.

DRM_COLOROP_1D_CURVE_SRGB_INV_EOTF 

@DRM_COLOROP_1D_CURVE_SRGB_INV_EOTF:

enum string "sRGB Inverse EOTF"

The inverse of &DRM_COLOROP_1D_CURVE_SRGB_EOTF

DRM_COLOROP_1D_CURVE_PQ_125_EOTF 

@DRM_COLOROP_1D_CURVE_PQ_125_EOTF:

enum string "PQ 125 EOTF"

The PQ transfer function, scaled by 125.0f, so that 10,000 nits correspond to 125.0f.

Transfer characteristics of the PQ function as defined by SMPTE ST 2084 (2014) for 10-, 12-, 14-, and 16-bit systems and Rec. ITU-R BT.2100-2 perceptual quantization (PQ) system, represented by H.273 TransferCharacteristics code point 16.

DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF 

@DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF:

enum string "PQ 125 Inverse EOTF"

The inverse of DRM_COLOROP_1D_CURVE_PQ_125_EOTF.

DRM_COLOROP_1D_CURVE_BT2020_INV_OETF 

@DRM_COLOROP_1D_CURVE_BT2020_INV_OETF:

enum string "BT.2020 Inverse OETF"

The inverse of &DRM_COLOROP_1D_CURVE_BT2020_OETF

DRM_COLOROP_1D_CURVE_BT2020_OETF 

@DRM_COLOROP_1D_CURVE_BT2020_OETF:

enum string "BT.2020 OETF"

The BT.2020/BT.709 transfer function. The BT.709 and BT.2020 transfer functions are the same, the only difference is that BT.2020 is defined with more precision for 10 and 12-bit encodings.

DRM_COLOROP_1D_CURVE_GAMMA22 

@DRM_COLOROP_1D_CURVE_GAMMA22:

enum string "Gamma 2.2"

A gamma 2.2 power function. This applies a power curve with gamma value of 2.2 to the input values.

DRM_COLOROP_1D_CURVE_GAMMA22_INV 

@DRM_COLOROP_1D_CURVE_GAMMA22_INV:

enum string "Gamma 2.2 Inverse"

The inverse of &DRM_COLOROP_1D_CURVE_GAMMA22

DRM_COLOROP_1D_CURVE_COUNT 

@DRM_COLOROP_1D_CURVE_COUNT:

enum value denoting the size of the enum

Function Documentation

◆ drm_atomic_helper_colorop_duplicate_state()

struct drm_colorop_state * drm_atomic_helper_colorop_duplicate_state ( struct drm_colorop *  colorop)

◆ drm_colorop_atomic_destroy_state()

void drm_colorop_atomic_destroy_state ( struct drm_colorop *  colorop,
struct drm_colorop_state *  state 
)

◆ drm_colorop_cleanup()

void drm_colorop_cleanup ( struct drm_colorop *  colorop)

◆ drm_colorop_destroy()

void drm_colorop_destroy ( struct drm_colorop *  colorop)

◆ drm_colorop_pipeline_destroy()

void drm_colorop_pipeline_destroy ( struct drm_device *  dev)

◆ drm_colorop_reset()

void drm_colorop_reset ( struct drm_colorop *  colorop)

drm_colorop_reset - reset colorop atomic state @colorop: drm colorop

Resets the atomic state for @colorop by freeing the state pointer (which might be NULL, e.g. at driver load time) and allocating a new empty state object.

◆ drm_colorop_set_next_property()

void drm_colorop_set_next_property ( struct drm_colorop *  colorop,
struct drm_colorop *  next 
)

◆ drm_get_colorop_curve_1d_type_name()

const char * drm_get_colorop_curve_1d_type_name ( enum drm_colorop_curve_1d_type  type)

drm_get_colorop_curve_1d_type_name - return a string for 1D curve type @type: 1d curve type to compute name of

In contrast to the other drm_get_*_name functions this one here returns a const pointer and hence is threadsafe.

◆ drm_get_colorop_lut1d_interpolation_name()

const char * drm_get_colorop_lut1d_interpolation_name ( enum drm_colorop_lut1d_interpolation_type  type)

◆ drm_get_colorop_lut3d_interpolation_name()

const char * drm_get_colorop_lut3d_interpolation_name ( enum drm_colorop_lut3d_interpolation_type  type)

◆ drm_get_colorop_type_name()

const char * drm_get_colorop_type_name ( enum drm_colorop_type  type)

drm_get_colorop_type_name - return a string for colorop type @type: colorop type to compute name of

In contrast to the other drm_get_*_name functions this one here returns a const pointer and hence is threadsafe.

◆ drm_plane_colorop_3dlut_init()

int drm_plane_colorop_3dlut_init ( struct drm_device *  dev,
struct drm_colorop *  colorop,
struct drm_plane *  plane,
const struct drm_colorop_funcs *  funcs,
uint32_t  lut_size,
enum drm_colorop_lut3d_interpolation_type  interpolation,
uint32_t  flags 
)

◆ drm_plane_colorop_ctm_3x4_init()

int drm_plane_colorop_ctm_3x4_init ( struct drm_device *  dev,
struct drm_colorop *  colorop,
struct drm_plane *  plane,
const struct drm_colorop_funcs *  funcs,
uint32_t  flags 
)

◆ drm_plane_colorop_curve_1d_init()

int drm_plane_colorop_curve_1d_init ( struct drm_device *  dev,
struct drm_colorop *  colorop,
struct drm_plane *  plane,
const struct drm_colorop_funcs *  funcs,
u64  supported_tfs,
uint32_t  flags 
)

◆ drm_plane_colorop_curve_1d_lut_init()

int drm_plane_colorop_curve_1d_lut_init ( struct drm_device *  dev,
struct drm_colorop *  colorop,
struct drm_plane *  plane,
const struct drm_colorop_funcs *  funcs,
uint32_t  lut_size,
enum drm_colorop_lut1d_interpolation_type  interpolation,
uint32_t  flags 
)

◆ drm_plane_colorop_mult_init()

int drm_plane_colorop_mult_init ( struct drm_device *  dev,
struct drm_colorop *  colorop,
struct drm_plane *  plane,
const struct drm_colorop_funcs *  funcs,
uint32_t  flags 
)