Поделиться через


Видео FOURCCs

Многие форматы видео имеют коды FOURCC, назначенные им. Код FOURCC — это 32-разрядное целое число без знака, созданное путем объединения четырех символов ASCII. Например, код FOURCC для видео YUY2 — 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.)

Некоторые api DirectX Video Acceleration 2.0 используют значение D3DFORMAT для описания формата видео. Код FOURCC также можно использовать в этом контексте:

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" Видео YUV, хранящееся в формате planar 4:2:0.
IYUV Видео YUV, хранящееся в формате planar 4:2:0.
"M4S2" MPEG-4 часть 2 видео.
MP4S Microsoft MPEG 4 codec версии 3. Этот кодек больше не поддерживается.
MP4V MPEG-4 часть 2 видео.
MPG1 ВИДЕО MPEG-1.
MSS1 Содержимое, закодированное с помощью кодека экрана Windows Media Video 7.
"MSS2" Содержимое, закодированное с помощью кодека экрана Windows Media Video 9.
UYVY Видео YUV, хранящееся в упакованном формате 4:2:2. Аналогично YUY2, но с разным порядком данных.
WMV1 Содержимое, закодированное с помощью кодека Windows Media Video 7.
WMV2 Содержимое, закодированное с помощью кодека Windows Media Video 8.
WMV3 Содержимое, закодированное с помощью кодека Windows Media Video 9.
WMVA Содержимое, закодированное с устаревшей версией кодека расширенного профиля Windows Media 9.
WMVP Содержимое, закодированное с помощью кодека образа Windows Media Video 9.1.
WVC1 SMPTE 421M ("VC-1"). Содержимое, закодированное с помощью расширенного профиля Windows Media Video 9.
WVP2 Содержимое, закодированное с помощью кодека образа Windows Media Video 9.1 версии 2.
'YUY2' Видео YUV, хранящееся в упакованном формате 4:2:2.
'YV12' Видео YUV, хранящееся в формате planar 4:2:0 или 4:1:1. Идентичен I420/IYUV, за исключением того, что вы и V самолеты переключаются.
'YVU9' Видео YUV, хранящееся в формате planar 16:1:1.
'YVYU' Видео YUV, хранящееся в упакованном формате 4:2:2. Аналогично YUY2, но с разным порядком данных.

 

Типы мультимедиа видео

идентификатор ы GUID видео