- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How does I prevent any SEI inserts from the encoder?
For example, this
m_mfxEncExtCodingOptionPtr->PicTimingSEI = MFX_CODINGOPTION_OFF; // still there
does not do as I would expect. I can get rid of the AUD but not the pic timing. And the buffer period is there, and no apparent way to not put that out. At least one decoder I've seen does not like SEI at all - it flicks (HTC HD7).
[cpp]000000 00 00 00 01 27 42 40 1f 95 a0 28 0b fe 5c 04 40 00 00 03 00 80 00 00 1e 38 18 00 01 00 59 00 00
000020 10 05 92 f7 be 06 d0 c1 95 00 00 00 01 28 ce 3c 80 00 00 01 06 00 07 80 af c8 00 00 03 00 40 01
000040 06 00 00 03 00 00 03 00 00 80 00 00 01 25 ... ^.... buffering period SEI
: .............. pic timing SEI
v
001700 . . . 00 00 00 01 06 01 06 00 00 03 02 00 00 03 00 80 00 00 01 21 ...[/cpp]
With the code below all I accomplish is not putting out the AUD.
[cpp]#define DO_EXT_CONFIG
#ifdef DO_EXT_CONFIG
// --
// configure extended encoding options
if (m_mfxEncExtCodingOptionPtr != nullptr) {
delete m_mfxEncExtCodingOptionPtr;
m_mfxEncExtCodingOptionPtr = nullptr;
}
m_mfxEncExtCodingOptionPtr = new mfxExtCodingOption;
memset(m_mfxEncExtCodingOptionPtr, 0, sizeof(mfxExtCodingOption));
m_mfxEncExtCodingOptionPtr->Header.BufferId = MFX_EXTBUFF_CODING_OPTION;
m_mfxEncExtCodingOptionPtr->Header.BufferSz = sizeof(mfxExtCodingOption);
// ...
m_mfxEncExtCodingOptionPtr->AUDelimiter = MFX_CODINGOPTION_OFF; // this works (removes it)
m_mfxEncExtCodingOptionPtr->PicTimingSEI = MFX_CODINGOPTION_OFF; // still there
m_mfxEncExtCodingOptionPtr->MaxDecFrameBuffering = 1; // since I wantt this
// requires API 1.6: m_mfxEncExtCodingOptionPtr->RecoveryPointSEI = MFX_CODINGOPTION_OFF; // If intra refresh is not enabled then this flag is ignored
m_mfxExtBuffers[0] = (mfxExtBuffer*)m_mfxEncExtCodingOptionPtr;
m_mfxEncParms.ExtParam = &m_mfxExtBuffers[0];
m_mfxEncParms.NumExtParam = 1;
// --
#endif[/cpp]
(Other than removing it myself after the fact)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
can you please share some details about your system configuration, such as the type of processor, graphics driver (assuming your using HW acceleration), OS, SDK version etc.
You can capture some of this info using the Media SDK system_analyzer tool.
Regards,
Petter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It was my mistake. I was not reading the packed SEIs correctly (I was a bit rusty). In the mean time I came across a post here, in google, that mentioned the buffering (or timing - I forget) SEI would always be put in on HW encode. From this (that's a URL in case I can't put in links):
http://software.intel.com/en-us/forums/topic/326861
In the end I coded it up to pull it out myself.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page