DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA structure (dxvahd.h)
Spécifie l’espace de couleurs d’un flux d’entrée Microsoft DirectX Video Acceleration High Definition (DXVA-HD).
Syntaxe
typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA {
union {
struct {
UINT Type : 1;
UINT RGB_Range : 1;
UINT YCbCr_Matrix : 1;
UINT YCbCr_xvYCC : 1;
UINT Reserved : 28;
};
UINT Value;
};
} DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA;
Membres
Type
Spécifie si le flux d’entrée contient des vidéos ou des graphiques. L’appareil peut optimiser le traitement en fonction du type. La valeur d’état par défaut est 0 (vidéo).
Valeur | Signification |
---|---|
|
Vidéo. |
|
Graphiques. |
RGB_Range
Spécifie la plage de couleurs RVB. La valeur d’état par défaut est 0 (plage complète).
Valeur | Signification |
---|---|
|
Plage complète (0-255). |
|
Plage limitée (16-235). |
YCbCr_Matrix
Spécifie la matrice de transfert YCbCr. La valeur d’état par défaut est 0 (BT.601).
Valeur | Signification |
---|---|
|
ITU-R BT.601. |
|
ITU-R BT.709. |
YCbCr_xvYCC
Spécifie si le flux d’entrée utilise des YCbCr classiques ou des YCbCr étendus (xvYCC). La valeur d’état par défaut est 0 (YCbCr conventionnel).
Valeur | Signification |
---|---|
|
YCbCr conventionnel. |
|
Extended YCbCr (xvYCC). |
Reserved
Value
Remarques
Le membre RGB_Range s’applique à l’entrée RVB, tandis que les membres YCbCr_Matrix et YCbCr_xvYCC s’appliquent à l’entrée YCbCr (YUV).
Dans certaines situations, l’appareil peut effectuer une conversion de couleur intermédiaire sur le flux d’entrée. Dans ce cas, il utilise les indicateurs qui s’appliquent aux deux espaces de couleurs. Par exemple, supposons que l’appareil passe de RVB en YCbCr. Si le membre RGB_Range est 0 et que le membre YCbCr_Matrix est 1, l’appareil passe de la plage RVB complète à BT.709 YCbCr.
Si l’appareil prend en charge xvYCC, il retourne l’indicateur de fonctionnalité DXVAHD_DEVICE_CAPS_xvYCC dans le membre DeviceCaps de la structure DXVAHD_VPDEVCAPS . Sinon, l’appareil ignore la valeur de YCbCr_xvYCC et traite toutes les entrées YCbCr comme YCbCr conventionnelles. Pour obtenir les fonctionnalités de l’appareil, appelez IDXVAHD_Device ::GetVideoProcessorDeviceCaps.
Exemples
HRESULT DXVAHD_SetInputColorSpace(
IDXVAHD_VideoProcessor *pVP,
UINT stream,
BOOL bPlayback, // TRUE = playback, FALSE = video processing
UINT RGB_Range, // 0 = 0-255, 1 = 16-235
UINT YCbCr_Matrix, // 0 = BT.601, 1 = BT.709
UINT YCbCr_xvYCC // 0 = Conventional YCbCr, 1 = xvYCC
)
{
DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA data =
{
bPlayback ? 0 : 1,
RGB_Range ? 1 : 0,
YCbCr_Matrix ? 1 : 0,
YCbCr_xvYCC ? 1 : 0
};
HRESULT hr = pVP->SetVideoProcessStreamState(
stream,
DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE,
sizeof(data),
&data
);
return hr;
}
Configuration requise
Condition requise | Valeur |
---|---|
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour