Transferred from: http://blog.csdn.net/sphone89/article/details/17492433
H. Profiles
There are four profiles, each of which supports a specific set of coding functions and supports a specific type of application, namely BP, EP, MP, 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 filter)
D, CAVLC entropy coding (–no-cabac in the x264 CLI)
The I and P tablets support intra-and inter-frame encoding, enabling entropy coding (CAVLC) using context-based adaptive variable-length coding and support for no-interleaving (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, which support efficient switching between streams (SP and si slices), improved bit error performance, no interleaving (Progressive) and CAVLC only, but no interlaced video and CABAC support.
3.Mp-main Profile:
A, Baseline profile features mentioned above
B, b slices
C, Cabacentropy coding
D, Interlacedcoding–paff/mbaff
E, weightedprediction
Provides i/p/b frames, supports no interleaving (Progressive) and interleaving (interlaced), supports CAVLC and Cabac, and is used primarily for digital broadcast TV and digital video storage.
4.Hp-high Profile:
A, Main profile features mentioned above
B, 8x8 transform option (–8X8DCT in the x264 CLI)
C, Custom quantisation matrices
On the basis of mainprofile, 8x8 internal prediction, custom quantization, lossless video coding and more YUV formats were added.
H. FRExt (i.e.: Fidelityrange Extensions) Extended portion (Amendment), including high profile (HP), High10 profile (hi10p), and high 4:2:2 Profile (hi422p), High4:4:4 profile (hi444p) 4 profiles.h.264 baseline profile, extended profile and main Profile is for the 8-bit sample data, 4:2:0 format video sequences, frext extend it to 8~ 12-bit sample data, video format can be 4:2:0, 4:2:2, 4:4:4, set up high profile (hp), high 10profile ( Span lang= "en-us" >hi10p), high 4:2:2 profile (hi422p), high 4:4:4 profile (hi444p) 4 a profile, which 4 profile are based on main profile
With the same configuration, Highprofile (HP) can save up to 10% of the code flow compared to Mainprofile (MP), saving 60% of code traffic compared to MPEG-2 MP, with better coding performance. According to different application fields, Baselineprofile is used in real-time communication field, and Main profile is applied in the field of streaming media, and high profile is used in broadcasting and storage field.
---------------------------
The following is a brief description of x264 's profile
--profile<string> force the Limits Ofan H.
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.
-----------------------------------------------------------------------------------------------
Baselineprofile-compliant bitstream should be subject to the following limitations:
--only I and P slices can appear in the bit stream .
--The Nal_unit_type value of the NAL cell bitstream should not fall within the range of [2,4] (including 2,4, below).
Note:nal_unit_type=2 corresponding slice partition A;nal_unit_type=3 corresponding slice partition B;nal_unit_type=4 corresponding slice partition C. Because Baselineprofile does not take the method of data partitioning.
--The Frame_mbs_only_flag in the sequence parameter set should be equal to 1.
Note:frame_mbs_only_flag equals 0 indicates that the encoded image of the encoded video sequence may be an encoded field or an encoded frame. frame_mbs_only_flag equals 1 means that each encoded image of the encoded video sequence is an encoded frame that contains only the frame macro block.
-Weighted_pred_flag and WEIGHTED_BIPRED_IDC in the image parameter set should be equal to 0.
Note:weighted_pred_flagequal to 0 specifies that weighted prediction (weighted forecast) shall not being applied to P and SPSL Ices.weighted_pred_flag equal to 1 specifies this weighted prediction Shallbe applied to P and SP slices.
Weighted_bipred_idcequal to 0 specifies that the default weighted prediction (the defaults weighted forecast) shall be applied to B slices . weighted_bipred_idcequal to 1 specifies that explicit weighted prediction (specified weighted forecast mode) shall be applied to B slices . weighted_bipred_idcequal to 2 specifies that implicit weighted prediction (implied weighted predictive mode) shall be applied to B slices . The value Ofweighted_bipred_idcshall is in the range of 0 to 2, inclusive.
--The Entropy_coding_mode_flag in the image parameter set should be equal to 0.
Note:entropy_coding_mode_flag=0, which represents entropy encoding using CAVLC.
--The NUM_SLICE_GROUPS_MINUS1 in the image parameter set should be within the range of [0,7].
Note: This syntax element plus 1 indicates the number of slices in the image. there is no specific syntactic element used to indicate whether to use the slice pattern, when this syntactic element is equal to 0 o'clock (that is, there is only one slice group), which means that no slice pattern is used, and there is no mapping to the syntactic element for the calculation slice group behind.
--The Baseline profile level limit specified in the A.3 section should be met .
A bit stream that corresponds to Baselineprofile, its profile_idc should be equal to 66. For a decoder that adheres to a specified level of Baseline profile, it can decode any bit stream that meets the following requirements:1. PROFILE_IDC equals 66 or Constraint_set0_flag equals 1; 2. The level represented by LEVEL_IDC is less than or equal to this specified level.
Note:constraint_set0_flag with a value equal to 1 means that all constraints specified in appendix a.2.1 (i.e. above) in the standard must be complied with, and equal to 0 means that the condition does not have to be complied with.
--------------------------------------------------------------------------------------------
H264 level
Each profile specifies a subset of the algorithm's characteristics and limits, and any decoder that adheres to a certain profiles should support its corresponding subset.
Each level specifies a set of restrictions on the various parameter values used by the standard grammar member (syntax element).
Under a given profile, the level is usually relative to the decoder's processing power and memory capacity. Each grade sets different parameters (such as sample rate, image size, encoded bit rate, etc.) to achieve different levels of codec performance.
is the Levels parameter table
Several h. Software encoder
H264 Profiles & Level