H.264 Profiles
The standard includes the following seven sets of capabilities, which are referred to as profiles, targeting specific classes of applications:
- Baseline Profile (BP): Primarily for lower-cost applications with limited computing resources, this profile is used widely in videoconferencing and mobile applications.
- Main Profile (MP): Originally intended as the mainstream consumer profile for broadcast and storage applications, the importance of this profile faded when the High profile was developed for those applications.
- 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 (this is the profile adopted into HD DVD and Blu-ray Disc, for example).
- High 10 Profile (Hi10P): Going beyond today’s 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.
In addition, 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 extension, the standard contains three additional scalable profiles, which are defined as a combination of the H.264/AVC profile for the base layer (2nd word in 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.
Baseline | Extended | Main | High | High 10 | High 4:2:2 | High 4:4:4Predictive | |
---|---|---|---|---|---|---|---|
I and P Slices | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
B Slices | No | Yes | Yes | Yes | Yes | Yes | Yes |
SI and SP Slices | No | Yes | No | No | No | No | No |
Multiple Reference Frames | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
In-Loop Deblocking Filter | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
CAVLC Entropy Coding | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
CABAC Entropy Coding | No | No | Yes | Yes | Yes | Yes | Yes |
Flexible Macroblock Ordering (FMO) | Yes | Yes | No | No | No | No | No |
Arbitrary Slice Ordering (ASO) | Yes | Yes | No | No | No | No | No |
Redundant Slices (RS) | Yes | Yes | No | No | No | No | No |
Data Partitioning | No | Yes | No | No | No | No | No |
Interlaced Coding (PicAFF, MBAFF) | No | Yes | Yes | Yes | Yes | Yes | Yes |
4:2:0 Chroma Format | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Monochrome Video Format (4:0:0) | No | No | No | Yes | Yes | Yes | Yes |
4:2:2 Chroma Format | No | No | No | No | No | Yes | Yes |
4:4:4 Chroma Format | No | No | No | No | No | No | Yes |
8 Bit Sample Depth | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
9 and 10 Bit Sample Depth | No | No | No | No | Yes | Yes | Yes |
11 to 14 Bit Sample Depth | No | No | No | No | No | No | Yes |
8×8 vs. 4×4 Transform Adaptivity | No | No | No | Yes | Yes | Yes | Yes |
Quantization Scaling Matrices | No | No | No | Yes | Yes | Yes | Yes |
Separate Cb and Cr QP control | No | No | No | Yes | Yes | Yes | Yes |
Separate Color Plane Coding | No | No | No | No | No | No | Yes |
Predictive Lossless Coding | No | No | No | No | No | No | Yes |
Baseline | Extended | Main | High | High 10 | High 4:2:2 | High 4:4:4Predictive |
H.264 Levels
Level number | Max macroblocks per second | Max frame size (macroblocks) | Max video bit rate (VCL) for Baseline, Extended and Main Profiles | Max video bit rate (VCL) for High Profile | Max video bit rate (VCL) for High 10 Profile | Max video bit rate (VCL) for High 4:2:2 and High 4:4:4 Predictive Profiles | Examples for high resolution @ frame rate (max stored frames) in Level |
---|---|---|---|---|---|---|---|
1 | 1485 | 99 | 64 kbit/s | 80 kbit/s | 192 kbit/s | 256 kbit/s | 128×96@30.9 (8) 176×144@15.0 (4) |
1b | 1485 | 99 | 128 kbit/s | 160 kbit/s | 384 kbit/s | 512 kbit/s | 128×96@30.9 (8) 176×144@15.0 (4) |
1.1 | 3000 | 396 | 192 kbit/s | 240 kbit/s | 576 kbit/s | 768 kbit/s | 176×144@30.3 (9) 320×240@10.0 (3) 352×288@7.5 (2) |
1.2 | 6000 | 396 | 384 kbit/s | 480 kbit/s | 1152 kbit/s | 1536 kbit/s | 320×240@20.0 (7) 352×288@15.2 (6) |
1.3 | 11880 | 396 | 768 kbit/s | 960 kbit/s | 2304 kbit/s | 3072 kbit/s | 320×240@36.0 (7) 352×288@30.0 (6) |
2 | 11880 | 396 | 2 Mbit/s | 2.5 Mbit/s | 6 Mbit/s | 8 Mbit/s | 320×240@36.0 (7) 352×288@30.0 (6) |
2.1 | 19800 | 792 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 352×480@30.0 (7) 352×576@25.0 (6) |
2.2 | 20250 | 1620 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 352×480@30.7(10) 352×576@25.6 (7) 720×480@15.0 (6) 720×576@12.5 (5) |
3 | 40500 | 1620 | 10 Mbit/s | 12.5 Mbit/s | 30 Mbit/s | 40 Mbit/s | 352×480@61.4 (12) 352×576@51.1 (10) 720×480@30.0 (6) 720×576@25.0 (5) |
3.1 | 108000 | 3600 | 14 Mbit/s | 17.5 Mbit/s | 42 Mbit/s | 56 Mbit/s | 720×480@80.0 (13) 720×576@66.7 (11) 1280×720@30.0 (5) |
3.2 | 216000 | 5120 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1280×720@60.0 (5) 1280×1024@42.2 (4) |
4 | 245760 | 8192 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1280×720@68.3 (9) 1920×1088@30.1 (4) 2048×1024@30.0 (4) |
4.1 | 245760 | 8192 | 50 Mbit/s | 50 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1280×720@68.3 (9) 1920×1088@30.1 (4) 2048×1024@30.0 (4) |
4.2 | 522240 | 8704 | 50 Mbit/s | 50 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1920×1088@64.0 (4) 2048×1088@60.0 (4) |
5 | 589824 | 22080 | 135 Mbit/s | 168.75 Mbit/s | 405 Mbit/s | 540 Mbit/s | 1920×1088@72.3 (13) 2048×1024@72.0 (13) 2048×1088@67.8 (12) 2560×1920@30.7 (5) 3680×1536/26.7 (5) |
5.1 | 983040 | 36864 | 240 Mbit/s | 300 Mbit/s | 720 Mbit/s | 960 Mbit/s | 1920×1088@120.5 (16) 4096×2048@30.0 (5) 4096×2304@26.7 (5) |
Level number | Max macroblocks per second | Max frame size (macroblocks) | Max video bit rate (VCL) for Baseline, Extended and Main Profiles | Max video bit rate (VCL) for High Profile | Max video bit rate (VCL) for High 10 Profile | Max video bit rate (VCL) for High 4:2:2 and High 4:4:4 Predictive Profiles |