The standard defines 21 sets of capabilities, which are referred to as profiles, targeting specific classes of applications.
Profiles for non-scalable 2D video applications include the following:
- Constrained Baseline Profile (CBP)
- Primarily for low-cost applications, this profile is most typically used in videoconferencing and mobile applications. It corresponds to the subset of features that are in common between the Baseline, Main, and High Profiles.
- Baseline Profile (BP)
- Primarily for low-cost applications that require additional data loss robustness, this profile is used in some videoconferencing and mobile applications. This profile includes all features that are supported in the Constrained Baseline Profile, plus three additional features that can be used for loss robustness (or for other purposes such as low-delay multi-point video stream compositing). The importance of this profile has faded somewhat since the definition of the Constrained Baseline Profile in 2009. All Constrained Baseline Profile bitstreams are also considered to be Baseline Profile bitstreams, as these two profiles share the same profile identifier code value.
- Main Profile (MP)
- This profile is used for standard-definition digital TV broadcasts that use the MPEG-4 format as defined in the DVB standard. It is not, however, used for high-definition television broadcasts, as the importance of this profile faded when the High Profile was developed in 2004 for that application.
- Extended Profile (XP)
- Intended as the streaming video profile, this profile has relatively high compression capability and some extra tricks for robustness to data losses and server stream switching.
- High Profile (HiP)
- The primary profile for broadcast and disc storage applications, particularly for high-definition television applications (for example, this is the profile adopted by the Blu-ray Disc storage format and the DVB HDTV broadcast service).
- Progressive High Profile (PHiP)
- Similar to the High profile, but without support of field coding features.
- Constrained High Profile
- Similar to the Progressive High profile, but without support of B (bi-predictive) slices.
- High 10 Profile (Hi10P)
- Going beyond typical mainstream consumer product capabilities, this profile builds on top of the High Profile, adding support for up to 10 bits per sample of decoded picture precision.
- High 4:2:2 Profile (Hi422P)
- Primarily targeting professional applications that use interlaced video, this profile builds on top of the High 10 Profile, adding support for the 4:2:2 chroma subsampling format while using up to 10 bits per sample of decoded picture precision.
- High 4:4:4 Predictive Profile (Hi444PP)
- This profile builds on top of the High 4:2:2 Profile, supporting up to 4:4:4 chroma sampling, up to 14 bits per sample, and additionally supporting efficient lossless region coding and the coding of each picture as three separate color planes.
For camcorders, editing, and professional applications, the standard contains four additional Intra-frame-only profiles, which are defined as simple subsets of other corresponding profiles. These are mostly for professional (e.g., camera and editing system) applications:
- High 10 Intra Profile
- The High 10 Profile constrained to all-Intra use.
- High 4:2:2 Intra Profile
- The High 4:2:2 Profile constrained to all-Intra use.
- High 4:4:4 Intra Profile
- The High 4:4:4 Profile constrained to all-Intra use.
- CAVLC 4:4:4 Intra Profile
- The High 4:4:4 Profile constrained to all-Intra use and to CAVLC entropy coding (i.e., not supporting CABAC).
As a result of the Scalable Video Coding (SVC) extension, the standard contains five additional scalable profiles, which are defined as a combination of a H.264/AVC profile for the base layer (identified by the second word in the scalable profile name) and tools that achieve the scalable extension:
- Scalable Baseline Profile
- Primarily targeting video conferencing, mobile, and surveillance applications, this profile builds on top of the Constrained Baseline profile to which the base layer (a subset of the bitstream) must conform. For the scalability tools, a subset of the available tools is enabled.
- Scalable Constrained Baseline Profile
- A subset of the Scalable Baseline Profile intended primarily for real-time communication applications.
- Scalable High Profile
- Primarily targeting broadcast and streaming applications, this profile builds on top of the H.264/AVC High Profile to which the base layer must conform.
- Scalable Constrained High Profile
- A subset of the Scalable High Profile intended primarily for real-time communication applications.
- Scalable High Intra Profile
- Primarily targeting production applications, this profile is the Scalable High Profile constrained to all-Intra use.
As a result of the Multiview Video Coding (MVC) extension, the standard contains two multiview profiles:
- Stereo High Profile
- This profile targets two-view stereoscopic 3D video and combines the tools of the High profile with the inter-view prediction capabilities of the MVC extension.
- Multiview High Profile
- This profile supports two or more views using both inter-picture (temporal) and MVC inter-view prediction, but does not support field pictures and macroblock-adaptive frame-field coding.
Feature | CBP | BP | XP | MP | ProHiP | HiP | Hi10P | Hi422P | Hi444PP |
---|---|---|---|---|---|---|---|---|---|
Chroma formats | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0/4:2:2 | 4:2:0/4:2:2/4:4:4 |
Sample depths (bits) | 8 | 8 | 8 | 8 | 8 | 8 | 8 to 10 | 8 to 10 | 8 to 14 |
Flexible macroblock ordering (FMO) | No | Yes | Yes | No | No | No | No | No | No |
Arbitrary slice ordering (ASO) | No | Yes | Yes | No | No | No | No | No | No |
Redundant slices (RS) | No | Yes | Yes | No | No | No | No | No | No |
Data Partitioning | No | No | Yes | No | No | No | No | No | No |
SI and SP slices | No | No | Yes | No | No | No | No | No | No |
Interlaced coding (PicAFF, MBAFF) | No | No | Yes | Yes | No | Yes | Yes | Yes | Yes |
B slices | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
CABAC entropy coding | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes |
8×8 vs. 4×4 transform adaptivity | No | No | No | No | Yes | Yes | Yes | Yes | Yes |
Quantization scaling matrices | No | No | No | No | Yes | Yes | Yes | Yes | Yes |
Separate Cb and Cr QP control | No | No | No | No | Yes | Yes | Yes | Yes | Yes |
Monochrome (4:0:0) | No | No | No | No | Yes | Yes | Yes | Yes | Yes |
Separate color plane coding | No | No | No | No | No | No | No | No | Yes |
Predictive lossless coding | No | No | No | No | No | No | No | No | Yes |
Read more about this topic: H.264/MPEG-4 AVC