一个 NAL 单元的最大字节数

The maximum size with bytes of one NAL unit

我在 H.264 规范中找不到任何线索,无论其配置文件和级别如何,任何人都可以给出一个清晰简单的最大尺寸?

我想解析H.264码流,将一个完整的NAL unit buffer复制到一个可以容纳一个NAL unit所有字节的固定大小的buffer中。

谢谢。

我认为视频 NAL 没有上限。在 Annex-B 格式中,NAL 是起始代码分隔的 0x00 0x00 0x00 0x01,因此大小字段没有限制。在 MP4 格式中,大小字段的容量可以超过大多数计算机的 RAM。我会合理假设预期的缓冲区大小,然后在超过最大值时重新分配。

AVC 级别 6.2 允许每帧最多 139264 个宏块。如果我们使用 10 位颜色 4:4:4,它就是每个像素 30 位。所以 (30*139264*16*16)/8 为未压缩的图像提供了大约 133.7 兆字节。 H.264 具有允许未压缩图像的 PCM_I 编码。 NAL header 有一点开销,所以我们称它为 134Mbyte。但在现实世界中,框架可能不会这么大,而且可能会被压缩。