Share via


DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA-Struktur (dxvahd.h)

Gibt den Farbraum für einen DXVA-HD-Eingabestream (Microsoft DirectX Video Acceleration High Definition) an.

Syntax

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;

Member

Type

Gibt an, ob der Eingabestream Video oder Grafiken enthält. Das Gerät kann die Verarbeitung basierend auf dem Typ optimieren. Der Standardwert für den Zustand ist 0 (Video).

Wert Bedeutung
0
Video.
1
Graphics.

RGB_Range

Gibt den RGB-Farbbereich an. Der Standardwert für den Zustand ist 0 (vollständiger Bereich).

Wert Bedeutung
0
Vollständiger Bereich (0-255).
1
Begrenzter Bereich (16-235).

YCbCr_Matrix

Gibt die YCbCr-Übertragungsmatrix an. Der Standardwert ist 0 (BT.601).

Wert Bedeutung
0
ITU-R BT.601.
1
ITU-R BT.709.

YCbCr_xvYCC

Gibt an, ob der Eingabedatenstrom konventionelles YCbCr oder erweitertes YCbCr (xvYCC) verwendet. Der Standardwert für den Zustand ist 0 (herkömmlicher YCbCr).

Wert Bedeutung
0
Konventioneller YCbCr.
1
Erweiterter YCbCr (xvYCC).

Reserved

Value

Hinweise

Der RGB_Range-Member gilt für RGB-Eingaben, während die YCbCr_Matrix - und YCbCr_xvYCC-Member für yuv-Eingaben (YCbCr) gelten.

In einigen Situationen kann das Gerät eine Zwischenfarbkonvertierung für den Eingabedatenstrom durchführen. Wenn ja, werden die Flags verwendet, die für beide Farbräume gelten. Angenommen, das Gerät konvertiert von RGB in YCbCr. Wenn das RGB_Range-Member 0 und der YCbCr_Matrix Member 1 ist, konvertiert das Gerät von RGB-Vollbereich in BT.709 YCbCr.

Wenn das Gerät xvYCC unterstützt, wird das DXVAHD_DEVICE_CAPS_xvYCC-Funktionsflag im DeviceCaps-Member der DXVAHD_VPDEVCAPS-Struktur zurückgegeben. Andernfalls ignoriert das Gerät den Wert von YCbCr_xvYCC und behandelt alle YCbCr-Eingaben wie herkömmliche YCbCr. Rufen Sie zum Abrufen der Funktionen des Geräts IDXVAHD_Device::GetVideoProcessorDeviceCaps auf.

Beispiele

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;
}

Anforderungen

Anforderung Wert
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

DXVA-HD

DXVAHD_STREAM_STATE

Direct3D-Videostrukturen

IDXVAHD_VideoProcessor::SetVideoProcessStreamState

Media Foundation-Strukturen