H264 Profile & level

Source: Internet
Author: User

Http://blog.csdn.net/sphone89/article/details/17492433

H. 264 profiles

 

H.264 has four types of profiles. Each profile supports a specific set of encoding functions and supports a specific type of applications, including BP, EP, MP, and HP:

1. BP-baseline profile:

A. I/P slices

B. Multiple reference frames (-Refs <int>,> 1 in the x264 cli)

C. In-loop deblocking (loop filtering)

D. cavlc Entropy Coding (-no-cabac in the x264 cli)

The I-and p-slices support intra-and inter-frame encoding, context-based adaptive variable-length encoding for entropy encoding (cavlc), and only progressive ). It is mainly used for real-time video communication, such as videophone, conference TV, and wireless communication.

2. EP-extendedprofile:

Supports I/P/B/SP/Si frames, that is, effective switching between code streams (SP and Si slices) and improved error code performance. Only progressive and cavlc are supported; however, it does not support interlaced videos and cabac.

3. MP-main profile:

A. Baseline profile features mentioned above

B, B slices

 

C. cabacentropy Coding

D. interlacedcoding-PAFF/mbaff

E. weightedprediction

It provides I/P/B frames, supports both progressive and interlaced frames, as well as support for cavlc and cabac. It is mainly used for digital broadcast TV and digital video storage.

4. HP-high profile:

 

A. Main profile features mentioned above

B, 8 × 8 transform option (-8 × 8dct IN THE x264 cli)

C. Custom quantisation Matrices

Based on mainprofile, 8x8 internal prediction, custom quantization, lossless video encoding, and more YUV formats are added.

 

H. 264 frext (I .e., fidelityrange extensions) Extensions (Amendment), including high profile (HP), high10 profile (hi10p), high profile (hi422p), and high4: 4: 4 profile (hi444p. H.264 baseline profile, extended profile, and main profile are video sequences for 8-bit Sample Data in the format. frext extends them to 8 ~ 12-bit sample data. The video format can be, and. High Profile (HP), high 10 profile (hi10p), and high profile (hi422p) are set up), high profile (hi444p) Four profiles, all of which are based on main profile

In the same configuration, highprofile (HP) can save 10% of the Code traffic than mainprofile (MP), 60% of the Code traffic than MPEG-2 MP, with better encoding performance. Based on different application fields, baselineprofile is mostly used in real-time communication, main profile is mostly used in streaming media, and high profile is mostly used in radio and television and storage.

---------------------------

The following is a brief profile description of x264.

 

-- Profile <string> force the limits ofan H. 264 Profile

Overrides allsettings.

-Baseline:

-- No-8x8dct -- bframes 0 -- no-cabac

-- CQM flat -- weightp 0

Nointerlaced.

Nolossless.

-Main:

-- No-8x8dct -- CQM flat

Nolossless.

-High:

Nolossless.

-High10:

Nolossless.

Support forbit depth 8-10.

-High422:

Nolossless.

Support forbit depth 8-10.

Support for4: 2: 0/4: 2: 2 chroma subsampling.

-High444:

Support forbit depth 8-10.

Support for4: 2: 0/4: 2: 2/4: 4: 4 chroma subsampling.

Bytes -----------------------------------------------------------------------------------------------

 

Bit streams that comply with the baselineprofile must comply with the following restrictions:

-- Only I and P slices can appear in bits.

-- The nal_unit_type value of the nal unit bit stream should not fall in the range of [2, 4] (including 2, 4, the same below.

Note: nal_unit_type = 2 corresponds to partition a; nal_unit_type = 3 corresponds to partition B; nal_unit_type = 4 corresponds to partition C. Because baselineprofile does not use the data partition method.

-- The frame_mbs_only_flag in the sequence parameter set should be equal to 1.

Note: frame_mbs_only_flag is equal to 0, indicating that the encoded image of the video sequence may be a encoding field or frame. Frame_mbs_only_flag is equal to 1, indicating that each encoded image of the video sequence is an encoded frame that only contains a frame macro block.

-- Weighted_pred_flag and weighted_bipred_idc in the image parameter set should both be equal to 0.

Note: fail to 0 specifies that weighted prediction (weighted prediction) shall not be applied to P and spslices. Duplicate equal to 1 specifies that weighted prediction shallbe applied to P and SP slices.

Weighted_bipred_idcequal to 0 specifies that the default weighted prediction (default weighted prediction) shall be applied to B slices. weighted_bipred_idcequal to 1 specifies that explicit weighted prediction (specified weighted prediction method) shall be applied to B slices. weighted_bipred_idcequal to 2 specifies that implicit weighted prediction (implicit weighted prediction method) shall be applied to B slices. the value ofweighted_bipred_idcshall be in the range of 0 to 2, Volume Sive.

-- The entropy_coding_mode_flag in the image parameter set should be equal to 0.

Note: entropy_coding_mode_flag = 0, indicating that the entropy encoding uses cavlc.

-- The num_slice_groups_minus1 in the image parameter set should be within the range of [0, 7.

Note: Adding 1 to the syntactic element indicates the number of slices in the image. H. 264 does not contain special syntaxes to indicate whether to use the film group mode. When the syntactic element is equal to 0 (that is, there is only one film group), it indicates that the film group mode is not used, it will not be mapped to the syntactic element with the group used for computing.

-- The baseline profile level limit set in Section A.3.

The profile_idc of the bitstream consistent with baselineprofile should be 66. For a decoder that complies with a specified level of baseline profile, it can decode any bitstream that meets the following requirements: 1. profile_idc is equal to 66 or constraint_set0_flag is equal to 1; 2. level_idc represents a level smaller than or equal to the specified level.

Note: constraint_set0_flag. The value is equal to 1, indicating that all constraints specified in Appendix A.2.1 (above) of the standard must be followed.


Bytes --------------------------------------------------------------------------------------------

H264 level

 

Each profile specifies a subset of algorithm features and limitations. Any decoder that complies with a profile should support its corresponding subsets.

Each level specifies a set of limits on the various parameter values used by standard syntax elements.

Under a given profile, the level usually corresponds to the decoder's processing capability and memory capacity. Set different parameters for each grade (such as the sampling rate, image size, and encoding bit rate) to obtain different levels of the corresponding encoding/decoder performance.

Yeslevels parameter table


Several H.264 Software Encoder

H264 Profile & level

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.