Partager via


PDD_VPORTCB_GETBANDWIDTH fonction de rappel (ddrawint.h)

La fonction de rappel DdVideoPortGetBandwidth signale les limitations de bande passante de la mémoire tampon de trame de l’appareil en fonction du format de sortie de l’objet VPE spécifié.

Syntaxe

PDD_VPORTCB_GETBANDWIDTH PddVportcbGetbandwidth;

DWORD PddVportcbGetbandwidth(
  PDD_GETVPORTBANDWIDTHDATA unnamedParam1
)
{...}

Paramètres

unnamedParam1

Pointe vers une structure DD_GETVPORTBANDWIDTHDATA qui contient les informations requises pour que le pilote retourne les données de bande passante.

Valeur retournée

DdVideoPortGetBandwidth retourne l’un des codes de rappel suivants :

Notes

DdVideoPortGetBandwidth doit être implémenté dans les pilotes DirectDraw qui prennent en charge VPE.

DdVideoPortGetBandwidth informe les clients des besoins en bande passante pour n’importe quel format spécifié, ce qui les aide à choisir un format et à mieux comprendre ses limitations. Le pilote ne peut fournir des informations précises sur la bande passante qu’après la création de l’objet VPE, car le pilote a besoin des informations dans la structure DDVIDEOPORTDESC .

DdVideoPortGetBandwidth est généralement appelé deux fois pour obtenir les paramètres de bande passante du port vidéo matériel spécifié. Selon le membre dwFlags de la structure DD_GETVPORTBANDWIDTHDATA à lpGetVideoPortBandwidth, le pilote doit effectuer les opérations suivantes :

  • Lorsque l’indicateur est DDVPB_TYPE, le pilote doit indiquer le type d’appareil qu’il est en définissant l’un des indicateurs suivants dans le membre dwCaps de la structure DDVIDEOPORTBANDWIDTH vers laquelle le membre lpBandwidth de DD_GETVPORTBANDWIDTHDATA pointe :
    • DDVPBCAPS_DESTINATION indique que l’appareil décrit ses capacités de bande passante en termes de facteur d’étirement de superposition ; autrement dit, les informations de bande passante retournées par le pilote dans l’appel suivant à DdVideoPortGetBandwidth font référence à la taille de la superposition de destination. Cet indicateur décrit mieux le matériel qui s’actualise à partir des surfaces primaire et de superposition simultanément. À mesure que la vidéo de destination est étirée, le matériel a plus de temps pour lire les pixels de la surface de superposition, ce qui réduit la bande passante mémoire requise.
    • DDVPBCAPS_SOURCE indique que l’appareil décrit ses fonctionnalités de bande passante en termes de taille de superposition source requise ; autrement dit, les informations de bande passante retournées par l’appel suivant à DdVideoPortGetBandwidth font référence à la taille de la superposition source. Cet indicateur décrit le mieux le matériel qui préfète les données de superposition dans une mémoire tampon de ligne ou un fiFO volumineux. Ce matériel ne nécessite pas de bande passante supplémentaire, mais nécessite que les données de superposition source correspondent entièrement à la taille de mémoire tampon/FIFO prise en charge par le matériel.

    Le pilote doit également définir le membre dwSize de la structure DDVIDEOPORTBANDWIDTH avant de retourner.

  • Lorsque l’indicateur est DDVPB_VIDEOPORT, les membres dwWidth et dwHeight de la structure DD_GETVPORTBANDWIDTHDATA font référence à la taille de pré-échelle des données vidéo que le port vidéo matériel écrit dans la mémoire tampon d’image en tant que superposition source. Le pilote doit retourner un facteur d’étirement de superposition auquel l’appareil peut afficher la superposition, multiplié par 1000, dans chacun des membres dwOverlay, dwColorkey, dwYInterpolate et dwYInterpAndColorkey de la structure DDVIDEOPORTBANDWIDTH. Par exemple, la valeur 2000 indique que l’appareil dispose de la bande passante nécessaire pour étendre la superposition à deux fois la taille spécifiée de la source lors de son affichage. La valeur 1000 indique qu’aucun étirement n’a besoin d’être effectué pour la taille de données spécifiée. La valeur 500 indique que l’appareil dispose d’une bande passante suffisante pour réduire de moitié la destination de superposition. Le pilote doit définir une valeur valide dans dwOverlay, mais peut retourner -1 dans l’un des trois autres membres qu’il ne prend pas en charge.

    L’indicateur DDVPB_VIDEOPORT suppose que l’appareil est mieux décrit par l’indicateur DDVPBCAPS_DESTINATION. Si ce n’est pas le cas, le pilote doit échouer l’appel.

  • Lorsque l’indicateur de DDVPB_OVERLAY est défini, les membres dwWidth et dwHeight de la structure DD_GETVPORTBANDWIDTHDATA font référence à la taille de superposition source. Le pilote doit retourner un pourcentage de la taille de cette superposition, multiplié par 1000, auquel il peut prendre en charge l’affichage de la superposition dans chacun des membres dwOverlay, dwColorkey, dwYInterpolate et dwYInterpAndColorkey de la structure DDVIDEOPORTBANDWIDTH. Par exemple, la valeur 750 indique que l’appareil nécessite que la superposition source spécifiée soit réduite à 75 % de sa taille d’origine pour que l’appareil puisse l’afficher correctement. La valeur 1000 indique qu’aucune réduction n’est requise. Les pilotes pour ce type d’appareil ne retournent généralement pas une valeur supérieure à 1000. Le pilote doit définir une valeur valide dans dwOverlay, mais peut retourner 0 dans l’un des trois autres membres s’il ne prend pas en charge la touche de couleur et/ou l’interpolation de l’axe Y.

    L’indicateur DDVPB_OVERLAY suppose que l’appareil est mieux décrit à l’aide de l’indicateur DDVPBCAPS_SOURCE. Si ce n’est pas le cas, le pilote doit échouer l’appel.

Spécifications

   
Plateforme cible Desktop (Expérience utilisateur)
En-tête ddrawint.h (inclure Winddi.h)

Voir aussi

DDVIDEOPORTBANDWIDTH

DDVIDEOPORTDESC

DD_GETVPORTBANDWIDTHDATA

DdVideoPortCreate