Microsoft DirectX 비디오 가속 고화질(DXVA-HD)을 사용하는 경우 blit 작업의 출력 색 공간을 지정합니다.
구문
typedef struct _DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA {
union {
struct {
UINT Usage : 1;
UINT RGB_Range : 1;
UINT YCbCr_Matrix : 1;
UINT YCbCr_xvYCC : 1;
UINT Reserved : 28;
};
UINT Value;
};
} DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA;
멤버
Usage
출력이 재생 또는 비디오 처리(예: 편집 또는 제작)를 위한 것인지 여부를 지정합니다. 디바이스는 유형에 따라 처리를 최적화할 수 있습니다. 기본 상태 값은 0(재생)입니다.
| 값 | 의미 |
|---|---|
|
재생. |
|
비디오 처리. |
RGB_Range
RGB 색 범위를 지정합니다. 기본 상태 값은 0(전체 범위)입니다.
| 값 | 의미 |
|---|---|
|
전체 범위(0-255). |
|
제한된 범위(16-235). |
YCbCr_Matrix
YCbCr 전송 매트릭스를 지정합니다. 기본 상태 값은 0(BT.601)입니다.
| 값 | 의미 |
|---|---|
|
ITU-R BT.601. |
|
ITU-R BT.709. |
YCbCr_xvYCC
출력에서 기존 YCbCr 또는 확장된 YCbCr(xvYCC)을 사용할지 여부를 지정합니다. 기본 상태 값은 0(기존 YCbCr)입니다.
| 값 | 의미 |
|---|---|
|
기존 YCbCr. |
|
확장된 YCbCr(xvYCC). |
Reserved
Value
설명
RGB_Range 멤버는 RGB 출력에 적용되고 YCbCr_Matrix 및 YCbCr_xvYCC 멤버는 YCbCr(YUV) 출력에 적용됩니다. 디바이스가 배경색에서 색 공간 변환을 수행하는 경우 두 색 공간에 적용되는 값을 사용합니다.
확장된 YCbCr은 전송 매트릭스와 함께 사용할 수 있습니다. 확장된 YCbCr은 검은색 점이나 흰색 점을 변경하지 않습니다. 검은색 점은 여전히 16이고 흰색 점은 여전히 235입니다. 그러나 확장된 YCbCr은 1~15 범위에서 검은색보다 검은색 값과 236~254 범위의 흰색보다 흰색 값을 명시적으로 허용합니다. 확장된 YCbCr을 사용하는 경우 드라이버는 루마 값을 명목 16~235 범위로 잘라서는 안 됩니다.
디바이스가 확장된 YCbCr을 지원하는 경우 DXVAHD_VPDEVCAPS 구조체의 DeviceCaps 멤버에서 DXVAHD_DEVICE_CAPS_xvYCC 기능 플래그를 설정합니다. 그렇지 않으면 디바이스는 YCbCr_xvYCC 멤버의 값을 무시하고 모든 YCbCr 출력을 기존 YCbCr로 처리합니다. 디바이스의 기능을 얻으려면 IDXVAHD_Device::GetVideoProcessorDeviceCaps를 호출합니다.
출력 형식이 넓은 영역 RGB 형식인 경우 출력이 명목 [0...1] sRGB 범위를 벗어날 수 있습니다. 하나 이상의 입력 스트림이 확장된 YCbCr을 사용하는 경우 특히 그렇습니다.
예제
HRESULT DXVAHD_SetOutputColorSpace(
IDXVAHD_VideoProcessor *pVP,
BOOL bPlayback, // TRUE = playback, FALSE = video processing
UINT RGB_Range, // 0 = 0-255, 1 = 16-235
UINT YCbCr_Matrix, // 0 = BT.601, 1 = BT.709
UINT YCbCr_xvYCC // 0 = Conventional YCbCr, 1 = xvYCC
)
{
DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA data =
{
bPlayback ? 0 : 1,
RGB_Range ? 1 : 0,
YCbCr_Matrix ? 1 : 0,
YCbCr_xvYCC ? 1 : 0
};
HRESULT hr = pVP->SetVideoProcessBltState(
DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE,
sizeof(data),
&data
);
return hr;
}
요구 사항
| 지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
| 머리글 | dxvahd.h |