D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 structure (d3d12video.h)

Represents the GOP structure for H.264 video encoding.

Syntax

typedef struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 {
  UINT  GOPLength;
  UINT  PPicturePeriod;
  UCHAR pic_order_cnt_type;
  UCHAR log2_max_frame_num_minus4;
  UCHAR log2_max_pic_order_cnt_lsb_minus4;
} D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264;

Members

GOPLength

The distance between I-frames in the sequence, or the number of pictures on a GOP. If set to 0, only the first frame will be an I frame (infinite GOP).

PPicturePeriod

The period for P-frames to be inserted within the GOP. Note that if GOPLength is set to 0 for infinite GOP, this value must be greater than zero.

Example usage; Let A=GOPLength; B=PPictureInterval

  • A=0; B=1 => IPPPPPPPP...
  • A=0; B=2 => IBPBPBPBP...
  • A=0; B=3 => IBBPBBPBB...
  • A=1; B=0 => IIIIIIIII...
  • A=2; B=1 => IPIPIPIPI...
  • A=3; B=1 => IPPIPPIPP...
  • A=3; B=2 => IBPIBPIBP...
  • A=4; B=3 => IBBPIBBPIBBP...

pic_order_cnt_type

Specifies the picture order count type filter mode as defined in the H264 standard under pic_order_cnt_type in the sequence parameter set. The value of pic_order_cnt_type shall be in the range of 0 to 2, inclusive.

log2_max_frame_num_minus4

Specifies the value of the variable MaxFrameNum that is used in frame_num related derivations as follows: MaxFrameNum = 2^(log2_max_frame_num_minus4 + 4) The value of log2_max_frame_num_minus4 shall be in the range of 0 to 12, inclusive.

log2_max_pic_order_cnt_lsb_minus4

Specifies the value of the variable MaxPicOrderCntLsb that is used in the decoding process for picture order count as specified in clause 8.2.1 as follows: MaxPicOrderCntLsb = 2^ (log2_max_pic_order_cnt_lsb_minus4 + 4) The value of log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive.

Requirements

Requirement Value
Minimum supported client Windows Build 22000
Minimum supported server Windows Build 22000
Header d3d12video.h