The byte sequence is usually restricted to ASCII printable characters, with space characters reserved for padding shorter sequences. Case sensitivity is preserved.
Four-byte identifiers are useful because they can be made up of four human-readable characters with mnemonic qualities. Thus, the codes can be used efficiently in program code as integers, as well as giving cues in binary data streams when inspected.
Some FourCCs, such as those for certain high bit depth raw video formats, contain non-printable characters and are not human-readable without special formatting for display; for example, 10bit planar YUV422, known in AviSynth+ as YUV422P10, can have a FourCC of ('Y', '3', 10, 10)(1) which ffmpeg displays as
rawvideo (Y3 / 0xA0A3359), yuv422p10le.
In 1985, Electronic Arts introduced the Interchange File Format (IFF) meta-format (family of file formats), originally devised for use on the Amiga. These files consisted of a sequence of "chunks", which could contain arbitrary data, each chunk prefixed by a four-byte ID. The IFF specification explicitly mentions that the origins of the FourCC idea lie with Apple.(2)
This IFF was adopted by a number of developers including Apple for AIFF files and Microsoft for RIFF files (which were used as the basis for the AVI and WAV file format). Microsoft and Windows developers refer to their four-byte identifiers as FourCCs.
- Video codecs and Pixel Formats (fourcc.org)
This page was adapted from Wikipedia: FourCC; version 11 March 2017.
Wikipedia text is available under the Creative Commons Attribution-ShareAlike License