다음을 통해 공유


DXVA2_NominalRange 열거형(dxva2api.h)

색 데이터를 정규화된 [0...1] 범위에 매핑하는 방법을 설명합니다.

이러한 플래그는 DXVA2_ExtendedFormat 구조체에서 사용됩니다. 색 값 범위에 헤드룸(흰색 100% 이상 값) 및 토룸(아래 값은 검은색 참조)이 포함되는지 여부를 나타냅니다.

Syntax

typedef enum _DXVA2_NominalRange {
  DXVA2_NominalRangeMask = 0x7,
  DXVA2_NominalRange_Unknown = 0,
  DXVA2_NominalRange_Normal = 1,
  DXVA2_NominalRange_Wide = 2,
  DXVA2_NominalRange_0_255 = 1,
  DXVA2_NominalRange_16_235 = 2,
  DXVA2_NominalRange_48_208 = 3
} DXVA2_NominalRange;

상수

 
DXVA2_NominalRangeMask
값: 0x7
플래그 값의 유효성을 검사하는 비트 마스크입니다. 이 값은 유효한 플래그가 아닙니다.
DXVA2_NominalRange_Unknown
값: 0
알 수 없거나 지정되지 않은 명목 범위입니다.

이 값이 DXVA2_VideoProcessBltParams 구조체의 DestFormat 멤버에 사용되는 경우 드라이버는 대상 색 공간에 따라 최적의 명목 범위를 결정합니다. 예를 들어 대상 표면은 일반적으로 sRGB이며 채널당 명목 범위는 0~255입니다. 그러나 드라이버는 자동 게인 컨트롤과 같은 기술을 사용하여 동적 범위를 최대화하고 위의 값은 흰색 참조를 유지합니다.
DXVA2_NominalRange_Normal
값: 1
DXVA2_NominalRange_0_255 동일합니다.
DXVA2_NominalRange_Wide
값: 2
DXVA2_NominalRange_16_235 동일합니다.
DXVA2_NominalRange_0_255
값: 1
정규화된 범위 [0...1]은 8비트 샘플의 경우 [0...255] 또는 10비트 샘플의 경우 [0...1023]에 매핑됩니다.
DXVA2_NominalRange_16_235
값: 2
정규화된 범위 [0...1]은 8비트 샘플의 경우 [16...235]에 매핑되고 10비트 샘플의 경우 [64...940]에 매핑됩니다.
DXVA2_NominalRange_48_208
값: 3
정규화된 범위 [0..1]은 8비트 샘플의 경우 [48...208]에 매핑되고 10비트 샘플의 경우 [192...832]에 매핑됩니다.

설명

YUV 색의 경우 이러한 플래그는 Y'CbCr과 Y'PbPr 간에 변환하는 방법을 지정합니다. Y'PbPr 색 공간에는 Y'(루마)의 경우 [0..1], Pb/Pr(크로마)의 경우 [-0.5...0.5] 범위가 있습니다.

Description
DXVA2_NominalRange_0_255 YUV 데이터에는 사용하지 않아야 합니다.
DXVA2_NominalRange_16_235 8비트 Y'CbCr 구성 요소의 경우:
  • Y의 범위 [0...1]은 8비트 Y 값의 경우 [16..235]에 매핑됩니다.
  • [-0.5...0.5]의 Pb/Pr 범위는 8비트 Cb/Cr 값의 경우 [16...240]에 매핑됩니다.
전체 자릿수가 n 비트인 샘플의 경우 일반적인 수식은 다음과 같습니다.
  • Y' = (Y' * 219 + 16) * 2 ^ (n-8)
  • Cb = (Pb * 224 + 128) * 2 ^ (n-8)
  • Cr = (Pr * 224 + 128) * 2 ^ (n-8)
Y'CbCr에서 Y'PbPr로 변환하는 역수식은 다음과 같습니다.
  • Y' = (Y' / 2 ^ (n-8) - 16) / 219
  • Pb = (Cb / 2 ^ (n-8) - 128) / 224
  • Pr = (Cr / 2 ^ (n-8) - 128) / 224
DXVA2_NominalRange_48_208 8비트 Y'CbCr 값의 경우 [0..1]의 Y 범위는 [48...208]에 매핑됩니다.
 

RGB 색의 경우 플래그는 다양한 RGB 공간을 구분합니다.

Description
DXVA2_NominalRange_0_255 Srgb
DXVA2_NominalRange_16_235 Studio RGB; ITU-R BT.709
DXVA2_NominalRange_48_208 ITU-R BT.1361 RGB
 

비디오 데이터에는 명목 범위 위 또는 아래 값이 포함될 수 있습니다.

참고 DXVA2_NominalRange_Normal 및 DXVA2_NominalRange_Wide 값은 잠재적인 혼동의 근원입니다. Wide는 명목 범위 [0...1]을 더 좁은 디지털 값 범위로 매핑하여 나타낼 수 있는 가능한 아날로그 값 범위를 나타냅니다. 이 컨텍스트에서 wide 의 의미는 모호하기 때문에 DXVA2_NominalRange_0_255 및 DXVA2_NominalRange_16_235 같은 값이 선호됩니다. 이러한 이름은 열거형의 의미를 명시적으로 전달하며 잘못 해석될 가능성이 적습니다.
 
이 열거형은 DXVA 1.0에서 사용되는 DXVA_NominalRange 열거형과 동일하지만 추가 값을 정의합니다.

IMFMediaType 인터페이스를 사용하여 비디오 형식을 설명하는 경우 명목 범위는 MF_MT_VIDEO_NOMINAL_RANGE 특성에 지정됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 dxva2api.h

추가 정보

확장 색 정보

Media Foundation 열거형