Community
cancel
Showing results for 
Search instead for 
Did you mean: 
richardor_c_
Beginner
183 Views

h264 encoder without PPS and SEI in each frame

您好,

我在使用intel media sdk硬编时,发现编出来的数据每帧前面都有PPS和SEI,请问我如何才能只在I帧前面有PPS和SEI,而P帧前面没有?mfxExtCodingOption该如何设置?谢谢。

 

0 Kudos
3 Replies
Jiandong_Z_Intel
Employee
183 Views

Hi There,

About H264 HW encode, you want only have PPS and SEI before I frame, not have PPS and SEI before P frame. replace echo frame have PPS and SEI currently.

Here is some settings suggest to you.

1. set mfxExtCodingOption.RefPicMarkRep to MFX_CODINGOPTION_OFF

about  RefPicMarkRep can be referred in Intel Media SDK Reference Manual page 90, descript like below:

Set this flag to write the reference picture marking repetition
SEI message into the output bitstream. See the
CodingOptionValue enumerator for values of this option.

2. set mfxExtCodingOption2.RepeatPPS to MFX_CODINGOPTION_OFF

about  RepeatPPS  can be referred in Intel Media SDK Reference Manual page 94, descript like below:

This flag controls picture parameter set repetition in AVC
encoder. Turn ON this flag to repeat PPS with each frame. See
the CodingOptionValue enumerator for values of this option.
The default value is ON. This parameter is valid only during
initialization.

 

Best Regards,

Zachary

宋_小_
Beginner
183 Views

    m_CodingOption.Header.BufferId = MFX_EXTBUFF_CODING_OPTION;
    m_CodingOption.Header.BufferSz = sizeof(m_CodingOption);
    m_CodingOption.AUDelimiter = MFX_CODINGOPTION_OFF;
    m_CodingOption.RefPicMarkRep = MFX_CODINGOPTION_OFF;

    m_CodingOption2.Header.BufferId = MFX_EXTBUFF_CODING_OPTION2;
    m_CodingOption2.Header.BufferSz = sizeof(m_CodingOption2);
    m_CodingOption2.RepeatPPS = MFX_CODINGOPTION_OFF;

    m_EncExtParams.push_back((mfxExtBuffer *)&m_CodingOption);
    m_EncExtParams.push_back((mfxExtBuffer *)&m_CodingOption2);
    m_par.ExtParam = &m_EncExtParams[0];
    m_par.NumExtParam = 2;

but still have sei message per frame.

宋_小_
Beginner
183 Views

I have found the problem. It was the NalHrdConformance flag. Set this flag to MFX_CODINGOPTION_OFF, I got the right answer.

Reply