H.264 or MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC) is a block-oriented motion-compensation-based video compression standard that is currently one of the most commonly used formats for the recording, compression, and distribution of video content.
Profiles (to specific classes of applications)
The standard defines a sets of capabilities, which are referred to as profiles, targeting specific classes of applications.
These are declared as a profile code (profile_idc) and a set of constraints applied in the encoder.
This allows a decoder to recognize the requirements to decode that specific stream.
解碼時(shí)根據(jù)profile的類型確定需要哪些內(nèi)容(requirements)以便進(jìn)行解碼.
- Baseline Profile (BP, 66)
Primarily for low-cost applications that require additional data loss robustness(健壯性), this profile is used in some video conferencing and mobile applications.
一般用于視頻會議和移動(dòng)應(yīng)用中.
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, 77)
This profile is used for standard-definition digital TV broadcasts that use the MPEG-4 format as defined in the DVB standard.[33]
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.
主要用于標(biāo)清數(shù)字電視傳輸.
- High Profile (HiP, 100)
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 Discstorage format and the DVB HDTV broadcast service).
主要用于傳輸和存儲,特別是高清電視應(yīng)用.
Levels (a specified set of constraints)
As the term is used in the standard, a "level" is a specified set of constraints that indicate a degree of required decoder performance for a profile.
For example, a level of support within a profile specifies the maximum picture resolution, frame rate, and bit rate that a decoder may use.
可指定最大的圖像分辨率冰更、幀率等
例如:
最右側(cè)為
Examples for high resolution@ highest frame rate(max stored frames)
A decoder that conforms to a given level must be able to decode all bitstreams encoded for that level and all lower levels.
Perferences:
https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
http://iphome.hhi.de/wiegand/assets/pdfs/DIC_H264_07.pdf