Bagikan melalui


struktur DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA (dxvahd.h)

Menentukan ruang warna untuk aliran input Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

Sintaks

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;

Anggota

Type

Menentukan apakah aliran input berisi video atau grafik. Perangkat dapat mengoptimalkan pemrosesan berdasarkan jenisnya. Nilai status default adalah 0 (video).

Nilai Makna
0
Video.
1
Grafis.

RGB_Range

Menentukan rentang warna RGB. Nilai status default adalah 0 (rentang penuh).

Nilai Makna
0
Rentang penuh (0-255).
1
Rentang terbatas (16-235).

YCbCr_Matrix

Menentukan matriks transfer YCbCr. Nilai status default adalah 0 (BT.601).

Nilai Makna
0
ITU-R BT.601.
1
ITU-R BT.709.

YCbCr_xvYCC

Menentukan apakah aliran input menggunakan YCbCr konvensional atau YCbCr (xvYCC) yang diperluas. Nilai status default adalah 0 (YCbCr konvensional).

Nilai Makna
0
YCbCr Konvensional.
1
Extended YCbCr (xvYCC).

Reserved

Value

Keterangan

Anggota RGB_Range berlaku untuk input RGB, sementara anggota YCbCr_Matrix dan YCbCr_xvYCC berlaku untuk input YCbCr (YUV).

Dalam beberapa situasi, perangkat mungkin melakukan konversi warna perantara pada aliran input. Jika demikian, ia menggunakan bendera yang berlaku untuk kedua spasi warna. Misalnya, perangkat mengonversi dari RGB ke YCbCr. Jika anggota RGB_Range adalah 0 dan anggota YCbCr_Matrix adalah 1, perangkat akan mengonversi dari RGB rentang penuh ke BT.709 YCbCr.

Jika perangkat mendukung xvYCC, perangkat mengembalikan bendera kemampuan DXVAHD_DEVICE_CAPS_xvYCC di anggota DeviceCaps dari struktur DXVAHD_VPDEVCAPS . Jika tidak, perangkat mengabaikan nilai YCbCr_xvYCC dan memperlakukan semua input YCbCr sebagai YCbCr konvensional. Untuk mendapatkan kemampuan perangkat, panggil IDXVAHD_Device::GetVideoProcessorDeviceCaps.

Contoh

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Header dxvahd.h

Lihat juga

DXVA-HD

DXVAHD_STREAM_STATE

Struktur Video Direct3D

IDXVAHD_VideoProcessor::SetVideoProcessStreamState

Struktur Media Foundation