Changeset 290 in 3DVCSoftware for branches/HTM-5.1-dev0/source


Ignore:
Timestamp:
18 Feb 2013, 22:53:31 (12 years ago)
Author:
tech
Message:

Further macro clean ups.

Location:
branches/HTM-5.1-dev0/source/Lib
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r289 r290  
    38533853  UInt uiIdx = 1;
    38543854#if HHI_INTER_VIEW_MOTION_PRED
    3855   bool abCandIsInter[ MRG_MAX_NUM_CANDS_MEM ];
     3855  Bool abCandIsInter[ MRG_MAX_NUM_CANDS_MEM ];
    38563856  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS_MEM; ++ui )
    38573857#else
    3858   bool abCandIsInter[ MRG_MAX_NUM_CANDS ];
     3858  Bool abCandIsInter[ MRG_MAX_NUM_CANDS ];
    38593859  for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ++ui )
    38603860#endif
     
    66556655      DisInfo cDisInfo;
    66566656      cDisInfo.iN = 0;
    6657 
    6658 #if FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    66596657      getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false
    66606658#if MERL_VSP_C0152
     
    66626660#endif
    66636661              );
    6664 #else  // FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    6665       getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo);
    6666 #endif // FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    66676662      if(cDisInfo.iN==0)
    66686663      {
     
    67356730  if(m_pcSlice->getSPS()->getViewId() && m_pcSlice->getSPS()->getMultiviewMvPredMode())
    67366731  {
    6737 #if FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    67386732    getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false);
    6739 #else
    6740     getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo);
    6741 #endif
    67426733  }
    67436734  if(cDisInfo.iN==0)
     
    87518742#if HHI_INTER_VIEW_RESIDUAL_PRED
    87528743Bool
    8753 TComDataCU::getResidualSamples( UInt uiPartIdx,
    8754 #if QC_SIMPLIFIEDIVRP_M24938
    8755   Bool bRecon ,
    8756 #endif
    8757   TComYuv* pcYuv )
     8744TComDataCU::getResidualSamples( UInt uiPartIdx, Bool bRecon, TComYuv* pcYuv )
    87588745{
    87598746  TComResidualGenerator*  pcResidualGenerator = m_pcSlice->getSPS()->getResidualGenerator();
     
    87648751  PartSize m_peSaved =  getPartitionSize( 0 );
    87658752  m_pePartSize[0] =  SIZE_2Nx2N;
    8766 #if FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    87678753  getDisMvpCandNBDV( 0, 0,  &cDisInfo, false );
    8768 #else
    8769   getDisMvpCandNBDV( 0, 0,  &cDisInfo);
    8770 #endif
    87718754  if( cDisInfo.iN == 0)
    87728755  {
     
    87778760  {
    87788761#if MTK_RELEASE_DV_CONSTRAINT_C0129
    8779     Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0]
    8780 #if QC_SIMPLIFIEDIVRP_M24938
    8781      , bRecon
    8782 #endif
    8783      );
    8784 #else
    8785     Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0].getHor()
    8786 #if QC_SIMPLIFIEDIVRP_M24938
    8787       , bRecon
    8788 #endif
    8789       );
     8762    Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0], bRecon );       
     8763#else
     8764    Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0].getHor(), bRecon );
    87908765#endif
    87918766    m_pePartSize[0] = m_peSaved;
     
    87938768  }
    87948769#else
    8795   return pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv
    8796 #if QC_SIMPLIFIEDIVRP_M24938
    8797     , bRecon
    8798 #endif
    8799     );
     8770  return pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, bRecon );
    88008771#endif
    88018772}
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.h

    r289 r290  
    241241  Bool          m_bDecSubCu;          ///< indicates decoder-mode
    242242  Double        m_dTotalCost;         ///< sum of partition RD costs
    243 #if FIX_RDO_NEGDIST
    244243  Dist          m_uiTotalDistortion;  ///< sum of partition distortion
    245 #else
    246   UInt          m_uiTotalDistortion;  ///< sum of partition distortion
    247 #endif
    248244  UInt          m_uiTotalBits;        ///< sum of partition bits
    249245  UInt          m_uiTotalBins;       ///< sum of partition bins
     
    617613#endif
    618614#if HHI_INTER_VIEW_RESIDUAL_PRED
    619   Bool          getResidualSamples( UInt uiPartIdx,
    620 #if QC_SIMPLIFIEDIVRP_M24938
    621     Bool bRecon ,
    622 #endif
    623     TComYuv* pcYuv = 0 );
     615  Bool          getResidualSamples( UInt uiPartIdx, Bool bRecon, TComYuv* pcYuv = 0 );
    624616#endif
    625617  // -------------------------------------------------------------------------------------------------------------------
     
    777769 
    778770  Double&       getTotalCost()                  { return m_dTotalCost;        }
    779 #if FIX_RDO_NEGDIST
    780771  Dist&         getTotalDistortion()            { return m_uiTotalDistortion; }
    781 #else
    782   UInt&         getTotalDistortion()            { return m_uiTotalDistortion; }
    783 #endif
    784772  UInt&         getTotalBits()                  { return m_uiTotalBits;       }
    785773  UInt&         getTotalNumPart()               { return m_uiNumPartition;    }
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPrediction.cpp

    r287 r290  
    858858  Bool bResAvail = false;
    859859
    860   bResAvail = pcCU->getResidualSamples( 0,
    861 #if QC_SIMPLIFIEDIVRP_M24938
    862     true,
    863 #endif
    864     pcYuvResPred );
     860  bResAvail = pcCU->getResidualSamples( 0, true, pcYuvResPred );
    865861
    866862  assert (bResAvail);
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.cpp

    r289 r290  
    229229#if MTK_RELEASE_DV_CONSTRAINT_C0129
    230230Bool
    231 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp
    232 #if QC_SIMPLIFIEDIVRP_M24938
    233   , Bool bRecon
    234 #endif
    235   )
     231TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp, Bool bRecon  )
    236232#else
    237233Bool
    238 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Int iDisp
    239 #if QC_SIMPLIFIEDIVRP_M24938
    240   , Bool bRecon
    241 #endif
    242  )
     234TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Int iDisp, Bool bRecon  )
    243235#endif
    244236#else
    245237Bool
    246 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv
    247 #if QC_SIMPLIFIEDIVRP_M24938
    248   , Bool bRecon
    249 #endif
    250   )
     238TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Bool bRecon )
    251239#endif //H3D_NBDV
    252240{
     
    261249#if H3D_NBDV
    262250#if MTK_RELEASE_DV_CONSTRAINT_C0129
    263   return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp
    264 #if QC_SIMPLIFIEDIVRP_M24938
    265     , bRecon
    266 #endif
    267   );
    268 #else
    269   return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp
    270 #if QC_SIMPLIFIEDIVRP_M24938
    271     , bRecon
    272 #endif
    273   );
    274 #endif
    275 #else
    276   return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv
    277 #if QC_SIMPLIFIEDIVRP_M24938
    278     , bRecon
    279 #endif
    280     );
     251  return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp, bRecon);   
     252#else
     253  return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp, bRecon);
     254#endif
     255#else
     256  return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, bRecon);
    281257#endif // H3D_NBDV
    282258}
     
    285261#if MTK_RELEASE_DV_CONSTRAINT_C0129
    286262Bool
    287 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp 
    288 #if QC_SIMPLIFIEDIVRP_M24938
    289   , Bool bRecon
    290 #endif
    291 )
     263TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp, Bool bRecon) 
    292264#else
    293265Bool
    294 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp
    295 #if QC_SIMPLIFIEDIVRP_M24938
    296   , Bool bRecon
    297 #endif
    298 )
     266TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp, Bool bRecon)
    299267#endif
    300268#else
    301269Bool
    302 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv
    303 #if QC_SIMPLIFIEDIVRP_M24938
    304   , Bool bRecon
    305 #endif
    306   )
     270TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Bool bRecon)
    307271#endif
    308272{
     
    316280    pcYuv = m_ppcYuvTmp[1];
    317281  }
    318 #if QC_SIMPLIFIEDIVRP_M24938
    319282  UInt uiXPosInRefView = uiXPos , uiYPosInRefView = uiYPos;
    320 #endif
    321283#if H3D_NBDV
    322284#if MTK_RELEASE_DV_CONSTRAINT_C0129
    323   xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp
    324 #if QC_SIMPLIFIEDIVRP_M24938
    325    , &uiXPosInRefView , &uiYPosInRefView , bRecon
    326 #endif 
    327   );
    328 #else
    329   xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp
    330 #if QC_SIMPLIFIEDIVRP_M24938
    331     , &uiXPosInRefView , &uiYPosInRefView , bRecon
    332 #endif 
    333   );
    334 #endif
    335 #else
    336   xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv
    337 #if QC_SIMPLIFIEDIVRP_M24938
    338     , &uiXPosInRefView , &uiYPosInRefView , bRecon
    339 #endif
    340     );
     285  xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp, &uiXPosInRefView , &uiYPosInRefView , bRecon  );
     286#else
     287  xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp, &uiXPosInRefView , &uiYPosInRefView , bRecon  );
     288#endif
     289#else
     290  xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, &uiXPosInRefView , &uiYPosInRefView , bRecon    );
    341291#endif
    342292#if MTK_MDIVRP_C0138
    343293  return true;
    344294#else
    345 #if QC_SIMPLIFIEDIVRP_M24938
    346295  return xIsNonZeroByCBF( uiBaseViewId , uiXPosInRefView , uiYPosInRefView , uiBlkWidth , uiBlkHeight );
    347 #else
    348   return xIsNonZero( pcYuv, uiBlkWidth, uiBlkHeight );
    349 #endif
    350 #endif
    351 }
    352 
    353 #if QC_SIMPLIFIEDIVRP_M24938
     296#endif
     297}
     298
    354299Bool TComResidualGenerator::xIsNonZeroByCBF( UInt uiBaseViewId , UInt uiXPos , UInt uiYPos, UInt uiBlkWidth , UInt uiBlkHeight )
    355300{
     
    377322  return( false );
    378323}
    379 #endif
    380324
    381325
     
    497441  {
    498442    AOF( pcCU->getResPredAvail( 0 ) );
    499     Bool bOK = pcCU->getResidualSamples( 0,
    500 #if QC_SIMPLIFIEDIVRP_M24938
    501       true,
    502 #endif
    503       m_ppcYuvTmp[0] );
     443    Bool bOK = pcCU->getResidualSamples( 0, true, m_ppcYuvTmp[0] );
    504444    AOF( bOK );
    505445#if LG_RESTRICTEDRESPRED_M24766
     
    571511Void 
    572512TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp
    573 #if QC_SIMPLIFIEDIVRP_M24938
    574   , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon
    575 #endif
    576 )
     513                                             ,UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon )
    577514#else // MTK_RELEASE_DV_CONSTRAINT_C0129
    578515Void 
    579516TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp
    580 #if QC_SIMPLIFIEDIVRP_M24938
    581   , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon
    582 #endif
    583 )
     517                                             ,UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon)
    584518#endif // MTK_RELEASE_DV_CONSTRAINT_C0129
    585519#else // H3D_NBDV
    586520Void 
    587521TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv
    588 #if QC_SIMPLIFIEDIVRP_M24938
    589   , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon
    590 #endif
    591   )
     522                                             , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon  )
    592523#endif // H3D_NBDV
    593524{
     
    644575  Pel*          pDesSamplesY= pcYuv    ->getLumaAddr ();
    645576
    646 #if QC_SIMPLIFIEDIVRP_M24938
     577
    647578  if( puiXPosInRefView != NULL )
    648579    *puiXPosInRefView = Max( 0, Min( iYMaxPosX, iYRefPosX0 ) );
     
    651582  if( bRecon == false )
    652583    return;
    653 #endif
     584
    654585#if MTK_RELEASE_DV_CONSTRAINT_C0129
    655586  for(   Int iY = 0; iY < iYHeight; iY++, pSrcSamplesY0 += iSrcStrideY, pSrcSamplesY1 += iSrcStrideY, pDesSamplesY += iDesStrideY )
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.h

    r289 r290  
    7171#if H3D_NBDV
    7272#if MTK_RELEASE_DV_CONSTRAINT_C0129
    73   Bool  getResidualSamples    ( TComDataCU*   pcCU,  UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp_x
    74 #if QC_SIMPLIFIEDIVRP_M24938
    75     , Bool bRecon
     73  Bool  getResidualSamples    ( TComDataCU*   pcCU,  UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp_x, Bool bRecon );
     74  Bool  getResidualSamples    ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , TComMv iDisp_x, Bool bRecon );
     75#else
     76  Bool  getResidualSamples    ( TComDataCU*   pcCU,  UInt uiPUIdx, TComYuv* pcYuv, Int iDisp, Bool bRecon );
     77  Bool  getResidualSamples    ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , Int iDisp, Bool bRecon );
    7678#endif
    77 );
    78   Bool  getResidualSamples    ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , TComMv iDisp_x
    79 #if QC_SIMPLIFIEDIVRP_M24938
    80     , Bool bRecon
    81 #endif 
    82   );
    83 #else
    84   Bool  getResidualSamples    ( TComDataCU*   pcCU,  UInt uiPUIdx, TComYuv* pcYuv, Int iDisp
    85 #if QC_SIMPLIFIEDIVRP_M24938
    86     , Bool bRecon
    87 #endif
    88 );
    89   Bool  getResidualSamples    ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , Int iDisp
    90 #if QC_SIMPLIFIEDIVRP_M24938
    91     , Bool bRecon
    92 #endif 
    93   );
    94 #endif
    95 #else
    96   Bool  getResidualSamples    ( TComDataCU*   pcCU,  UInt uiPUIdx, TComYuv* pcYuv
    97 #if QC_SIMPLIFIEDIVRP_M24938
    98     , Bool bRecon
    99 #endif
    100     );
    101   Bool  getResidualSamples    ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv
    102 #if QC_SIMPLIFIEDIVRP_M24938
    103     , Bool bRecon
    104 #endif
    105     );
    106 #endif
     79#else // H3D_NBDV
     80  Bool  getResidualSamples    ( TComDataCU*   pcCU,  UInt uiPUIdx, TComYuv* pcYuv, Bool bRecon );
     81  Bool  getResidualSamples    ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Bool bRecon );
     82#endif // H3D_NBDV
    10783
    10884private:
     
    11591#if H3D_NBDV
    11692#if MTK_RELEASE_DV_CONSTRAINT_C0129
    117   Void  xSetPredResidualBlock ( TComPic*      pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp
    118 #if QC_SIMPLIFIEDIVRP_M24938
    119     , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon
    120 #endif
    121   );
     93  Void  xSetPredResidualBlock ( TComPic*      pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp, UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon  );   
    12294#else
    123   Void  xSetPredResidualBlock ( TComPic*      pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp
    124 #if QC_SIMPLIFIEDIVRP_M24938
    125     , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon
    126 #endif
    127   );
     95  Void  xSetPredResidualBlock ( TComPic*      pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp, UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon  );
    12896#endif
    12997#else
    130   Void  xSetPredResidualBlock ( TComPic*      pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv
    131 #if QC_SIMPLIFIEDIVRP_M24938
    132     , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon
    133 #endif
    134     );
     98  Void  xSetPredResidualBlock ( TComPic*      pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon  );
    13599#endif
    136100  Bool  xIsNonZero            ( TComYuv*      pcYuv, UInt uiBlkWidth, UInt uiBlkHeight );
    137 #if QC_SIMPLIFIEDIVRP_M24938
    138101  Bool  xIsNonZeroByCBF       ( UInt uiBaseViewId , UInt uiXPos , UInt uiYPos, UInt uiBlkWidth , UInt uiBlkHeight );
    139 #endif
    140 
    141102  Void  xDumpResidual         ( TComPic*      pcPic, char* pFilenameBase );
    142 
    143103private:
    144104  // general parameters
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r289 r290  
    4141//! \ingroup TLibCommon
    4242//! \{
     43
     44// MV-HEVC
     45#define QC_IV_AS_LT_B0046                 1   //JCT3V-B0046: inter-view reference pictures are treated as long-term pictures
     46#define QC_REM_IDV_B0046                  1   //JCT3V-B0046: removal of IDV NAL unit type
     47#define DV_V_RESTRICTION_B0037            1   //JCT3V-B0037: disparity vector vertical range restriction
     48#define QC_TMVP_IDX_MOD_B0046             1   //JCT3V-B0046: the reference index for temporal merging candidate is set to 0, as defined in HEVC
     49
     50// 3D-HEVC
    4351#define QC_MVHEVC_B0046                   0   //JCT3V-B0046: disable 3DHEVC tools
    44 #define QC_IV_AS_LT_B0046                 1   //JCT3V-B0046: inter-view reference pictures are treated as long-term pictures
    45 #define QC_TMVP_IDX_MOD_B0046             1   //JCT3V-B0046: the reference index for temporal merging candidate is set to 0, as defined in HEVC
    46 #define QC_REM_IDV_B0046                  1   //JCT3V-B0046: removal of IDV NAL unit type
    47 #define DV_V_RESTRICTION_B0037            1   // JCT3V-B0037 disparity vector vertical range restriction
    4852
    4953#if !QC_MVHEVC_B0046
    5054
    51 
    52 // C TRACK 3
    53 #define MERL_VSP_C0152                                0 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools
    54 #define MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097     1   // JCT3V-C0141/C0097
    55 #define MTK_SIMPLIFY_DVTC_C0135                       1   // JCT3V-C0135
    56 #define MTK_RELEASE_DV_CONSTRAINT_C0129               1   // JCT3V-C0129
    57 #define QC_NBDV_LDB_FIX_C0055                         1   // JCT3V-C0055
    58 
    59 ///// ***** FIXES *********
    60 // A
    61 #define FIX_POZNAN_CABAC_INIT_FLAG        1
    62 #define FIX_LG_RESTRICTEDRESPRED_M24766   1
    63 
    64 // B
    65 #define FIX_LGE_IVMP_PARALLEL_MERGE_B0136 1
    66 #define FIX_RDO_NEGDIST                   1
    67 #define FIX_DMM_NEG_DIST                  1
    68 
    69 
    70 // 3rd meeting
    71 #define FIX_DMM_CTX_INIT_C0034            1    // JCT3V-C0034 fix for wrong init type of DMM contexts (UChar instead of Short)
    72 #define FIX_SDC_ENC_C0143                 1    // JCT3V-C0143 fix for unnecessary encoder checks in case of SDC
    73 
    74 // FCO
    75 #define FLEX_CODING_ORDER_M23723          1
    76 #if FLEX_CODING_ORDER_M23723
    77   #define DISABLE_FCO_FOR_VSO             0 // Optional compile settings to disable VSO with FCO.
    78 #endif
    79 #define   QC_TMVP_MRG_REFIDX_C0047        1 //only enabled when QC_TMVP_IDX_MOD_B0046 is enabled.
    80 
    81 ///// ***** PATCHES *********
    82 #define TMVP_DEPTH_SWITCH                 1   // JCT3V-B0092 additional encoder option only
    83 
    84 ///// ***** DEPTH MODELING MODES *********
     55///// ***** DMM *********
    8556#define HHI_DMM_WEDGE_INTRA               1   // depth model modes independent on texture (explicit and intra-predicted Wedgelet prediction)
    8657#define HHI_DMM_PRED_TEX                  1   // depth model modes dependent on texture (inter-component Wedgelet and Contour prediction )
    8758#define LGE_EDGE_INTRA_A0070              1   // JCT3V-A0070
    8859
    89 #define RWTH_SDC_DLT_B0036                1   // JCT3V-B0036: Simplified Depth Coding + Depth Lookup Table
    90 
    9160#define HHIQC_DMMFASTSEARCH_B0039         1   // JCT3V-B0039: fast Wedgelet search for DMM modes 1 and 3 // --> weg
    9261
    9362#define HHI_DMM_DELTADC_Q1_C0034          1   // JCT3V-C0034: no quantization and fast encoder search for DMM delta DC values
    94 
    9563#if HHIQC_DMMFASTSEARCH_B0039 && HHI_DMM_PRED_TEX
    9664#define LGE_DMM3_SIMP_C0044               1
    9765#endif
    98 
     66#define FIX_DMM_CTX_INIT_C0034            1    // JCT3V-C0034 fix for wrong init type of DMM contexts (UChar instead of Short)
     67
     68///// ***** SDC *********
     69#define RWTH_SDC_DLT_B0036                1   // JCT3V-B0036: Simplified Depth Coding + Depth Lookup Table
    9970#if RWTH_SDC_DLT_B0036
    10071#define SAIT_SDC_C0096                    1   // JCT3V-C0096: Improved Simple Depth Coding(removal of DMM2 among four SDC modes(DC, Planar, DMM1 and DMM2))
    10172#endif
     73#define FIX_SDC_ENC_C0143                 1    // JCT3V-C0143 fix for unnecessary encoder checks in case of SDC
     74
     75///// ***** TMVP/AMVP *********
     76#define TMVP_DEPTH_SWITCH                 1 // JCT3V-B0092 additional encoder option only
     77#define QC_TMVP_MRG_REFIDX_C0047          1 // only enabled when QC_TMVP_IDX_MOD_B0046 is enabled.
     78#define INTER_VIEW_VECTOR_SCALING_C0115   1 // JCT3V-C0115 Inter-view vector scaling for TMVP & flag
     79#define INTER_VIEW_VECTOR_SCALING_C0116   1 // JCT3V-C0116 Inter-view vector scaling for AMVP
    10280
    10381///// ***** INTERVIEW MOTION VECTOR PREDICTION *********
    10482#define HHI_INTER_VIEW_MOTION_PRED        1   // inter-view motion parameter prediction
    105 #define QC_AMVP_MRG_UNIFY_IVCAN_C0051     1
    106 #define QC_C0051_FIXED_BY_MTK             1   // bug fix for C0051 implementation
    107 #define SHARP_INTERVIEW_DECOUPLE_B0111    1   // JCT3V-B0111 decoupling inter-view candidate
    108 #define QC_MRG_CANS_B0048                 1   // JCT3V-B0048, B0086, B0069
    109 #if     QC_MRG_CANS_B0048
    110 #define OL_DISMV_POS_B0069                1   // different pos for disparity MV candidate, B0069
    111 #endif
    112 #define MTK_INTERVIEW_MERGE_A0049         1   // JCT3V-A0049 second part
    11383#if HHI_INTER_VIEW_MOTION_PRED         
    11484#define SAIT_IMPROV_MOTION_PRED_M24829    1   // improved inter-view motion vector prediction
     
    11787#endif                                 
    11888
     89#define SHARP_INTERVIEW_DECOUPLE_B0111    1   // JCT3V-B0111 decoupling inter-view candidate
     90#define QC_MRG_CANS_B0048                 1   // JCT3V-B0048, B0086, B0069
     91#if     QC_MRG_CANS_B0048
     92#define OL_DISMV_POS_B0069                1   // different pos for disparity MV candidate, B0069
     93#endif
     94#define MTK_INTERVIEW_MERGE_A0049         1   // JCT3V-A0049 second part
     95#define QC_AMVP_MRG_UNIFY_IVCAN_C0051     1
     96#define QC_C0051_FIXED_BY_MTK             1   // bug fix for C0051 implementation
     97
     98
    11999///// ***** INTERVIEW RESIDUAL PREDICTION *********
    120100#define HHI_INTER_VIEW_RESIDUAL_PRED      1   // inter-view residual prediction
     101                                              // QC_SIMPLIFIEDIVRP_M24938
    121102#if HHI_INTER_VIEW_RESIDUAL_PRED       
     103#define LG_RESTRICTEDRESPRED_M24766       1   // restricted inter-view residual prediction
     104#define FIX_LG_RESTRICTEDRESPRED_M24766   1
     105#else                                 
     106#define LG_RESTRICTEDRESPRED_M24766       0
     107#endif
     108
    122109#define MTK_MDIVRP_C0138                  1   // mode-dependent inter-view residual prediction
    123110#define MTK_C0138_FIXED                   1   // fix for IBP coding structure in view direction (not CTC)
    124 #define LG_RESTRICTEDRESPRED_M24766       1   // restricted inter-view residual prediction
    125 #define QC_SIMPLIFIEDIVRP_M24938          1
    126 #else                                 
    127 #define LG_RESTRICTEDRESPRED_M24766       0
    128 #define QC_SIMPLIFIEDIVRP_M24938          0
    129 #endif
     111
    130112
    131113///// ***** DISPARITY VECTOR DERIVATION *********
     
    138120                                              // FIX_LGE_DVMCP_B0133
    139121                                              // LGE_IVMP_PARALLEL_MERGE_B0136, B0136 support of parallel merge/skip in disparity vector derivation
     122                                              // FIX_LGE_IVMP_PARALLEL_MERGE_B0136
     123
     124#define QC_NBDV_LDB_FIX_C0055             1   // JCT3V-C0055
     125#define MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097     1   // JCT3V-C0141/C0097
     126#define MTK_RELEASE_DV_CONSTRAINT_C0129   1   // JCT3V-C0129
     127#define MTK_SIMPLIFY_DVTC_C0135           1   // JCT3V-C0135
    140128
    141129///// ***** MOTION PARAMETER INHERITANCE  *********
     
    179167///// ***** OTHERS *********
    180168#define LG_ZEROINTRADEPTHRESI_A0087       1   // JCT2-A0087
    181 #define INTER_VIEW_VECTOR_SCALING_C0115   1   // JCT2-C0115 Inter-view vector scaling for TMVP & flag
    182 #define INTER_VIEW_VECTOR_SCALING_C0116   1   // JCT2-C0116 Inter-view vector scaling for AMVP
    183169#define HHI_FULL_PEL_DEPTH_MAP_MV_ACC     1   // full-pel mv accuracy for depth maps
    184 #define VIDYO_VPS_INTEGRATION             1
     170#define VIDYO_VPS_INTEGRATION             1   // Integration of VPS
    185171#define HHI_DEPTH_INTRA_SEARCH_RAU_C0160  1   // JCT3V-C0160 change 1: full Intra search in depth random access units
     172#define FIX_POZNAN_CABAC_INIT_FLAG        1
     173
     174///// ***** FCO  *********
     175#define FLEX_CODING_ORDER_M23723          1
     176#if FLEX_CODING_ORDER_M23723
     177#define DISABLE_FCO_FOR_VSO               0 // Optional compile settings to disable VSO with FCO.
     178#endif
    186179
    187180///// ***** VSP *********
    188 
     181#define MERL_VSP_C0152                    0 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools
    189182#if MERL_VSP_C0152
    190183
     
    220213
    221214
    222 ///// ***** DEFINED PARAMETERS *********
     215///// ***** DERIVED PARAMETERS *********
    223216#if H3D_NBDV                   
    224217#define DIS_CANS                          1
     
    265258#define HHI_MPI_MERGE_POS                 0
    266259#endif
     260
     261
    267262///// ***** HM 6.1 *********
    268263#define SKIPFRAME_BUGFIX                  1 ///< bug fix to enable skipFrame at decoder
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp

    r287 r290  
    123123  if( bResPredAllowed )
    124124  {
    125     bResPredAvailable       = pcSubCU->getResidualSamples( uiPUIdx
    126 #if QC_SIMPLIFIEDIVRP_M24938
    127       , false
    128 #endif
    129       );
     125    bResPredAvailable       = pcSubCU->getResidualSamples( uiPUIdx , false  );
    130126  }
    131127
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp

    r287 r290  
    660660        if( bResPredAllowed )
    661661        {
    662           bResPredAvailable       = rpcBestCU->getResidualSamples( 0,
    663 #if QC_SIMPLIFIEDIVRP_M24938
    664             true ,
    665 #endif
    666             m_ppcResPredTmp[uiDepth] );
     662          bResPredAvailable       = rpcBestCU->getResidualSamples( 0, true , m_ppcResPredTmp[uiDepth] );
    667663        }
    668664
     
    801797        if( bResPredAllowed )
    802798        {
    803           bResPredAvailable       = rpcBestCU->getResidualSamples( 0,
    804 #if QC_SIMPLIFIEDIVRP_M24938
    805             true,
    806 #endif
    807             m_ppcResPredTmp[uiDepth] );
     799          bResPredAvailable       = rpcBestCU->getResidualSamples( 0, true, m_ppcResPredTmp[uiDepth] );
    808800        }
    809801
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r287 r290  
    20152015  UInt    uiQNumParts    = pcCU->getTotalNumPart() >> 2;
    20162016  UInt    uiWidthBit     = pcCU->getIntraSizeIdx(0);
    2017 #if FIX_RDO_NEGDIST
    20182017  Dist    uiOverallDistY = 0;
    20192018  Dist    uiOverallDistC = 0;
    2020 #else
    2021   UInt    uiOverallDistY = 0;
    2022   UInt    uiOverallDistC = 0;
    2023 #endif
    20242019  UInt    CandNum;
    20252020  Double  CandCostList[ FAST_UDI_MAX_RDMODE_NUM ];
     
    21582153        CandNum += xUpdateCandList( uiMode, cost, numModesForFullRD, uiRdModeList, CandCostList );
    21592154
    2160 #if (HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX) && !FIX_DMM_NEG_DIST
    2161         if( bTestDmm ) bTestDmm = uiSad ? true : false;
    2162 #endif
    21632155#if LGE_EDGE_INTRA_A0070
    21642156        if ( bTestEdgeIntra ) bTestEdgeIntra = uiSad ? true : false;
     
    23022294   
    23032295    UInt    uiBestPUMode  = 0;
    2304 #if FIX_RDO_NEGDIST
    23052296    Dist    uiBestPUDistY = 0;
    23062297    Dist    uiBestPUDistC = 0;
    2307 #else
    2308     UInt    uiBestPUDistY = 0;
    2309     UInt    uiBestPUDistC = 0;
    2310 #endif
    23112298    Double  dBestPUCost   = MAX_DOUBLE;
    23122299#if RWTH_SDC_DLT_B0036
     
    56925679    }
    56935680   
    5694 #if FIX_RDO_NEGDIST
     5681
    56955682    Dist uiDistU = 0;
    56965683    Dist uiDistV = 0;
    5697 #else
    5698     UInt uiDistU = 0;
    5699     UInt uiDistV = 0;
    5700 #endif
    57015684    if( bCodeChroma )
    57025685    {
     
    57365719#endif       
    57375720       
    5738 #if FIX_RDO_NEGDIST
     5721
    57395722        const Dist uiNonzeroDistU = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCbAddr( absTUPartIdxC), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(),
    57405723          pcResi->getCbAddr( absTUPartIdxC), pcResi->getCStride(), trWidthC, trHeightC
    57415724
    5742 #else
    5743         const UInt uiNonzeroDistU = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCbAddr( absTUPartIdxC), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(),
    5744           pcResi->getCbAddr( absTUPartIdxC), pcResi->getCStride(), trWidthC, trHeightC
    5745 #endif
    57465725#if WEIGHTED_CHROMA_DISTORTION
    57475726          , true
     
    58285807        m_pcTrQuant->invtransformNxN( TEXT_CHROMA,REG_DCT, pcResiCurrV, m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(), pcCoeffCurrV, trWidthC, trHeightC, scalingListType );
    58295808#endif
    5830 #if FIX_RDO_NEGDIST
    58315809        const Dist uiNonzeroDistV = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCrAddr( absTUPartIdxC ), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(),
    58325810          pcResi->getCrAddr( absTUPartIdxC ), pcResi->getCStride(), trWidthC, trHeightC
    5833 #else
    5834         const UInt uiNonzeroDistV = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCrAddr( absTUPartIdxC ), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(),
    5835           pcResi->getCrAddr( absTUPartIdxC ), pcResi->getCStride(), trWidthC, trHeightC
    5836 #endif
    58375811#if WEIGHTED_CHROMA_DISTORTION
    58385812                                                   , true
Note: See TracChangeset for help on using the changeset viewer.