| Søg: | |
Udgivet d. 13/3 - 2002 af Microsoft.
Er hentet på adressen:
http://www.microsoft.com/hwdev/devdes/fourcc.htm
Four-Character Codes (FOURCC), a set of codes that are four characters in length, was introduced by Microsoft to clearly identify video data stream formats. The unique FOURCC value assigned to every compression format and pixel layout allows video frames to be passed between file and codec by ensuring the FOURCC of the source frame matches a FOURCC supported by the codec. FOURCCs describe the software technology that was used to produce multimedia data. By implication, they also describe the format of the data itself.
This article describes how FOURCC is used and provides information about how to register FOURCCs with Microsoft. To register a FOURCC code, send e-mail to mmreg@microsoft.com. Please include your name, title, company name, and phone and fax numbers. For more information, see Registering a FOURCC Code later in this article.
Microsoft® DirectDraw® uses FOURCC codes that are stored in file headers of files containing multimedia data such as bitmap images, sound, or video. DirectDraw-based applications use FOURCCs for image color and format conversion. If an application calls the IDirectDrawSurface7::GetPixelFormat method to request the pixel format of a surface whose format is not red-green-blue (RGB), the dwFourCC member of the DDPIXELFORMAT structure identifies the FOURCC when the method returns.
In addition, the biCompression member of the BITMAPINFOHEADER structure can be set to a FOURCC to indicate the codec used to compress or decompress an image. For more information on the use of FOURCCs to this function call, see biHeight and Video Formats in DirectShow.
FOURCCs are registered with Microsoft by the vendors of the respective multimedia software technologies. The currently registered FOURCCs appear in the following list.
| Compressor Code | Description | |
| ANIM | Intel - RDX | |
| AUR2 | AuraVision - Aura 2 Codec - YUV 422 | |
| AURA | AuraVision - Aura 1 Codec - YUV 411 | |
| BT20 | Brooktree - MediaStream codec | |
| BTCV | Brooktree - Composite Video codec | |
| CC12 | Intel - YUV12 codec | |
| CDVC | Canopus - DV codec | |
| CHAM | Winnov, Inc. - MM_WINNOV_CAVIARA_CHAMPAGNE | |
| CPLA | Weitek - 4:2:0 YUV Planar | |
| CVID | Supermac - Cinepak | |
| CWLT | reserved | |
| DUCK | Duck Corp. - TrueMotion 1.0 | |
| DVE2 | InSoft - DVE-2 Videoconferencing codec | |
| DXT1 | reserved | |
| DXT2 | reserved | |
| DXT3 | reserved | |
| DXT4 | reserved | |
| DXT5 | reserved | |
| DXTC | DirectX Texture Compression | |
| FLJP | D-Vision - Field Encoded Motion JPEG With LSI Bitstream Format | |
| GWLT | reserved | |
| H260 | Intel - Conferencing codec | |
| H261 | Intel - Conferencing codec | |
| H262 | Intel - Conferencing codec | |
| H263 | Intel - Conferencing codec | |
| H264 | Intel - Conferencing codec | |
| H265 | Intel - Conferencing codec | |
| H266 | Intel - Conferencing codec | |
| H267 | Intel - Conferencing codec | |
| H268 | Intel - Conferencing codec | |
| H269 | Intel - Conferencing codec | |
| I263 | Intel - I263 | |
| I420 | Intel - Indeo 4 codec | |
| IAN | Intel - RDX | |
| ICLB | InSoft - CellB Videoconferencing codec | |
| ILVC | Intel - Layered Video | |
| ILVR | ITU-T - H.263+ compression standard | |
| IRAW | Intel - YUV uncompressed | |
| IV30 | Intel - Indeo Video 3 codec | |
| IV31 | Intel - Indeo Video 3.1 codec | |
| IV32 | Intel - Indeo Video 3 codec | |
| IV33 | Intel - Indeo Video 3 codec | |
| IV34 | Intel - Indeo Video 3 codec | |
| IV35 | Intel - Indeo Video 3 codec | |
| IV36 | Intel - Indeo Video 3 codec | |
| IV37 | Intel - Indeo Video 3 codec | |
| IV38 | Intel - Indeo Video 3 codec | |
| IV39 | Intel - Indeo Video 3 codec | |
| IV40 | Intel - Indeo Video 4 codec | |
| IV41 | Intel - Indeo Video 4 codec | |
| IV42 | Intel - Indeo Video 4 codec | |
| IV43 | Intel - Indeo Video 4 codec | |
| IV44 | Intel - Indeo Video 4 codec | |
| IV45 | Intel - Indeo Video 4 codec | |
| IV46 | Intel - Indeo Video 4 codec | |
| IV47 | Intel - Indeo Video 4 codec | |
| IV48 | Intel - Indeo Video 4 codec | |
| IV49 | Intel - Indeo Video 4 codec | |
| IV50 | Intel - Indeo 5.0 | |
| MP42 | Microsoft - MPEG-4 Video Codec V2 | |
| MPEG | Chromatic - MPEG 1 Video I Frame | |
| MRCA | FAST Multimedia - Mrcodec | |
| MRLE | Microsoft - Run Length Encoding | |
| MSVC | Microsoft - Video 1 | |
| NTN1 | Nogatech - Video Compression 1 | |
| qpeq | Q-Team - QPEG 1.1 Format video codec | |
| RGBT | Computer Concepts - 32 bit support | |
| RT21 | Intel - Indeo 2.1 codec | |
| RVX | Intel - RDX | |
| SDCC | Sun Communications - Digital Camera Codec | |
| SFMC | Crystal Net - SFM Codec | |
| SMSC | Radius - proprietary | |
| SMSD | Radius - proprietary | |
| SPLC | Splash Studios - ACM audio codec | |
| SQZ2 | Microsoft - VXtreme Video Codec V2 | |
| SV10 | Sorenson - Video R1 | |
| TLMS | TeraLogic - Motion Intraframe Codec | |
| TLST | TeraLogic - Motion Intraframe Codec | |
| TM20 | Duck Corp. - TrueMotion 2.0 | |
| TMIC | TeraLogic - Motion Intraframe Codec | |
| TMOT | Horizons Technology - TrueMotion Video Compression Algorithm | |
| TR20 | Duck Corp. - TrueMotion RT 2.0 | |
| V422 | Vitec
Multimedia - 24 bit YUV 4:2:2 format (CCIR 601). For this format, 2 consecutive pixels are represented by a 32 bit (4 byte) Y1UY2V color value. | |
| V655 | Vitec Multimedia - 16 bit YUV 4:2:2 format. | |
| VCR1 | ATI - VCR 1.0 | |
| VIVO | Vivo - H.263 Video Codec | |
| VIXL | Miro Computer Products AG - for use with the Miro line of capture cards. | |
| VLV1 | Videologic - VLCAP.DRV | |
| WBVC | Winbond Electronics - W9960 | |
| XLV0 | NetXL, Inc. - XL Video Decoder | |
| YC12 | Intel - YUV12 codec | |
| YUV8 | Winnov, Inc. - MM_WINNOV_CAVIAR_YUV8 | |
| YUV9 | Intel - YUV9 | |
| YUYV | Canopus - YUYV compressor | |
| ZPEG | Metheus - Video Zipper |
The following list shows the FOURCC values for DIB compression.
| Compressor Code | Description | |
| CYUV | Creative Labs, Inc - Creative Labs YUV | |
| FVF1 | Iterated Systems, Inc. - Fractal Video Frame | |
| IF09 | Intel - Intel Intermediate YUV9 | |
| JPEG | Microsoft - Still Image JPEG DIB | |
| MJPG | Microsoft - Motion JPEG DIB Format | |
| PHMO | IBM - Photomotion | |
| ULTI | IBM - Ultimotion | |
| VDCT | Vitec Multimedia - Video Maker Pro DIB | |
| VIDS | Vitec Multimedia - YUV 4:2:2 CCIR 601 for V422 | |
| YU92 | Intel - YUV |
Registering codes with Microsoft prevents needless duplication of work and helps development of standards. To register a FOURCC code, send e-mail to mmreg@microsoft.com. Please include your name, title, company name, and phone and fax numbers.
Use this e-mail address to register the following:
The FOURCC should be used to identify state data belonging to the driver. All codecs should use the following convention for defining their state information structure:
typedef struct _stateinfo {
FOURCC fcc;
....
} STATEINFO;Then, when the state info in a SET_STATE_INFO message is
received, you should check the FOURCC to verify that it has state
information for the driver.Data formats for FOURCC include: RBG, YUV, and compressed formats. RGB describes the colors produced by emitting light, such as on a video monitor. YUV formats can be either packed or planar. In packed YUV formats, Y, U, and V samples are packed together in macropixels and stored in a single array. Planar formats store each component in a separate array and then fuse the three separate planes to create the final image.