本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
网络抽象层 (NAL) 适配标记参考
本节包含有关 StreamInfo.NalAdaptationFlags 枚举的可用标记的信息。
应用程序中的基本流
-
该Annex-B格式将 NALU(网络抽象层单元)
分隔为两个字节的零,后跟一个或三个字节的零,然后是数字 1(称为起始码,例如 00000001)。 -
AVCC 格式也对 NALU 进行了包装,但每个 NALU 前都有一个表示 NALU 大小 (通常为 4 个字节) 的值。
许多编码器生成 Annex-B 比特流格式。一些更高级别的比特流处理器(例如播放引擎或中的媒体源扩展 (MSE) 播放器)
编解码器私有数据 (CPD),即 H.264 编解码器的 SPS/PPS (序列 Set/Picture参数集),也可以采用 Annex-B 或 AVCC 格式。但是,对 CPD 而言,格式与前面描述的有所不同。
这些标志告诉 SDK 将 NALU 改编为 AVCC 或 Annex-B 帧数据和 CPD,如下所示:
| 标记 | 适配 |
|---|---|
NAL_ADAPTATION_FLAG_NONE |
没有改编。 |
NAL_ADAPTATION_ANNEXB_NALS |
将 Annex-B NalU 改编为 AVCC NalU。 |
NAL_ADAPTATION_AVCC_NALS |
将 AVCC Nalus 改编为 NALU。 Annex-B |
NAL_ADAPTATION_ANNEXB_CPD_NALS |
将编解码器私有数据的 Annex-B NalU 改编为 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