Compartir a través de


estructura D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 (d3d12umddi.h)

La estructura D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 contiene los parámetros de nivel de imagen para la entrada de una operación de codificación.

Sintaxis

typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 {
  UINT                                                     IntraRefreshFrameIndex;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080        Flags;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 PictureControlCodecData;
  D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080              ReferenceFrames;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0;

Miembros

IntraRefreshFrameIndex

Al solicitar una onda dentro de la actualización para fotogramas IntraRefreshFramesDuration especificando la marca D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_0080_REQUEST_INTRA_REFRESH , este valor indica, para la imagen actual, el índice del marco en la onda dentro de la actualización. El host establece el intervalo de valores entre [0-IntraRefreshFramesDuration) para sugerir el estado de la sesión dentro de la actualización al controlador.

Flags

Valor de D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 que indica las marcas del descriptor de control de imagen para la operación de marco de codificación actual.

PictureControlCodecData

Estructura D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 que contiene datos específicos del códec de control de imagen. Según el modo de control de velocidad seleccionado, los valores del parámetro de cuantificación (QP) se interpretan de forma diferente.

ReferenceFrames

Estructura D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 que contiene las imágenes reconstruidas a partir de las salidas de las operaciones de codificación anteriores.

Comentarios

Vea Codificación de vídeo D3D12 para obtener información general.

Los comentarios siguientes proporcionan instrucciones para la administración de fotogramas.

El host llama a EncodeFrame en el orden de codificación en función de la secuencia periódica del tipo de imagen configurada en el grupo de códecs de la estructura de imágenes (GOP) después de realizar la reordenación de fotogramas B por POC si es necesario.

Los distintos códecs pueden usar sus propias formas de indexar esta estructura y mantener sus metadatos de estado. Consulte los parámetros de imagen de códec que también se pasan en la operación EncodeFrame que contiene estos detalles.

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0082_0_RECONSTRUCTED_FRAMES_REQUIRE_CONTIGUOUS_TEXTURE_ARRAYS especifica el requisito de matrices de texturas para los campos hDrvTexture2Ds y pSubresources de la estructura D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 .

La salida de la operación de codificación de un fotograma determinado también debe devolver la imagen reconstruida si está marcada para usarse como referencia en los fotogramas siguientes. El cliente pasa las imágenes reconstruidas en los comandos EncodeFrame futuros.

Si codifica capas temporales, una imagen solo se puede usar como imagen de referencia en las capas de TemporalLayerIndex que son inferiores a su propio número de capa. Los índices de capas temporales se especifican en la estructura del control de imagen y en los descriptores de imagen de referencia.

Las limitaciones de hardware para el número de imágenes de referencia se expresan en términos del número máximo de elementos presentes en L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) y L1 (MaxL1ReferencesForB), y limitando por MaxDPBCapacity el número máximo de índices únicos en (L0 union L1) que se asignan al valor de pReferenceFramesReconPictureDescriptors proporcionados en D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0.

No hay ninguna limitación en el número de entradas de búfer de imagen descodificadas (DPB) que se pasan en pReferenceFramesReconPictureDescriptors, sino en el número de entradas de esa matriz a las que hacen referencia las listas L0 y L1. Esto permite al usuario realizar un seguimiento del estado de un DPB en pReferenceFramesReconPictureDescriptors dentro de las restricciones definidas por las limitaciones estándar del códec y usar solo un subconjunto restringido por las limitaciones de hardware al llamar a EncodeFrame. Por ejemplo, para la codificación HEVC, el autor de la llamada podría realizar un seguimiento de las últimas 15 imágenes codificadas en pReferenceFramesReconPictureDescriptors , pero solo usar un subconjunto de las imágenes que se encuentran dentro de las restricciones de hardware, asignando un número limitado de índices únicos en las listas L0 y L1.

Tenga en cuenta que una solicitud de un marco de actualización instantánea del descodificador (IDR) actuará como una barrera entre las referencias de fotogramas y el búfer de DPB y su estado podría necesitar ser vaciado en consecuencia por el host.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11 (WDDM 3.0)
Encabezado d3d12umddi.h

Consulte también

D3D12DDI_VIDEO_ENCODER_ENCODEFRAME_INPUT_STREAM_ARGUMENTS_0082_0

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_0080

D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080

D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS_0082_0

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0