D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC 구조체(d3d12video.h)

비디오 인코더 그림 컨트롤에 대해 설명합니다.

구문

typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC {
  UINT                                           IntraRefreshFrameIndex;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS      Flags;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData;
  D3D12_VIDEO_ENCODE_REFERENCE_FRAMES            ReferenceFrames;
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC;

멤버

IntraRefreshFrameIndex

D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH 플래그를 지정하여 IntraRefreshFramesDuration 프레임에 대한 새로 고침 내 웨이브를 요청할 때 이 값은 현재 그림에 대해 새로 고침 내 웨이브의 프레임 인덱스를 나타냅니다. 값 범위는 호스트가 0과 IntraRefreshFramesDuration 사이에서 설정하여 드라이버에 대한 새로 고침 내 세션의 상태 암시합니다.

Flags

그림 컨트롤 설명자 플래그를 지정하는 D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS 열거형의 값의 비트 OR 조합입니다.

PictureControlCodecData

코덱별 그림 컨트롤 데이터를 포함하는 D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA 구조체입니다. 선택한 속도 제어 모드에 따라 QP 값이 다르게 해석됩니다.

ReferenceFrames

과거 코딩 작업 출력의 재구성된 그림을 포함하는 D3D12_VIDEO_ENCODE_REFERENCE_FRAMES 구조체입니다.

설명

다음 설명은 프레임 관리에 대한 지침을 제공합니다.

호스트는 필요한 경우 POC에서 B 프레임 다시 정렬을 수행한 후 코덱 GOP 구조에 구성된 그림 형식 주기적 시퀀스를 기반으로 인코딩 순서로 EncodeFrame 을 호출합니다. 다른 코덱은 이 구조를 인덱싱하고 상태 메타데이터를 유지하는 고유한 방법을 사용합니다. 이러한 세부 정보가 포함된 EncodeFrame 작업에서도 전달된 코덱 그림 매개 변수를 참조하세요.

D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS D3D12_VIDEO_ENCODE_REFERENCE_FRAMES구조체ppTexture2DspSubresources 필드에 대한 텍스처 배열의 요구 사항을 지정합니다.

지정된 프레임에 대한 인코딩 작업의 출력은 다음 프레임에서 향후 사용에 대한 참조로 사용되는 것으로 표시된 경우 재구성된 그림을 반환해야 하며, 클라이언트는 이후 EncodeFrame 명령에서 재구성된 그림을 전달합니다.

임시 계층을 코딩하는 경우 그림은 자체보다 낮은 TemporalLayerIndex 의 참조 그림으로만 사용할 수 있습니다. 임시 계층 인덱스는 그림 컨트롤 구조 및 참조 그림 설명자에 지정됩니다.

참조 그림 수에 대한 HW 제한 사항은 L0(MaxL0ReferencesForP/MaxL0ReferencesForB) 및 L1(MaxL1References)에 있는 최대 요소 수로 표현됩니다.ForB) D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA 제공된 pReferenceFramesReconPictureDescriptors 값에 매핑되는 (L0 union L1)의 최대 고유 인덱스 수를 MaxDPBCapacity 로 나열하고 제한합니다.

pReferenceFramesReconPictureDescriptors에서 전달되는 DPB 항목의 수에는 제한이 없지만 L0 및 L1 목록에서 참조되는 해당 배열의 항목 수에는 제한이 없습니다. 이를 통해 사용자는 코덱 표준 제한에 정의된 제한 사항 내에서 pReferenceFramesReconPictureDescriptors 에서 DPB의 상태를 추적하고 EncodeFrame을 호출할 때 하드웨어 제한으로 제한된 하위 집합만 사용할 수 있습니다. 예를 들어 HEVC 인코딩의 경우 호출자는 pReferenceFramesReconPictureDescriptors 에서 최신 15개의 인코딩된 그림을 추적할 수 있지만 L0 및 L1 목록에서 제한된 수의 고유 인덱스를 할당하여 하드웨어 제한에 속하는 그림의 하위 집합만 사용할 수 있습니다.

IDR 프레임에 대한 요청은 프레임 참조와 DPB 버퍼 간의 장벽 역할을 하며 호스트에서 그에 따라 상태를 플러시해야 할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 빌드 22000
지원되는 최소 서버 Windows 빌드 22000
머리글 d3d12video.h