一、 PS 包头格式
1、PS 包头格式
包起始码字段 pack_start_code
值为'0000 0000 0000 00000000 0001 1011 1010' (0x000001BA)的位串,用来标志一个包的开始。
系统时钟参考字段 system_clock_reference_base,system_clock_reference_extenstion
系统时钟参考(SCR)分两部分编码的42位字段。第一部分system_clock_reference_base是一个长度为33位的字段;第二部分system_clock_reference_extenstion是一个长度为9位的字段。SCR字段指出了基本流中包含ESCR_base最后一位的字节到达节目目标解码器输入端的期望时间。
标记位字段 marker_bit
1位字段,取值'1'。
节目复合速率字段 program_mux_rate
一个22位整数,规定P-STD在包含该字段的包期间接收节目流的速率。其值以50字节/秒为单位。不允许取0值。该字段值在本标准中的节目多路复合流的不同包中取值可能不同。
包填充长度字段 pack_stuffing_length
3位整数,规定该字段后填充字节的个数。
填充字节字段 stuffing_byte
8位字段,取值恒为'1111 1111'。该字段能由编码器插入,例如为了满足通道的要求。它由解码器丢弃。在每个包标题中最多只允许有7个填充字节。
2、分析实例
结合上面的格式,分析图1.
图1
0x000001BA用来标志一个包的开始,从后面划线的ff到01表示填充字符,其他的分析见图2