Udostępnij za pośrednictwem


Identyfikatory GUID podtypu wideo

Następujące identyfikatory GUID podtypu wideo są zdefiniowane w pliku nagłówka mfapi.h. Aby określić podtyp, ustaw atrybut MF_MT_SUBTYPE na typ nośnika.

Gdy te podtypy są używane, ustaw atrybut MF_MT_MAJOR_TYPE na wartość MFMediaType_Video.

Nieskompresowane formaty RGB

GUID Opis
MFVideoFormat_RGB8 RGB, 8 bitów na piksel (bpp). (Ten sam układ pamięci co D3DFMT_P8).
MFVideoFormat_RGB555 RGB 555, 16 bpp. (Ten sam układ pamięci co D3DFMT_X1R5G5B5).
MFVideoFormat_RGB565 RGB 565, 16 bpp. (Ten sam układ pamięci co D3DFMT_R5G6B5).
MFVideoFormat_RGB24 RGB, 24 bpp.
MFVideoFormat_RGB32 RGB, 32 bpp.
MFVideoFormat_ARGB32 RGB, 32 bpp z kanałem alfa.
MFVideoFormat_A2R10G10B10 RGB, 10 bpp dla każdego koloru i 2 bpp dla alfa. (Ten sam układ pamięci co D3DFMT_A2B10G10R10)
MFVideoFormat_A16B16G16R16F RGB, 16 bpp z kanałem alfa. (Ten sam układ pamięci co D3DFMT_A16B16G16R16F)

 

Nuta

Te podtypy nie są zgodne z identyfikatorami GUID podtypu RGB używanymi w poprzednich zestawach SDK, takich jak DirectShow.

 

Formaty YUV: 8-bitowe i palettized

GUID Format Pobieranie próbek Pakowane lub planarne Bity na kanał
MFVideoFormat_AI44 AI44 4:4:4 Pakowane Palettized
MFVideoFormat_AYUV AYUV 4:4:4 Pakowane 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 Pakowane 8
MFVideoFormat_Y41P Y41P 4:1:1 Pakowane 8
MFVideoFormat_Y41T Y41T 4:1:1 Pakowane 8
MFVideoFormat_Y42T Y42T 4:2:2 Pakowane 8
MFVideoFormat_YUY2 YUY2 4:2:2 Pakowane 8
MFVideoFormat_YVU9 YVU9 8:4:4 Planar 9
MFVideoFormat_YV12 YV12 4:2:0 Planar 8
MFVideoFormat_YVYU YVYU 4:2:2 Pakowane 8

 

Zalecane formaty YUV zostały szczegółowo opisane w temacie Zalecane 8-bitowe formaty YUV na potrzeby renderowania wideo.

Nuta

I420 i IYUV mają ten sam układ w pamięci, ale są przypisane odrębne identyfikatory GUID podtypu. Identyfikatory GUID podtypu odpowiadają kodom FOURCC "I420" i "IYUV"; Aby uzyskać więcej informacji, zobacz Video FOURCCs.

 

Formaty YUV: 10-bitowe i 16-bitowe

GUID Format Pobieranie próbek Pakowane lub planarne Bity na kanał
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 Wersja 210 4:2:2 Pakowane 10
MFVideoFormat_v216 Wersja 216 4:2:2 Pakowane 16
MFVideoFormat_v410 Wersja 40 4:4:4 Pakowane 10
MFVideoFormat_Y210 Y210 4:2:2 Pakowane 10
MFVideoFormat_Y216 Y216 4:2:2 Pakowane 16
MFVideoFormat_Y410 Y40 4:4:4 Pakowane 10
MFVideoFormat_Y416 Y416 4:4:4 Pakowane 16

 

Aby uzyskać więcej informacji na temat tych formatów, zobacz 10-bitowe i 16-bitowe formaty wideo YUV.

Formaty luminacji i głębokości

GUID Opis
MFVideoFormat_L8 Tylko 8-bitowa lumincja. (bpp). (Ten sam układ pamięci co D3DFMT_L8).
MFVideoFormat_L16 Tylko 16-bitowa lumincja. (Ten sam układ pamięci co D3DFMT_L16).
MFVideoFormat_D16 16-bitowa głębokość buforu z. (Ten sam układ pamięci co D3DFMT_D16).

 

Zakodowane typy wideo

GUID FOURCC Opis
MFVideoFormat_DV25 "dv25" DVCPRO 25 (525-60 lub 625-50).
MFVideoFormat_DV50 "dv50" DVCPRO 50 (525-60 lub 625-50).
MFVideoFormat_DVC 'dvc' DVC/DV Video.
MFVideoFormat_DVH1 "dvh1" DVCPRO 100 (1080/60i, 1080/50i lub 720/60P).
MFVideoFormat_DVHD "dvhd" HD-DVCR (1125-60 lub 1250-50).
MFVideoFormat_DVSD "dvsd" SDL-DVCR (525-60 lub 625-50).
MFVideoFormat_DVSL "dvsl" SD-DVCR (525-60 lub 625-50).
MFVideoFormat_H263 "H263" Wideo H.263.
MFVideoFormat_H264 "H264" Wideo H.264.
Przykłady multimediów zawierają dane strumienia bitowego H.264 z kodami początkowymi i przeplatane SPS/PPS. Każdy przykład zawiera jeden pełny obraz, jedno pole lub jedną ramkę.
MFVideoFormat_H265 "H265" Wideo H.265.
MFVideoFormat_H264_ES Nie dotyczy Strumień podstawowy H.264.
Ten typ nośnika jest taki sam jak MFVideoFormat_H264, z wyjątkiem przykładów multimediów zawiera fragmentowany strumień bitowy H.264. Każda próbka może zawierać obraz częściowy; wiele pełnych obrazów; lub co najmniej jeden pełny obraz oraz obraz częściowy.
MFVideoFormat_HEVC "HEVC" Profil główny HEVC i profil main still picture.
Każdy przykład zawiera jeden pełny obraz.
Obsługiwane w systemie Windows 8.1 lub nowszym. Profil główny HEVC i główny strumień podstawowy profilu obrazów nadal.
MFVideoFormat_HEVC_ES "HEVS" Ten typ nośnika jest taki sam jak MFVideoFormat_HEVC, z wyjątkiem przykładów multimediów zawiera fragmentowany strumień bitowy HEVC. Każda próbka może zawierać obraz częściowy; wiele pełnych obrazów; lub co najmniej jeden pełny obraz oraz obraz częściowy.
Obsługiwane w systemie Windows 8.1 lub nowszym.
MFVideoFormat_M4S2 "M4S2" MPEG-4 część 2 wideo.
MFVideoFormat_MJPG "MJPG" Motion JPEG.
MFVideoFormat_MP43 "MP43" Microsoft MPEG 4 codec w wersji 3. Ten koder koderowy nie jest już obsługiwany.
MFVideoFormat_MP4S "MP4S" KODER ISO MPEG 4 w wersji 1.
MFVideoFormat_MP4V "MP4V" MPEG-4 część 2 wideo.
MFVideoFormat_MPEG2 Nie dotyczy MPEG-2 wideo. (Odpowiednik MEDIASUBTYPE_MPEG2_VIDEO w programie DirectShow).
MFVideoFormat_VP80 "MPG1" Wideo VP8.
MFVideoFormat_VP90 "MPG1" Wideo VP9.
MFVideoFormat_MPG1 "MPG1" MPEG-1 wideo.
MFVideoFormat_MSS1 "MSS1" Koder codec ekranu systemu Windows Media w wersji 1.
MFVideoFormat_MSS2 "MSS2" Kodek ekranu usługi Windows Media Video 9.
MFVideoFormat_WMV1 "WERSJA1" Koder codec usługi Windows Media Video w wersji 7.
MFVideoFormat_WMV2 "WERSJA2" Koder wideo 8 w systemie Windows Media.
MFVideoFormat_WMV3 "XVI3" Koder codec usługi Windows Media Video 9.
MFVideoFormat_WVC1 "WVC1" SMPTE 421M ("VC-1").
MFVideoFormat_420O "420O" 8-bitowe wideo dla planu kanału YUV 4:2:0.
MFVideoFormat_AV1 "AV01" Wideo AV1.

 

Tworzenie identyfikatorów GUID podtypu na podstawie wartości FOURCCs i D3DFORMAT

Formaty wideo są często reprezentowane przez wartości FOURCCs lub D3DFORMAT. Zakres identyfikatorów GUID jest zarezerwowany do reprezentowania tych wartości jako podtypów. Te identyfikatory GUID mają postać XXXXXXXX-0000-0010-8000-00AA00389B71, gdzie XXXXXXXX jest 4-bajtowym kodem FOURCC lub wartością D3DFORMAT.

Jeśli format wideo ma skojarzona wartość FOURCC lub D3DFORMAT, możesz utworzyć odpowiedni identyfikator GUID podtypu w następujący sposób: Zacznij od stałej MFVideoFormat_Base i zastąp pierwszą DWORD identyfikatora GUID wideo FOURCC lub wartością D3DFORMAT. W tym celu można użyć makra DEFINE_MEDIATYPE_GUID.

Nuta

DirectShow używa również tego systemu dla większości podtypów wideo, ale nie w przypadku nieskompresowanych formatów RGB. W związku z tym podtypy RGB w programie DirectShow nie są zgodne z podtypami RGB w programie Media Foundation.

 

Wyliczenie D3DFORMAT jest definiowane w pliku nagłówka d3d9types.h. W poniższej tabeli przedstawiono najbardziej typowe nieskompresowane formaty RGB i odpowiadającą im wartość D3DFORMAT.

Format RGB D3DFORMAT wartość
32-bitowy RGB D3DFMT_X8R8G8B8
32-bitowy RGB z kanałem alfa D3DFMT_A8R8G8B8
24-bitowy RGB D3DFMT_R8G8B8
RGB 555 (16-bitowy RGB) D3DFMT_X1R5G5B5
RGB 555 z kanałem alfa D3DFMT_A1R5G5B5
RGB 565 (16-bitowy RGB) D3DFMT_R5G6B5
8-bitowy palettized RGB D3DFMT_P8
A2 R10 G10 B10 (32-bitowy RGB z kanałem alfa; 10 bitów na kanał RGB) D3DFMT_A2R10G10B10
A2 B10 G10 R10 (32-bitowy RGB z kanałem alfa; 10 bitów na kanał RGB) D3DFMT_A2B10G10R10
Tylko 8-bitowa lumincja. D3DFMT_L8
Tylko 16-bitowa lumincja. D3DFMT_L16
16-bitowa głębokość buforu z D3DFMT_D16

 

Aby uzyskać więcej informacji na temat FOURCCs, zobacz Video FOURCCs.

IMFMediaType

identyfikatory GUID typu nośnika

MF_MT_SUBTYPE

typy multimediów

typy multimediów wideo