YUV-RGB data range conversions
If you want to convert from RGB or YUV inputs to YUV or RGB outputs, the expected behavior depends on the input data range:
Input | Input | Input | Input | Output | Output | Output | Output | Operation |
---|---|---|---|---|---|---|---|---|
data | format | RGB | nominal | RGB | nominal | format | data | |
range | range | range | range | range | range | |||
0-255 | YUV | N/A | 2 | N/A | 2 | YUV | 0-255 | None |
16-235 | YUV | N/A | 1 | N/A | 1 | YUV | 16-235 | None |
16-235 | YUV | N/A | 1 | N/A | 2 | YUV | 0-255 | Scale |
0-255 | YUV | N/A | 2 | N/A | 1 | YUV | 16-235 | Scale |
0-255 | RGB | 0 | N/A | N/A | 1 | YUV | 16-235 | RGBtoYUV |
0-255 | RGB | 0 | N/A | N/A | 2 | YUV | 0-255 | RGBtoYUV |
16-235 | YUV | N/A | 1 | 0 | N/A | RGB | 0-255 | YUVtoRGB |
0-255 | YUV | N/A | 2 | 0 | N/A | RGB | 0-255 | YUVtoRGB |
In this case the "nominal range" is the constant value from the DXVAHDDDI_NOMINAL_RANGE enumeration.
See YUV format ranges in Windows 8.1 for definitions of YUV format ranges.