Changeset 48 in 3DVCSoftware for branches/0.3-poznan-univ/source/Lib/TLibDecoder


Ignore:
Timestamp:
30 Mar 2012, 18:57:41 (13 years ago)
Author:
poznan-univ
Message:

some bug fix on high level syntax
fixed some compiler warning issues under windows and linux

Location:
branches/0.3-poznan-univ/source/Lib/TLibDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r46 r48  
    255255  xReadFlag( uiCode ); pcSPS->setUseSAO       ( uiCode ? true : false );
    256256#endif
    257 #if POZNAN_DBMP
    258   xReadFlag( uiCode ); pcSPS->setDBMP  ( uiCode );
    259 #endif
    260 #if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU
    261   xReadFlag( uiCode ); pcSPS->setUseCUSkip ( uiCode );
    262 #endif
    263257  xReadFlag( uiCode ); // SPS base view flag
    264258  if( uiCode )
     
    271265    pcSPS->setMultiviewResPredMode  ( 0 );
    272266#endif
     267#if POZNAN_DBMP
     268    pcSPS->setDBMP  ( false );
     269#endif
     270#if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU
     271    pcSPS->setUseCUSkip ( false );
     272#endif
    273273  }
    274274  else
    275275  {
     276#if POZNAN_DBMP
     277    xReadFlag( uiCode ); pcSPS->setDBMP  ( uiCode );
     278#endif
     279#if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU
     280    xReadFlag( uiCode ); pcSPS->setUseCUSkip ( uiCode );
     281#endif
    276282    xReadFlag  ( uiCode ); // depth flag
    277283    if( uiCode )
    278284    {
    279       xReadUvlc( uiCode ); // view id
     285      UInt  uiViewId;
     286#if FLEXCO_CAMPARAM_IN_DEPTH
     287      UInt  uiCamParPrecision;
     288      Int   iVOI;
     289      Bool  bCamParSlice;
     290      xReadUvlc( uiViewId );
     291      xReadSvlc( iVOI );
     292      if (uiViewId == 0)
     293      {
     294        pcSPS->initMultiviewSPSDepth    ( uiViewId, iVOI );
     295      }
     296      else
     297      {
     298        xReadUvlc( uiCamParPrecision );
     299        xReadFlag( uiCode );    bCamParSlice = ( uiCode == 1 );
     300        if( !bCamParSlice )
     301        {
     302          //uiViewId++;
     303          for( UInt uiBaseId = 0; uiBaseId < uiViewId; uiBaseId++ )
     304          {
     305            xReadSvlc( iCode );   m_aaiTempScale [ uiBaseId ][ uiViewId ] = iCode;
     306            xReadSvlc( iCode );   m_aaiTempOffset[ uiBaseId ][ uiViewId ] = iCode;
     307            xReadSvlc( iCode );   m_aaiTempScale [ uiViewId ][ uiBaseId ] = iCode - m_aaiTempScale [ uiBaseId ][ uiViewId ];
     308            xReadSvlc( iCode );   m_aaiTempOffset[ uiViewId ][ uiBaseId ] = iCode - m_aaiTempOffset[ uiBaseId ][ uiViewId ];
     309          }
     310        }
     311        pcSPS->initMultiviewSPS( uiViewId, iVOI, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset, true);
     312      }
     313#else
     314      xReadUvlc( uiViewId ); // view id
    280315      xReadSvlc(  iCode ); // view order index
    281       pcSPS->initMultiviewSPSDepth    ( uiCode, iCode );
     316      pcSPS->initMultiviewSPSDepth    ( uiViewId, iCode );
     317#endif
    282318#if DEPTH_MAP_GENERATION
    283       pcSPS->setPredDepthMapGeneration( uiCode, true );
     319      pcSPS->setPredDepthMapGeneration( uiViewId, true );
    284320#endif
    285321#if HHI_INTER_VIEW_RESIDUAL_PRED
     
    27292765#endif
    27302766#if POZNAN_DBMP
    2731         if(bDBMPAvailable)
    2732         {
    2733           if(uiIdx==POZNAN_DBMP_MERGE_POS) uiModIdx = POZNAN_DBMP_MRG_CAND;
    2734           else if(uiIdx>POZNAN_DBMP_MERGE_POS) uiModIdx = uiIdx--;
    2735           else uiModIdx = uiIdx;
    2736         }
    2737         else uiModIdx = uiIdx;
    2738         if( pcCU->getNeighbourCandIdx( uiModIdx, uiAbsPartIdx ) != uiModIdx + 1 )
    2739         {
    2740           ruiMergeIndex++;
    2741         }
     2767    {
     2768      if(bDBMPAvailable)
     2769      {
     2770        if(uiIdx==POZNAN_DBMP_MERGE_POS) uiModIdx = POZNAN_DBMP_MRG_CAND;
     2771        else if(uiIdx>POZNAN_DBMP_MERGE_POS) uiModIdx = uiIdx--;
     2772        else uiModIdx = uiIdx;
     2773      }
     2774      else uiModIdx = uiIdx;
     2775
     2776      if( pcCU->getNeighbourCandIdx( uiModIdx, uiAbsPartIdx ) != uiModIdx + 1 )
     2777      {
     2778        ruiMergeIndex++;
     2779      }
     2780    }
    27422781#else
    27432782    if( pcCU->getNeighbourCandIdx( uiIdx, uiAbsPartIdx ) != uiIdx + 1 )
  • branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecTop.cpp

    r46 r48  
    169169    Int64   iTempScale      = (Int64)uiDepthValue * iScale;
    170170#endif
    171     Int64   iTestScale      = ( iTempScale + iOffset       );   // for checking accuracy of camera parameters
    172171    Int64   iShiftLuma      = ( iTempScale + iOffsetLuma   ) >> iLog2DivLuma;
    173172    Int64   iShiftChroma    = ( iTempScale + iOffsetChroma ) >> iLog2DivChroma;
     
    232231
    233232  AOF( pcSlice->getSPS()->getViewId() < MAX_NUMBER_VIEWS );
     233
    234234  if ( pcSlice->getSPS()->isDepth  () )
    235235  {
     
    238238    m_cNonlinearDepthModel = pcSlice->getSPS()->getNonlinearDepthModel();   
    239239#endif
     240#if !FLEX_CODING_ORDER //Owieczka
    240241    return;
    241   }
     242#endif
     243  }
     244#if !FLEX_CODING_ORDER //Owieczka
    242245  else
     246#endif
    243247  {
    244248#if POZNAN_NONLINEAR_DEPTH
     
    251255  Bool  bFirstSliceInView = ( pcSlice->getSPS()->getViewId()  != UInt( m_iLastViewId ) || bFirstSliceInAU );
    252256  AOT(  bFirstSliceInAU  &&   pcSlice->getSPS()->getViewId()  != 0 );
     257#if !FLEX_CODING_ORDER //Owieczka 
    253258  AOT( !bFirstSliceInAU  &&   pcSlice->getSPS()->getViewId()   < UInt( m_iLastViewId ) );
    254259  AOT( !bFirstSliceInAU  &&   pcSlice->getSPS()->getViewId()   > UInt( m_iLastViewId + 1 ) );
     260#endif
    255261  AOT( !bFirstAU         &&   pcSlice->getSPS()->getViewId()   > m_uiMaxViewId );
    256262  if ( !bFirstSliceInView )
Note: See TracChangeset for help on using the changeset viewer.