Udostępnij przez


Wideo FOURCCs

Wiele formatów wideo ma przypisane kody FOURCC. Kod FOURCC to 32-bitowa liczba całkowita bez znaku, która jest tworzona przez łączenie czterech znaków ASCII. Na przykład kod FOURCC dla wideo YUY2 to "YUY2".

Różne makra języka C/C++ są definiowane do deklarowania wartości FOURCC w kodzie źródłowym. Makro MAKEFOURCC jest zdefiniowane w pliku Mmsystem.h, a makro fcC jest definiowane w pliku Aviriff.h i różnych innych plikach nagłówków. Kod FOURCC można również zadeklarować bezpośrednio jako literał ciągu, odwracając kolejność znaków. W związku z tym następujące instrukcje są równoważne:

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

(W ostatnim przykładzie odwrócenie kolejności bajtów jest konieczne, ponieważ system Windows używa architektury nieco endian. "Y" = 0x59, "U" = 0x55 i "2" = 0x32, więc wartość "2YUY" jest 0x32595559.)

Niektóre interfejsy API DirectX Video Acceleration 2.0 używają wartości D3DFORMAT do opisania formatu wideo. W tym kontekście można również użyć kodu FOURCC:

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

Stałe FOURCC

W poniższej tabeli wymieniono niektóre typowe kody FOURCC.

Wartość FOURCC Opis
"AV01" AOMedia Video 1.
"AVP" Zaawansowane profesjonalne wideo (APV) video.
"H263" Wideo H.263.
"H264" Wideo H.264.
"I420" Wideo YUV przechowywane w formacie planar 4:2:0.
"I422" Wideo YUV przechowywane w formacie płaskim 4:2:2.
"I444" Wideo YUV przechowywane w formacie planar 4:4:4.
"IYUV" Wideo YUV przechowywane w formacie planar 4:2:0.
"M4S2" MPEG-4 część 2 wideo.
"MP4S" Microsoft MPEG 4 codec w wersji 3. Ten koder koderowy nie jest już obsługiwany.
"MP4V" MPEG-4 część 2 wideo.
"MPG1" MPEG-1 wideo.
"MSS1" Zawartość zakodowana za pomocą koderaka ekranu windows Media Video 7.
"MSS2" Zawartość zakodowana za pomocą koderaka ekranu windows Media Video 9.
"theo" Wideo Theora.
"UYVY" Wideo YUV przechowywane w formacie 4:2:2. Podobnie jak YUY2, ale z różnymi kolejnościami danych.
"VP10" Wideo VP10.
"WERSJA1" Zawartość zakodowana przy użyciu kodera codec usługi Windows Media Video 7.
"WERSJA2" Zawartość zakodowana przy użyciu kodera codec usługi Windows Media Video 8.
"XVI3" Zawartość zakodowana przy użyciu kodera codec usługi Windows Media Video 9.
"CORTANA" Zawartość zakodowana przy użyciu starszej, przestarzałej wersji kodera codec profilu zaawansowanego usługi Windows Media Video 9.
"JOINP" Zawartość zakodowana za pomocą kodera obrazu usługi Windows Media Video 9.1.
"WVC1" SMPTE 421M ("VC-1"). Zawartość zakodowana za pomocą zaawansowanego profilu usługi Windows Media Video 9.
"WVP2" Zawartość zakodowana za pomocą kodera codec obrazu windows Media Video 9.1 w wersji 2.
"YUY2" Wideo YUV przechowywane w formacie 4:2:2.
"YV12" Wideo YUV przechowywane w formacie planar 4:2:0 lub 4:1:1. Identyczne z I420/IYUV z tą różnicą, że samoloty ty i V są przełączane.
"YVU9" Wideo YUV przechowywane w formacie planar 16:1:1.
"YVYU" Wideo YUV przechowywane w formacie 4:2:2. Podobnie jak YUY2, ale z różnymi kolejnościami danych.

 

typy multimediów wideo

identyfikatory GUID podtypu wideo