Add new entropy method to Thomas Richter's jpeg ls - baidut/co-codec GitHub Wiki
目的:移植新熵编码方式
定位熵编码相关的类
通过全工程查找entroy定位到抽象类EntropyParser,绘制UML类图如下:
要扩展新的熵编码器只需要完成扩展抽象基类EntropyParser,实现接口即可。
相关的接口如下(虚线包裹):
分析类的外部调用关系
那些类中有EntropyParser类的指针?全工程查找EntropyParser:
可以看出,除了子类外只有Scan类与EntropyParser交互。
进一步搜索指针m_pParser,可以看到Scan对熵编码器方法的调用情况
在void Scan::CreateParser(void)方法里根据不同的配置信息实例化不同的子类,构造不同的熵编码器。