struktur VIDEO_STREAM_CONFIG_CAPS (strmif.h)
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Struktur VIDEO_STREAM_CONFIG_CAPS menjelaskan berbagai format video. Filter kompresi video dan pengambilan video menggunakan struktur ini untuk menjelaskan format apa yang dapat mereka hasilkan.
- guid
- VideoStandard
- MinFrameInterval
- MaxFrameInterval
Sintaks
typedef struct _VIDEO_STREAM_CONFIG_CAPS {
GUID guid;
ULONG VideoStandard;
SIZE InputSize;
SIZE MinCroppingSize;
SIZE MaxCroppingSize;
int CropGranularityX;
int CropGranularityY;
int CropAlignX;
int CropAlignY;
SIZE MinOutputSize;
SIZE MaxOutputSize;
int OutputGranularityX;
int OutputGranularityY;
int StretchTapsX;
int StretchTapsY;
int ShrinkTapsX;
int ShrinkTapsY;
LONGLONG MinFrameInterval;
LONGLONG MaxFrameInterval;
LONG MinBitsPerSecond;
LONG MaxBitsPerSecond;
} VIDEO_STREAM_CONFIG_CAPS;
Anggota
guid
GUID yang mengidentifikasi jenis format. Misalnya, FORMAT_VideoInfo atau FORMAT_VideoInfo2. Untuk informasi selengkapnya, lihat anggota formattype struktur AM_MEDIA_TYPE .
VideoStandard
Standar video analog didukung. Nilainya adalah kombinasi bendera bitwise dari jenis enumerasi AnalogVideoStandard , atau nol.
InputSize
Ukuran asli sinyal video masuk. Untuk kompresor, ukuran diambil dari pin input. Untuk filter pengambilan, ukurannya adalah sinyal terbesar yang dapat didigitalisasi filter dengan setiap piksel tetap unik.
MinCroppingSize
Persegi panjang sumber terkecil diperbolehkan. Persegi panjang sumber didefinisikan dalam anggota rcSource dari struktur VIDEOINFOHEADER atau VIDEOINFOHEADER2 .
MaxCroppingSize
Persegi panjang sumber terbesar diperbolehkan.
CropGranularityX
Granularitas horizontal persegi panjang sumber. Nilai ini menentukan kenaikan yang valid antara MinCroppingSize dan MaxCroppingSize.
CropGranularityY
Granularitas vertikal persegi panjang sumber. Nilai ini menentukan kenaikan yang valid antara MinCroppingSize dan MaxCroppingSize.
CropAlignX
Perataan horizontal persegi panjang sumber yang diperlukan.
CropAlignY
Perataan vertikal persegi panjang sumber yang diperlukan.
MinOutputSize
Ukuran output minimum.
MaxOutputSize
Ukuran output maksimum.
OutputGranularityX
Granularitas lebar output. Nilai ini menentukan kenaikan yang valid antara MinOutputSize dan MaxOutputSize.
OutputGranularityY
Granularitas tinggi output. Nilai ini menentukan kenaikan yang valid antara MinOutputSize dan MaxOutputSize.
StretchTapsX
Menunjukkan seberapa baik filter dapat meregangkan gambar secara horizontal.
StretchTapsY
Menunjukkan seberapa baik filter dapat meregangkan gambar secara vertikal.
ShrinkTapsX
Menunjukkan seberapa baik filter dapat menyusutkan gambar secara horizontal.
ShrinkTapsY
Menunjukkan seberapa baik filter dapat menyusutkan gambar secara vertikal.
MinFrameInterval
Durasi bingkai minimum, dalam 100 unit nanodetik. Nilai ini hanya berlaku untuk mengambil filter.
MaxFrameInterval
Durasi bingkai maksimum, dalam 100 unit nanodetik. Nilai ini hanya berlaku untuk mengambil filter.
MinBitsPerSecond
Tingkat data minimum yang dapat dihasilkan pin ini.
MaxBitsPerSecond
Tingkat data maksimum yang dapat dihasilkan pin ini.
Keterangan
Metode IAMStreamConfig::GetStreamCaps mengembalikan struktur ini. Aplikasi dapat menggunakan informasi ini untuk mengubah format output pada filter kompresi video atau filter pengambilan video.
Misalnya, asumsikan bahwa filter mengembalikan nilai berikut untuk persegi panjang sumber:
- MinCroppingSize = (160, 120)
- MaxCroppingSize = (320, 240)
- CropGranularityX = 4
- CropGranularityY = 8
- CropAlignX = 2
- CropAlignY = 4
Anggota CropAlignX dan CropAlignY menentukan di mana sudut kiri atas persegi panjang sumber dapat berada. Misalnya, persegi panjang berikut valid, mengingat nilai sebelumnya:
- (0, 0, 160, 120)
- (2, 0, 162, 120)
- (2, 8, 162, 128)
Untuk filter pengambilan, anggota MinFrameInterval dan MaxFrameInterval menentukan durasi minimum dan maksimum setiap bingkai, seperti yang diberikan dalam anggota AvgTimePerFrame dari struktur VIDEOINFOHEADER atau VIDEOINFOHEADER2 . Filter mungkin tidak mendukung setiap kecepatan bingkai yang berada di antara kedua nilai ini. Metode IAMStreamConfig::SetFormat akan mengatur kecepatan bingkai ke nilai terdekat yang didukung filter. Jika SetFormat berhasil, panggil IAMStreamConfig::GetFormat untuk menentukan kecepatan bingkai aktual.
Persyaratan
Header | strmif.h (termasuk Dshow.h) |