struktur DXVAHD_STREAM_DATA (dxvahd.h)
Berisi data per aliran untuk metode IDXVAHD_VideoProcessor::VideoProcessBltHD .
Sintaks
typedef struct _DXVAHD_STREAM_DATA {
BOOL Enable;
UINT OutputIndex;
UINT InputFrameOrField;
UINT PastFrames;
UINT FutureFrames;
IDirect3DSurface9 **ppPastSurfaces;
IDirect3DSurface9 *pInputSurface;
IDirect3DSurface9 **ppFutureSurfaces;
} DXVAHD_STREAM_DATA;
Anggota
Enable
Menentukan apakah aliran input ini diaktifkan. Jika nilainya TRUE, metode VideoProcessBltHD memadukan aliran ini ke permukaan output. Jika tidak, aliran tidak di-blit. Jumlah maksimum aliran yang dapat diaktifkan pada satu waktu diberikan di anggota MaxInputStreams dari struktur DXVAHD_VPDEVCAPS .
OutputIndex
Nomor indeks berbasis nol dari bingkai output. Lihat Keterangan.
InputFrameOrField
Nomor indeks berbasis nol dari bingkai atau bidang input. Lihat Keterangan.
PastFrames
Jumlah bingkai referensi sebelumnya. Nilai ini harus kurang dari atau sama dengan nilai anggota PastFrames dari struktur DXVAHD_VPCAPS .
FutureFrames
Jumlah bingkai referensi di masa mendatang. Nilai ini harus kurang dari atau sama dengan nilai anggota FutureFrames dari struktur DXVAHD_VPCAPS .
ppPastSurfaces
Penunjuk ke array penunjuk IDirect3DSurface9 , yang dialokasikan oleh pemanggil. Array ini berisi bingkai referensi sebelumnya untuk operasi pemrosesan video. Jumlah elemen dalam array sama dengan nilai anggota PastFrames .
pInputSurface
Penunjuk ke antarmuka IDirect3DSurface9 dari permukaan Microsoft Direct3D yang berisi bingkai input saat ini.
ppFutureSurfaces
Penunjuk ke array penunjuk IDirect3DSurface9 , yang dialokasikan oleh pemanggil. Array ini berisi bingkai referensi di masa mendatang untuk operasi pemrosesan video. Jumlah elemen dalam array sama dengan nilai anggota FutureFrames .
Keterangan
Permukaan Input
Permukaan Direct3D harus dialokasikan di kumpulan memori yang ditentukan oleh anggota InputPool dari struktur DXVAHD_VPDEVCAPS . Jenis permukaan berikut dapat digunakan:- Permukaan video jenis DXVAHD_SURFACE_TYPE_VIDEO_INPUT atau DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE. Lihat IDXVAHD_Device::CreateVideoSurface.
- Permukaan jenis target render decoder DXVA2_VideoDecoderRenderTarget. Lihat IDirectXVideoAccelerationService::CreateSurface.
- Permukaan polos di luar layar.
- ppPastSurfaces: { ..., T-3, T-2, T-1 }
- ppInputSurface: T
- ppFutureSurfaces: { T+1, T+2, T+3, ... }
- Di awal atau akhir urutan video
- Dengan input progresif
- Selama transisi antara input progresif dan interlaced
- Untuk sub-aliran yang tidak memerlukan kualitas deinterlacing tinggi
- Saat menjatuhkan bingkai
Indeks Input dan Output
Anggota OutputIndex dan InputFrameOrField digunakan untuk menghubungkan bingkai input atau bidang dengan bingkai output. Nilai anggota OutputIndex adalah siklik dan diatur ulang ke nol setelah setiap siklus.Berikut adalah beberapa contoh pola:
- Video progresif pada tingkat normal. Setiap bingkai input menghasilkan satu bingkai output.
- Indeks output: 0, 0, 0, 0, ...
- Indeks input: 0, 1, 2, 3, ...
- Video terjalin pada tingkat normal. Setiap bingkai yang terjalin (dua bidang) menghasilkan dua bingkai output.
- Indeks output: 0, 1, 0, 1, ...
- Indeks input: 0, 1, 2, 3, ...
- Video progresif pada laju output 2/1. Setiap bingkai input menghasilkan satu bingkai output.
- Indeks output: 0, 1, 0, 1, ...
- Indeks input: 0, 1, 2, 3, ...
- Video terjalin pada laju output 1/2. Setiap bingkai yang terjalin menghasilkan satu bingkai output. (Dua bidang dipadukan untuk membuat satu bingkai.)
- Indeks output: 0, 0, 0, 0, ...
- Indeks input: 0, 2, 4, 6, ...
Persyaratan
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Header | dxvahd.h |