다음을 통해 공유


D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION 구조체(d3d12video.h)

참조 그림의 변경 내용을 작업에 필요한 작업 식별자 및 관련 매개 변수의 튜플로 메모리 작업으로 설명합니다.

구문

typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION {
  UCHAR memory_management_control_operation;
  UINT  difference_of_pic_nums_minus1;
  UINT  long_term_pic_num;
  UINT  long_term_frame_idx;
  UINT  max_long_term_frame_idx_plus1;
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION;

멤버

memory_management_control_operation

참조 그림 표시 상태에 영향을 주도록 적용할 컨트롤 작업입니다.

difference_of_pic_nums_minus1

3 또는 1과 같은 memory_management_control_operation 사용하여 단기 참조 그림에 장기 프레임 인덱스를 할당하거나 단기 참조 그림을 "참조에 사용되지 않음"으로 표시합니다.

long_term_pic_num

장기 참조 그림을 "참조에 사용되지 않음"으로 표시하기 위해 2와 같은 memory_management_control_operation 사용됩니다.

long_term_frame_idx

그림에 장기 프레임 인덱스 할당을 위해 3 또는 6과 같은 memory_management_control_operation 사용됩니다.

max_long_term_frame_idx_plus1

값 1은 장기 참조 그림에 허용되는 장기 프레임 인덱스의 최대값을 지정합니다(다른 값 이 max_long_term_frame_idx_plus1 받기 전까지).

설명

자세한 내용은 H264 사양 섹션 8.2.5.4 "적응 메모리 컨트롤 디코딩 참조 그림 표시 프로세스"를 참조하세요.

MaxLongTermFrameIdx 변수는 다음과 같이 파생됩니다.

max_long_term_frame_idx_plus1 0과 같으면 MaxLongTermFrameIdx가 "장기 프레임 인덱스 없음"으로 설정됩니다. – 그렇지 않으면(max_long_term_frame_idx_plus1 0보다 크면) MaxLongTermFrameIdx 가 max_long_term_frame_idx_plus1 - 1로 설정됩니다.

현재 프레임을 단기 참조로 표시하는 작업은 연결된 그림 컨트롤 구조에 표시된 해당 PictureOrderCountNumberFrameDecodingOrderNumber 값을 사용하여 D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS 구조에 있는 플래그에 의해 제공됩니다.

max_num_ref_frames 변수는 보고된 최대 DPB 용량으로 이 API에 표시됩니다.

IDR 프레임을 장기 참조로 표시하기 위해 제안된 명시적 메커니즘은 IDR 프레임에 대해 EncodeFrame을 호출할 때 D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE 설정하고 나중에 메모리 관리 작업 '3'을 사용하여 장기 참조 프레임으로 승격하여 단기 참조 그림을 "장기 참조에 사용"으로 표시하고 장기 프레임 인덱스 할당을 통해 먼저 단기 참조로 표시하는 것입니다. 입니다.

또는 IDR 프레임을 인코딩하고 adaptive_ref_pic_marking_mode_flag = 1을 설정하는 경우 드라이버는 클라이언트가 H264 조각 헤더 long_term_reference_flag 설정하려고 시도한다고 가정하고 EncodeFrame 호출에 대한 출력 비트 스트림에서 이렇게 합니다.

요구 사항

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