D3D12DDICAPS_VIDEO_ENCODER_SUPPORT_DATA_0083_0 结构 (d3d12umddi.h)
D3D12DDICAPS_VIDEO_ENCODER_SUPPORT_DATA_0083_0 结构为请求的输入配置提供驱动程序的支持详细信息。
语法
typedef struct D3D12DDICAPS_VIDEO_ENCODER_SUPPORT_DATA_0083_0 {
UINT NodeIndex;
D3D12DDI_VIDEO_ENCODER_CODEC_0080 Codec;
DXGI_FORMAT InputFormat;
D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_0082_0 CodecConfiguration;
D3D12DDI_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_0082_0 CodecGopSequence;
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_0080_2 RateControl;
D3D12DDI_VIDEO_ENCODER_INTRA_REFRESH_MODE_0080 IntraRefresh;
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080 SubregionFrameEncoding;
UINT ResolutionsListCount;
const D3D12DDI_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC_0080 *pResolutionList;
UINT MaxReferenceFramesInDPB;
D3D12DDI_VIDEO_ENCODER_VALIDATION_FLAGS_0082_0 ValidationFlags;
D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0 SupportFlags;
D3D12DDI_VIDEO_ENCODER_PROFILE_DESC_0080_2 SuggestedProfile;
D3D12DDI_VIDEO_ENCODER_LEVEL_SETTING_0080_2 SuggestedLevel;
D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2 *pResolutionDependentSupport;
} D3D12DDICAPS_VIDEO_ENCODER_SUPPORT_DATA_0083_0;
成员
NodeIndex
[in]在多适配器操作中, NodeIndex 指示操作适用的设备的物理适配器。
Codec
[in] 一个D3D12DDI_VIDEO_ENCODER_CODEC_0080 值,该值指定要使用的编码编解码器。
InputFormat
[in] 一个DXGI_FORMAT 值,该值指定输入帧的输入格式。
CodecConfiguration
[in] 一个D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_0082_0 结构,用于指定所选编解码器的请求配置。 此结构中特定于编解码器的结构应与编解码器指定的编解码器类型匹配。
CodecGopSequence
[in] 一个D3D12DDI_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_0082_0 结构,指定所选编解码器的 GOP) 配置 (请求的图片组。 此结构中特定于编解码器的结构应与编解码器指定的编解码器类型匹配。
RateControl
[in] 一个D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_0080_2 结构,用于指定请求的速率控制配置。
IntraRefresh
[in]指定刷新模式下请求的 D3D12DDI_VIDEO_ENCODER_INTRA_REFRESH_MODE_0080 值。
SubregionFrameEncoding
[in] 一个D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080 值,该值指定请求的子分区模式。
ResolutionsListCount
[in]指示 pResolutionList 指向的列表中的分辨率数。
pResolutionList
[in]指向 D3D12DDI_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC_0080 结构的数组的指针,该结构指定请求支持的分辨率列表。
MaxReferenceFramesInDPB
[in] 调用帧 间编码帧时要使用的以前引用帧的最大数目。 此值用于计算建议的级别。
ValidationFlags
[out] 一个D3D12DDI_VIDEO_ENCODER_VALIDATION_FLAGS_0082_0 值,该值在未设置D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0083_0_GENERAL_SUPPORT_OK 位的情况下返回 cap 查询时提供更多详细信息。
SupportFlags
[out] 一个D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0 值,该值指定所请求配置的支持详细信息。
SuggestedProfile
[out] 一个D3D12DDI_VIDEO_ENCODER_PROFILE_DESC_0080_2 结构,其中驱动程序返回所请求配置的匹配配置文件。
SuggestedLevel
[out] 一种D3D12DDI_VIDEO_ENCODER_LEVEL_SETTING_0080_2 结构,其中驱动程序返回 pResolutionList 中存在的每个分辨率所请求的配置的匹配级别。
pResolutionDependentSupport
[out]指向 D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2 结构列表的指针,驱动程序在其中返回与分辨率相关的支持限制。
注解
D3D 运行时调用PFND3D12DDI_VIDEO_GETCAPS,D3D12DDICAPS_TYPE_VIDEO_0080_ENCODER_SUPPORT指定为功能类型。
此查询授予或拒绝的支持表示同时支持选择在同一编码会话中使用的所有功能。 使用单个查询调用进行查询时,可以单独支持某些功能,但不同时受支持。
例如,检查D3D12DDICAPS_TYPE_VIDEO_0080_ENCODER_INTRA_REFRESH_MODE时可以支持内部刷新,在检查 该D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 时可以支持 B 帧 。MaxL1ReferencesForB 大于 0。 但是,在某些情况下,内部刷新和 B 帧不支持同时。 在这种情况下,使用 CodecGopSequence 查询包含 B 帧和基于行的刷新内模式的D3D12DDICAPS_TYPE_VIDEO_0080_ENCODER_SUPPORT,必须设置D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK标志。
此结构不适用于 AV1 编解码器输入。 请改用 D3D12DDICAPS_VIDEO_ENCODER_SUPPORT1_DATA_0096 进行 AV1 编解码器支持。
有关常规信息,请参阅 D3D12 视频编码 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11 (WDDM 3.0) |
标头 | d3d12umddi.h |