Changeset 603 in 3DVCSoftware


Ignore:
Timestamp:
31 Aug 2013, 01:49:56 (11 years ago)
Author:
tech
Message:

Preliminary integrations:

  • minor cleanups
  • fix of renderer inpainting
  • fix of warning
Location:
branches/HTM-DEV-2.0-dev0/source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r598 r603  
    772772  printRateSummary();
    773773
     774#if H_3D_FIX_REN_WARNING
     775  Double dMaxDispDiff = m_cCameraData.getMaxShiftDeviation();
     776
     777  if ( !(dMaxDispDiff < 0) )
     778  { 
     779    printf("\n Max. possible shift error: %12.3f samples.\n", dMaxDispDiff );
     780  }
     781#endif
     782
    774783  return;
    775784}
  • branches/HTM-DEV-2.0-dev0/source/App/TAppRenderer/TAppRendererTop.cpp

    r446 r603  
    476476    renderUsedPelsMap( );
    477477      break;
    478 
    479478  default:
    480479    AOT(true);
    481480  }
     481
     482#if H_3D_FIX_REN_WARNING
     483  Double dMaxDispDiff = m_cCameraData.getMaxShiftDeviation();
     484
     485  if ( !(dMaxDispDiff < 0) )
     486  { 
     487    printf("\n Max. possible shift error: %12.3f samples.\n", dMaxDispDiff );
     488  }
     489#endif
    482490}
    483491
     
    937945  while ( ( ( iNumOfRenderedFrames < m_iFramesToBeRendered ) || ( m_iFramesToBeRendered == 0 ) ) && !bAnyEOS )
    938946  {
    939 
    940 
    941947    if ( iFrame >= m_iFrameSkip )
    942948    {     
  • branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.cpp

    r542 r603  
    841841  Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_uiCamParsCodedPrecision + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
    842842  Int     iLog2DivChroma = iLog2DivLuma + 1;
     843#if !H_3D_FIX_REN_WARNING
    843844  Double  dMaxDispDev    = 0.0;
    844845  Double  dMaxRndDispDvL = 0.0;
    845846  Double  dMaxRndDispDvC = 0.0;
     847#endif
    846848  for( UInt uiSourceView = 0; uiSourceView < uiNumberSourceViews; uiSourceView++ )
    847849  {
     
    885887        // integer-valued look-up tables
    886888        Int64   iTempScale      = (Int64)uiDepthValue * iScale;
     889#if !H_3D_FIX_REN_WARNING       
    887890        Int64   iTestScale      = ( iTempScale + iOffset       );   // for checking accuracy of camera parameters
     891#endif
    888892        Int64   iShiftLuma      = ( iTempScale + iOffsetLuma   ) >> iLog2DivLuma;
    889893        Int64   iShiftChroma    = ( iTempScale + iOffsetChroma ) >> iLog2DivChroma;
     
    892896
    893897        // maximum deviation
     898#if H_3D_FIX_REN_WARNING       
     899        m_dMaxShiftDeviation = std::max( m_dMaxShiftDeviation, fabs( Double( (Int) iShiftLuma   ) - dShiftLuma   ) / Double( 1 << m_iLog2Precision ) );       
     900#else
    894901        dMaxDispDev     = std::max( dMaxDispDev,    fabs( Double( (Int) iTestScale   ) - dShiftLuma * Double( 1 << iLog2DivLuma ) ) / Double( 1 << iLog2DivLuma ) );
    895902        dMaxRndDispDvL  = std::max( dMaxRndDispDvL, fabs( Double( (Int) iShiftLuma   ) - dShiftLuma   ) );
    896903        dMaxRndDispDvC  = std::max( dMaxRndDispDvC, fabs( Double( (Int) iShiftChroma ) - dShiftChroma ) );
     904#endif
    897905      }
    898906
     
    904912  }
    905913
     914#if !H_3D_FIX_REN_WARNING
    906915  // check maximum deviation
    907916  Double  dMaxAllowedDispDev    =       Double( 1 << m_iLog2Precision ) / Double( 1 << m_uiCamParsCodedPrecision );       //  counting only the impact of camera parameter rounding
     
    925934    }
    926935  }
     936#endif
    927937}
    928938
     
    10261036  m_bCamParsCodedPrecSet      = false;
    10271037
     1038#if H_3D_FIX_REN_WARNING
     1039  m_dMaxShiftDeviation        = -1;
     1040#endif
    10281041
    10291042}
  • branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.h

    r542 r603  
    6767  Bool                m_bCamParsCodedPrecSet;                 ///< Coded Cam Para precision set for current frame;
    6868 
     69#if H_3D_FIX_REN_WARNING
     70  Double              m_dMaxShiftDeviation;                   ///< Maximum deviation of shifts with integer precision compare to double precision
     71#endif
    6972  //SAIT_VSO_EST_A0033
    7073  Double              m_dDispCoeff;
     
    180183  UInt                getCurFrameId             ()  { return m_iCurrentFrameId;   }
    181184  static Void         convertNumberString       ( Char* pchViewNumberString, std::vector<Int>& raiViewNumbers, Double dViewNumPrec );
     185#if H_3D_FIX_REN_WARNING
     186  Double              getMaxShiftDeviation      () { return m_dMaxShiftDeviation; };
     187#endif
    182188
    183189#if H_3D_VSO
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r601 r603  
    34043404#endif
    34053405        iRefListIdY = 1 - iRefListIdX;
    3406 #if H_3D_BVSP_FIX
     3406#if H_3D_FIX_BVSP
    34073407        pcMvFieldNeighbours[(iCount<<1)+iRefListIdX].setMvField( pDInfo->m_acNBDV, i );
    34083408#else
     
    34283428        predFlag[iRefListIdY] = 1;
    34293429#if MTK_VSP_FIX_E0172 || MTK_VSP_FIX_ALIGN_WD_E0172
    3430 #if H_3D_BVSP_FIX
     3430#if H_3D_FIX_BVSP
    34313431        TComMv  cMv = pDInfo->m_acNBDV;
    34323432#else
     
    34473447        pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].setMvField( cMv, i );
    34483448#else
    3449 #if H_3D_BVSP_FIX
     3449#if H_3D_FIX_BVSP
    34503450        pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].setMvField( pDInfo->m_acNBDV, i );
    34513451#else
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibCommon/TComRdCost.cpp

    r601 r603  
    605605    dist = (Dist) (iDWeight * distDepth + iVSOWeight * dist ) / ( iDWeight + iVSOWeight);
    606606  }
     607#if H_3D_FIX_UINT_WARNING
     608  return (UInt) dist;
     609#else
    607610  return dist;
     611#endif
    608612
    609613}
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibCommon/TypeDef.h

    r602 r603  
    197197
    198198/// FIXES
    199 #define H_3D_BVSP_FIX                     1  //DV from NBDV instead of DoNBDV should be used
    200 #define FIX036                            1  // fix for ticket #36
    201 
     199#define H_3D_FIX_BVSP                     1  // DV from NBDV instead of DoNBDV should be used
     200#define H_3D_FIX_TICKET_036               1  // fix for ticket #36
     201#define H_3D_FIX_REN                      1  // fix of erroneous inpainting for renderer
     202#define H_3D_FIX_REN_WARNING              1  // fix of warning related to camera parameter precision
     203#define H_3D_FIX_UINT_WARNING             1  // explicit in VSD
    202204#endif // H_3D
    203205
     
    475477
    476478#if H_3D_VSO_DIST_INT
    477 #if FIX036
     479#if H_3D_FIX_TICKET_036
    478480typedef       Int64            Dist;       ///< RDO distortion
    479481#else
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibRenderer/TRenTop.cpp

    r499 r603  
    10331033            for ( ; iInterPolPos <= xCeil (iShiftedPos ) -1 ; iInterPolPos++)
    10341034            {
     1035#if H_3D_FIX_REN
     1036              if ( ( iInterPolPos >= 0 ) && ( iInterPolPos < iOutputWidth ) )
     1037              {
     1038                if( pcFilledData[iInterPolPos] == REN_IS_HOLE )
     1039                {               
     1040                  Int iNextPos = std::min(iInputWidth-1,iPosX + iStep);
     1041                  Int iPosXBG  = ( std::abs( pcDepthData[iNextPos] - pcDepthData[iPosX] ) > 5  ) ? iPosX : iNextPos;
     1042                  for( UInt uiCurPlane = 0; uiCurPlane < uiNumberOfPlanes; uiCurPlane++)
     1043                  {
     1044                    apcOutputData[uiCurPlane][iInterPolPos]  = apcInputData[uiCurPlane][iPosXBG];
     1045                  }
     1046                }
     1047                else
     1048                {
     1049                  pcFilledData[iInterPolPos] = REN_IS_HOLE + 1;
     1050                }
     1051              }
     1052#else
    10351053              for( UInt uiCurPlane = 0; uiCurPlane < uiNumberOfPlanes; uiCurPlane++)
    10361054              {
     
    10401058                }
    10411059              }
     1060#endif
    10421061            }
    10431062          }
     
    12851304        else
    12861305        {
     1306#if H_3D_FIX_REN
     1307          pcAlphaData[iXPos] = pcFilledData[iXPos];
     1308#else
    12871309          pcAlphaData[iXPos] = REN_IS_FILLED;
     1310#endif
    12881311        }
    12891312      }
Note: See TracChangeset for help on using the changeset viewer.