Ignore:
Timestamp:
8 Feb 2014, 00:23:11 (11 years ago)
Author:
tech
Message:

Merged HM 13.0. (No yet checked).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-10.0rc1-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r833 r837  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2013, ITU/ISO/IEC
     6* Copyright (c) 2010-2014, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    918918#endif
    919919 
     920  if ( pcCU->getCbf( uiAbsPartIdx, TEXT_LUMA, uiTrDepth ) )
     921  {
    920922  //===== inverse transform =====
    921923  m_pcTrQuant->setQPforQuant  ( pcCU->getQP(0), TEXT_LUMA, pcCU->getSlice()->getSPS()->getQpBDOffsetY(), 0 );
    922924
    923925  Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)TEXT_LUMA];
    924   assert(scalingListType < 6);
     926    assert(scalingListType < SCALING_LIST_NUM);
    925927  m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA, pcCU->getLumaIntraDir( uiAbsPartIdx ), piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip );
    926928
     
    953955    pReco     += uiStride;
    954956    pRecIPred += uiRecIPredStride;
     957  }
     958}
     959  else
     960  {
     961    //===== reconstruction =====
     962    Pel* pPred      = piPred;
     963    Pel* pReco      = piReco;
     964    Pel* pRecIPred  = piRecIPred;
     965    for ( Int y = 0; y < uiHeight; y++ )
     966    {
     967      for ( Int x = 0; x < uiWidth; x++ )
     968      {
     969        pReco    [ x ] = pPred[ x ];
     970        pRecIPred[ x ] = pReco[ x ];
     971      }
     972      pPred     += uiStride;
     973      pReco     += uiStride;
     974      pRecIPred += uiRecIPredStride;
     975    }
    955976  }
    956977}
     
    10221043  }
    10231044
     1045  if ( pcCU->getCbf( uiAbsPartIdx, eText, uiTrDepth ) )
     1046  {
    10241047  //===== inverse transform =====
    10251048  Int curChromaQpOffset;
     
    10351058
    10361059  Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)eText];
    1037   assert(scalingListType < 6);
     1060    assert(scalingListType < SCALING_LIST_NUM);
    10381061  m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), eText, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkipChroma );
    10391062
     
    10541077    pReco     += uiStride;
    10551078    pRecIPred += uiRecIPredStride;
     1079  }
     1080}
     1081  else
     1082  {
     1083    //===== reconstruction =====
     1084    Pel* pPred      = piPred;
     1085    Pel* pReco      = piReco;
     1086    Pel* pRecIPred  = piRecIPred;
     1087    for ( Int y = 0; y < uiHeight; y++ )
     1088    {
     1089      for ( Int x = 0; x < uiWidth; x++ )
     1090      {
     1091        pReco    [ x ] = pPred[ x ];
     1092        pRecIPred[ x ] = pReco[ x ];
     1093      }
     1094      pPred     += uiStride;
     1095      pReco     += uiStride;
     1096      pRecIPred += uiRecIPredStride;
     1097    }   
    10561098  }
    10571099}
Note: See TracChangeset for help on using the changeset viewer.