D3D12_VIDEO_DECODE_TIER 열거형(d3d12video.h)

애플리케이션에서 정의한 텍스처 및 버퍼의 필수 형식을 결정하는 하드웨어 비디오 디코더의 디코딩 계층을 지정합니다.

Syntax

typedef enum D3D12_VIDEO_DECODE_TIER {
  D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED,
  D3D12_VIDEO_DECODE_TIER_1,
  D3D12_VIDEO_DECODE_TIER_2,
  D3D12_VIDEO_DECODE_TIER_3
} ;

상수

 
D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED
비디오 디코딩은 지원되지 않습니다.
D3D12_VIDEO_DECODE_TIER_1
계층 1에서 하드웨어 디코더는 애플리케이션이 참조 텍스처를 텍스처 배열로 할당해야 합니다. 이는 하드웨어가 각 개별 그림 버퍼에 대한 전체 크기 포인터를 지원하지 않으므로 주소 공간에서 텍스처가 "닫기"되는 하드웨어 요구 사항을 수용하기 위한 것입니다. 대신 하나의 포인터와 더 제한된 비트 오프셋이 있습니다. 텍스처 배열에 대한 자세한 내용은 Direct3D 11의 텍스처 소개를 참조하세요.

디코더 하드웨어에 다른 엔진 또는 다른 비디오 작업에 대해 지원되지 않는 고유한 메모리 레이아웃이 필요한 경우 디코더는 프로필 지원을 쿼리할 때 D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT 구조에서 D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED 구성 플래그를 설정할 수 있습니다. 이 플래그는 애플리케이션이 D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 플래그를 사용하여 참조를 할당해야 했음을 나타냅니다. 애플리케이션은 D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS 구조를 사용하여 출력이 향후 참조 프레임으로 필요한 경우 참조 전용 출력을 설정해야 합니다. ID3D12VideoCommandList::D ecodeFrame에 전달된 출력 프레임은 파이프라인의 다른 부분에서 사용할 수 있고 D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 플래그가 없어야 하는 D3D12 리소스입니다.

압축된 입력 버퍼에 대한 #### 계층 1 요구 사항
- 지정된 프레임의 모든 조각은 순서대로 배치해야 하며 연속되어야 합니다. 즉, 조각 사이에 간격이 없어야 합니다. 조각 컨트롤 버퍼는 이 요구 사항을 충족하는 오프셋 및 크기 매개 변수를 지정해야 합니다.
- 첫 번째 조각은 128 바이트 경계에서 시작해야 합니다. D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM 구조체에 설정된 오프셋은 128바이트 배수여야 합니다.
- 디코딩은 D3D12_MEMORY_POOL_L0 할당된 버퍼에서 지원됩니다. 이는 항상 시스템 메모리이지만 여전히 D3D12 버퍼입니다.
- 디코딩은 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE 할당된 풀을 포함하여 기본 풀인 D3D12_MEMORY_POOL_L1 할당된 버퍼에서 지원됩니다.
D3D12_VIDEO_DECODE_TIER_2
디코딩 계층 2에서 텍스처를 텍스처 배열 또는 별도의 텍스처 2D 리소스 배열로 참조할 수 있습니다(배열 크기가 1인 각 리소스). 이는 호출자에게 더 유연하며, 텍스처 배열을 단일 단위로만 할당하고 할당 취소할 수 있지만 별도의 텍스처 2D 리소스를 개별적으로 할당하고 할당 취소할 수 있으므로 스트리밍 비디오와 같이 해상도가 자주 변경되는 시나리오에서 중요합니다.

디코딩 하드웨어에 다른 엔진 또는 다른 비디오 작업에 대해 지원되지 않는 고유한 타일링 형식이 필요한 경우 디코더는 프로필 지원을 쿼리할 때 D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT 구조에서 D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED 구성 플래그를 설정할 수 있습니다. 이 플래그는 애플리케이션이 D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 플래그를 사용하여 참조를 할당해야 했음을 나타냅니다. 애플리케이션은 D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS 구조를 사용하여 출력이 향후 참조 프레임으로 필요한 경우에만 참조만 출력을 설정해야 합니다. ID3D12VideoCommandList::D ecodeFrame에 전달된 출력 프레임은 파이프라인의 다른 부분에서 사용할 수 있고 D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 플래그가 없어야 하는 D3D12 리소스입니다.

압축된 입력 버퍼에 대한 #### 계층 2 요구 사항

이러한 요구 사항은 계층 1 요구 사항과 동일합니다.

- 지정된 프레임의 모든 조각은 순서대로 배치해야 하며 연속되어야 합니다. 즉, 조각 사이에 간격이 없어야 합니다. 조각 컨트롤 버퍼는 이 요구 사항을 충족하는 오프셋 및 크기 매개 변수를 지정해야 합니다.
- 첫 번째 조각은 128 바이트 경계에서 시작해야 합니다. D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM 구조체에 설정된 오프셋은 128바이트 배수여야 합니다.
- 디코딩은 D3D12_MEMORY_POOL_L0 할당된 버퍼에서 지원됩니다. 이는 항상 시스템 메모리이지만 여전히 D3D12 버퍼입니다.
- 디코딩은 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE 할당된 풀을 포함하여 기본 풀인 D3D12_MEMORY_POOL_L1 할당된 버퍼에서 지원됩니다.
-
D3D12_VIDEO_DECODE_TIER_3
이 필드는 예약되어 있습니다.

요구 사항

요구 사항
헤더 d3d12video.h