estructura D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 (d3d12video.h)

Recupera los requisitos de recursos para la codificación de vídeo, con compatibilidad con metadatos opcionales. Se usa con ID3D12VideoDevice::CheckFeatureSupport y el valor de la característica D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 .

Syntax

typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 {
  UINT                                               NodeIndex;
  D3D12_VIDEO_ENCODER_CODEC                          Codec;
  D3D12_VIDEO_ENCODER_PROFILE_DESC                   Profile;
  DXGI_FORMAT                                        InputFormat;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        PictureTargetResolution;
  BOOL                                               IsSupported;
  UINT                                               CompressedBitstreamBufferAccessAlignment;
  UINT                                               EncoderMetadataBufferAccessAlignment;
  UINT                                               MaxEncoderOutputMetadataBufferSize;
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata;
  D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION            CodecConfiguration;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        EncoderOutputMetadataQPMapTextureDimensions;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        EncoderOutputMetadataSATDMapTextureDimensions;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        EncoderOutputMetadataBitAllocationMapTextureDimensions;
  UINT                                               EncoderOutputMetadataFramePSNRComponentsNumber;
  UINT                                               EncoderOutputMetadataSubregionsPSNRComponentsNumber;
  UINT                                               EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize;
} D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1;

Members

NodeIndex

Para una sola operación de GPU, establézcalo en cero. Si hay varios nodos de GPU, establezca un bit para identificar el nodo (uno de los adaptadores físicos del dispositivo) al que se aplica la cola de comandos. Cada bit de la máscara corresponde a un único nodo. Solo se debe establecer un bit.

Codec

Un D3D12_VIDEO_ENCODER_CODEC especificando el códec que se va a consultar.

Profile

Un D3D12_VIDEO_ENCODER_PROFILE_DESC especificando el perfil del codificador.

InputFormat

Un DXGI_FORMAT especificando el formato de entrada.

PictureTargetResolution

Un D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC especificando la resolución de destino.

IsSupported

Salida. Indica si se admite la configuración.

CompressedBitstreamBufferAccessAlignment

Salida. Alineación necesaria para el búfer de secuencia de bits comprimido.

EncoderMetadataBufferAccessAlignment

Salida. Alineación necesaria para el búfer de metadatos del codificador.

MaxEncoderOutputMetadataBufferSize

Salida. Tamaño máximo en bytes del búfer de metadatos de salida del codificador.

OptionalMetadata

Valor de D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS que indica qué metadatos opcionales se solicitan.

CodecConfiguration

Un D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION especificando la configuración del códec. Obligatorio cuando se establecen marcas en OptionalMetadata; de lo contrario, pase como cero/NULL.

EncoderOutputMetadataQPMapTextureDimensions

Salida. Un D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC que indica las dimensiones de textura de la salida del mapa QP. Válido cuando se establece D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP . El tamaño del bloque se puede derivar dividiendo PictureTargetResolution por estas dimensiones.

EncoderOutputMetadataSATDMapTextureDimensions

Salida. Un D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC que indica las dimensiones de textura de la salida del mapa SATD. Válido cuando se establece D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP . El tamaño del bloque se puede derivar dividiendo PictureTargetResolution por estas dimensiones.

EncoderOutputMetadataBitAllocationMapTextureDimensions

Salida. Un D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC que indica las dimensiones de textura para la salida del mapa de asignación de bits. Válido cuando se establece D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP . El tamaño del bloque se puede derivar dividiendo PictureTargetResolution por estas dimensiones.

EncoderOutputMetadataFramePSNRComponentsNumber

Salida. Número de componentes de PSNR (Y, U y V en ese orden) escritos para PSNR de nivel de marco. Válido cuando se establece D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR .

EncoderOutputMetadataSubregionsPSNRComponentsNumber

Salida. Número de componentes de PSNR (Y, U y V en ese orden) escritos por subred. Válido cuando se establece D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR .

EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize

Salida. Tamaño de ancho necesario del búfer para los datos PSNR de la subdivisión. Válido cuando se establece D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR .

Observaciones

Cuando OptionalMetadata es D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONE, las salidas que también están presentes en D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS deben notificar valores idénticos para la compatibilidad con versiones anteriores. Los campos de salida de las marcas de metadatos opcionales no seleccionadas se notifican como cero.

Requisitos

Requisito Value
Header d3d12video.h

Consulte también

D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS

D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS