DXVAHD_STREAM_DATA structure (dxvahd.h)
Contient des données par flux pour la méthode IDXVAHD_VideoProcessor::VideoProcessBltHD .
Syntaxe
typedef struct _DXVAHD_STREAM_DATA {
BOOL Enable;
UINT OutputIndex;
UINT InputFrameOrField;
UINT PastFrames;
UINT FutureFrames;
IDirect3DSurface9 **ppPastSurfaces;
IDirect3DSurface9 *pInputSurface;
IDirect3DSurface9 **ppFutureSurfaces;
} DXVAHD_STREAM_DATA;
Membres
Enable
Spécifie si ce flux d’entrée est activé. Si la valeur est TRUE, la méthode VideoProcessBltHD renvoie ce flux à l’aire de sortie. Sinon, le flux n’est pas blitted. Le nombre maximal de flux pouvant être activés simultanément est indiqué dans le membre MaxInputStreams de la structure DXVAHD_VPDEVCAPS .
OutputIndex
Numéro d’index de base zéro de la trame de sortie. Consultez la section Notes.
InputFrameOrField
Numéro d’index de base zéro de la trame ou du champ d’entrée. Consultez la section Notes.
PastFrames
Nombre de cadres de référence précédents. Cette valeur doit être inférieure ou égale à la valeur du membre PastFrames de la structure DXVAHD_VPCAPS .
FutureFrames
Nombre de cadres de référence futurs. Cette valeur doit être inférieure ou égale à la valeur du membre FutureFrames de la structure DXVAHD_VPCAPS .
ppPastSurfaces
Pointeur vers un tableau de pointeurs IDirect3DSurface9 , alloués par l’appelant. Ce tableau contient les images de référence passées pour l’opération de traitement vidéo. Le nombre d’éléments dans le tableau est égal à la valeur du membre PastFrames .
pInputSurface
Pointeur vers l’interface IDirect3DSurface9 d’une surface Microsoft Direct3D qui contient le frame d’entrée actuel.
ppFutureSurfaces
Pointeur vers un tableau de pointeurs IDirect3DSurface9 , alloués par l’appelant. Ce tableau contient les futurs cadres de référence pour l’opération de traitement vidéo. Le nombre d’éléments dans le tableau est égal à la valeur du membre FutureFrames .
Notes
Surfaces d’entrée
Les surfaces Direct3D doivent être allouées dans le pool de mémoire spécifié par le membre InputPool de la structure DXVAHD_VPDEVCAPS . Les types de surface suivants peuvent être utilisés :- Surface vidéo de type DXVAHD_SURFACE_TYPE_VIDEO_INPUT ou DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE. Consultez IDXVAHD_Device::CreateVideoSurface.
- Surface cible de rendu du décodeur de type DXVA2_VideoDecoderRenderTarget. Consultez IDirectXVideoAccelerationService::CreateSurface.
- Surface ordinaire hors écran.
- ppPastSurfaces : { ..., T-3, T-2, T-1 }
- ppInputSurface : T
- ppFutureSurfaces : { T+1, T+2, T+3, ... }
- Au début ou à la fin de la séquence vidéo
- Avec entrée progressive
- Pendant une transition entre les entrées progressives et entrelacées
- Pour un sous-flux qui ne nécessite pas une qualité de désinterlacation élevée
- Lors de la suppression d’images
Index d’entrée et de sortie
Les membres OutputIndex et InputFrameOrField sont utilisés pour mettre en corrélation des trames d’entrée ou des champs avec des trames de sortie. La valeur du membre OutputIndex est cyclique et est réinitialisée à zéro après chaque cycle.Voici quelques exemples de modèles :
- Vidéo progressive à un rythme normal. Chaque image d’entrée produit une image de sortie.
- Index de sortie : 0, 0, 0, 0, ...
- Index d’entrée : 0, 1, 2, 3, ...
- Vidéo entrelacée à un rythme normal. Chaque trame entrelacée (deux champs) produit deux trames de sortie.
- Index de sortie : 0, 1, 0, 1, ...
- Index d’entrée : 0, 1, 2, 3, ...
- Vidéo progressive à un débit de sortie de 2/1. Chaque image d’entrée produit une image de sortie.
- Index de sortie : 0, 1, 0, 1, ...
- Index d’entrée : 0, 1, 2, 3, ...
- Vidéo entrelacée à un débit de sortie de 1/2. Chaque image entrelacée produit une image de sortie. (Les deux champs sont fusionnés pour créer une image.)
- Index de sortie : 0, 0, 0, 0, ...
- Index d’entrée : 0, 2, 4, 6, ...
Spécifications
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
En-tête | dxvahd.h |