Metode IDirectXVideoProcessor::VideoProcessBlt (dxva2api.h)

Melakukan operasi proses video pada satu atau beberapa sampel input dan menulis hasilnya ke permukaan Direct3D9.

Sintaks

HRESULT VideoProcessBlt(
  [in]  IDirect3DSurface9                 *pRenderTarget,
  [in]  const DXVA2_VideoProcessBltParams *pBltParams,
  [in]  const DXVA2_VideoSample           *pSamples,
  [in]  UINT                              NumSamples,
  [out] HANDLE                            *pHandleComplete
);

Parameter

[in] pRenderTarget

Penunjuk ke antarmuka IDirect3DSurface9 dari permukaan Direct3D. Output dari operasi pemrosesan video akan ditulis ke permukaan ini. Permukaan mungkin salah satu dari jenis berikut:

  • Permukaan yang dibuat dengan memanggil IDirectXVideoAccelerationService::CreateSurface dengan bendera DXVA2_VideoProcessRenderTarget . Anda juga dapat menggunakan bendera DXVA2_VideoSoftwareRenderTarget , tetapi hanya ketika GUID perangkat DXVA2_VideoProcSoftwareDevice (perangkat pemrosesan video perangkat lunak).
  • Permukaan yang dibuat dari perangkat Direct3D dengan bendera penggunaan D3DUSAGE_RENDERTARGET .
  • Rantai pertukaran Direct3D.

[in] pBltParams

Penunjuk ke struktur DXVA2_VideoProcessBltParams yang menjelaskan operasi pemrosesan video yang akan dilakukan.

[in] pSamples

Penunjuk ke array struktur DXVA2_VideoSample yang berisi sampel input. Harus ada setidaknya satu elemen dalam array.

Jumlah maksimum sampel input diberikan oleh MAX_DEINTERLACE_SURFACES konstanta, yang ditentukan dalam file header dxva2api.h.

[in] NumSamples

Jumlah elemen dalam array pSamples .

[out] pHandleComplete

Dipesan; atur ke NULL.

Mengembalikan nilai

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
D3DERR_DRIVERINTERNALERROR
Kesalahan pengandar internal.
E_INVALIDARG
Argumen tidak valid.

Keterangan

Ketika metode kembali, operasi mungkin tidak selesai.

Jika metode mengembalikan E_INVALIDARG, periksa hal berikut:

  • Jumlah sampel input (NumSamples) harus kurang dari atau sama dengan MAX_DEINTERLACE_SURFACES.
  • Permukaan Direct3D harus menjadi target yang valid untuk VideoProcessBlt. Lihat deskripsi parameter pRT untuk detailnya.
  • Waktu presentasi (TargetFrame) yang diberikan dalam pBltParams harus cocok dengan waktu mulai dan berakhir untuk gambar saat ini dari aliran utama. Secara khusus, harus kurang dari waktu akhir dan lebih besar dari atau sama dengan waktu mulai. Perhatikan bahwa sampel pertama dalam pSamples mungkin bukan gambar saat ini, jika array pSamples berisi gambar referensi mundur. Untuk informasi selengkapnya, lihat Input Urutan Sampel.
  • Persegi panjang target (TargetRect) yang diberikan dalam pBltParams tidak boleh lebih besar dari permukaan tujuan (pRT).
  • Ukuran konstriksi (ConstrictionSize) yang diberikan dalam pBltParams tidak boleh kurang dari nol atau lebih besar dari persegi target.
  • Komponen alfa warna latar belakang harus opqaue.
  • Nilai ProcAmp yang diberikan dalam pBltParams harus valid. Untuk pengaturan ProcAmp apa pun yang didukung oleh driver, nilai-nilai ini harus berada dalam rentang yang dikembalikan oleh metode IDirectXVideoProcessor::GetProcAmpRange .
  • Filter kebisingan dan detail yang diberikan dalam pBltParams harus valid. Untuk filter apa pun yang didukung oleh driver, nilai-nilai ini harus berada dalam rentang yang dikembalikan oleh metode IDirectXVideoProcessor::GetFilterPropertyRange .
  • Nilai alfa yang diberikan dalam pBltParams harus dalam rentang [0...1] inklusif.
  • Untuk setiap sampel input yang diberikan dalam pSamples:
    • Waktu mulai tidak boleh lebih besar dari waktu akhir.
    • Penunjuk IDirect3DSurface9 yang valid harus disediakan.
    • Persegi panjang sumber tidak boleh lebih besar dari permukaan input.
    • Persegi panjang tujuan tidak boleh lebih besar dari permukaan tujuan.
    • Alfa planar harus berada dalam rentang [0...1] inklusif.
  • Untuk semua persegi panjang (sumber, tujuan, dan target), persegi tidak dapat dibalik (kiri > kanan atau atas > bawah) atau memiliki nilai negatif.

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

DXVA2_VideoSample

IDirectXVideoProcessor