Profiles

The standard defines 17 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 described below.
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. [20] 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).
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 all-Intra 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 three 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 a constrained version of the H.264/AVC 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 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 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 support in particular profiles
FeatureCBPBPXPMPHiPHi10PHi422PHi444PP
I and P slicesYesYesYesYesYesYesYesYes
Chroma formats4:2:04:2:04:2:04:2:04:2:04:2:04:2:0/4:2:24:2:0/4:2:2/4:4:4
Sample depths (bits)888888 to 108 to 108 to 14
Flexible macroblock ordering (FMO)NoYesYesNoNoNoNoNo
Arbitrary slice ordering (ASO)NoYesYesNoNoNoNoNo
Redundant slices (RS)NoYesYesNoNoNoNoNo
Data partitioningNoNoYesNoNoNoNoNo
SI and SP slicesNoNoYesNoNoNoNoNo
B slicesNoNoYesYesYesYesYesYes
Interlaced coding (PicAFF, MBAFF)NoNoYesYesYesYesYesYes
Multiple reference framesYesYesYesYesYesYesYesYes
In-loop deblocking filterYesYesYesYesYesYesYesYes
CAVLC entropy codingYesYesYesYesYesYesYesYes
CABAC entropy codingNoNoNoYesYesYesYesYes
8×8 vs. 4×4 transform adaptivityNoNoNoNoYesYesYesYes
Quantization scaling matricesNoNoNoNoYesYesYesYes
Separate Cb and Cr QP controlNoNoNoNoYesYesYesYes
Monochrome (4:0:0)NoNoNoNoYesYesYesYes
Separate color plane codingNoNoNoNoNoNoNoYes
Predictive lossless codingNoNoNoNoNoNoNoYes

[edit] Levels

As the term is used in the standard, a "level" is a specified set of constraints indicating a degree of required decoder performance for a profile. For example, a level of support within a profile will specify the maximum picture resolution, frame rate, and bit rate that a decoder may be capable of using. A decoder that conforms to a given level is required to be capable of decoding all bitstreams that are encoded for that level and for all lower levels.

Levels with maximum property values
LevelMax macroblocksMax video bit rate (VCL)Examples for high resolution @
frame rate
(max stored frames)
per secondper frameBP, XP, MP
(kbit/s)
HiP
(kbit/s)
Hi10P
(kbit/s)
Hi422P, Hi444PP
(kbit/s)
11,485996480192256128×96@30.9 (8)
176×144@15.0 (4)
1b1,48599128160384512128×96@30.9 (8)
176×144@15.0 (4)
1.13,000396192240576768176×144@30.3 (9)
320×240@10.0 (3)
352×288@7.5 (2)
1.26,0003963844801,1521,536320×240@20.0 (7)
352×288@15.2 (6)
1.311,8803967689602,3043,072320×240@36.0 (7)
352×288@30.0 (6)
211,8803962,0002,5006,0008,000320×240@36.0 (7)
352×288@30.0 (6)
2.119,8007924,0005,00012,00016,000352×480@30.0 (7)
352×576@25.0 (6)
2.220,2501,6204,0005,00012,00016,000352×480@30.7(10)
352×576@25.6 (7)
720×480@15.0 (6)
720×576@12.5 (5)
340,5001,62010,00012,50030,00040,000352×480@61.4 (12)
352×576@51.1 (10)
720×480@30.0 (6)
720×576@25.0 (5)
3.1108,0003,60014,00017,50042,00056,000720×480@80.0 (13)
720×576@66.7 (11)
1280×720@30.0 (5)
3.2216,0005,12020,00025,00060,00080,0001,280×720@60.0 (5)
1,280×1,024@42.2 (4)
4245,7608,19220,00025,00060,00080,0001,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)
4.1245,7608,19250,00062,500150,000200,0001,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)
4.2522,2408,70450,00062,500150,000200,0001,920×1,080@64.0 (4)
2,048×1,080@60.0 (4)
5589,82422,080135,000168,750405,000540,0001,920×1,080@72.3 (13)
2,048×1,024@72.0 (13)
2,048×1,080@67.8 (12)
2,560×1,920@30.7 (5)
3,680×1,536@26.7 (5)
5.1983,04036,864240,000300,000720,000960,0001,920×1,080@120.5 (16)
4,096×2,048@30.0 (5)
4,096×2,304@26.7 (5)