estructura D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC (d3d12video.h)

Describe un control de imagen de codificador de vídeo.

Sintaxis

typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC {
  UINT                                           IntraRefreshFrameIndex;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS      Flags;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData;
  D3D12_VIDEO_ENCODE_REFERENCE_FRAMES            ReferenceFrames;
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC;

Miembros

IntraRefreshFrameIndex

Al solicitar una onda dentro de la actualización para fotogramas IntraRefreshFramesDuration especificando la marca D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_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 y IntraRefreshFramesDuration para sugerir el estado de la sesión dentro de la actualización al controlador.

Flags

Combinación OR bit a bit de los valores de la enumeración D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS que especifica las marcas del descriptor de control de imagen.

PictureControlCodecData

Estructura D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA que contiene datos de control de imagen específicos del códec. Dependiendo del modo de control de velocidad seleccionado, los valores de QP se interpretan de forma diferente.

ReferenceFrames

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

Comentarios

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

El host llama a EncodeFrame en orden de codificación en función de la secuencia periódica del tipo de imagen configurada en la estructura GOP del códec después de realizar la reordenación de fotogramas B por POC si es necesario. Los diferentes códecs usarán 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.

D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS especifica el requisito de matrices de texturas para los campos ppTexture2Ds y pSubresources de la estructura D3D12_VIDEO_ENCODE_REFERENCE_FRAMES .

La salida de la operación de codificación de un fotograma determinado también debe devolver la imagen reconstruida si se marca como usada como referencia para el uso futuro en los fotogramas siguientes, el cliente pasa las imágenes reconstruyidas en comandos EncodeFrame futuros.

Si codifica las capas temporales, una imagen solo puede usar como referencia a imágenes en temporalLayerIndex inferior que la suya propia. Los índices de capa temporal se especifican en la estructura del control de imagen y en los descriptores de imagen de referencia.

Las limitaciones de HW 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 (MaxL1Reference).sForB) enumera y limita por MaxDPBCapacity el número máximo de índices únicos en (L0 union L1) que se asignan al valor de pReferenceFramesReconPictureDescriptors proporcionados en D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA.

No hay ninguna limitación en el número de entradas de 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 15 imágenes codificadas más recientes 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 IDR actuará como una barrera entre las referencias de fotogramas y el búfer de DPB y su estado puede que el host deba vaciarse en consecuencia.

Requisitos

Requisito Value
Cliente mínimo compatible Compilación 22000 de Windows
Servidor mínimo compatible Compilación 22000 de Windows
Encabezado d3d12video.h