package
0.37.4
Repository: https://github.com/q191201771/lal.git
Documentation: pkg.go.dev

# Functions

BuildSeqHeaderFromSpsPps @return 内存块为内部独立新申请.
BuildSpsPps2Annexb 根据sps pps构建payload.
CaptureAvcc2Annexb AVCC转换为Annexb格式。 @param payload: rtmp message的payload部分或者flv tag的payload部分。 注意,包含了头部2字节类型以及3字节的cts.
IterateNaluAnnexb @param handler: 回调函数中的`nal`参数引用`nals`中的内存.
IterateNaluStartCode 遍历直到找到第一个nalu start code的位置。 @param start: 从`nalu`的start位置开始查找。 @return pos: start code的起始位置(包含start code自身)。 @return length: start code的长度,可能是3或者4。 注意,如果找不到start code,则返回-1, -1。.
ParseSpsPpsFromSeqHeader 见func ParseSpsPpsFromSeqHeaderWithoutMalloc @return sps, pps: 内存块为内部独立新申请.
ParseSpsPpsFromSeqHeaderWithoutMalloc 从AVCC格式的Seq Header中得到SPS和PPS内存块。 @param payload: rtmp message的payload部分或者flv tag的payload部分。 注意,包含了头部2字节类型以及3字节的cts。 @return sps, pps: 复用传入参数`payload`的内存块.
SplitNaluAnnexb 遍历Annexb格式,去掉start code,获取nal包,正常情况下可能为1个或多个,异常情况下可能一个也没有 具体见单元测试 @return nalList: 内存块元素引用输入参数`nals`的内存.
SplitNaluAvcc 遍历AVCC格式,去掉4字节长度,获取nal包,正常情况下可能返回1个或多个,异常情况下可能一个也没有 具体见单元测试.
SpsPpsSeqHeader2Annexb AVCC Seq Header转换为Annexb格式。 @param payload: rtmp message的payload部分或者flv tag的payload部分。 注意,包含了头部2字节类型以及3字节的cts。 @return 返回的内存块为内部独立新申请。.
TryParsePps 尝试解析PPS所有字段,实验中,请勿直接使用该函数.
TryParseSeqHeader 尝试解析SeqHeader所有字段,实验中,请勿直接使用该函数。 @param payload: rtmp message的payload部分或者flv tag的payload部分。 注意,包含了头部2字节类型以及3字节的cts。.

# Constants

# Variables

AudNalu aud nalu.
NaluTypeMapping H.264-AVC-ISO_IEC_14496-15.pdf Table 1 - NAL unit types in elementary streams.

# Structs

DecoderConfigurationRecord H.264-AVC-ISO_IEC_14496-15.pdf 5.2.4 Decoder configuration information.
Sps ISO-14496-10.pdf 7.3.2.1 Sequence parameter set RBSP syntax 7.4.2.1 Sequence parameter set RBSP semantics.