Bagikan melalui


Metode IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids (dxva2api.h)

Mendapatkan array GUID yang mengidentifikasi prosesor video yang didukung oleh perangkat keras grafis.

Sintaks

HRESULT GetVideoProcessorDeviceGuids(
  [in]  const DXVA2_VideoDesc *pVideoDesc,
  [out] UINT                  *pCount,
  [out] GUID                  **pGuids
);

Parameter

[in] pVideoDesc

Arahkan ke struktur DXVA2_VideoDesc yang menjelaskan konten video.

[out] pCount

Menerima jumlah GUID.

[out] pGuids

Menerima array GUID. Ukuran array diambil dalam parameter pCount . Metode mengalokasikan memori untuk array. Pemanggil harus membebaskan memori dengan memanggil CoTaskMemFree.

Menampilkan nilai

Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

GUID prosesor video berikut telah ditentukan sebelumnya.

GUID Deskripsi
DXVA2_VideoProcBobDevice Perangkat deinterlace Bob. Perangkat ini menggunakan algoritma "bob" untuk mendesinterlace video. Algoritma Bob membuat baris bidang yang hilang dengan menginterpolasi garis dalam satu bidang.
DXVA2_VideoProcProgressiveDevice Perangkat video progresif. Perangkat ini tersedia untuk video progresif, yang tidak memerlukan algoritma deinterlace.
DXVA2_VideoProcSoftwareDevice Perangkat referensi (perangkat lunak).
 

Perangkat grafis dapat menentukan GUID khusus vendor tambahan. Driver menyediakan daftar GUID dalam urutan kualitas turun. Mode dengan kualitas tertinggi adalah yang pertama dalam daftar. Untuk mendapatkan kemampuan setiap mode, panggil IDirectXVideoProcessorService::GetVideoProcessorCaps dan berikan GUID untuk mode tersebut.

Contoh


    // Initialize the video descriptor.

    g_VideoDesc.SampleWidth                         = VIDEO_MAIN_WIDTH;
    g_VideoDesc.SampleHeight                        = VIDEO_MAIN_HEIGHT;
    g_VideoDesc.SampleFormat.VideoChromaSubsampling = DXVA2_VideoChromaSubsampling_MPEG2;
    g_VideoDesc.SampleFormat.NominalRange           = DXVA2_NominalRange_16_235;
    g_VideoDesc.SampleFormat.VideoTransferMatrix    = EX_COLOR_INFO[g_ExColorInfo][0];
    g_VideoDesc.SampleFormat.VideoLighting          = DXVA2_VideoLighting_dim;
    g_VideoDesc.SampleFormat.VideoPrimaries         = DXVA2_VideoPrimaries_BT709;
    g_VideoDesc.SampleFormat.VideoTransferFunction  = DXVA2_VideoTransFunc_709;
    g_VideoDesc.SampleFormat.SampleFormat           = DXVA2_SampleProgressiveFrame;
    g_VideoDesc.Format                              = VIDEO_MAIN_FORMAT;
    g_VideoDesc.InputSampleFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.InputSampleFreq.Denominator         = 1;
    g_VideoDesc.OutputFrameFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.OutputFrameFreq.Denominator         = 1;

    // Query the video processor GUID.

    UINT count;
    GUID* guids = NULL;

    hr = g_pDXVAVPS->GetVideoProcessorDeviceGuids(&g_VideoDesc, &count, &guids);

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header dxva2api.h

Lihat juga

Pemrosesan Video DXVA

IDirectXVideoProcessorService