Ignore:
Timestamp:
24 Feb 2012, 20:22:58 (13 years ago)
Author:
poznan-univ
Message:

Poznan Tools

  • Encoding only disoccluded CUs in depended views
  • Depth based motion prediction
  • Texture QP adjustment based on depth data
  • Nonlinear depth representation
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/0.3-poznan-univ/source/Lib/TLibRenderer/TRenSingleModel.cpp

    r5 r28  
    139139  if (m_iMode == 2)
    140140  {
    141     m_piInvZLUTLeft  = new Int[257];
    142     m_piInvZLUTRight = new Int[257];
     141    m_piInvZLUTLeft  = new Int[SizeOfLUT+1];
     142    m_piInvZLUTRight = new Int[SizeOfLUT+1];
    143143  }
    144144
     
    448448      m_iLastOccludedSPosFP = xRangeLeftL( m_iLastOccludedSPos );
    449449      xExtrapolateMarginL  ( iCurSPos, iEndChangePos, iError );
    450       iMinChangedSPos       = Min( iMinChangedSPos, (iEndChangePos << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrement( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iEndChangePos], m_piNewDepthData[iPosXinNewData] )) ]);
     450      iMinChangedSPos       = Min( iMinChangedSPos, (iEndChangePos << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrementLUT( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iEndChangePos], m_piNewDepthData[iPosXinNewData] )) ]);
    451451      iLastSPos             = iCurSPos;
    452452      m_iLastDepth          = m_iCurDepth;
     
    466466    {
    467467      // Get minimal changed sample position
    468       iMinChangedSPos = Min( iMinChangedSPos, (iCurPosX << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrement( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iCurPosX], m_piNewDepthData[iPosXinNewData] )) ]);
     468      iMinChangedSPos = Min( iMinChangedSPos, (iCurPosX << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrementLUT( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iCurPosX], m_piNewDepthData[iPosXinNewData] )) ]);
    469469      Int iCurSPos    = xShiftNewData(iCurPosX,iPosXinNewData);
    470470      m_iCurDepth     = m_piNewDepthData[iPosXinNewData];
     
    541541      m_iLastOccludedSPosFP = xRangeRightR( m_iLastOccludedSPos );
    542542      xExtrapolateMarginR     ( iCurSPos, iStartChangePos, iError );
    543       iMaxChangedSPos       = Max( iMaxChangedSPos, (iStartChangePos << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrement( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iStartChangePos], m_piNewDepthData[iPosXinNewData] )) ]);
     543      iMaxChangedSPos       = Max( iMaxChangedSPos, (iStartChangePos << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrementLUT( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iStartChangePos], m_piNewDepthData[iPosXinNewData] )) ]);
    544544      iLastSPos             = iCurSPos;
    545545      m_iLastDepth          = m_iCurDepth;
     
    559559    {
    560560      // Get minimal changed sample position
    561       iMaxChangedSPos = Max( iMaxChangedSPos, (iCurPosX << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrement( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iCurPosX], m_piNewDepthData[iPosXinNewData] )) ]);
     561      iMaxChangedSPos = Max( iMaxChangedSPos, (iCurPosX << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrementLUT( Max(m_apiBaseDepthPelRow[m_iCurViewPos][iCurPosX], m_piNewDepthData[iPosXinNewData] )) ]);
    562562      Int iCurSPos    = xShiftNewData(iCurPosX,iPosXinNewData);
    563563      m_iCurDepth     = m_piNewDepthData[iPosXinNewData];
     
    948948  AOF( iPosInNewData < m_iNewDataWidth );
    949949
    950   return (iPosX << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrement( m_piNewDepthData[iPosInNewData] )];
     950  return (iPosX << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrementLUT( m_piNewDepthData[iPosInNewData] )];
    951951}
    952952
     
    956956 AOT( iPosX <        0);
    957957 AOF( iPosX < m_iWidth);
    958  return (iPosX  << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrement( m_apiBaseDepthPelRow[m_iCurViewPos][iPosX] )];
     958 return (iPosX  << m_iShiftPrec) - m_ppiCurLUT[0][ RemoveBitIncrementLUT( m_apiBaseDepthPelRow[m_iCurViewPos][iPosX] )];
    959959}
    960960
     
    11491149      m_aapiSynthVideoPelRow                                   [1][2][iTargetSPos]  ,
    11501150#endif
    1151       m_piInvZLUTLeft [RemoveBitIncrement(m_iThisDepth)                            ],
    1152       m_piInvZLUTRight[RemoveBitIncrement(m_apiSynthDepthPelRow[1]   [iTargetSPos])],
     1151      m_piInvZLUTLeft [RemoveBitIncrementLUT(m_iThisDepth)                            ],
     1152      m_piInvZLUTRight[RemoveBitIncrementLUT(m_apiSynthDepthPelRow[1]   [iTargetSPos])],
    11531153      iFilled,
    11541154      m_apiFilledRow                                           [1]   [iTargetSPos]  ,
     
    11711171      m_aapiBaseVideoPelRow                                    [1][2][iSourcePos ],
    11721172#endif
    1173       m_piInvZLUTLeft [RemoveBitIncrement(m_apiSynthDepthPelRow[0]   [iTargetSPos])],
    1174       m_piInvZLUTRight[RemoveBitIncrement(m_iThisDepth)                            ],
     1173      m_piInvZLUTLeft [RemoveBitIncrementLUT(m_apiSynthDepthPelRow[0]   [iTargetSPos])],
     1174      m_piInvZLUTRight[RemoveBitIncrementLUT(m_iThisDepth)                            ],
    11751175      m_apiFilledRow                                           [0]   [iTargetSPos],
    11761176      iFilled                                                                     ,
Note: See TracChangeset for help on using the changeset viewer.