阅读HEVC源代码(二)--视频文件读取类TVideoIOYuv 、SyntaxElementWriter极其相关类

HEVC源代码分析(二)

一、TVideoIOYuv类图:

阅读HEVC源代码(二)--视频文件读取类TVideoIOYuv 、SyntaxElementWriter极其相关类_第1张图片

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)如下(其中部分函数尚未解析)

阅读HEVC源代码(二)--视频文件读取类TVideoIOYuv 、SyntaxElementWriter极其相关类_第2张图片

SyntaxElementWriter的继承关系:

       阅读HEVC源代码(二)--视频文件读取类TVideoIOYuv 、SyntaxElementWriter极其相关类_第3张图片阅读HEVC源代码(二)--视频文件读取类TVideoIOYuv 、SyntaxElementWriter极其相关类_第4张图片

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的类图如下:

 阅读HEVC源代码(二)--视频文件读取类TVideoIOYuv 、SyntaxElementWriter极其相关类_第5张图片

在类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中.

 

你可能感兴趣的:(源代码,HEVC)