estrutura D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095 (d3d12umddi.h)

A estrutura D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095 contém parâmetros de suporte de configuração para codificação AV1.

Sintaxe

typedef struct D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095 {
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS               SupportedFeatureFlags;
  D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS               RequiredFeatureFlags;
  D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_0095_FLAGS SupportedInterpolationFilters;
  D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_0095_FLAGS   SupportedRestorationParams[3][3];
  D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_0095_FLAGS     SupportedSegmentationModes;
  D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095_FLAGS               SupportedTxModes[4];
  D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_0095     SegmentationBlockSize;
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS    PostEncodeValuesFlags;
  UINT                                                        MaxTemporalLayers;
  UINT                                                        MaxSpatialLayers;
} D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095;

Membros

SupportedFeatureFlags

parâmetro de saída. Uma enumeração D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS que indica quais recursos têm suporte para o codec. Os recursos com suporte podem ser definidos ou não pelo Cliente de API.

RequiredFeatureFlags

parâmetro de saída. Uma enumeração D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS que indica quais recursos o driver precisa ser definido pelo Cliente de API.

SupportedInterpolationFilters

parâmetro de saída. Uma enumeração D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_0095_FLAGS que indica quais valores podem ser selecionados como parâmetros de entrada do tipo D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS.

SupportedRestorationParams[3]

parâmetro de saída. Uma enumeração D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_0095_FLAGS que indica quais valores podem ser selecionados como parâmetros de entrada para FrameRestorationType e LoopRestorationPixelSize no D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_CONFIG_0095.

A primeira indexação de matriz corresponde ao tipo de filtro de restauração.

Index i em SupportedRestorationParams[i][j] Tipo de filtro
0 COMUTÁVEL
1 WIENER
2 SGRPROJ

Observe que a indexação dos tipos de filtro corresponde a D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE menos 1 (ignorando D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED).

A segunda indexação de matriz corresponde aos planos.

Index j em SupportedRestorationParams[i][j] Avião
0 Plano Y
1 Plano U
2 Plano V

O valor retornado em SupportedRestorationParams[i][j] é uma máscara de bitflag que indica se o filtro i-th no plano j-th é:

  • Sem suporte indicado por SupportedRestorationParams[i][j] = D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED.
  • Compatível com qualquer um dos D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE conforme indicado pelos sinalizadores de bit combináveis em SupportedRestorationParams[i][j].

SupportedSegmentationModes

parâmetro de saída. Uma enumeração D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_0095_FLAGS que indica quais modos de segmentação podem ser selecionados em D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG_0095.

SupportedTxModes[4]

parâmetro de saída. Uma matriz de valores D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095_FLAGS que indica quais valores de modo de transformação podem ser selecionados como parâmetros de entrada do tipo D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095 para cada D3D12DDI_VIDEO_ENCODER_AV1_FRAME_TYPE_0095 diferente. O driver deve dar suporte a pelo menos um modo para cada tipo de quadro; ou seja, o valor da máscara não pode ser 0.

SegmentationBlockSize

parâmetro de saída. Uma enumeração D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_0095 que indica o tamanho do bloco para o mapa do segmento. Isso é para os blocos de entrada em D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP_0095 para segmentação personalizada ou o tamanho do bloco do mapa de segmento escrito no bitstream compactado pelo driver na segmentação automática.

PostEncodeValuesFlags

Uma enumeração D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS que especifica quais recursos de codificação AV1 o codificador subjacente é capaz de substituir os valores de sintaxe AV1 associados ou aceitar exatamente a entrada configurável do Cliente de API.

MaxTemporalLayers

Especifica o número máximo de camadas temporais que podem ter suporte. Os valores relatados devem estar no intervalo [1..MaxTemporalIdSupported + 1]. Um valor relatado 1, não há suporte à escalabilidade temporal.

MaxSpatialLayers

Especifica o número máximo de camadas espaciais que podem ter suporte. Os valores relatados devem estar no intervalo [1..MaxSpatialIdSupported + 1]. Um valor relatado 1, não há suporte à escalabilidade espacial.

Comentários

Confira Codificação de vídeo D3D12 AV1 para obter mais informações.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 24H2 (WDDM 3.2)
Cabeçalho d3d12umddi.h

Confira também

D3D12DDICAPS_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_DATA_0083_0