一、前言
二、应用函数和库函数的区别
三、类、函数、变量的命名规则
一、前言
一般而言,一个完整的HM解决方案大致主要包含7个工程,分别如下:
TAppCommon
:该工程包含一些编码器和解码器共用的应用函数TAppDecoder
:该工程包含一些解码器的应用函数TAppEncoder
:该工程包含一些编码器的应用函数TLibCommon
:该工程包含一些编码器和解码器共用库函数TLibDecoder
:该工程包含一些解码器的库函数TLibEncoder
:该工程包含一些编码器的库函数TLibVideoIO
:该工程的主要作用就是实现对YUV文件的读写操作
二、应用函数和库函数的区别
应用函数:它是面向用户的,主要是通过调用若干的库函数实现更为复杂和丰富的功能
库函数:它是面向程序设计者的,对用户不可见,由程序设计者去实现,主要是对一些基本的功能进行底层设计与实现,对用户来说,只需要懂得如何利用库函数的接口进行调用即可,而不需要关心具体它是如何实现的。
三、HM代码中的命名规则
- 类的命名规则:一般来说,一个头文件只包含一个类的定义,文件名即为类名,且通过类名的可以知道该类是属于哪一个工程的。
- 变量的命名规则:一般以
m_
开头的变量是局部变量,具体可以是某个类的成员变量;以g_
开头的一般是全局变量。更具体的规则如下列出:- ‘p’,表明该表明该变量是指针类型,‘n’表明是属于n级指针(具体实名称里有几个P)
- ‘c’表明该变量是某个类的对象(某个类实例化出来的对象)
- ‘i’表明该变量是整形
- ‘u’表明该变量是无符号型
- ‘h’表明该变量是字符型
- ‘b’表示该变量是布尔型
- ‘d’表明该变量是双精度浮点数类型
- ‘f’表明该变量是单精度浮点数类型
- ‘a’表明该变量是数组类型
- ‘e’表明该变量是枚举类型
- ’r‘表明该变量是引用类型
- 函数的命名规则:一般而言,对于一个类的成员函数而言,如果该函数的访问权限是‘protected’,则在其函数名称前面加上‘x’
本文参考自HEVC_CJL博主的博客,谢谢您的分享!!!