Bagikan melalui


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.

Catatan Sebagian besar struktur ini tidak digunakan lagi, dengan pengecualian anggota struktur berikut:
  • guid
  • VideoStandard
  • MinFrameInterval
  • MaxFrameInterval
Aplikasi dapat menggunakan MinFrameInterval dan MaxFrameInterval untuk mendapatkan rentang kecepatan bingkai yang didukung dari perangkat pengambilan video. Aplikasi harus menghindari penggunaan salah satu anggota lain dari struktur ini. Sebagai gantinya, gunakan struktur AM_MEDIA_TYPE yang dikembalikan oleh metode IAMStreamConfig::GetFormat .
 

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.

Catatan Usang.
 

MinCroppingSize

Persegi panjang sumber terkecil diperbolehkan. Persegi panjang sumber didefinisikan dalam anggota rcSource dari struktur VIDEOINFOHEADER atau VIDEOINFOHEADER2 .

Catatan Usang.
 

MaxCroppingSize

Persegi panjang sumber terbesar diperbolehkan.

Catatan Usang.
 

CropGranularityX

Granularitas horizontal persegi panjang sumber. Nilai ini menentukan kenaikan yang valid antara MinCroppingSize dan MaxCroppingSize.

Catatan Usang.
 

CropGranularityY

Granularitas vertikal persegi panjang sumber. Nilai ini menentukan kenaikan yang valid antara MinCroppingSize dan MaxCroppingSize.

Catatan Usang.
 

CropAlignX

Perataan horizontal persegi panjang sumber yang diperlukan.

Catatan Usang.
 

CropAlignY

Perataan vertikal persegi panjang sumber yang diperlukan.

Catatan Usang.
 

MinOutputSize

Ukuran output minimum.

Catatan Usang.
 

MaxOutputSize

Ukuran output maksimum.

Catatan Usang.
 

OutputGranularityX

Granularitas lebar output. Nilai ini menentukan kenaikan yang valid antara MinOutputSize dan MaxOutputSize.

Catatan Usang.
 

OutputGranularityY

Granularitas tinggi output. Nilai ini menentukan kenaikan yang valid antara MinOutputSize dan MaxOutputSize.

Catatan Usang.
 

StretchTapsX

Menunjukkan seberapa baik filter dapat meregangkan gambar secara horizontal.

Catatan Usang.
 

StretchTapsY

Menunjukkan seberapa baik filter dapat meregangkan gambar secara vertikal.

Catatan Usang.
 

ShrinkTapsX

Menunjukkan seberapa baik filter dapat menyusutkan gambar secara horizontal.

Catatan Usang.
 

ShrinkTapsY

Menunjukkan seberapa baik filter dapat menyusutkan gambar secara vertikal.

Catatan Usang.
 
Empat anggota struktur sebelumnya menggunakan nilai berikut:
Nilai Makna
0
Tidak mendukung peregangan/penyusutan.
1
Menggunakan penggambaran piksel (peregangan) atau menghilangkan piksel (menyusut)
2
Menggunakan interpolasi (2 ketukan)
3 dan yang lebih tinggi
Menggunakan interpolasi (>2 ketukan)

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.

Catatan Usang.
 

MaxBitsPerSecond

Tingkat data maksimum yang dapat dihasilkan pin ini.

Catatan Usang.
 

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
Angka-angka ini menentukan set persegi panjang yang valid untuk anggota rcSource dari struktur VIDEOINFOHEADER atau VIDEOINFOHEADER2 . Dalam contoh ini, persegi panjang sumber minimum adalah lebar 160 piksel x 120 piksel tinggi. Lebar dapat ditingkatkan dalam langkah 4 piksel, hingga maksimum 320. Tinggi dapat ditingkatkan dalam langkah 8 piksel, hingga maksimum 240. Dengan kata lain, lebar yang valid adalah 160, 164, 168 ... 320; dan tinggi yang valid adalah 120, 128, 136 ... 240.

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)
Dengan cara yang sama, anggota MinOutputSize, MaxOutputSize, OutputGranularityX, dan OutputGranularityY menentukan nilai apa yang didukung untuk anggota biWidth dan biHeight dari struktur BITMAPINFOHEADER .

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)

Lihat juga

Struktur DirectShow