Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.

H.264 baseline streams


Is it possible to create H.264 bitstreams which are (strictly) baseline using the H.264 encoder as implemented in the sample code?


0 Kudos
2 Replies
Quoting - ssingh179

Is it possible to create H.264 bitstreams which are (strictly) baseline using the H.264 encoder as implemented in the sample code?


Hi S,

You may have read the paper about H.264 encoder parameter setting in

the line 7
100 0 /* profile_idc (77-main, 100-high); level_idc (set 0 for automatic selection) (check that num_ref_frames and frame size are in accordance with the level) */

when 66 - Baseline.
(UMC also support 100 - High, 110 - High10, 122 - High422, 144 -
High444 (for lossless mode only).

But as you read the readme file, the encoder of IPP is just a sample code and have limitation
Known Limitations
Encoder produce only JM9.2 compatible streams
SI and SP slice types are not supported.
Slice Data Partitioning is not supported.
- Annex A - Enforcement of Profile and Level Restrictions is not supported.
- Annex C - Full conformance with HRD (Hypothetical Reference Decoder) is not supported.
- Annex D - SEI (Supplemental Enhancement Information) is not supported.
- Annex E - VUI (Video Usability Information) is not supported.
Long Term Reference frames are not supported.
FMO (flexible macroblock ordering) is not supported.
ASO (arbitrary slice order) is not supported.
Weighted prediction is not supported.
The encoder only supports slices with MBs in raster order. All slices are the same size (in MBs) with any remainder going to the final slice. The maximum number of slices is the number of MB rows (one slice per row of 16x16 MBs).
Encoder does not support frame resizing. Thus input and output frame sizes should be the same.
Custom and default scale matrices are not supported. Standard scaling matrices are always used.
Transform 8x8 can be used for inter coding only.
The encoder assumes that input VideoData object contains frame in YUV420 (I420 according to format.

and if refer to the wiki,thenin general, no, the sampe code can't. but it may depends what exact means of "strictly"baseline:).

Hi Ying,

Thanks for your reply, but I am already aware of the information that you have provided.

Recommendation ITU-T H.264, annex A.2.1 (Baseline profile) specifies a set of constraints. If a bitstream satisfies these constraints, the bitstream is baseline, else its not baseline. That is what I mean by *strictly* baseline - a bitstream which meets all the constrains set in this section (annex A.2.1) of Recommendation ITU-T H.264.