Changeset 125 in 3DVCSoftware for trunk/source/Lib


Ignore:
Timestamp:
7 Sep 2012, 16:00:37 (12 years ago)
Author:
tech
Message:

Made VSO-RDO macro bugfix switchable per define for testing

Location:
trunk/source/Lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TypeDef.h

    r124 r125  
    5050#define FIX_VSO_SETUP                     1
    5151#define FIX_COMP_WARNING_INIT             1
     52#define FIX_RDO_MACRO                     1
    5253
    5354#define FIX_LG_RESTRICTEDRESPRED_M24766   1
  • trunk/source/Lib/TLibEncoder/TEncSearch.cpp

    r120 r125  
    61976197       
    61986198        Dist uiActDist = RDO_DIST_MAX;
     6199#if FIX_RDO_MACRO
    61996200#if SAIT_VSO_EST_A0033
    62006201        if ( m_pcRdCost->getUseEstimatedVSD() )
     
    62116212            uiActDist = (iDWeight * iD + iVSDWeight * (Dist) uiActDist) / ( iDWeight + iVSDWeight);
    62126213          }
    6213 #endif
     6214#endif // LGE_WVSO_A0119
    62146215        }
    62156216        else       
    6216 #endif
     6217#endif // SAIT_VSO_EST_A0033
    62176218        {       
    62186219          uiActDist = m_pcRdCost->getDistVS( pcCU, 0, piPredic, uiStride,  piOrig, uiStride, uiWidth, uiHeight, false, 0 );
     
    62256226            uiActDist = (iDWeight * iD + iVSOWeight * (Dist) uiActDist) / ( iDWeight + iVSOWeight);
    62266227          }
    6227 #endif
    6228         }
     6228#endif // LGE_WVSO_A0119
     6229        }
     6230#else // FIX_RDO_MACRO
     6231#if SAIT_VSO_EST_A0033
     6232        if ( m_pcRdCost->getUseEstimatedVSD() )
     6233        {         
     6234          TComPicYuv* pcVirRec = m_pcRdCost->getVideoRecPicYuv();
     6235          TComPicYuv* pcVirOrg = m_pcRdCost->getDepthPicYuv();
     6236          uiActDist = m_pcRdCost->getDistPart( piPredic, uiStride, piOrig, uiStride, pcVirRec->getLumaAddr(pcCU->getAddr(),pcCU->getZorderIdxInCU()), pcVirOrg->getLumaAddr(pcCU->getAddr(),pcCU->getZorderIdxInCU()), pcVirRec->getStride(), uiWidth, uiHeight );
     6237#if LGE_WVSO_A0119
     6238          if ( m_pcRdCost->getUseWVSO() )
     6239          {   
     6240            Int iDWeight = m_pcRdCost->getDWeight() * m_pcRdCost->getDWeight();
     6241            Int iVSDWeight = m_pcRdCost->getVSDWeight() * m_pcRdCost->getVSDWeight();
     6242            Dist iD = (Dist) m_pcRdCost->getDistPart( piPredic, uiStride, piOrig, uiStride, uiWidth, uiHeight, false, DF_SAD );
     6243            uiActDist = (iDWeight * iD + iVSDWeight * (Dist) uiActDist) / ( iDWeight + iVSDWeight);
     6244          }
     6245#endif // LGE_WVSO_A0119
     6246        }
     6247        else       
     6248#else  // SAIT_VSO_EST_A0033 <-- wrong #else statement should be #endif
     6249        {       
     6250          uiActDist = m_pcRdCost->getDistVS( pcCU, 0, piPredic, uiStride,  piOrig, uiStride, uiWidth, uiHeight, false, 0 );
     6251#if LGE_WVSO_A0119
     6252          if ( m_pcRdCost->getUseWVSO() )
     6253          {   
     6254            Int iDWeight = m_pcRdCost->getDWeight() * m_pcRdCost->getDWeight();
     6255            Int iVSOWeight = m_pcRdCost->getVSOWeight() * m_pcRdCost->getVSOWeight();
     6256            Dist iD = (Dist) m_pcRdCost->getDistPart( piPredic, uiStride, piOrig, uiStride, uiWidth, uiHeight, false, DF_SAD );
     6257            uiActDist = (iDWeight * iD + iVSOWeight * (Dist) uiActDist) / ( iDWeight + iVSOWeight);
     6258          }
     6259#endif // LGE_WVSO_A0119
     6260        }
     6261#endif // SAIT_VSO_EST_A0033 <-- wrong #endif should be removed
     6262#endif // FIX_RDO_MACRO
    62296263
    62306264        if( uiActDist < uiBestDist || uiBestDist == RDO_DIST_MAX )
Note: See TracChangeset for help on using the changeset viewer.