Expand Minimize

DXVA2_VideoTransferFunction enumeration

Specifies the conversion function from linear RGB to non-linear RGB (R'G'B'). These flags are used in the DXVA2_ExtendedFormat Structure.

Syntax


typedef enum _DXVA2_VideoTransferFunction { 
  DXVA2_VideoTransFuncMask      = 0x001f,
  DXVA2_VideoTransFunc_Unknown  = 0,
  DXVA2_VideoTransFunc_10       = 1,
  DXVA2_VideoTransFunc_18       = 2,
  DXVA2_VideoTransFunc_20       = 3,
  DXVA2_VideoTransFunc_22       = 4,
  DXVA2_VideoTransFunc_709      = 5,
  DXVA2_VideoTransFunc_240M     = 6,
  DXVA2_VideoTransFunc_sRGB     = 7,
  DXVA2_VideoTransFunc_28       = 8
} DXVA2_VideoTransferFunction;

Constants

DXVA2_VideoTransFuncMask

Bitmask to validate flag values. This value is not a valid flag.

DXVA2_VideoTransFunc_Unknown

Unknown. Treat as DXVA2_VideoTransFunc_709.

DXVA2_VideoTransFunc_10

Linear RGB (gamma = 1.0).

DXVA2_VideoTransFunc_18

True 1.8 gamma, L' = L^1/1.8.

DXVA2_VideoTransFunc_20

True 2.0 gamma, L' = L^1/2.0.

DXVA2_VideoTransFunc_22

True 2.2 gamma, L' = L^1/2.2. This transfer function is used in ITU-R BT.470-2 System M (NTSC).

DXVA2_VideoTransFunc_709

ITU-R BT.709 transfer function. Gamma 2.2 curve with a linear segment in the lower range. This transfer function is used in BT.709, BT.601, SMPTE 296M, SMPTE 170M, BT.470, and SMPTE 274M. In addition BT-1361 uses this function within the range [0...1].

DXVA2_VideoTransFunc_240M

SMPTE 240M transfer function. Gamma 2.2 curve with a linear segment in the lower range.

DXVA2_VideoTransFunc_sRGB

sRGB transfer function. Gamma 2.4 curve with a linear segment in the lower range.

DXVA2_VideoTransFunc_28

True 2.8 gamma. L' = L^1/2.8. This transfer function is used in ITU-R BT.470-2 System B, G (PAL).

Remarks

The following table shows the formulas for the most common transfer functions. In these formulas, L is the linear value and L' is the non-linear (gamma corrected) value. These values are relative to a normalized range [0...1].

Color spaceTransfer function
sRGB (8-bit)

L' = 12.92L, for L < 0.031308

L' = 1.055L^1/2.4− 0.055, for L >= 0.031308

BT.470-2 System B, GL' = L^0.36
BT.470-2 System ML' = L^0.45
BT.709

L' = 4.50L, for L < 0.018

L' = 1.099L^0.45− 0.099, for L >= 0.018

scRGBL' = L
SMPTE 240M

L' = 4.0L, for L < 0.0228

L' = 1.1115L^0.45− 0.01115, for L >= 0.0228

 

The following table shows the inverse formulas to obtain the original gamma-corrected values:

Color spaceTransfer function
sRGB (8-bit)

L = 1/12.92L', for L' < 0.03928

L = ((L' + 0.055)/1055)^2.4, for L' >= 0.03928

BT.470-2 System B, GL = L'^1/0.36
BT.470-2 System ML = L'^1/0.45
BT.709

L = L'/4.50, for L' < 0.081

L = ((L' + 0.099) / 1.099)^1/0.45, for L' >= 0.081

scRGBL = L'
SMPTE 240M

L = L'/4.0, for L' < 0.0913

L= ((L' + 0.1115)/1.1115)^1/0.45, for L' >= 0.0913

 

This enumeration is equivalent to the DXVA_VideoTransferFunction enumeration used in DXVA 1.0.

If you are using the IMFMediaType interface to describe the video format, the transfer function is specified in the MF_MT_TRANSFER_FUNCTION attribute.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Dxva2api.h

See also

Media Foundation Enumerations
Extended Color Information

 

 

Community Additions

ADD
Show:
© 2014 Microsoft