Ignore:
Timestamp:
19 Feb 2013, 20:33:52 (12 years ago)
Author:
tech
Message:

Removed HM-6.1 related guard macros.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r292 r294  
    8787, m_cALFUvlcSCModel           ( 1,             1,               NUM_ALF_UVLC_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    8888, m_cALFSvlcSCModel           ( 1,             1,               NUM_ALF_SVLC_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    89 #if AMP_CTX
    9089, m_cCUAMPSCModel             ( 1,             1,               NUM_CU_AMP_CTX                , m_contextModels + m_numContextModels, m_numContextModels)
    91 #else
    92 , m_cCUXPosiSCModel           ( 1,             1,               NUM_CU_X_POS_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    93 , m_cCUYPosiSCModel           ( 1,             1,               NUM_CU_Y_POS_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    94 #endif
    9590, m_cSaoFlagSCModel           ( 1,             1,               NUM_SAO_FLAG_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    9691, m_cSaoUvlcSCModel           ( 1,             1,               NUM_SAO_UVLC_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    9792, m_cSaoSvlcSCModel           ( 1,             1,               NUM_SAO_SVLC_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    98 #if SAO_UNIT_INTERLEAVING
    9993, m_cSaoMergeLeftSCModel      ( 1,             1,               NUM_SAO_MERGE_LEFT_FLAG_CTX   , m_contextModels + m_numContextModels, m_numContextModels)
    10094, m_cSaoMergeUpSCModel        ( 1,             1,               NUM_SAO_MERGE_UP_FLAG_CTX     , m_contextModels + m_numContextModels, m_numContextModels)
    10195, m_cSaoTypeIdxSCModel        ( 1,             1,               NUM_SAO_TYPE_IDX_CTX          , m_contextModels + m_numContextModels, m_numContextModels)
    102 #endif
    10396#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    10497, m_cDmmFlagSCModel           ( 1,             1,               NUM_DMM_FLAG_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
     
    171164  m_cCUAlfCtrlFlagSCModel.initBuffer     ( sliceType, qp, (UChar*)INIT_ALF_CTRL_FLAG );
    172165  m_cCUPartSizeSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_PART_SIZE );
    173 #if AMP_CTX
    174166  m_cCUAMPSCModel.initBuffer             ( sliceType, qp, (UChar*)INIT_CU_AMP_POS );
    175 #else
    176   m_cCUXPosiSCModel.initBuffer           ( sliceType, qp, (UChar*)INIT_CU_X_POS );
    177   m_cCUYPosiSCModel.initBuffer           ( sliceType, qp, (UChar*)INIT_CU_Y_POS );
    178 #endif
    179167  m_cCUPredModeSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_PRED_MODE );
    180168  m_cCUIntraPredSCModel.initBuffer       ( sliceType, qp, (UChar*)INIT_INTRA_PRED_MODE );
     
    199187  m_cSaoUvlcSCModel.initBuffer           ( sliceType, qp, (UChar*)INIT_SAO_UVLC );
    200188  m_cSaoSvlcSCModel.initBuffer           ( sliceType, qp, (UChar*)INIT_SAO_SVLC );
    201 #if SAO_UNIT_INTERLEAVING
    202189  m_cSaoMergeLeftSCModel.initBuffer      ( sliceType, qp, (UChar*)INIT_SAO_MERGE_LEFT_FLAG );
    203190  m_cSaoMergeUpSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SAO_MERGE_UP_FLAG );
    204191  m_cSaoTypeIdxSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SAO_TYPE_IDX );
    205 #endif
    206192
    207193  m_cCUTransSubdivFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_TRANS_SUBDIV_FLAG );
     
    265251  m_cCUAlfCtrlFlagSCModel.initBuffer     ( eSliceType, iQp, (UChar*)INIT_ALF_CTRL_FLAG );
    266252  m_cCUPartSizeSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_PART_SIZE );
    267 #if AMP_CTX
    268253  m_cCUAMPSCModel.initBuffer             ( eSliceType, iQp, (UChar*)INIT_CU_AMP_POS );
    269 #else
    270   m_cCUXPosiSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_CU_X_POS );
    271   m_cCUYPosiSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_CU_Y_POS );
    272 #endif
    273254  m_cCUPredModeSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_PRED_MODE );
    274255  m_cCUIntraPredSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_INTRA_PRED_MODE );
     
    293274  m_cSaoUvlcSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_SAO_UVLC );
    294275  m_cSaoSvlcSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_SAO_SVLC );
    295 #if SAO_UNIT_INTERLEAVING
    296276  m_cSaoMergeLeftSCModel.initBuffer      ( eSliceType, iQp, (UChar*)INIT_SAO_MERGE_LEFT_FLAG );
    297277  m_cSaoMergeUpSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SAO_MERGE_UP_FLAG );
    298278  m_cSaoTypeIdxSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SAO_TYPE_IDX );
    299 #endif
    300279  m_cCUTransSubdivFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_TRANS_SUBDIV_FLAG );
    301280#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     
    449428  }
    450429
    451 #if EIGHT_BITS_RICE_CODE
    452430  ruiGoRiceParam = g_aauiGoRiceUpdate[ ruiGoRiceParam ][ min<UInt>( ruiSymbol, 23 ) ];
    453 #else
    454   ruiGoRiceParam = g_aauiGoRiceUpdate[ ruiGoRiceParam ][ min<UInt>( ruiSymbol, 15 ) ];
    455 #endif
    456431
    457432  return;
     
    470445{
    471446  UInt uiSymbol;
    472 #if BURST_IPCM
    473447  Int numSubseqIPCM = 0;
    474448  Bool readPCMSampleFlag = false;
     
    490464    }
    491465  }
    492 #else
    493   m_pcTDecBinIf->decodeBinTrm(uiSymbol);
    494 #endif
    495 
    496 #if BURST_IPCM
     466
    497467  if (readPCMSampleFlag == true)
    498 #else
    499   if (uiSymbol)
    500 #endif
    501468  {
    502469    Bool bIpcmFlag = true;
    503470
    504 #if !BURST_IPCM
    505     m_pcTDecBinIf->decodePCMAlignBits();
    506 #endif
    507471
    508472    pcCU->setPartSizeSubParts  ( SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
     
    568532    }
    569533
    570 #if BURST_IPCM
    571534    pcCU->setNumSucIPCM( pcCU->getNumSucIPCM() - 1);
    572535    if(pcCU->getNumSucIPCM() == 0)
     
    574537      m_pcTDecBinIf->resetBac();
    575538    }
    576 #else
    577     m_pcTDecBinIf->resetBac();
    578 #endif
    579539  }
    580540}
     
    664624{
    665625  UInt uiNumCand = MRG_MAX_NUM_CANDS;
    666 #if !MRG_IDX_CTX_RED 
    667   UInt auiCtx[4] = { 0, 1, 2, 3 };
    668 #endif
    669626  UInt uiUnaryIdx = 0;
    670627  uiNumCand = pcCU->getSlice()->getMaxNumMergeCand();
     
    678635    {
    679636      UInt uiSymbol = 0;
    680 #if MRG_IDX_CTX_RED
    681637      if ( uiUnaryIdx==0 )
    682638      {
     
    687643        m_pcTDecBinIf->decodeBinEP( uiSymbol );
    688644      }
    689 #else
    690       m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUMergeIdxExtSCModel.get( 0, 0, auiCtx[uiUnaryIdx] ) );
    691 #endif
    692645      if( uiSymbol == 0 )
    693646      {
     
    879832        if (eMode == SIZE_2NxN)
    880833        {
    881 #if AMP_CTX
    882834            m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUAMPSCModel.get( 0, 0, 0 ));
    883 #else
    884           m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUYPosiSCModel.get( 0, 0, 0 ));
    885 #endif
    886835          if (uiSymbol == 0)
    887836          {
    888 #if AMP_CTX
    889837            m_pcTDecBinIf->decodeBinEP(uiSymbol);
    890 #else
    891             m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUYPosiSCModel.get( 0, 0, 1 ));
    892 #endif
    893838            eMode = (uiSymbol == 0? SIZE_2NxnU : SIZE_2NxnD);
    894839          }
     
    896841        else if (eMode == SIZE_Nx2N)
    897842        {
    898 #if AMP_CTX
    899843          m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUAMPSCModel.get( 0, 0, 0 ));
    900 #else
    901           m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUXPosiSCModel.get( 0, 0, 0 ));
    902 #endif
    903844          if (uiSymbol == 0)
    904845          {
    905 #if AMP_CTX
    906846            m_pcTDecBinIf->decodeBinEP(uiSymbol);
    907 #else
    908             m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUXPosiSCModel.get( 0, 0, 1 ));
    909 #endif
    910847            eMode = (uiSymbol == 0? SIZE_nLx2N : SIZE_nRx2N);
    911848          }
     
    989926  {
    990927#endif
    991 #if !LOGI_INTRA_NAME_3MPM
    992     Int iIntraIdx = pcCU->getIntraSizeIdx(uiAbsPartIdx);
    993 #endif
    994928
    995929#if LGE_EDGE_INTRA_A0070
     
    1003937#endif
    1004938
    1005 #if LOGI_INTRA_NAME_3MPM
    1006939    Int uiPreds[3] = {-1, -1, -1};
    1007 #else
    1008     Int uiPreds[2] = {-1, -1};
    1009 #endif
    1010940    Int uiPredNum = pcCU->getIntraDirLumaPredictor(uiAbsPartIdx, uiPreds); 
    1011941#if LGE_EDGE_INTRA_A0070
     
    1018948    {
    1019949      m_pcTDecBinIf->decodeBinEP( uiSymbol );
    1020 #if LOGI_INTRA_NAME_3MPM
    1021950      if (uiSymbol)
    1022951      {
     
    1024953        uiSymbol++;
    1025954      }
    1026 #endif
    1027955      intraPredMode = uiPreds[uiSymbol];
    1028956    }
     
    1031959      intraPredMode = 0;
    1032960
    1033 #if LOGI_INTRA_NAME_3MPM
    1034961
    1035962      m_pcTDecBinIf->decodeBinsEP( uiSymbol, 5 );
     
    1060987        std::swap(uiPreds[1], uiPreds[2]);
    1061988      }
    1062 #else
    1063       m_pcTDecBinIf->decodeBinsEP( uiSymbol, g_aucIntraModeBitsAng[iIntraIdx] - 1 );
    1064       intraPredMode = uiSymbol;
    1065 
    1066       if ( intraPredMode == 31 )
    1067       {
    1068         m_pcTDecBinIf->decodeBinEP( uiSymbol );
    1069         intraPredMode += uiSymbol;     
    1070       }
    1071 #endif
    1072989#if LGE_EDGE_INTRA_A0070
    1073990      if ( intraPredMode != EDGE_INTRA_IDX)
     
    11581075    {
    11591076      UInt uiIPredMode;
    1160 #if CHROMA_MODE_CODING
    11611077      m_pcTDecBinIf->decodeBinsEP( uiIPredMode, 2 );
    1162 #else
    1163       xReadUnaryMaxSymbol( uiIPredMode, m_cCUChromaPredSCModel.get( 0, 0 ) + 1, 0, 3 );
    1164 #endif
    11651078      UInt uiAllowedChromaDir[ NUM_CHROMA_MODE ];
    11661079      pcCU->getAllowedChromaDir( uiAbsPartIdx, uiAllowedChromaDir );
     
    12301143  ContextModel *pCtx = m_cCUMvdSCModel.get( 0 );
    12311144
    1232 #if H0111_MVD_L1_ZERO
    12331145  if(pcCU->getSlice()->getMvdL1ZeroFlag() && eRefList == REF_PIC_LIST_1 && pcCU->getInterDir(uiAbsPartIdx)==3)
    12341146  {
     
    12381150  else
    12391151  {
    1240 #endif
    12411152
    12421153    m_pcTDecBinIf->decodeBin( uiHorAbs, *pCtx );
     
    12811192    }
    12821193
    1283 #if H0111_MVD_L1_ZERO
    1284   }
    1285 #endif
     1194  }
    12861195
    12871196  const TComMv cMv( uiHorSign ? -Int( uiHorAbs ): uiHorAbs, uiVerSign ? -Int( uiVerAbs ) : uiVerAbs );
     
    13231232Void TDecSbac::parseDeltaQP( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    13241233{
    1325 #if H0736_AVC_STYLE_QP_RANGE
    13261234  Int qp;
    1327 #endif
    13281235  UInt uiDQp;
    13291236  Int  iDQp;
     
    13331240  if ( uiDQp == 0 )
    13341241  {
    1335 #if H0736_AVC_STYLE_QP_RANGE
    13361242    qp = pcCU->getRefQP(uiAbsPartIdx);
    1337 #else
    1338     uiDQp = pcCU->getRefQP(uiAbsPartIdx);
    1339 #endif
    13401243  }
    13411244  else
    13421245  {
    13431246    UInt uiSign;
    1344 #if H0736_AVC_STYLE_QP_RANGE
    13451247    Int qpBdOffsetY = pcCU->getSlice()->getSPS()->getQpBDOffsetY();
    1346 #else
    1347     UInt uiQpBdOffsetY = 6*(g_uiBitIncrement + g_uiBitDepth - 8);
    1348 #endif
    13491248    m_pcTDecBinIf->decodeBinEP(uiSign);
    13501249
    1351 #if H0736_AVC_STYLE_QP_RANGE
    13521250    UInt uiMaxAbsDQpMinus1 = 24 + (qpBdOffsetY/2) + (uiSign);
    1353 #else
    1354     UInt uiMaxAbsDQpMinus1 = 24 + (uiQpBdOffsetY/2) + (uiSign);
    1355 #endif
    13561251    UInt uiAbsDQpMinus1;
    13571252    xReadUnaryMaxSymbol (uiAbsDQpMinus1,  &m_cCUDeltaQpSCModel.get( 0, 0, 1 ), 1, uiMaxAbsDQpMinus1);
     
    13641259    }
    13651260
    1366 #if H0736_AVC_STYLE_QP_RANGE
    13671261    qp = (((Int) pcCU->getRefQP( uiAbsPartIdx ) + iDQp + 52 + 2*qpBdOffsetY )%(52+qpBdOffsetY)) - qpBdOffsetY;
    1368 #else
    1369 #if LOSSLESS_CODING
    1370     uiDQp = (pcCU->getRefQP(uiAbsPartIdx) + iDQp + 52) % 52;
    1371 #else
    1372     uiDQp = pcCU->getRefQP(uiAbsPartIdx) + iDQp;
    1373 #endif
    1374 #endif
    13751262  }
    13761263 
    13771264  UInt uiAbsQpCUPartIdx = (uiAbsPartIdx>>(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1)))<<(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1)) ;
    13781265  UInt uiQpCUDepth =   min(uiDepth,pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()) ;
    1379 #if H0736_AVC_STYLE_QP_RANGE
    13801266  pcCU->setQPSubParts( qp, uiAbsQpCUPartIdx, uiQpCUDepth );
    1381 #else
    1382   pcCU->setQPSubParts( uiDQp, uiAbsQpCUPartIdx, uiQpCUDepth );
    1383 #endif
    13841267}
    13851268
     
    14221305
    14231306  // posX
    1424 #if LAST_CTX_REDUCTION
    14251307  Int widthCtx = eTType ? 4 : width;
    14261308  const UInt *puiCtxIdxX = g_uiLastCtx + ( g_aucConvertToBit[ widthCtx ] * ( g_aucConvertToBit[ widthCtx ] + 3 ) );
    1427 #else
    1428   const UInt *puiCtxIdxX = g_uiLastCtx + ( g_aucConvertToBit[ width ] * ( g_aucConvertToBit[ width ] + 3 ) );
    1429 #endif
    14301309  for( uiPosLastX = 0; uiPosLastX < g_uiGroupIdx[ width - 1 ]; uiPosLastX++ )
    14311310  {
    1432 #if LAST_CTX_REDUCTION
    14331311    if ( eTType  )
    14341312    {
     
    14371315    else
    14381316    {
    1439 #endif
    14401317      m_pcTDecBinIf->decodeBin( uiLast, *( pCtxX + puiCtxIdxX[ uiPosLastX ] ) );
    1441 #if LAST_CTX_REDUCTION
    1442     }
    1443 #endif
     1318    }
    14441319    if( !uiLast )
    14451320    {
     
    14491324
    14501325  // posY
    1451 #if LAST_CTX_REDUCTION
    14521326  Int heightCtx = eTType? 4 : height;
    14531327  const UInt *puiCtxIdxY = g_uiLastCtx + ( g_aucConvertToBit[ heightCtx ] * ( g_aucConvertToBit[ heightCtx ] + 3 ) );
    1454 #else
    1455   const UInt *puiCtxIdxY = g_uiLastCtx + ( g_aucConvertToBit[ height ] * ( g_aucConvertToBit[ height ] + 3 ) );
    1456 #endif
    14571328  for( uiPosLastY = 0; uiPosLastY < g_uiGroupIdx[ height - 1 ]; uiPosLastY++ )
    14581329  {
    1459 #if LAST_CTX_REDUCTION
    14601330    if (eTType)
    14611331    {
     
    14641334    else
    14651335    {
    1466 #endif
    14671336      m_pcTDecBinIf->decodeBin( uiLast, *( pCtxY + puiCtxIdxY[ uiPosLastY ] ) );
    1468 #if LAST_CTX_REDUCTION
    1469     }
    1470 #endif
     1337    }
    14711338    if( !uiLast )
    14721339    {
     
    15881455  UInt uiGoRiceParam           = 0;
    15891456
    1590 #if MULTIBITS_DATA_HIDING
    15911457  UInt const tsig = pcCU->getSlice()->getPPS()->getTSIG();
    15921458#if LOSSLESS_CODING
     
    16041470#endif
    16051471  UInt absSum = 0;
    1606 #endif  // MULTIBITS_DATA_HIDING
    16071472
    16081473  UInt uiSigCoeffGroupFlag[ MLS_GRP_NUM ];
     
    16131478  {
    16141479    scanCG = g_auiSigLastScan[ uiScanIdx ][ uiLog2BlockSize > 3 ? uiLog2BlockSize-2-1 : 0  ];   
    1615 #if MULTILEVEL_SIGMAP_EXT
    16161480    if( uiLog2BlockSize == 3 )
    16171481    {
     
    16221486      scanCG = g_sigLastScanCG32x32;
    16231487    }
    1624 #endif
    16251488  }
    16261489  else
     
    16351498    Int numNonZero = 0;
    16361499   
    1637 #if MULTIBITS_DATA_HIDING
    16381500    Int lastNZPosInCG = -1, firstNZPosInCG = SCAN_SET_SIZE;
    1639 #endif
    16401501
    16411502    Int pos[SCAN_SET_SIZE];
    16421503    if( iScanPosSig == (Int) uiScanPosLast )
    16431504    {
    1644 #if MULTIBITS_DATA_HIDING
    16451505      lastNZPosInCG  = iScanPosSig;
    16461506      firstNZPosInCG = iScanPosSig;
    1647 #endif
    16481507      iScanPosSig--;
    16491508      pos[ numNonZero ] = uiBlkPosLast;
     
    16511510    }
    16521511
    1653 #if !MULTILEVEL_SIGMAP_EXT
    1654     if( blockType > 3 )
    1655     {
    1656 #endif
    16571512      // decode significant_coeffgroup_flag
    16581513      Int iCGBlkPos = scanCG[ iSubSet ];
    16591514      Int iCGPosY   = iCGBlkPos / uiNumBlkSide;
    16601515      Int iCGPosX   = iCGBlkPos - (iCGPosY * uiNumBlkSide);
    1661 #if MULTILEVEL_SIGMAP_EXT
    16621516      if( uiWidth == 8 && uiHeight == 8 && (uiScanIdx == SCAN_HOR || uiScanIdx == SCAN_VER) )
    16631517      {
     
    16651519        iCGPosX = (uiScanIdx == SCAN_VER ? iCGBlkPos : 0);
    16661520      }
    1667 #endif
    1668 #if !REMOVE_INFER_SIGGRP
    1669       Bool bInferredCGFlag = false;
    1670 #endif
    1671 #if REMOVE_INFER_SIGGRP
    16721521      if( iSubSet == iLastScanSet || iSubSet == 0)
    1673 #else
    1674       if( iSubSet == iLastScanSet )
    1675 #endif
    16761522      {
    16771523        uiSigCoeffGroupFlag[ iCGBlkPos ] = 1;
     
    16791525      else
    16801526      {
    1681 #if !REMOVE_INFER_SIGGRP
    1682 #if MULTILEVEL_SIGMAP_EXT
    1683         if( !TComTrQuant::bothCGNeighboursOne( uiSigCoeffGroupFlag, iCGPosX, iCGPosY, uiScanIdx, uiWidth, uiHeight) && ( iSubSet ) )
    1684 #else
    1685         if( !TComTrQuant::bothCGNeighboursOne( uiSigCoeffGroupFlag, iCGPosX, iCGPosY, uiWidth, uiHeight) && ( iSubSet ) )
    1686 #endif
    1687         {
    1688 #endif
    16891527          UInt uiSigCoeffGroup;
    1690 #if MULTILEVEL_SIGMAP_EXT
    16911528          UInt uiCtxSig  = TComTrQuant::getSigCoeffGroupCtxInc( uiSigCoeffGroupFlag, iCGPosX, iCGPosY, uiScanIdx, uiWidth, uiHeight );
    1692 #else
    1693           UInt uiCtxSig  = TComTrQuant::getSigCoeffGroupCtxInc( uiSigCoeffGroupFlag, iCGPosX, iCGPosY, uiWidth, uiHeight );
    1694 #endif
    16951529          m_pcTDecBinIf->decodeBin( uiSigCoeffGroup, baseCoeffGroupCtx[ uiCtxSig ] );
    16961530          uiSigCoeffGroupFlag[ iCGBlkPos ] = uiSigCoeffGroup;
    1697 #if !REMOVE_INFER_SIGGRP
    1698         }
    1699         else
    1700         {
    1701           uiSigCoeffGroupFlag[ iCGBlkPos ] = 1;
    1702           bInferredCGFlag = true;
    1703         }
    1704 #endif
    17051531      }
    17061532
     
    17161542        if( uiSigCoeffGroupFlag[ iCGBlkPos ] )
    17171543        {
    1718 #if REMOVE_INFER_SIGGRP
    17191544          if( iScanPosSig > iSubPos || iSubSet == 0  || numNonZero )
    1720 #else
    1721           if( iScanPosSig > iSubPos || bInferredCGFlag || numNonZero )
    1722 #endif
    17231545          {
    17241546            uiCtxSig  = TComTrQuant::getSigCtxInc( pcCoef, uiPosX, uiPosY, blockType, uiWidth, uiHeight, eTType );
     
    17351557          pos[ numNonZero ] = uiBlkPos;
    17361558          numNonZero ++;
    1737 #if MULTIBITS_DATA_HIDING
    17381559          if( lastNZPosInCG == -1 )
    17391560          {
     
    17411562          }
    17421563          firstNZPosInCG = iScanPosSig;
    1743 #endif
    17441564        }
    17451565      }
    1746 #if !MULTILEVEL_SIGMAP_EXT
    1747     }
    1748     else
    1749     {
    1750       for( ; iScanPosSig >= iSubPos; iScanPosSig-- )
    1751       {
    1752         UInt uiBlkPos   = scan[ iScanPosSig ];
    1753         UInt  uiPosY    = uiBlkPos >> uiLog2BlockSize;
    1754         UInt  uiPosX    = uiBlkPos - ( uiPosY << uiLog2BlockSize );
    1755         UInt  uiSig     = 0;
    1756         UInt  uiCtxSig  = TComTrQuant::getSigCtxInc( pcCoef, uiPosX, uiPosY, blockType, uiWidth, uiHeight, eTType );
    1757         m_pcTDecBinIf->decodeBin( uiSig, baseCtx[ uiCtxSig ] );
    1758         pcCoef[ uiBlkPos ] = uiSig;
    1759         if( uiSig )
    1760         {
    1761           pos[ numNonZero ] = uiBlkPos;
    1762           numNonZero ++;
    1763 #if MULTIBITS_DATA_HIDING
    1764           if( lastNZPosInCG == -1 )
    1765           {
    1766             lastNZPosInCG = iScanPosSig;
    1767           }
    1768           firstNZPosInCG = iScanPosSig;
    1769 #endif
    1770         }
    1771       }
    1772     }
    1773 #endif
    17741566
    17751567   
    17761568    if( numNonZero )
    17771569    {
    1778 #if MULTIBITS_DATA_HIDING
    17791570      Bool signHidden = ( lastNZPosInCG - firstNZPosInCG >= (Int)tsig );
    17801571      absSum = 0;
    1781 #endif  // MULTIBITS_DATA_HIDING
    17821572
    17831573      UInt c1 = 1;
    1784 #if !RESTRICT_GR1GR2FLAG_NUMBER
    1785       UInt c2 = 0;
    1786 #endif
    1787 #if LEVEL_CTX_LUMA_RED
    17881574      UInt uiCtxSet    = (iSubSet > 0 && eTType==TEXT_LUMA) ? 2 : 0;
    1789 #else
    1790       UInt uiCtxSet    = (iSubSet > 0 && eTType==TEXT_LUMA) ? 3 : 0;
    1791 #endif
    17921575      UInt uiBin;
    17931576     
     
    17951578      {
    17961579        uiCtxSet++;
    1797 #if !LEVEL_CTX_LUMA_RED
    1798         if(eTType==TEXT_LUMA && uiNumOne > 3)
    1799         {
    1800           uiCtxSet++;
    1801         }
    1802 #endif
    18031580      }
    18041581     
     
    18071584      Int absCoeff[SCAN_SET_SIZE];
    18081585
    1809 #if RESTRICT_GR1GR2FLAG_NUMBER
    18101586      for ( Int i = 0; i < numNonZero; i++) absCoeff[i] = 1;   
    18111587      Int numC1Flag = min(numNonZero, C1FLAG_NUMBER);
     
    18131589
    18141590      for( Int idx = 0; idx < numC1Flag; idx++ )
    1815 #else
    1816       for( Int idx = 0; idx < numNonZero; idx++ )
    1817 #endif
    18181591      {
    18191592        m_pcTDecBinIf->decodeBin( uiBin, baseCtxMod[c1] );
     
    18211594        {
    18221595          c1 = 0;
    1823 #if RESTRICT_GR1GR2FLAG_NUMBER
    18241596          if (firstC2FlagIdx == -1)
    18251597          {
    18261598            firstC2FlagIdx = idx;
    18271599          }
    1828 #endif
    18291600        }
    18301601        else if( (c1 < 3) && (c1 > 0) )
     
    18371608      if (c1 == 0)
    18381609      {
    1839 #if RESTRICT_GR1GR2FLAG_NUMBER
    18401610        baseCtxMod = ( eTType==TEXT_LUMA ) ? m_cCUAbsSCModel.get( 0, 0 ) + uiCtxSet : m_cCUAbsSCModel.get( 0, 0 ) + NUM_ABS_FLAG_CTX_LUMA + uiCtxSet;
    18411611        if ( firstC2FlagIdx != -1)
     
    18441614          absCoeff[ firstC2FlagIdx ] = uiBin + 2;
    18451615        }
    1846 #else   
    1847         baseCtxMod = ( eTType==TEXT_LUMA ) ? m_cCUAbsSCModel.get( 0, 0 ) + 3 * uiCtxSet : m_cCUAbsSCModel.get( 0, 0 ) + NUM_ABS_FLAG_CTX_LUMA + 3 * uiCtxSet;
     1616      }
     1617
     1618      UInt coeffSigns;
     1619      if ( signHidden && beValid )
     1620      {
     1621        m_pcTDecBinIf->decodeBinsEP( coeffSigns, numNonZero-1 );
     1622        coeffSigns <<= 32 - (numNonZero-1);
     1623      }
     1624      else
     1625      {
     1626        m_pcTDecBinIf->decodeBinsEP( coeffSigns, numNonZero );
     1627        coeffSigns <<= 32 - numNonZero;
     1628      }
     1629     
     1630      Int iFirstCoeff2 = 1;   
     1631      if (c1 == 0 || numNonZero > C1FLAG_NUMBER)
     1632      {
    18481633        for( Int idx = 0; idx < numNonZero; idx++ )
    18491634        {
    1850           if( absCoeff[ idx ] == 2 )
    1851           {
    1852             m_pcTDecBinIf->decodeBin( uiBin, baseCtxMod[c2] );
    1853             absCoeff[ idx ] = uiBin + 2;
    1854             c2 += (c2 < 2);
    1855             uiNumOne++;
    1856           }
    1857         }
    1858 #endif
    1859       }
    1860 
    1861 #if MULTIBITS_DATA_HIDING
    1862       UInt coeffSigns;
    1863       if ( signHidden && beValid )
    1864       {
    1865         m_pcTDecBinIf->decodeBinsEP( coeffSigns, numNonZero-1 );
    1866         coeffSigns <<= 32 - (numNonZero-1);
    1867       }
    1868       else
    1869       {
    1870         m_pcTDecBinIf->decodeBinsEP( coeffSigns, numNonZero );
    1871         coeffSigns <<= 32 - numNonZero;
    1872       }
    1873 #else
    1874       UInt coeffSigns;
    1875       m_pcTDecBinIf->decodeBinsEP( coeffSigns, numNonZero );
    1876       coeffSigns <<= 32 - numNonZero;
    1877 #endif
    1878      
    1879 #if RESTRICT_GR1GR2FLAG_NUMBER
    1880       Int iFirstCoeff2 = 1;   
    1881       if (c1 == 0 || numNonZero > C1FLAG_NUMBER)
    1882 #else
    1883       if (c1 == 0)
    1884 #endif
    1885       {
    1886         for( Int idx = 0; idx < numNonZero; idx++ )
    1887         {
    1888 #if RESTRICT_GR1GR2FLAG_NUMBER   
    18891635          UInt baseLevel  = (idx < C1FLAG_NUMBER)? (2 + iFirstCoeff2) : 1;
    18901636
     
    19011647            uiNumOne++;
    19021648          }
    1903 #else
    1904           if( absCoeff[ idx ] == 3 )
    1905           {
    1906             UInt uiLevel;
    1907             xReadGoRiceExGolomb( uiLevel, uiGoRiceParam );
    1908             absCoeff[ idx ] = uiLevel + 3;
    1909           }
    1910 #endif
    19111649        }
    19121650      }
     
    19151653      {
    19161654        Int blkPos = pos[ idx ];
    1917 #if MULTIBITS_DATA_HIDING
    19181655        // Signs applied later.
    19191656        pcCoef[ blkPos ] = absCoeff[ idx ];
     
    19321669          coeffSigns <<= 1;
    19331670        }
    1934 #else
    1935         Int sign = static_cast<Int>( coeffSigns ) >> 31;
    1936         pcCoef[ blkPos ] = ( absCoeff[ idx ] ^ sign ) - sign;
    1937         coeffSigns <<= 1;
    1938 #endif
    19391671      }
    19401672    }
     
    19491681
    19501682
    1951 #if SAO_UNIT_INTERLEAVING
    19521683Void TDecSbac::parseSaoUvlc (UInt& ruiVal)
    19531684{
     
    21861917  }
    21871918}
    2188 #endif
    21891919
    21901920/**
     
    22171947}
    22181948
    2219 #if OL_FLUSH
    22201949Void TDecSbac::decodeFlush ( )
    22211950{
     
    22251954
    22261955}
    2227 #endif
    22281956
    22291957#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX || (LGE_EDGE_INTRA_A0070 && LGE_EDGE_INTRA_DELTA_DC)
Note: See TracChangeset for help on using the changeset viewer.