How can I remove the AUD, SEI, and PPS headers after encoding?

How can I remove the AUD, SEI, and PPS headers after encoding?


I have a analysis H264 bitstreams after encoding. There are other headers(AUD, PPS, SEI) as like figure 1.

I want to remove the other headers because the encoded bitstream is transfered to other client.

How do I delete it?

Thanks in advance,


Downloadimage/png figure1.png152.57 KB
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi nrson,

For more complete control of those headers to you need to configure encoder using extended encoding options via "mfxExtCodingOption" structure.

Regarding AUD and SEI:
To remove these you must set "NalHrdConformance = MFX_CODINGOPTION_OFF", and then "PicTimingSEI = MFX_CODINGOPTION_OFF" and "AUDelimiter = MFX_CODINGOPTION_OFF".

However, there are limitations in the HW H.264 encoder which prevents AUD from being removed. So even if AUDelimiter is set to off, AUD will still be inserted. If you must remove it from the generated stream you will have to parse the stream and remove it manually.

Regarding PPS: Due to HW limitations PPS will be inserted before each frame. Again, if needed you can remove these manually.

SW encode does not have any of the above mentioned limitations.


Hi again,

a slight correction to my previous post.

to ONLY remove picTimingSEI but leave the stream HRD conformant set the following:
mfxExtCodingOption::VuiNal/VclHrdParameters = OFF
mfxExtCodingOption::PicTimingSEI = OFF


Leave a Comment

Please sign in to add a comment. Not a member? Join today