A FourCC ("four-character code") is a sequence of four bytes (typically ASCII ) used to uniquely identify data formats . It originated from the OSType or ResType metadata system used in classic Mac OS and was adopted for the Amiga / Electronic Arts Interchange File Format and derivatives. The idea was later reused to identify compressed data types in QuickTime and DirectShow .
39-409: In 1984, the earliest version of a Macintosh OS, System 1 , was released. It used the single-level Macintosh File System with metadata fields including file types , creator (application) information , and forks to store additional resources . It was possible to change this information without changing the data itself, so that they could be interpreted differently. Identical codes were used throughout
78-552: A Uniform Type Identifier and are no longer used as the primary data type signature. Mac OS X (macOS) prefers the more colloquial convention of labelling file types using file name extensions. At the time of the change, the change was a source of great contention among older users, who believed that Apple was reverting to a more primitive way that misplaces metadata in the filename. Filesystem-associated type codes are not readily accessible for users to manipulate, although they can be viewed and changed with certain software, most notably
117-490: A 4:2:1 color sampling pattern, and the DV standard uses 4:1:1 sampling ratios. Professional video codecs designed to function at much higher bitrates and to record a greater amount of color information for post-production manipulation sample in 4:2:2 and 4:4:4 ratios. Examples of these codecs include Panasonic's DVCPRO50 and DVCPROHD codecs (4:2:2), Sony's HDCAM-SR (4:4:4), Panasonic's HDD5 (4:2:2), Apple 's Prores HQ 422 (4:2:2). It
156-472: A few that exist in other graphical operating systems such as Microsoft Windows . The features of the operating system included the Finder and menu bar. In addition to this, it popularized the graphical user interface and desktop metaphor , which was used under license from Xerox PARC . Due to the limited amount of random-access memory and the lack of an internal hard disk in the original Macintosh, there
195-425: A fundamentally analog data set in a digital format. Because of the design of analog video signals, which represent luminance (luma) and color information (chrominance, chroma) separately, a common first step in image compression in codec design is to represent and store the image in a YCbCr color space. The conversion to YCbCr provides two benefits: first, it improves compressibility by providing decorrelation of
234-475: A human-readable way (e.g., " mp4a "). Some FourCCs however, do contain non-printable characters, and are not human-readable without special formatting for display; for example, 10bit Y'CbCr 4:2:2 video can have a FourCC of ('Y', '3', 10, 10) which ffmpeg displays as rawvideo (Y3[10] [10] / 0x0A0A3359), yuv422p10le . Four-byte identifiers are useful because they can be made up of four human-readable characters with mnemonic qualities, while still fitting in
273-453: A standard, and implementers are free to design their encoder however they want, as long as the video can be decoded in the specified manner. For this reason, the quality of the video produced by decoding the results of different encoders that use the same video codec standard can vary dramatically from one encoder implementation to another. A variety of video compression formats can be implemented on PCs and in consumer electronics equipment. It
312-464: A string. Many C compilers, including GCC, define a multi-character literal behavior of right-aligning to the least significant byte, so that '1234' becomes 0x3 1 3 2 3 3 3 4 in ASCII. This is the conventional way of writing FourCC codes used by Mac OS programmers for OSType. ( Classic Mac OS was exclusively big-endian.) On little-endian machines, a byte-swap on the value is required to make
351-450: A two-byte identifier, usually written in hexadecimal (such as 0055 for MP3 ). In QuickTime files, these two-byte identifiers are prefixed with the letters "ms" to form a four-character code. RealMedia files also use four-character codes, however, the actual codes used differ from those found in AVI or QuickTime files. Other file formats that make important use of the four-byte ID concept are
390-428: Is software or hardware that compresses and decompresses digital video . In the context of video compression, codec is a portmanteau of encoder and decoder , while a device that only compresses is typically called an encoder , and one that only decompresses is a decoder . The compressed data format usually conforms to a standard video coding format . The compression is typically lossy , meaning that
429-475: Is also worth noting that video codecs can operate in RGB space as well. These codecs tend not to sample the red, green, and blue channels in different ratios, since there is less perceptual motivation for doing so—just the blue channel could be undersampled. Some amount of spatial and temporal downsampling may also be used to reduce the raw data rate before the basic encoding process. The most popular encoding transform
SECTION 10
#1732852491052468-524: Is applied to the quantized values. When a DCT has been used, the coefficients are typically scanned using a zig-zag scan order, and the entropy coding typically combines a number of consecutive zero-valued quantized coefficients with the value of the next non-zero quantized coefficient into a single symbol and also has special ways of indicating when all of the remaining quantized coefficient values are equal to zero. The entropy coding method typically uses variable-length coding tables . Some encoders compress
507-554: Is in turn succeeded by Versatile Video Coding (VVC). There are also the open and free VP8 , VP9 and AV1 video coding formats, used by YouTube, all of which were developed with involvement from Google . Video codecs are used in DVD players, Internet video , video on demand , digital cable , digital terrestrial television , videotelephony and a variety of other applications. In particular, they are widely used in applications that record or transmit video, which may not be feasible with
546-434: Is the 8x8 DCT. Codecs that make use of a wavelet transform are also entering the market, especially in camera workflows that involve dealing with RAW image formatting in motion sequences. This process involves representing the video image as a set of macroblocks . For more information about this critical facet of video codec design, see B-frames . The output of the transform is first quantized , then entropy encoding
585-515: Is therefore possible for multiple codecs to be available in the same product, reducing the need to choose a single dominant video compression format to achieve interoperability . Standard video compression formats can be supported by multiple encoder and decoder implementations from multiple sources. For example, video encoded with a standard MPEG-4 Part 2 codec such as Xvid can be decoded using any other standard MPEG-4 Part 2 codec such as FFmpeg MPEG-4 or DivX Pro Codec , because they all use
624-511: Is widely used by streaming internet services such as YouTube , Netflix , Vimeo , and iTunes Store , web software such as Adobe Flash Player and Microsoft Silverlight , and various HDTV broadcasts over terrestrial and satellite television. AVC has been succeeded by HEVC (H.265), developed in 2013. It is heavily patented, with the majority of patents belonging to Samsung Electronics , GE , NTT and JVC Kenwood . The adoption of HEVC has been hampered by its complex licensing structure. HEVC
663-629: The Apple menu , File, Edit, View, and Special. When in an application, the menus would change to ones defined by the application, but most software retained at least the File and Edit menus. While within the Finder , the Apple menu contained the "About the Finder" information, along with the desktop accessories . "File" menu items included Open, Eject, and Close. "Edit" had entries for cutting, copying, and pasting . "Special"
702-548: The MPEG standards. MPEG-1 was developed by the Motion Picture Experts Group (MPEG) in 1991, and it was designed to compress VHS -quality video. It was succeeded in 1994 by MPEG-2 / H.262 , which was developed by a number of companies, primarily Sony , Thomson and Mitsubishi Electric . MPEG-2 became the standard video format for DVD and SD digital television . In 1999, it was followed by MPEG-4 / H.263 , which
741-510: The Motorola 68000 microprocessor . System 1 was released on January 24, 1984, along with the Macintosh 128K , the first in the Macintosh family of personal computers . It received one update, "System 1.1" on December 29, 1984, before being succeeded by System 2 . This operating system introduced many features that would appear for years to come, some that still exist in the current macOS , and
780-557: The Standard MIDI File (SMF) format, the PNG image file format, the 3DS (3D Studio Max) mesh file format and the ICC profile format. Four-character codes are also used in applications other than file formats, for example: Other uses for OSTypes include: System 1 The Macintosh " System 1 " is the first major release of the classic Mac OS operating system . It was developed for
819-520: The "Startup Items" folder in the System Folder . System 1 came with multiple desk accessories (DA). These included an Alarm Clock, Calculator, Control Panel, Key Caps, Note Pad, Puzzle, and Scrapbook. A difference between desktop accessories and applications is that multiple desktop accessories could be run at once but only one application could run at a time. Desk accessories could also run on top of an application. Video codec A video codec
SECTION 20
#1732852491052858-579: The Macintosh system, running on a modified pre-release version of Finder 1.0, as well as training programs for learning to use the mouse, and the Finder. Also included was a 33-minute audio cassette designed to run alongside the demonstrations, emphasising the disk's purpose as a guided tour. The menu bar was a new and revolutionary part of the OS. Similar to the one found on Lisa OS , the System 1 Finder had five menus:
897-557: The color signals; and second, it separates the luma signal, which is perceptually much more important, from the chroma signal, which is less perceptually important and which can be represented at lower resolution using chroma subsampling to achieve more efficient data compression. It is common to represent the ratios of information stored in these different channels in the following way Y:Cb:Cr. Different codecs use different chroma subsampling ratios as appropriate to their compression needs. Video compression schemes for Web and DVD make use of
936-420: The complexity of the encoding and decoding algorithms, sensitivity to data losses and errors, ease of editing, random access, and end-to-end delay ( latency ). Historically, video was stored as an analog signal on magnetic tape . Around the time when the compact disc entered the market as a digital-format replacement for analog audio, it became feasible to also store and convey video in digital form. Because of
975-409: The compressed video lacks some information present in the original video. A consequence of this is that decompressed video has lower quality than the original, uncompressed video because there is insufficient information to accurately reconstruct the original video. There are complex relationships between the video quality , the amount of data used to represent the video (determined by the bit rate ),
1014-411: The four-byte memory space typically allocated for integers in 32-bit systems (although endian issues may make them less readable). Thus, the codes can be used efficiently in program code as integers, as well as giving cues in binary data streams when inspected. FourCC is written in big endian relative to the underlying ASCII character sequence, so that it appears in the correct byte order when read as
1053-531: The high data volumes and bandwidths of uncompressed video. For example, they are used in operating theaters to record surgical operations, in IP cameras in security systems, and in remotely operated underwater vehicles and unmanned aerial vehicles . Any video stream or file can be encoded using a wide variety of live video format options. Here are some of the H.264 encoder settings that need to be set when streaming to an HTML5 video player. Video codecs seek to represent
1092-447: The large amount of storage and bandwidth needed to record and convey raw video, a method was needed to reduce the amount of data used to represent the raw video. Since then, engineers and mathematicians have developed a number of solutions for achieving this goal that involve compressing the digital video data. In 1974, discrete cosine transform (DCT) compression was introduced by Nasir Ahmed , T. Natarajan and K. R. Rao . During
1131-505: The late 1980s, a number of companies began experimenting with DCT lossy compression for video coding, leading to the development of the H.261 standard. H.261 was the first practical video coding standard, and was developed by a number of companies, including Hitachi , PictureTel , NTT , BT , and Toshiba , among others. Since H.261, DCT compression has been adopted by all the major video coding standards that followed. The most popular video coding standards used for codecs have been
1170-534: The macOS command line tools GetFileInfo and SetFile which are installed as part of the developer tools into /Developer/Tools , or the ResEdit utility available for older Macs. The byte sequence is usually restricted to ASCII printable characters , with space characters reserved for padding shorter sequences. Case sensitivity is preserved, unlike in file extensions . FourCCs are sometimes encoded in hexadecimal (e.g., "0x31637661" for ' avc1 ') and sometimes encoded in
1209-409: The process is often called inverse quantization or dequantization , although quantization is an inherently non-invertible process. Video codec designs are usually standardized or eventually become standardized—i.e., specified precisely in a published document. However, only the decoding process need be standardized to enable interoperability. The encoding process is typically not specified at all in
FourCC - Misplaced Pages Continue
1248-566: The result correct. Taking the avc1 example from above: although the literal 'avc1' already converts to the integer value 0x61766331 , a little-endian machine would have reversed the byte order and stored the value as 31 63 76 61 . To yield the correct byte sequence 61 76 63 31 , the pre-swapped value 0x31637661 is used. One of the most well-known uses of FourCCs is to identify the video codec or video coding format in AVI files. Common identifiers include DIVX , XVID , and H264 . For audio coding formats , AVI and WAV files use
1287-462: The same video format. Codecs have their qualities and drawbacks. Comparisons are frequently published. The trade-off between compression power, speed, and fidelity (including artifacts ) is usually considered the most important figure of technical merit. Online video material is encoded by a variety of codecs, and this has led to the availability of codec packs — a pre-assembled set of commonly used codecs combined with an installer available as
1326-594: The system, as type tags for all kinds of data. 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. This IFF
1365-418: The video in a multiple-step process called n-pass encoding (e.g. 2-pass), which performs a slower but potentially higher quality compression. The decoding process consists of performing, to the extent possible, an inversion of each stage of the encoding process. The one stage that cannot be exactly inverted is the quantization stage. There, a best-effort approximation of inversion is performed. This part of
1404-428: Was a major leap forward for video compression technology. It was developed by a number of companies, primarily Mitsubishi Electric, Hitachi and Panasonic . The most widely used video coding format, as of 2016, is H.264/MPEG-4 AVC . It was developed in 2003 by a number of organizations, primarily Panasonic, Godo Kaisha IP Bridge and LG Electronics . H.264 is the main video encoding standard for Blu-ray Discs , and
1443-733: 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 formats). Apple referred to many of these codes as OSTypes . Microsoft and Windows developers refer to their four-byte identifiers as FourCCs or Four-Character Codes . FourCC codes were also adopted by Microsoft to identify data formats used in DirectX , specifically within DirectShow and DirectX Graphics. Since Mac OS X Panther , OSType signatures are one of several sources that may be examined to determine
1482-664: Was no multitasking with multiple applications, although there were desktop accessories that could run while another application was loaded. Also, items in the Trash were permanently deleted when the computer was shut down or an application was loaded (quitting the Finder). System 1's total size is about 216 KB and contained six files: System (which includes the desk accessories), Finder, Clipboard, an Imagewriter printer driver, Scrapbook, and Note Pad. A separate diskette included "A Guided Tour of Macintosh", which contains tutorial demonstrations of
1521-499: Was used for managing the hardware and other system functions, and was always the rightmost entry on the menu bar in the Finder. In System 1, the menu had items related to emptying the Trash , cleaning up the desktop, and disk options. By System 1.1, the menu allowed the user to choose an alternate startup program to be run instead of the Finder at boot time; the feature was replaced in System 7 by
#51948