VDPAU
Data Structures | Macros | Typedefs
VdpCSCMatrix; CSC Matrix Manipulation
Collaboration diagram for VdpCSCMatrix; CSC Matrix Manipulation:

Data Structures

struct  VdpProcamp
 Procamp operation parameterization data. More...
 

Macros

#define VDP_PROCAMP_VERSION   0
 
#define VDP_COLOR_STANDARD_ITUR_BT_601
 ITU-R BT.601. More...
 
#define VDP_COLOR_STANDARD_ITUR_BT_709
 ITU-R BT.709. More...
 
#define VDP_COLOR_STANDARD_SMPTE_240M
 SMPTE-240M. More...
 

Typedefs

typedef float VdpCSCMatrix[3][4]
 Storage for a color space conversion matrix. More...
 
typedef uint32_t VdpColorStandard
 YCbCr color space specification. More...
 
typedef VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
 Generate a color space conversion matrix. More...
 

Detailed Description

When converting from YCbCr to RGB data formats, a color space conversion operation must be performed. This operation is parameterized using a "color space conversion matrix". The VdpCSCMatrix is a data structure representing this information.

Macro Definition Documentation

◆ VDP_COLOR_STANDARD_ITUR_BT_601

#define VDP_COLOR_STANDARD_ITUR_BT_601

ITU-R BT.601.

◆ VDP_COLOR_STANDARD_ITUR_BT_709

#define VDP_COLOR_STANDARD_ITUR_BT_709

ITU-R BT.709.

◆ VDP_COLOR_STANDARD_SMPTE_240M

#define VDP_COLOR_STANDARD_SMPTE_240M

SMPTE-240M.

◆ VDP_PROCAMP_VERSION

#define VDP_PROCAMP_VERSION   0

Typedef Documentation

◆ VdpColorStandard

typedef uint32_t VdpColorStandard

YCbCr color space specification.

A number of YCbCr color spaces exist. This enumeration defines the specifications known to VDPAU.

◆ VdpCSCMatrix

typedef float VdpCSCMatrix[3][4]

Storage for a color space conversion matrix.

Note that the application may choose to construct the matrix content by either:

The color space conversion equation is as follows:

\[ \left( \begin{array}{c} R \\ G \\ B \end{array} \right) = \left( \begin{array}{cccc} m_{0,0} & m_{0,1} & m_{0,2} & m_{0,3} \\ m_{1,0} & m_{1,1} & m_{1,2} & m_{1,3} \\ m_{2,0} & m_{2,1} & m_{2,2} & m_{2,3} \end{array} \right) * \left( \begin{array}{c} Y \\ Cb \\ Cr \\ 1.0 \end{array} \right) \]

◆ VdpGenerateCSCMatrix

typedef VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)

Generate a color space conversion matrix.

Parameters
[in]procampThe procamp adjustments to make. If NULL, no adjustments will be made.
[in]standardThe YCbCr color space to convert from.
[out]csc_matrixThe CSC matrix to initialize.
Returns
VdpStatus The completion status of the operation.