<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hi all,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am curious if someone could shed some light on the following assumption in the live555 code:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>liveMedia/H264VideoStreamFramer.cpp:524: // Note: We assume that there aren't any 'emulation prevention' bytes here to worry about...<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In our application we’re noticing that our frame slices’ NALU headers are decoded incorrectly because padding bytes are not stripped. This in turn causes the application to treat the slices as belonging to different frames and seems to slow down the stream.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>To clarify, this is the NALU byte stream that is causing the issue:<o:p></o:p></p><p class=MsoNormal>25 00 1F E2 22 00 00 03 02 00 00 80 AB FF<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>When removing the emulation bytes, it turns into<o:p></o:p></p><p class=MsoNormal>25 00 1F E2 22 00 00 02 00 00 80 AB FF<o:p></o:p></p><p class=MsoNormal>(notice the missing 03)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Since this is not happening, however, live555 interprets the idr_pic_id as 769 when it should be 511.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>At least I think that this kind of thing is what’s referred to by the “emulation bytes” etc. The SPS and SEI NALUs seem to be properly stripped of any emulation bytes.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I can manually add a call to strip a copy of the NALU header, but I was curious if there’s an elegant way someone else has already thought about.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,<o:p></o:p></p><p class=MsoNormal>Philipp<o:p></o:p></p></div></body></html>