HEVC源代码分析(一)--词法分析

来源:互联网 发布:突然网络诊断dns未响应 编辑:程序博客网 时间:2024/06/05 10:42

一、      HEVC源代码词法分析

(一)HM中词法分析部分涉及TAppCommonTAppEncoder两个“包”(在此处是两个项目,姑且按照面向对象的习惯称它为“Package”)。

(二)类图

1)、如何查看类图

在解决方案资源管理器中选中一个含有类的头文件或源文件,然后点击上面的按钮"查看类关系图",就可以打开一个新的窗口,里面会显示所有的类以及每个类有哪些成员,还有类的继承关系也会直观的显示出来.如果是多个文件都含有类的话,你就先选中所有含类的文件,再点击按钮查看类关系图;

2)查看类图:

TappCommon中有两个文件program_options_lite.hprogram_options_lite.cpp. program_options_lite.h中定义了与文件解析有关的一些类和一些全局函数。该头文件中所有的类和全局函数都定义在df:: program_options_lite命名空间中。program_options_lite类图如下:

其中,

OptionBase: Virtual base class for storing information relating to a specific option This base class describes common elements. Type specific information should be stored in a derived class.

 

Option<T>: Type specific option storage.

 

OptionFunc: Option class for argument handling using a user provided function.

OptionSpecific是一个模板类(template class)其主要目的是用来添加Option,其中涉及函数对象知识。

 

Options: 用来保存所有的Option.

 

TAppEncCfg类中涉及配置文件,即Cfg目录下相关配置文件中的各种参数的定义,以及TAppEncCfg类创建(create),销毁(destroy),和配置文件解析(parseCfg)的成员函数(member function.

 

TAppEncoderTAppEncCfgTAppEncTop类图关系如下:

 

(三)时序图(面向对象部分)

 

(四)流程图(Flow Diagram面向过程部分)

至此,词法分析基本结束。

原创粉丝点击