Видео 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 видео