JSVM解码器阅读笔记 详解解释JSVM解码过程
从数据读入到解码的整体流程大致如下:
1 由DecodeFrame作为入口,处理每一个Frame的数据
2 对于每一个Frame的数据,处理对应的AccessUnit中的每一个NALUnit数据
3 对于每一个NAL包,处理每个DependenceLayer的SliceData(程序定义的最大DependenceLayer数为8,在当前码流无Spatial Scalability特性的情况下,每个NAL包只有一个DependanceLayer)
4 对于每一个DependenceLayer的SliceData,共需要经历如下过程:
4.1 InitSlice,绝大多数数据结构的空间申请以及部分数据结构内容的重置
4.2 ParseSlice,最为核心的是解码部分数据结构的初始化及反cabac获得残差系数
4.3 DecodeSlice,每一个Slice数据的解码工作,包含反量化、按照预测结果和宏块类型重建出图像帧
4.4 FinishSlice,核心工作是去块效应环路滤波,另外包含为后续Slice解码的预处理
2022-04-06 02:04:29
17KB
jsvm