本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
网络抽象层 (NAL) 适配标记参考
本节包含有关 StreamInfo.NalAdaptationFlags
枚举的可用标记的信息。
应用程序中的基本流
-
Annex-B 格式使用两个字节的零划分 NALU (网络抽象层单元)
,后跟一或三个字节的零,然后是数字 1 (称为起始码,例如 00000001)。 -
AVCC 格式也对 NALU 进行了包装,但每个 NALU 前都有一个表示 NALU 大小 (通常为 4 个字节) 的值。
许多编码器生成 Annex-B 比特流格式。一些较高级的比特流处理器 (例如播放引擎或 中的
编解码器私有数据 (CPD) 是面向 H.264 编解码器的 SPS/PPS (序列参数集/图片参数集),也可以采用 Annex-B 或 AVCC 格式。但是,对 CPD 而言,格式与前面描述的有所不同。
这些标记告知 SDK 将 NALU 与帧数据和 CPD 的 AVCC 或 Annex-B 适配,如下所示:
标记 | 适配 |
---|---|
NAL_ADAPTATION_FLAG_NONE |
不适应。 |
NAL_ADAPTATION_ANNEXB_NALS |
将 Annex-B nalus 改编为 AVCC naluS。 |
NAL_ADAPTATION_AVCC_NALS |
将 AVCC naluS 改编成附件 B naluS。 |
NAL_ADAPTATION_ANNEXB_CPD_NALS |
将编解码器私有数据的 Annex-B naluS 改为 AVCC 格式 naluS。 |
NAL_ADAPTATION_ANNEXB_CPD_AND_FRAME_NALS |
调整编解码器的 Annex-B naluS 并将私有数据帧为 AVCC 格式 naluS。 |
有关 NALU 类型的更多信息,请参阅 RFC 3984 中的 Section 1.3: Network Abstraction Layer Unit Types