共用方式為


影片FOURC

許多視訊格式都已指派FOURCC程式碼。 FOURCC 程式代碼是串連四個 ASCII 字元所建立的 32 位無符號整數。 例如,YUY2 視訊的FOURCC程式碼是 'YUY2'。

定義各種 C/C++巨集,以在原始程式碼中宣告 FOURCC 值。 MAKEFOURCC 巨集是在 Mmsystem.h 中定義,而 FCC 巨集定義於 Aviriff.h 和其他各種頭檔。 您也可以藉由反轉字元的順序,直接將FOURCC程式碼宣告為字串常值。 因此,下列語句是相等的:

DWORD fccYUY2 = MAKEFOURCC('Y','U','Y','2');
DWORD fccYUY2 = FCC('YUY2');
DWORD fccYUY2 = '2YUY';  // Declares the FOURCC 'YUY2'.

(在最後一個範例中,需要反轉位元節順序,因為 Windows 使用一個字節架構。'Y' = 0x59、'U' = 0x55,而 '2' = 0x32,因此 '2YUY' 0x32595559。

某些 DirectX 影片加速 2.0 API 會使用 D3DFORMAT 值來描述視訊格式。 四CC 程式代碼也可用於此內容:

D3DFORMAT fmt = (D3DFORMAT)MAKEFOURCC('Y','U','Y','2');
D3DFORMAT fmt = (D3DFORMAT)FCC('YUY2');
D3DFORMAT fmt = D3DFORMAT('2YUY'); // Coerce to D3DFORMAT type.

FOURCC 常數

下表列出一些常見的FOURCC程式碼。

FOURCC 值 描述
'H264' H.264 影片。
'I420' 以平面 4:2:0 格式儲存的 YUV 視訊。
'IYUV' 以平面 4:2:0 格式儲存的 YUV 視訊。
'M4S2' MPEG-4 第 2 部分影片。
'MP4S' Microsoft MPEG 4 編解碼器第 3 版。 不再支援這個編解碼器。
'MP4V' MPEG-4 第 2 部分影片。
'MPG1' MPEG-1 視訊。
'MSS1' 使用 Windows Media Video 7 螢幕編解碼器編碼的內容。
'MSS2' 使用 Windows Media Video 9 螢幕編解碼器編碼的內容。
'UYVY' 以 4:2:2 格式儲存的 YUV 視訊。 類似於 YUY2,但有不同的資料順序。
'WMV1' 使用 Windows Media Video 7 編解碼器編碼的內容。
'WMV2' 使用 Windows Media Video 8 編解碼器編碼的內容。
'WMV3' 使用 Windows Media Video 9 編解碼器編碼的內容。
'WMVA' 使用舊版 Windows Media Video 9 進階配置檔編解碼器進行編碼的內容。
'WMVP' 使用 Windows Media Video 9.1 影像編解碼器編碼的內容。
'WVC1' SMPTE 421M (“VC-1”) 使用 Windows Media Video 9 進階配置檔編碼的內容。
'WVP2' 使用 Windows Media Video 9.1 Image v2 編解碼器編碼的內容。
'YUY2' 以 4:2:2 格式儲存的 YUV 視訊。
'YV12' 以平面 4:2:0 或 4:1:1 格式儲存的 YUV 視訊。 與I420/IYUV相同,不同之處在於您和 V 平面已切換。
'YVU9' 以平面 16:1:1 格式儲存的 YUV 視訊。
'YVYU' 以 4:2:2 格式儲存的 YUV 視訊。 類似於 YUY2,但有不同的資料順序。

 

視訊媒體類型

影片子類型 GUID