嗯。距离上一次写已经很久了。上一次的时候还在看帧间的技术,改了一点,马马虎虎吧。这几周一直在改帧内的东西,把其中碰过的壁记录一下好了。
1.关于CU的宽高问题 pcCU->getWidth(0),进这个函数的时候,提前已经预设好了是亮度还是色度:setTextType(CHANNEL_TYPE_LUMA),但是这个东西巧就巧在虽然有亮度和色度的区别,但实际上,里面存的东西却都是亮度的宽高,从初始化的时候很容易看出来:
for (UInt ch=0; ch<MAX_NUM_CHANNEL_TYPE; ch++)
{
memset( m_puhWidth[ch] , maxCUWidth, m_uiNumPartition * sizeof( *m_puhWidth[ch] ) );
memset( m_puhHeight[ch] , maxCUHeight, m_uiNumPartition * sizeof( *m_puhHeight[ch] ) );
}
所以实际区分亮度色度使用的时候,还是要右移getComponentScaleX()位。
2.自己在重新定义类似于这种变量的时候:m_pppcPredYuvTemp[uiWIdx][uiHIdx],注意初始化和销毁的过程。