다음을 통해 공유


DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA 구조체(dxvahd.h)

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(재생)입니다.

의미
0
재생.
1
비디오 처리.

RGB_Range

RGB 색 범위를 지정합니다. 기본 상태 값은 0(전체 범위)입니다.

의미
0
전체 범위(0-255).
1
제한된 범위(16-235).

YCbCr_Matrix

YCbCr 전송 매트릭스를 지정합니다. 기본 상태 값은 0(BT.601)입니다.

의미
0
ITU-R BT.601.
1
ITU-R BT.709.

YCbCr_xvYCC

출력에서 기존 YCbCr 또는 확장된 YCbCr(xvYCC)을 사용할지 여부를 지정합니다. 기본 상태 값은 0(기존 YCbCr)입니다.

의미
0
기존 YCbCr.
1
확장된 YCbCr(xvYCC).

Reserved

Value

설명

RGB_Range 멤버는 RGB 출력에 적용되고 YCbCr_MatrixYCbCr_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

추가 정보

DXVA-HD

DXVAHD_BLT_STATE

Direct3D 비디오 구조

IDXVAHD_VideoProcessor::SetVideoProcessBltState

미디어 파운데이션 구조