Bagikan melalui


MFT Prosesor Video

MFT prosesor video adalah transformasi Microsoft Media Foundation (MFT) yang melakukan konversi colorspace, pengubahan ukuran video, deinterlacing, konversi kecepatan bingkai, rotasi, pemotongan, pembongkaran tampilan spasial kiri dan kanan, dan pencerminan.

CLSID

CLSID_VideoProcessorMFT

Antarmuka

Format Input

  • MFVideoFormat_ARGB32
  • MFVideoFormat_AYUV
  • MFVideoFormat_I420
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV11
  • MFVideoFormat_NV12
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB565
  • MFVideoFormat_RGB8
  • MFVideoFormat_UYVY
  • MFVideoFormat_v410
  • MFVideoFormat_Y216
  • MFVideoFormat_Y41P
  • MFVideoFormat_Y41T
  • MFVideoFormat_Y42T
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12
  • MFVideoFormat_YVYU

Format Output

  • MFVideoFormat_ARGB32
  • MFVideoFormat_AYUV
  • MFVideoFormat_I420
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB565
  • MFVideoFormat_UYVY
  • MFVideoFormat_Y216
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

Tidak setiap kombinasi format input dan output didukung. Untuk menguji apakah konversi didukung, atur jenis input lalu panggil IMFTransform::GetOutputAvailableType.

Untuk informasi selengkapnya tentang format ini, lihat GUID Subjenis Video.

Keterangan

Instans prosesor video dapat dibuat dengan salah satu cara berikut:

  • Dengan memanggil MFTEnumEx. Prosesor video terdaftar di bawah kategori MFT_CATEGORY_VIDEO_PROCESSOR .
  • Dengan memanggil fungsi COM CoCreateInstance meneruskannya CLSID_VideoProcessorMFT CLSID.

Keterangan berikut berkaitan dengan bekerja dengan persegi panjang sumber dan persegi panjang tujuan di MFT Prosesor Video. Persegi panjang sumber dan tujuan diatur dengan IMFVideoProcessorControl::SetDestinationRectangle dan SetSourceRectangle dan terkadang dengan IMFMediaEngineEx::UpdateVideoStream.

  • Persegi panjang sumber harus diratakan dan dibulatkan agar sesuai dengan persyaratan format warna bingkai yang dimasukkan ke prosesor video. Ini penting karena format seperti 420 dan 422 memiliki persyaratan tentang dimensi dan offset yang dapat dibuat dan diakses. Misalnya, persegi panjang sumber {1, 0, 319, 240} (kiri, atas, kanan, bawah) akan dibulatkan ke {2, 0, 320, 240} saat format input adalah 420.
  • Persegi panjang tujuan dan sumber akan selalu dijepit agar pas di dalam bingkai masing-masing—persegi panjang sumber ke bingkai sumber dan persegi panjang tujuan ke bingkai tujuan. Ini berarti bahwa nilai negatif tidak bermakna—nilai tersebut akan selalu dijepit menjadi 0.
  • Persegi panjang sumber berada dalam sistem koordinat bingkai tujuan, dikurangi persegi panjang tujuan apa pun. Ini berarti bahwa transformasi seperti rotasi "dibatalkan" pada persegi panjang sumber. Oleh karena itu, Anda tidak perlu tahu apakah video diputar atau 3D dibongkah. Misalnya, Anda dapat menggambar persegi panjang di atas tag video, mengambil koordinat relatif (relatif terhadap tag video), menormalkannya (rentang 0 hingga 1) dan meneruskannya sebagai persegi panjang sumber dan mereka harus berfungsi seperti yang diharapkan, bahkan jika video sedang diputar.

Prosesor video mendukung pemrosesan video yang dipercepat GPU, menggunakan Microsoft Direct3D 11. Untuk informasi selengkapnya, lihat MF_SA_D3D11_AWARE.

Video Stereoskopis

Prosesor video mendukung operasi pembukaan tampilan pada bingkai video 3D:

Jika bingkai input berisi dua tampilan yang dikemas dalam bingkai yang sama, prosesor video dapat membagi tampilan menjadi buffer terpisah, atau mengekstrak tampilan dasar dan membuang tampilan kedua. Untuk mengaktifkan pembukaan tampilan, atur atribut MF_ENABLE_3DVIDEO_OUTPUT ke MF3DVideoOutputType_Stereo atau MF3DVideoOutputType_BaseView.

Persyaratan

Persyaratan Value
Header
Kamera uicontrol.h

Baca juga

Prosesor Sinyal Digital