作者:烧饼来一个则_815 | 来源:互联网 | 2023-05-30 22:50
雷霄骅自然不必多介绍,做音视频开发的无人不知无人不晓,雷神在h264bitstream基础上做了一版,不过代码bug也遗留不少。
目前已知bug,
1.slice header解析器中sps pps未保存,导致实际的slice header解析其实是有问题的。原因在h264_stream_t对象每次被清空
2.OnItemchangedVH264Nallist函数被多次响应
3.read_pred_weight_table()函数中num_ref_idx_l0_active_minus1取值要使用sh的,非sps的。
num_ref_idx_l1_active_minus1取值要使用pps的,非sh的
4.对于nal转rbsp失败的情况,直接return -1.太过暴力,为了对应Elecard的处理,所以nal_2_rbsp()出错的时候,选择继续使用原码流解析
雷神的h264标准协议采用的应该是2002年,2010年之间的版本。各个版本之间,也存在一些差异,不过不影响大局。
优化版本,修复了上面的bug,并加入一些判断处的关键字段注释打印,可以参照语法协议一目了然。
增加点击条目的RBSP前10个字节16进制打印,并控制台显示。方便开发者对应语法自己解析。
目前已与最权威的Elecard Stream Analyzer软件解析结果保持一致。
雷神的解析器虽然有一些瑕疵,但是依然是我们学习和值得永远尊重的大牛,本人只是稍做改良,向雷神致敬!