HEVC源代码分析(二)
一、TVideoIOYuv类图:
m_cHandle是YUV文件的句柄(fstream对象)
m_fileBitdepth 是 bitdepth of input/output video file
m_bitdepthShift 是 number of bits to increase or decrease image by before/after write/read
TVideoIOYuv类的执行流程图(Flow Diagram)如下(其中部分函数尚未解析)
SyntaxElementWriter的继承关系:
m_pcBitif是TComBitIf的指针对象。
在SyntaxElementWriter中最主要的四个函数是:
Void xWriteCode ( UInt uiCode, UInt uiLength );
Void xWriteUvlc ( UInt uiCode );
Void xWriteSvlc ( Int iCode );
Void xWriteFlag ( UInt uiCode );
这四个主要的函数都会用到TComBitIf中的write函数。
TComBitIf的类图如下:
在类TcomOutputBitstream中最主要的函数是void write ( UInt uiBits, UIntuiNumberOfBits ),类TComInputBitstream中最主要的函数是void read( UInt uiNumberOfBits, UInt& ruiBits )函数。
write:append uiNumberOfBits leastsignificant bits of uiBits to the current bitstream.
read:就是读取uiNumberOfBits个位到ruiBits中.