Changeset 81 in 3DVCSoftware for trunk/source/Lib/TLibCommon


Ignore:
Timestamp:
21 Jun 2012, 21:01:20 (12 years ago)
Author:
tech
Message:

Bug fixes:

  • Residual Prediction
  • VPS
  • VSO
  • Renderer
Location:
trunk/source/Lib/TLibCommon
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComDataCU.cpp

    r77 r81  
    29212921                break;
    29222922        default:
     2923#if HHI_FIX
     2924    assert ( m_pePartSize[uiTmpAbsPartIdx ] == SIZE_2Nx2N );
     2925#else
    29232926                assert ( m_pePartSize[0] == SIZE_2Nx2N );
     2927#endif
    29242928                riWidth = getWidth(uiTmpAbsPartIdx);      riHeight = getHeight(uiTmpAbsPartIdx);      ruiPartAddr = 0;
    29252929                break;
  • trunk/source/Lib/TLibCommon/TComRdCost.cpp

    r56 r81  
    273273   
    274274    m_puiComponentCostOriginP = new UInt[ 4 * iSubPelSearchLimit ];
     275#if HHI_FIX
     276    m_puiMultiviewRegCostHorOrgP  = new UInt[ 4 * iSubPelSearchLimit ];
     277    m_puiMultiviewRegCostVerOrgP  = new UInt[ 4 * iSubPelSearchLimit ];
     278#endif
    275279    iSubPelSearchLimit *= 2;
    276280   
    277281    m_puiComponentCost = m_puiComponentCostOriginP + iSubPelSearchLimit;
     282#if HHI_FIX
     283    m_puiMultiviewRegCostHor = m_puiMultiviewRegCostHorOrgP + iSubPelSearchLimit;
     284    m_puiMultiviewRegCostVer = m_puiMultiviewRegCostVerOrgP + iSubPelSearchLimit;
     285#endif
    278286   
    279287    for( Int n = -iSubPelSearchLimit; n < iSubPelSearchLimit; n++)
    280288    {
    281289      m_puiComponentCost[n] = xGetComponentBits( n );
     290#if HHI_FIX
     291      m_puiMultiviewRegCostHor[n] = xGetComponentBits( n );  // first version
     292      m_puiMultiviewRegCostVer[n] = xGetComponentBits( n );  // first version
     293#endif
    282294    }
    283295  }
     
    291303    m_puiComponentCostOriginP = NULL;
    292304  }
     305#if HHI_FIX
     306  if( m_puiMultiviewRegCostHorOrgP )
     307    {
     308      delete [] m_puiMultiviewRegCostHorOrgP;
     309      m_puiMultiviewRegCostHorOrgP = NULL;
     310    }
     311  if( m_puiMultiviewRegCostVerOrgP )
     312  {
     313    delete [] m_puiMultiviewRegCostVerOrgP;
     314    m_puiMultiviewRegCostVerOrgP = NULL;
     315  }
     316#endif
    293317}
    294318#endif
  • trunk/source/Lib/TLibCommon/TComRdCost.h

    r56 r81  
    219219#endif
    220220  UInt    xGetComponentBits( Int iVal );
    221   Void    getMotionCost( Bool bSad, Int iAdd ) { m_uiCost = (bSad ? m_uiLambdaMotionSAD + iAdd : m_uiLambdaMotionSSE + iAdd); }
     221  Void    getMotionCost( Bool bSad, Int iAdd )
     222{
     223     m_uiCost = (bSad ? m_uiLambdaMotionSAD + iAdd : m_uiLambdaMotionSSE + iAdd);
     224#if HHI_FIX
     225    m_uiLambdaMVReg = ( bSad ? m_uiLambdaMVRegSAD         : m_uiLambdaMVRegSSE         );
     226#endif
     227   }
    222228  Void    setPredictor( TComMv& rcMv )
    223229  {
     
    270276  __inline UInt     getMultiviewRegCost  ( Int x, Int y )
    271277  {
     278#if FIX203
     279    return m_uiLambdaMVReg * getBits(x, y) >> 16;
     280#else
    272281    return ( ( m_uiLambdaMVReg * ( m_puiHorRegCost[ x * ( 1 << m_iCostScale ) ] + m_puiVerRegCost[ y * ( 1 << m_iCostScale ) ] ) ) >> 16 );
     282#endif
    273283  }
    274284 
Note: See TracChangeset for help on using the changeset viewer.