本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
网络抽象层 (NAL) 适配标记参考
本节包含有关 StreamInfo.NalAdaptationFlags
枚举的可用标记的信息。
应用程序中的基本流
-
Annex-B 格式使用两个字节的零划分 NALU (网络抽象层单元)
,后跟一或三个字节的零,然后是数字 1 (称为起始码,例如 00000001)。 -
AVCC 格式也对 NALU 进行了包装,但每个 NALU 前都有一个表示 NALU 大小 (通常为 4 个字节) 的值。
许多编码器生成 Annex-B 比特流格式。一些更高级别的比特流处理器(例如播放引擎或中的媒体源扩展 (MSE) 播放器)
编解码器私有数据 (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 NalU。 |
NAL_ADAPTATION_AVCC_NALS |
将 AVCC Nalus 改编成附件 B NalU。 |
NAL_ADAPTATION_ANNEXB_CPD_NALS |
将编解码器私有数据的 Annex-B Nalus 改编为 AVCC 格式的 nalU。 |
NAL_ADAPTATION_ANNEXB_CPD_AND_FRAME_NALS |
调整编解码器的 Annex-B NalU,将私有数据帧转换为 AVCC 格式的 NalU。 |
有关 NALU 类型的更多信息,请参阅 RFC 3984 中的 Section 1.3: Network Abstraction Layer Unit Types