// d3d12umddi.h
typedef enum D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080 {
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_I_FRAME,
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_P_FRAME,
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_B_FRAME,
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_IDR_FRAME
} ;
View the official Windows Driver Kit DDI referenceNo description available.
The D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080 enumeration lists possible HEVC encoder frame types.
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_I_FRAMEAn I-frame: completely intra-coded frame.
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_P_FRAMEA P-frame (predicted frame): allows references to past frames.
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_B_FRAMEA B-frame (bi-directional frame): allows references to both past and future frames, in display order.
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_IDR_FRAMEAn IDR frame (instantaneous decoder refresh frame): A special type of I-frame where no frame after it can reference any frame before it.
The following table lists the expected HEVC header frame type (nal_unit_type) for each of the above defined HEVC frame types.
| HEVC frame type | Expected default value |
|---|---|
| D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_I_FRAME | nal_unit_type = CRA_NUT |
| D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_P_FRAME | nal_unit_type = TRAIL_R |
| D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_B_FRAME | nal_unit_type = TRAIL_R |
| D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_IDR_FRAME | nal_unit_type = IDR_W_RADL |
A set D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_0083_0_P_FRAMES_IMPLEMENTED_AS_LOW_DELAY_B_FRAMES bit informs the user that, when encoding frames with type D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_HEVC_0080_P_FRAME, these frames will be written as low delay B frames in the compressed bitstream. If this bit is not set, these frames will be written as P frames in the compressed bitstream. When operating in this mode, it is the user's responsibility to code the correct frame type in _AUD_NUT_ and other parts of the HEVC bitstream, taking into account that P frames will be treated as generalized B frames with only references to past frames in picture order counter (POC) order.
See D3D12 video encoding for general information.
D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS_0083_0
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_0082_0