[Live-devel] emulation bytes in a slice NALU

Philipp Schrader Philipp.Schrader at nuvation.com
Sat Aug 17 20:04:05 PDT 2013


Hi all,

 

I am curious if someone could shed some light on the following
assumption in the live555 code:

 

liveMedia/H264VideoStreamFramer.cpp:524: // Note: We assume that there
aren't any 'emulation prevention' bytes here to worry about...

 

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.

 

To clarify, this is the NALU byte stream that is causing the issue:

25 00 1F E2 22 00 00 03 02 00 00 80 AB FF

 

When removing the emulation bytes, it turns into

25 00 1F E2 22 00 00 02 00 00 80 AB FF

(notice the missing 03)

 

Since this is not happening, however, live555 interprets the idr_pic_id
as 769 when it should be 511.

 

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.

 

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.

 

Thanks,

Philipp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130817/706f51e8/attachment.html>


More information about the live-devel mailing list