GUID Subjenis Video

GUID subjenis video berikut didefinisikan dalam file header mfapi.h. Untuk menentukan subjenis, atur atribut MF_MT_SUBTYPE pada jenis media.

Saat subjenis ini digunakan, atur atribut MF_MT_MAJOR_TYPE ke MFMediaType_Video.

Format RGB Yang Tidak Dikompresi

GUID Deskripsi
MFVideoFormat_RGB8 RGB, 8 bit per piksel (bpp). (Tata letak memori yang sama dengan D3DFMT_P8.)
MFVideoFormat_RGB555 RGB 555, 16 bpp. (Tata letak memori yang sama dengan D3DFMT_X1R5G5B5.)
MFVideoFormat_RGB565 RGB 565, 16 bpp. (Tata letak memori yang sama dengan D3DFMT_R5G6B5.)
MFVideoFormat_RGB24 RGB, 24 bpp.
MFVideoFormat_RGB32 RGB, 32 bpp.
MFVideoFormat_ARGB32 RGB, 32 bpp dengan saluran alpha.
MFVideoFormat_A2R10G10B10 RGB, 10 bpp untuk setiap warna dan 2 bpp untuk alpha. (Tata letak memori yang sama dengan D3DFMT_A2B10G10R10)
MFVideoFormat_A16B16G16R16F RGB, 16 bpp dengan saluran alpha. (Tata letak memori yang sama dengan D3DFMT_A16B16G16R16F)

 

Catatan

Subjenis ini tidak cocok dengan GUID subjenis RGB yang digunakan dalam SDK sebelumnya, seperti DirectShow.

 

Format YUV: 8-Bit dan Palettized

GUID Format Pengambilan sampel Dikemas atau planar Bit per saluran
MFVideoFormat_AI44 AI44 4:4:4 Packed Di-palettisasi
MFVideoFormat_AYUV AYUV 4:4:4 Packed 8
MFVideoFormat_I420 I420 4:2:0 Planar 8
MFVideoFormat_IYUV IYUV 4:2:0 Planar 8
MFVideoFormat_NV11 NV11 4:1:1 Planar 8
MFVideoFormat_NV12 NV12 4:2:0 Planar 8
MFVideoFormat_NV21 NV21 4:2:0 Planar 8
MFVideoFormat_UYVY UYVY 4:2:2 Packed 8
MFVideoFormat_Y41P Y41P 4:1:1 Packed 8
MFVideoFormat_Y41T Y41T 4:1:1 Packed 8
MFVideoFormat_Y42T Y42T 4:2:2 Packed 8
MFVideoFormat_YUY2 YUY2 4:2:2 Packed 8
MFVideoFormat_YVU9 YVU9 8:4:4 Planar 9
MFVideoFormat_YV12 YV12 4:2:0 Planar 8
MFVideoFormat_YVYU YVYU 4:2:2 Packed 8

 

Format YUV yang direkomendasikan dijelaskan secara rinci dalam topik Format YUV 8-Bit yang Direkomendasikan untuk Rendering Video.

Catatan

I420 dan IYUV memiliki tata letak yang sama dalam memori, tetapi diberi GUID subjenis yang berbeda. Subjenis GUID sesuai dengan kode FOURCC 'I420' dan 'IYUV'; lihat Video FOURCC untuk informasi selengkapnya.

 

Format YUV: 10-Bit dan 16-Bit

GUID Format Pengambilan sampel Dikemas atau planar Bit per saluran
MFVideoFormat_P010 P010 4:2:0 Planar 10
MFVideoFormat_P016 P016 4:2:0 Planar 16
MFVideoFormat_P210 P210 4:2:2 Planar 10
MFVideoFormat_P216 P216 4:2:2 Planar 16
MFVideoFormat_v210 v210 4:2:2 Packed 10
MFVideoFormat_v216 v216 4:2:2 Packed 16
MFVideoFormat_v410 v40 4:4:4 Packed 10
MFVideoFormat_Y210 Y210 4:2:2 Packed 10
MFVideoFormat_Y216 Y216 4:2:2 Packed 16
MFVideoFormat_Y410 Y40 4:4:4 Packed 10
MFVideoFormat_Y416 Y416 4:4:4 Packed 16

 

Untuk informasi selengkapnya tentang format ini, lihat Format Video YUV 10-bit dan 16-bit.

Format Luminance dan Kedalaman

GUID Deskripsi
MFVideoFormat_L8 Hanya luminasi 8-bit. (bpp). (Tata letak memori yang sama dengan D3DFMT_L8.)
MFVideoFormat_L16 Hanya luminasi 16-bit. (Tata letak memori yang sama dengan D3DFMT_L16.)
MFVideoFormat_D16 Kedalaman z-buffer 16-bit. (Tata letak memori yang sama dengan D3DFMT_D16.)

 

Tipe Video yang Dikodekan

GUID FOURCC Deskripsi
MFVideoFormat_DV25 'dv25' DVCPRO 25 (525-60 atau 625-50).
MFVideoFormat_DV50 'dv50' DVCPRO 50 (525-60 atau 625-50).
MFVideoFormat_DVC 'dvc ' Video DVC/DV.
MFVideoFormat_DVH1 'dvh1' DVCPRO 100 (1080/60i, 1080/50i, atau 720/60P).
MFVideoFormat_DVHD 'dvhd' HD-DVCR (1125-60 atau 1250-50).
MFVideoFormat_DVSD 'dvsd' SDL-DVCR (525-60 atau 625-50).
MFVideoFormat_DVSL 'dvsl' SD-DVCR (525-60 atau 625-50).
MFVideoFormat_H263 'H263' Video H.263.
MFVideoFormat_H264 'H264' Video H.264.
Sampel media berisi data bitstream H.264 dengan kode mulai dan memiliki SPS/PPS yang saling terkait. Setiap sampel berisi satu gambar lengkap, baik satu bidang atau satu bingkai.
MFVideoFormat_H265 'H265' Video H.265.
MFVideoFormat_H264_ES Tidak berlaku Aliran dasar H.264.
Jenis media ini sama dengan MFVideoFormat_H264, kecuali sampel media berisi bitstream H.264 terfragmentasi. Setiap sampel mungkin berisi sebagian gambar; beberapa gambar lengkap; atau satu atau beberapa gambar lengkap ditambah gambar parsial.
MFVideoFormat_HEVC 'HEVC' Profil Utama HEVC dan profil Gambar Diam Utama.
Setiap sampel berisi satu gambar lengkap.
Didukung di Windows 8.1 dan yang lebih baru. Profil UTAMA HEVC dan aliran elementary profil Gambar Diam Utama.
MFVideoFormat_HEVC_ES 'HEVS' Jenis media ini sama dengan MFVideoFormat_HEVC, kecuali sampel media berisi bitstream HEVC terfragmentasi. Setiap sampel mungkin berisi sebagian gambar; beberapa gambar lengkap; atau satu atau beberapa gambar lengkap ditambah gambar parsial.
Didukung di Windows 8.1 dan yang lebih baru.
MFVideoFormat_M4S2 'M4S2' Video MPEG-4 bagian 2.
MFVideoFormat_MJPG 'MJPG' Gerakan JPEG.
MFVideoFormat_MP43 'MP43' Kodek Microsoft MPEG 4 versi 3. Codec ini tidak lagi didukung.
MFVideoFormat_MP4S 'MP4S' Kodek ISO MPEG 4 versi 1.
MFVideoFormat_MP4V 'MP4V' Video MPEG-4 bagian 2.
MFVideoFormat_MPEG2 Tidak berlaku Video MPEG-2. (Setara dengan MEDIASUBTYPE_MPEG2_VIDEO di DirectShow.)
MFVideoFormat_VP80 'MPG1' Video VP8.
MFVideoFormat_VP90 'MPG1' Video VP9.
MFVideoFormat_MPG1 'MPG1' Video MPEG-1.
MFVideoFormat_MSS1 'MSS1' Kodek Windows Media Screen versi 1.
MFVideoFormat_MSS2 'MSS2' Codec Layar Windows Media Video 9.
MFVideoFormat_WMV1 'WMV1' Codec Windows Media Video versi 7.
MFVideoFormat_WMV2 'WMV2' Codec Windows Media Video 8.
MFVideoFormat_WMV3 'WMV3' Codec Windows Media Video 9.
MFVideoFormat_WVC1 'WVC1' SMPTE 421M ("VC-1").
MFVideoFormat_420O '420O' Video YUV 4:2:0 8-bit per channel planar.
MFVideoFormat_AV1 'AV01' Video AV1.

 

Membuat GuID Subjenis dari NILAI FOURC dan D3DFORMAT

Format video sering diwakili oleh nilai FOURC atau D3DFORMAT . Rentang GUID dicadangkan untuk mewakili nilai-nilai ini sebagai subjenis. GUID ini memiliki formulir XXXXXXXX-0000-0010-8000-00AA00389B71, di mana XXXXXXXX adalah kode FOURCC 4-byte atau nilai D3DFORMAT .

Jika format video memiliki nilai FOURCC atau D3DFORMAT terkait, Anda dapat membuat GUID subjenis yang sesuai sebagai berikut: Mulailah dengan MFVideoFormat_Base konstanta dan ganti DWORD pertama GUID dengan video FOURCC atau nilai D3DFORMAT . Anda dapat menggunakan makro DEFINE_MEDIATYPE_GUID untuk tujuan ini.

Catatan

DirectShow juga menggunakan sistem ini untuk sebagian besar subjenis video, tetapi tidak untuk format RGB yang tidak dikompresi. Oleh karena itu, subjenis RGB di DirectShow tidak cocok dengan subjenis RGB di Media Foundation.

 

Enumerasi D3DFORMAT ditentukan dalam file header d3d9types.h. Tabel berikut ini memperlihatkan format RGB yang tidak dikompresi yang paling umum dan nilai D3DFORMAT terkait.

Format RGB Nilai D3DFORMAT
RGB 32-bit D3DFMT_X8R8G8B8
RGB 32-bit dengan saluran alfa D3DFMT_A8R8G8B8
RGB 24-bit D3DFMT_R8G8B8
RGB 555 (RGB 16-bit) D3DFMT_X1R5G5B5
RGB 555 dengan saluran alfa D3DFMT_A1R5G5B5
RGB 565 (RGB 16-bit) D3DFMT_R5G6B5
RGB palettisasi 8-bit D3DFMT_P8
A2 R10 G10 B10 (RGB 32-bit dengan saluran alfa; 10 bit per saluran RGB) D3DFMT_A2R10G10B10
A2 B10 G10 R10 (RGB 32-bit dengan saluran alfa; 10 bit per saluran RGB) D3DFMT_A2B10G10R10
Hanya luminasi 8-bit. D3DFMT_L8
Hanya luminasi 16-bit. D3DFMT_L16
Kedalaman z-buffer 16-bit D3DFMT_D16

 

Untuk informasi selengkapnya tentang FOURCC, lihat Video FOURCC.

IMFMediaType

GUID Jenis Media

MF_MT_SUBTYPE

Jenis Media

Tipe Media Video