Dekoder Video H.264
Media Foundation H.264 video decoder adalah Media Foundation Transform yang mendukung decoding profil Baseline, Main, dan High, hingga level 5.1.
Dekoder video H.264 mengekspos antarmuka berikut.
- ICodecAPI (didukung di Windows 8)
- IMFGetService
- IMFQualityAdvise
- IMFQualityAdvise2
- IMFRateControl
- IMFRateSupport
- IMFRealTimeClient
- IMFTransform
Untuk membuat instans dekoder, lakukan salah satu hal berikut:
- Panggil fungsi MFTEnum atau MFTEnumEx .
- Panggil CoCreateInstance. CLSID untuk dekoder CLSID_CMSH264DecoderMFT, dinyatakan dalam wmcodecdsp.h.
Jenis Input
Jenis input harus berisi setidaknya dua atribut berikut:
Atribut | Deskripsi |
---|---|
MF_MT_MAJOR_TYPE | MFMediaType_Video |
MF_MT_SUBTYPE | MFVideoFormat_H264 atau MFVideoFormat_H264_ES |
Jika jenis input hanya berisi kedua atribut ini, dekoder akan menawarkan jenis output default, yang bertindak sebagai tempat penampung. Ketika dekoder menerima sampel input yang cukup untuk menghasilkan bingkai output, decoder memberi sinyal perubahan format dengan mengembalikan MF_E_TRANSFORM_STREAM_CHANGE dari IMFTransform::P rocessOutput. Lihat dokumentasi ProcessOutput untuk detail tentang menangani perubahan format.
Untuk menghindari perubahan format awal, berikan informasi sebanyak mungkin dalam jenis input, termasuk:
Atribut | Deskripsi |
---|---|
MF_MT_FRAME_RATE | Kecepatan bingkai. |
MF_MT_FRAME_SIZE | Dimensi bingkai. |
MF_MT_INTERLACE_MODE | Mode interlace.
Catatan: Dalam video H.264, struktur interlace dapat berubah secara dinamis, sehingga nilai yang direkomendasikan dari atribut ini MFVideoInterlace_MixedInterlaceOrProgressive. Informasi interlace dalam aliran dasar video lebih diutamakan daripada jenis media. Untuk informasi selengkapnya, lihat Interlacing Video. |
MF_MT_PIXEL_ASPECT_RATIO | Rasio aspek piksel. |
Jenis input harus diatur sebelum jenis output. Hingga jenis input diatur, metode IMFTransform::SetOutputType encoder mengembalikan MF_E_TRANSFORM_TYPE_NOT_SET.
Jenis output
Dekoder mendukung subjenis output berikut:
- MFVideoFormat_I420
- MFVideoFormat_IYUV
- MFVideoFormat_NV12
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
Untuk informasi selengkapnya tentang subjenis ini, lihat GUID Subjenis Video.
Mengubah Atribut
Dekoder H.264 mengimplementasikan metode IMFTransform::GetAttributes . Aplikasi dapat menggunakan metode ini untuk mendapatkan atau mengatur atribut berikut.
Atribut | Deskripsi |
---|---|
CODECAPI_AVDecVideoAcceleration_H264 | Mengaktifkan atau menonaktifkan akselerasi piranti keras. |
CODECAPI_AVDecVideoThumbnailGenerationMode | Mengaktifkan atau menonaktifkan mode pembuatan gambar mini. |
MF_SA_D3D_AWARE | Menunjukkan bahwa dekoder mendukung DirectX Video Acceleration (DXVA). Perlakukan sebagai baca-saja. |
Di Windows 8, dekoder H.264 juga mendukung atribut berikut.
Atribut | Deskripsi |
---|---|
CODECAPI_AVLowLatencyMode | Mengaktifkan atau menonaktifkan mode pendekodean latensi rendah. |
CODECAPI_AVDecNumWorkerThreads | Mengatur jumlah utas pekerja yang digunakan oleh dekoder. |
CODECAPI_AVDecVideoMaxCodedWidth | Menyetel lebar gambar maksimum yang akan diterima dekoder sebagai tipe input. |
CODECAPI_AVDecVideoMaxCodedHeight | Mengatur tinggi gambar maksimum yang akan diterima dekoder sebagai jenis input. |
MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT | Menentukan jumlah maksimum sampel output. |
MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER | Menentukan apakah dekoder mengekspos jenis output IYUV/I420 (cocok untuk transcoding) sebelum format lain. |
Di Windows 8, dekoder H.264 mendukung antarmuka ICodecAPI . Antarmuka ini menyediakan API alternatif untuk mengatur properti codec berikut.
- CODECAPI_AVDecVideoMaxCodedWidth
- CODECAPI_AVDecVideoAcceleration_H264
- CODECAPI_AVDecVideoMaxCodedHeight
- CODECAPI_AVDecVideoMaxCodedWidth
- CODECAPI_AVDecVideoThumbnailGenerationMode
Batasan Format
Dekoder mendukung format berikut:
Pengaturan | Format |
---|---|
Profil/Tingkat | Profil Garis Besar, Utama, dan Tinggi, hingga tingkat 5.1. (Lihat spesifikasi ITU-T H.264 untuk detailnya.) |
Format Chroma | 4:2:0 klorma atau monokrom |
Resolusi Minimum | 48 × 48 piksel |
Resolusi Maksimum | 4096 × 2304 piksel Resolusi maksimum yang dijamin untuk akselerasi DXVA adalah 1920 × 1088 piksel; pada resolusi yang lebih tinggi, pendekodean dilakukan dengan DXVA, jika didukung oleh perangkat keras yang mendasar, jika tidak, pendekodean dilakukan dengan perangkat lunak. Catatan: Di Windows 7, resolusi maksimum yang didukung adalah 1920 × 1088 piksel untuk perangkat lunak dan dekode DXVA. |
DXVA | Decoder mendukung DXVA versi 2, tetapi bukan DXVA versi 1. Dekode DXVA hanya didukung untuk Bitstream profil Utama, Utama, dan Tinggi yang kompatibel. (Bitstream Garis Besar yang kompatibel utama didefinisikan sebagai profile_idc=66 dan constrained_set1_flag=1.) |
Data input harus sesuai dengan Lampiran B ISO/IEC 14496-10. Data harus menyertakan kode mulai. Decoder melompati byte hingga menemukan kumpulan parameter urutan (SPS) dan set parameter gambar (PPS) yang valid di aliran byte.
Decoder tidak mendukung teknologi Film Grain.
Catatan
Versi sebelumnya dari dokumentasi salah menyatakan bahwa dekoder didukung pada Windows Server 2008 R2.
Jika Pelengkap Pembaruan Platform untuk Windows Vista diinstal, dekoder video H.264 tersedia di Windows Vista, tetapi dapat diakses di Windows Vista hanya dengan menggunakan Pembaca Sumber.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung |
Tidak ada yang didukung |
DLL |
|
Lihat juga