Changeset 636 in 3DVCSoftware for branches/HTM-8.2-dev0-KWU/source/Lib


Ignore:
Timestamp:
16 Oct 2013, 11:27:16 (12 years ago)
Author:
kwu-htm
Message:

Clean-up version of JCT3V-E0227.

Location:
branches/HTM-8.2-dev0-KWU/source/Lib
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev0-KWU/source/Lib/TAppCommon/TAppComCamPara.cpp

    r635 r636  
    15301530#if KWU_RC_MADPRED_E0227
    15311531Void
    1532   TAppComCamPara::RCGetZNearZFar( Int iView, UInt uiFrame, Double& rdZNear, Double& rdZFar )
     1532  TAppComCamPara::getZNearZFar( Int iView, UInt uiFrame, Double& rdZNear, Double& rdZFar )
    15331533{
    15341534  UInt uiFoundLine = -1;
     
    15471547
    15481548Void
    1549   TAppComCamPara::RCGetGeometryData( Int iView, UInt uiFrame, Double& rdFocalLength, Double& rdPosition, Double& rdCameraShift, Bool& rbInterpolated )
     1549  TAppComCamPara::getGeometryData( Int iView, UInt uiFrame, Double& rdFocalLength, Double& rdPosition, Double& rdCameraShift, Bool& rbInterpolated )
    15501550{
    15511551  UInt uiFoundLine = -1;
  • branches/HTM-8.2-dev0-KWU/source/Lib/TAppCommon/TAppComCamPara.h

    r635 r636  
    222222
    223223#if KWU_RC_MADPRED_E0227
    224   Void  RCGetZNearZFar             ( Int iView, UInt uiFrame, Double& rdZNear, Double& rdZFar );
    225   Void  RCGetGeometryData          ( Int dView, UInt uiFrame, Double& rdFocalLength, Double& rdPosition, Double& rdCameraShift, Bool& rbInterpolated );
     224  Void  getZNearZFar             ( Int iView, UInt uiFrame, Double& rdZNear, Double& rdZFar );
     225  Void  getGeometryData          ( Int dView, UInt uiFrame, Double& rdFocalLength, Double& rdPosition, Double& rdCameraShift, Bool& rbInterpolated );
    226226#endif
    227227};
  • branches/HTM-8.2-dev0-KWU/source/Lib/TLibCommon/TypeDef.h

    r635 r636  
    310310#define RATE_CONTROL_INTRA                          1  ///< JCTVC-M0257, rate control for intra
    311311#endif
    312 #define KWU_RC_VIEWRC_E0227                         0  ///< JCT3V-E0227, view-wise target bitrate allocation
    313 #define KWU_RC_MADPRED_E0227                        0  ///< JCT3V-E0227, inter-view MAD prediction
     312#define KWU_RC_VIEWRC_E0227                         1  ///< JCT3V-E0227, view-wise target bitrate allocation
     313#define KWU_RC_MADPRED_E0227                        1  ///< JCT3V-E0227, inter-view MAD prediction
    314314
    315315#define MAX_CPB_CNT                     32  ///< Upper bound of (cpb_cnt_minus1 + 1)
  • branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncCu.cpp

    r635 r636  
    242242 
    243243  m_bUseSBACRD        = pcEncTop->getUseSBACRD();
     244
     245#if KWU_RC_MADPRED_E0227
    244246  if(!pcEncTop->getIsDepth())
     247  {
    245248    m_pcRateCtrl        = pcEncTop->getRateCtrl();
     249  }
    246250  else
    247251  {
    248252    m_pcRateCtrl = NULL;
    249253  }
     254#else
     255  m_pcRateCtrl        = pcEncTop->getRateCtrl();
     256#endif
    250257}
    251258
     
    21242131#endif
    21252132
    2126 #if RATE_CONTROL_LAMBDA_DOMAIN  && !M0036_RC_IMPROVEMENT
    2127 #if KWU_RC_MADPRED_E0227
     2133#if RATE_CONTROL_LAMBDA_DOMAIN  && (!M0036_RC_IMPROVEMENT || KWU_RC_MADPRED_E0227)
    21282134  if ( m_pcEncCfg->getUseRateCtrl() && m_pcEncCfg->getLCULevelRC() && ePartSize == SIZE_2Nx2N && uhDepth <= m_addSADDepth )
    21292135  {
     
    21332139    m_temporalSAD = (Int)SAD;
    21342140  }
    2135 #endif
    21362141#endif
    21372142#if !RATE_CONTROL_LAMBDA_DOMAIN  && KWU_RC_MADPRED_E0227
     
    22682273  rpcTempCU->getTotalCost() = m_pcRdCost->calcRdCost( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() );
    22692274 
    2270 #if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT
    2271 #if KWU_RC_MADPRED_E0227
     2275#if RATE_CONTROL_LAMBDA_DOMAIN && (!M0036_RC_IMPROVEMENT || KWU_RC_MADPRED_E0227)
    22722276  UChar uhDepth = rpcTempCU->getDepth( 0 );
    22732277  if ( m_pcEncCfg->getUseRateCtrl() && m_pcEncCfg->getLCULevelRC() && eSize == SIZE_2Nx2N && uhDepth <= m_addSADDepth )
     
    22782282    m_spatialSAD = (Int)SAD;
    22792283  }
    2280 #endif
    22812284#endif
    22822285#if !RATE_CONTROL_LAMBDA_DOMAIN && KWU_RC_MADPRED_E0227
  • branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncGOP.cpp

    r635 r636  
    984984#if KWU_RC_MADPRED_E0227
    985985      if(m_pcCfg->getLayerId() != 0)
     986      {
    986987        m_pcRateCtrl->getRCPic()->setIVPic( m_pcEncTop->getEncTop()->getTEncTop(0)->getRateCtrl()->getRCPic() );
    987       //getEncTop()->getEncTop();//->getTEncTop(0);//->getUseRateCtrl()->getRCPic();
     988      }
    988989#endif
    989990
     
    10371038          list<TEncRCPic*> listPreviousPicture = m_pcRateCtrl->getPicList();
    10381039          lambda  = m_pcRateCtrl->getRCPic()->estimatePicLambdaIV( listPreviousPicture, pcSlice->getPOC() );
    1039           //printf("lambda : %lf\n", lambda);
    10401040          sliceQP = m_pcRateCtrl->getRCPic()->estimatePicQP( lambda, listPreviousPicture );
    10411041        }
  • branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncRateCtrl.cpp

    r635 r636  
    726726  m_lastPicture = NULL;
    727727  list<TEncRCPic*>::reverse_iterator it;
     728#if KWU_RC_MADPRED_E0227
    728729  for ( it = listPreviousPictures.rbegin(); it != listPreviousPictures.rend(); it++ )
    729730  {
     
    734735    }
    735736  }
     737#endif
    736738#endif
    737739
     
    10921094  {
    10931095    Pel*  pOrg    = pcCU->getSlice()->getIvPic(false, 0)->getPicYuvOrg()->getLumaAddr(pcCU->getAddr(), 0);
    1094     Pel*  pRec    = pcCU->getSlice()->getIvPic(false, 0)->getPicYuvPred()->getLumaAddr(pcCU->getAddr(), 0);
     1096    Pel*  pRec    = pcCU->getSlice()->getIvPic(false, 0)->getPicYuvRec()->getLumaAddr(pcCU->getAddr(), 0);
    10951097    Pel*  pDep    = pcCU->getSlice()->getIvPic(true, pcCU->getSlice()->getViewIndex())->getPicYuvOrg()->getLumaAddr(pcCU->getAddr(), 0);
    10961098    Int   iStride = pcCU->getSlice()->getIvPic(true, pcCU->getSlice()->getViewIndex())->getPicYuvOrg()->getStride();
     
    11211123    pcCU->getPosInPic(0, PosX, PosY);
    11221124    if((PosX + *iDisparity) < 0 || (PosX + *iDisparity + iWidth) >= pcCU->getSlice()->getSPS()->getMaxCUWidth())
     1125    {
    11231126      Disp = 0;
     1127    }
    11241128
    11251129    for( y = 0; y < iHeight; y++ )
     
    11381142    m_LCUs[ LCUIdx ].m_IVMAD = IVMAD;
    11391143    if(m_lastPicture)
     1144    {
    11401145      m_LCUs[ LCUIdx ].m_MAD = m_lastPicture->getLCU(LCUIdx).m_MAD;
     1146    }
    11411147
    11421148    MAD = m_LCUs[ LCUIdx ].m_IVMAD;
     
    20762082  m_sourceHeightInLCU        = (sourceHeight / maxCUHeight) + (( sourceHeight %  maxCUHeight) ? 1 : 0); 
    20772083  m_isLowdelay               = (sizeIntraPeriod == -1) ? true : false;
     2084#if KWU_RC_MADPRED_E0227
    20782085  m_prevBitrate              = ( targetKbps * 1000 );  // in units of 1,024 bps
    20792086  m_currBitrate              = ( targetKbps * 1000 );
     2087#else
     2088  m_prevBitrate              = ( targetKbps << 10 );  // in units of 1,024 bps
     2089  m_currBitrate              = ( targetKbps << 10 );
     2090#endif
    20802091  m_frameRate                = frameRate;
    20812092  m_refFrameNum              = m_isLowdelay ? (sizeGOP) : (sizeGOP>>1);
     
    24532464
    24542465  Pel*  pOrg   = pcCU->getPic()->getPicYuvOrg()->getLumaAddr(pcCU->getAddr(), 0);
    2455   Pel*  pRec   = pcCU->getPic()->getPicYuvPred()->getLumaAddr(pcCU->getAddr(), 0);
     2466  Pel*  pRec   = pcCU->getPic()->getPicYuvRec()->getLumaAddr(pcCU->getAddr(), 0);
    24562467  Int   stride = pcCU->getPic()->getStride();
    24572468
     
    24832494
    24842495  Pel*  pOrg    = pcCU->getSlice()->getIvPic(false, 0)->getPicYuvOrg()->getLumaAddr(pcCU->getAddr(), 0);
    2485   Pel*  pRec    = pcCU->getSlice()->getIvPic(false, 0)->getPicYuvPred()->getLumaAddr(pcCU->getAddr(), 0);
     2496  Pel*  pRec    = pcCU->getSlice()->getIvPic(false, 0)->getPicYuvRec()->getLumaAddr(pcCU->getAddr(), 0);
    24862497  Pel*  pDep    = pcCU->getSlice()->getIvPic(true, pcCU->getSlice()->getViewIndex())->getPicYuvOrg()->getLumaAddr(pcCU->getAddr(), 0);
    24872498  Int   iStride = pcCU->getSlice()->getIvPic(true, pcCU->getSlice()->getViewIndex())->getPicYuvOrg()->getStride();
  • branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncSlice.cpp

    r635 r636  
    157157  m_pdRdPicQp         = (Double*)xMalloc( Double, m_pcCfg->getDeltaQpRD() * 2 + 1 );
    158158  m_piRdPicQp         = (Int*   )xMalloc( Int,    m_pcCfg->getDeltaQpRD() * 2 + 1 );
     159#if KWU_RC_MADPRED_E0227
    159160  if(m_pcCfg->getUseRateCtrl())
     161  {
    160162    m_pcRateCtrl        = pcEncTop->getRateCtrl();
     163  }
    161164  else
     165  {
    162166    m_pcRateCtrl        = NULL;
     167  }
     168#else
     169  m_pcRateCtrl        = pcEncTop->getRateCtrl();
     170#endif
    163171}
    164172
     
    11361144        Int Direction = pcSlice->getViewId() - pcCU->getSlice()->getIvPic(false, 0)->getViewId();
    11371145
    1138         pcEncTop->getCamParam()->RCGetZNearZFar(pcSlice->getViewId(), pcSlice->getPOC(), Zn, Zf);
    1139         pcEncTop->getCamParam()->RCGetGeometryData(0, pcSlice->getPOC(), FocalLength, BasePos, CamShift, bInterpolated);
    1140         pcEncTop->getCamParam()->RCGetGeometryData(pcSlice->getViewId(), pcSlice->getPOC(), FocalLength, Position, CamShift, bInterpolated);
     1146        pcEncTop->getCamParam()->getZNearZFar(pcSlice->getViewId(), pcSlice->getPOC(), Zn, Zf);
     1147        pcEncTop->getCamParam()->getGeometryData(0, pcSlice->getPOC(), FocalLength, BasePos, CamShift, bInterpolated);
     1148        pcEncTop->getCamParam()->getGeometryData(pcSlice->getViewId(), pcSlice->getPOC(), FocalLength, Position, CamShift, bInterpolated);
    11411149
    11421150        m_pcRateCtrl->updateLCUDataEnhancedView(pcCU, pcCU->getTotalBits(), pcCU->getQP(0), BasePos, Position, FocalLength, Zn, Zf, (Direction > 0 ? 1 : -1));
     
    12501258            Int iDisparity;
    12511259
    1252             pcEncTop->getCamParam()->RCGetZNearZFar(pcSlice->getViewId(), pcSlice->getPOC(), Zn, Zf);
    1253             pcEncTop->getCamParam()->RCGetGeometryData(0, pcSlice->getPOC(), FocalLength, BasePos, CamShift, bInterpolated);
    1254             pcEncTop->getCamParam()->RCGetGeometryData(pcSlice->getViewId(), pcSlice->getPOC(), FocalLength, Position, CamShift, bInterpolated);
     1260            pcEncTop->getCamParam()->getZNearZFar(pcSlice->getViewId(), pcSlice->getPOC(), Zn, Zf);
     1261            pcEncTop->getCamParam()->getGeometryData(0, pcSlice->getPOC(), FocalLength, BasePos, CamShift, bInterpolated);
     1262            pcEncTop->getCamParam()->getGeometryData(pcSlice->getViewId(), pcSlice->getPOC(), FocalLength, Position, CamShift, bInterpolated);
    12551263            bpp       = m_pcRateCtrl->getRCPic()->getLCUTargetBppforInterView( m_pcRateCtrl->getPicList(), pcCU,
    12561264                            BasePos, Position, FocalLength, Zn, Zf, (Direction > 0 ? 1 : -1), &iDisparity );
Note: See TracChangeset for help on using the changeset viewer.