关于NALU的startcode的几个问题

A few questions about the startcode of NALU

我是学习MPEG4的初学者,有一些定义让我很困惑。

  1. 表示如果一个NALU slice是一帧的第一个slice,那么NALU的startcode是4字节“\x00\x00\x00\x01”,否则是3字节“\x00\x00\x01”。我想知道是强制的吗?我发现在Android MPEG4Writer.

  2. 中似乎总是使用4个字节
  3. 是否有可能一个NALU slice以"\x00"结尾,如果是,如何判断这个"\x00"是属于前面的NALU还是后面的NALU?

  1. 没有。不需要 3 字节起始码。不过可以用来节省一点space。

  2. 没有。每个 NALU 都有一个停止位。所以最后一个字节保证永远不会为0。