D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 구조체(d3d12umddi.h)

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 구조체에는 인코딩 작업의 입력에 대한 그림 수준 매개 변수가 포함됩니다.

구문

typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 {
  UINT                                                     IntraRefreshFrameIndex;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080        Flags;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 PictureControlCodecData;
  D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080              ReferenceFrames;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0;

멤버

IntraRefreshFrameIndex

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

Flags

현재 인코딩 프레임 작업에 대한 그림 컨트롤 설명자 플래그를 나타내는 D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 값입니다.

PictureControlCodecData

그림 제어 코덱 관련 데이터를 포함하는 D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 구조체입니다. 선택한 속도 제어 모드에 따라 QP(양자화 매개 변수) 값이 다르게 해석됩니다.

ReferenceFrames

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

설명

일반 정보는 D3D12 비디오 인코딩을 참조하세요.

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

호스트는 필요한 경우 POC에 의해 B 프레임 다시 정렬을 수행한 후 GOP(코덱 사진 그룹) 구조에 구성된 그림 유형 주기적 시퀀스를 기반으로 인코딩 순서로 EncodeFrame 을 호출합니다.

다른 코덱은 이 구조를 인덱싱하고 상태 메타데이터를 유지하는 고유한 방법을 사용할 수 있습니다. 이러한 세부 정보가 포함된 EncodeFrame 작업에서도 전달된 코덱 그림 매개 변수를 참조하세요.

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

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

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

참조 그림 수에 대한 하드웨어 제한 사항은 L0(MaxL0ReferencesForP MaxL0ReferencesForB) 및 L1(MaxL1ReferencesForB) 목록에 있는 최대 요소 수로 표현됩니다. MaxDPBCapacity로 제한하여 D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 제공된 pReferenceFramesReconPictureDescriptors 값에 매핑되는 (L0 union L1)의 최대 고유 인덱스 수를 제한합니다./

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

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 11(WDDM 3.0)
머리글 d3d12umddi.h

추가 정보

D3D12DDI_VIDEO_ENCODER_ENCODEFRAME_INPUT_STREAM_ARGUMENTS_0082_0

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_0080

D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080

D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS_0082_0

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0