VTM3.0代码阅读:xReconIntraQT函数

xReconIntraQT函数在解码端实现帧内预测模式cu的解析恢复。
根据解码得到的帧内亮度和色度的预测模式,得到预测像素pred,再由coeff经过反变换等操作得到残差像素resi,由pred和resi像素信息,就可以重建得到cu帧内模式重建像素reco。

相比VTM1,函数只多了LM模式预测的代码,其它的函数流程等都没有变化。

void DecCu::xReconIntraQT( CodingUnit &cu )
{
   
  if( cu.ipcm )
  {
   
    xReconPCM( *cu.firstTU );		//pcm模式
    return;
  }
									//4:0:0采样时只有Y通道,其它采样模式时有Y、Cb、Cr三通道
  const uint32_t numChType = ::getNumberValidChannels( cu.chromaFormat );

  for( uint32_t chType = CHANNEL_TYPE_LUMA; chType < numChType; chType++ )
  {
   
    if( cu.blocks[chType].valid() )
    {
   
      xIntraRecQT( cu, ChannelType( chType ) );		//cu分别对luma和chroma,实现帧内像素的重建
    }
  }
}
//luma和chroma的tu,都是调用xIntraRecBlk函数来进行tu像素的重建
void DecCu::xIntraRecQT(CodingUnit &cu, const ChannelType chType)
{
   
  for( auto &currTU : CU::traverseTUs( cu ) )	//cu的每个tu,分别进行帧内像素重建
  {
   
    if
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值