DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA-Struktur (dxvahd.h)
Gibt den Ausgabefarbraum für Blitvorgänge an, wenn Microsoft DirectX Video Acceleration High Definition (DXVA-HD) verwendet wird.
Syntax
typedef struct _DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA {
union {
struct {
UINT Usage : 1;
UINT RGB_Range : 1;
UINT YCbCr_Matrix : 1;
UINT YCbCr_xvYCC : 1;
UINT Reserved : 28;
};
UINT Value;
};
} DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA;
Member
Usage
Gibt an, ob die Ausgabe für die Wiedergabe oder Die Videoverarbeitung (z. B. Bearbeitung oder Erstellung) vorgesehen ist. Das Gerät kann die Verarbeitung basierend auf dem Typ optimieren. Der Standardwert für den Zustand ist 0 (Wiedergabe).
Wert | Bedeutung |
---|---|
|
Wiedergabe. |
|
Videoverarbeitung. |
RGB_Range
Gibt den RGB-Farbbereich an. Der Standardwert für den Zustand ist 0 (vollständiger Bereich).
Wert | Bedeutung |
---|---|
|
Vollständiger Bereich (0-255). |
|
Begrenzter Bereich (16-235). |
YCbCr_Matrix
Gibt die YCbCr-Übertragungsmatrix an. Der Standardwert ist 0 (BT.601).
Wert | Bedeutung |
---|---|
|
ITU-R BT.601. |
|
ITU-R BT.709. |
YCbCr_xvYCC
Gibt an, ob die Ausgabe konventionelles YCbCr oder erweitertes YCbCr (xvYCC) verwendet. Der Standardwert für den Zustand ist 0 (herkömmlicher YCbCr).
Wert | Bedeutung |
---|---|
|
Konventioneller YCbCr. |
|
Erweiterter YCbCr (xvYCC). |
Reserved
Value
Hinweise
Der RGB_Range-Member gilt für die RGB-Ausgabe, während die YCbCr_Matrix - und YCbCr_xvYCC-Member für die YUV-Ausgabe (YCbCr) gelten. Wenn das Gerät eine Farbraumkonvertierung für die Hintergrundfarbe durchführt, verwendet es die Werte, die für beide Farbräume gelten.
Der erweiterte YCbCr kann mit beiden Übertragungsmatrix verwendet werden. Der erweiterte YCbCr ändert den Schwarzen Punkt oder weißer Punkt nicht – der schwarze Punkt ist immer noch 16 und der weiße Punkt ist immer noch 235. Die erweiterte YCbCr-Instanz lässt jedoch explizit Schwarze als Schwarzwerte im Bereich von 1 bis 15 und weiße werte im Bereich 236–254 zu. Wenn erweitertes YCbCr verwendet wird, sollte der Treiber die Lumawerte nicht auf den nominalen Bereich von 16 bis 235 abschneiden.
Wenn das Gerät erweitertes YCbCr unterstützt, wird das DXVAHD_DEVICE_CAPS_xvYCC-Funktionsflag im DeviceCaps-Member der DXVAHD_VPDEVCAPS-Struktur festgelegt. Andernfalls ignoriert das Gerät den Wert des YCbCr_xvYCC-Members und behandelt die gesamte YCbCr-Ausgabe wie herkömmliche YCbCr. Rufen Sie zum Abrufen der Funktionen des Geräts IDXVAHD_Device::GetVideoProcessorDeviceCaps auf.
Wenn das Ausgabeformat ein RGB-Format mit breitem Gamut ist, liegt die Ausgabe möglicherweise außerhalb des nominalen [0...1] sRGB-Bereichs. Dies gilt insbesondere, wenn ein oder mehrere Eingabedatenströme erweitertes YCbCr verwenden.
Beispiele
HRESULT DXVAHD_SetOutputColorSpace(
IDXVAHD_VideoProcessor *pVP,
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_BLT_STATE_OUTPUT_COLOR_SPACE_DATA data =
{
bPlayback ? 0 : 1,
RGB_Range ? 1 : 0,
YCbCr_Matrix ? 1 : 0,
YCbCr_xvYCC ? 1 : 0
};
HRESULT hr = pVP->SetVideoProcessBltState(
DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE,
sizeof(data),
&data
);
return hr;
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Kopfzeile | dxvahd.h |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für