estructura DXVAHD_STREAM_DATA (dxvahd.h)
Contiene datos por secuencia para el método IDXVAHD_VideoProcessor::VideoProcessBltHD .
Sintaxis
typedef struct _DXVAHD_STREAM_DATA {
BOOL Enable;
UINT OutputIndex;
UINT InputFrameOrField;
UINT PastFrames;
UINT FutureFrames;
IDirect3DSurface9 **ppPastSurfaces;
IDirect3DSurface9 *pInputSurface;
IDirect3DSurface9 **ppFutureSurfaces;
} DXVAHD_STREAM_DATA;
Miembros
Enable
Especifica si esta secuencia de entrada está habilitada. Si el valor es TRUE, el método VideoProcessBltHD divide esta secuencia en la superficie de salida. De lo contrario, la secuencia no se divide. El número máximo de secuencias que se pueden habilitar a la vez se da en el miembro MaxInputStreams de la estructura DXVAHD_VPDEVCAPS .
OutputIndex
Número de índice de base cero del marco de salida. Vea la sección Comentarios.
InputFrameOrField
Número de índice de base cero del marco o campo de entrada. Vea la sección Comentarios.
PastFrames
Número de marcos de referencia anteriores. Este valor debe ser menor o igual que el valor del miembro PastFrames de la estructura DXVAHD_VPCAPS .
FutureFrames
Número de fotogramas de referencia futuros. Este valor debe ser menor o igual que el valor del miembro FutureFrames de la estructura DXVAHD_VPCAPS .
ppPastSurfaces
Puntero a una matriz de punteros IDirect3DSurface9 , asignados por el autor de la llamada. Esta matriz contiene los fotogramas de referencia anteriores para la operación de procesamiento de vídeo. El número de elementos de la matriz es igual al valor del miembro PastFrames .
pInputSurface
Puntero a la interfaz IDirect3DSurface9 de una superficie de Microsoft Direct3D que contiene el marco de entrada actual.
ppFutureSurfaces
Puntero a una matriz de punteros IDirect3DSurface9 , asignados por el autor de la llamada. Esta matriz contiene los fotogramas de referencia futuros para la operación de procesamiento de vídeo. El número de elementos de la matriz es igual al valor del miembro FutureFrames .
Comentarios
Superficies de entrada
Las superficies de Direct3D deben asignarse en el grupo de memoria especificado por el miembro InputPool de la estructura DXVAHD_VPDEVCAPS . Se pueden usar los siguientes tipos de superficie:- Superficie de vídeo de tipo DXVAHD_SURFACE_TYPE_VIDEO_INPUT o DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE. Consulte IDXVAHD_Device::CreateVideoSurface.
- Superficie de destino de representación del descodificador de tipo DXVA2_VideoDecoderRenderTarget. Consulte IDirectXVideoAccelerationService::CreateSurface.
- Superficie sin formato fuera de la pantalla.
- ppPastSurfaces: { ..., T-3, T-2, T-1 }
- ppInputSurface: T
- ppFutureSurfaces: { T+1, T+2, T+3, ... }
- Al principio o al final de la secuencia de vídeo
- Con entrada progresiva
- Durante una transición entre la entrada progresiva e entrelazada
- Para una substream que no requiere una alta calidad de desinterlazado
- Al quitar fotogramas
Índices de entrada y salida
Los miembros OutputIndex y InputFrameOrField se usan para correlacionar fotogramas de entrada o campos con marcos de salida. El valor del miembro OutputIndex es cíclico y se restablece a cero después de cada ciclo.Estos son algunos patrones de ejemplo:
- Vídeo progresivo a velocidad normal. Cada fotograma de entrada genera un fotograma de salida.
- Índice de salida: 0, 0, 0, 0, ...
- Índice de entrada: 0, 1, 2, 3, ...
- Vídeo entrelazado a velocidad normal. Cada marco entrelazado (dos campos) genera dos fotogramas de salida.
- Índice de salida: 0, 1, 0, 1, ...
- Índice de entrada: 0, 1, 2, 3, ...
- Vídeo progresivo a la velocidad de salida de 2/1. Cada fotograma de entrada genera un fotograma de salida.
- Índice de salida: 0, 1, 0, 1, ...
- Índice de entrada: 0, 1, 2, 3, ...
- Vídeo entrelazado a una velocidad de salida de 1/2. Cada fotograma entrelazado genera un fotograma de salida. (Los dos campos se combinan para crear un marco).
- Índice de salida: 0, 0, 0, 0, ...
- Índice de entrada: 0, 2, 4, 6, ...
Requisitos
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Encabezado | dxvahd.h |