Partager via


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 : Les cadres de référence passés et futurs doivent être placés dans les tableaux dans l’ordre temporel, du plus ancien au plus récent. Par exemple, si T est la trame d’entrée actuelle, les tableaux sont classés comme suit :
  • ppPastSurfaces : { ..., T-3, T-2, T-1 }
  • ppInputSurface : T
  • ppFutureSurfaces : { T+1, T+2, T+3, ... }
La structure DXVAHD_VPCAPS spécifie le nombre d’images de référence nécessaires pour obtenir la meilleure qualité de désinterlacation. Si l’application fournit moins d’images de référence, l’appareil revient à des algorithmes de désinterlacation plus simples. Si aucune trame de référence n’est fournie, l’appareil peut utiliser la désinterlacation bob. Voici quelques cas où une application peut fournir moins de cadres de référence :
  • 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

Voir aussi

DXVA-HD

Structures vidéo Direct3D

Media Foundation Structures