Changeset 296 in 3DVCSoftware for trunk/source/App/TAppEncoder/TAppEncTop.cpp


Ignore:
Timestamp:
20 Feb 2013, 22:07:43 (11 years ago)
Author:
tech
Message:

Reintegrated branch 5.1-dev0 rev. 295.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r210 r296  
    9797    m_acTEncTopList[iViewIdx]->setSourceWidth                  ( m_iSourceWidth );
    9898    m_acTEncTopList[iViewIdx]->setSourceHeight                 ( m_iSourceHeight );
    99 #if PIC_CROPPING
    10099    m_acTEncTopList[iViewIdx]->setCroppingMode                 ( m_croppingMode );
    101100    m_acTEncTopList[iViewIdx]->setCropLeft                     ( m_cropLeft );
     
    103102    m_acTEncTopList[iViewIdx]->setCropTop                      ( m_cropTop );
    104103    m_acTEncTopList[iViewIdx]->setCropBottom                   ( m_cropBottom );
    105 #endif
    106104    m_acTEncTopList[iViewIdx]->setFrameToBeEncoded             ( m_iFrameToBeEncoded );
    107105    m_acTEncTopList[iViewIdx]->setViewId                       ( iViewIdx );
     
    121119    m_cVPS.setDependentFlag                                    ( iViewIdx ? true:false, layerId );
    122120    m_cVPS.setDependentLayer                                   ( layerId - (m_bUsingDepthMaps ? 2:1), layerId );
     121#if INTER_VIEW_VECTOR_SCALING_C0115
     122    m_cVPS.setIVScalingFlag                                    ( m_bUseIVS );
     123#endif
    123124#endif
    124125   
     
    135136    m_acTEncTopList[iViewIdx]->setGopList                      ( m_GOPListsMvc[iViewIdx] );
    136137    m_acTEncTopList[iViewIdx]->setExtraRPSs                    ( m_extraRPSs[iViewIdx] );
    137 #if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
    138138    for(Int i = 0; i < MAX_TLAYER; i++)
    139139    {
     
    141141      m_acTEncTopList[iViewIdx]->setMaxDecPicBuffering         ( m_maxDecPicBuffering[iViewIdx][i], i );
    142142    }
    143 #else
    144     m_acTEncTopList[iViewIdx]->setNumReorderFrames             ( m_numReorderFrames );
    145     m_acTEncTopList[iViewIdx]->setMaxNumberOfReferencePictures ( m_maxNumberOfReferencePictures );
    146 #endif
    147143    for( UInt uiLoop = 0; uiLoop < MAX_TLAYER; ++uiLoop )
    148144    {
     
    154150    m_acTEncTopList[iViewIdx]->setPad                          ( m_aiPad );
    155151   
    156 #if H0566_TLA
    157152    m_acTEncTopList[iViewIdx]->setMaxTempLayer                 ( m_maxTempLayer[iViewIdx] );
    158 #else
    159     m_acTEncTopList[iViewIdx]->setTLayering                    ( m_bTLayering );
    160     m_acTEncTopList[iViewIdx]->setTLayerSwitchingFlag          ( m_abTLayerSwitchingFlag );
    161 #endif
    162153
    163154    m_acTEncTopList[iViewIdx]->setDisInter4x4                  ( m_bDisInter4x4);
     
    173164    m_acTEncTopList[iViewIdx]->setLoopFilterBetaOffset         ( m_loopFilterBetaOffsetDiv2  );
    174165    m_acTEncTopList[iViewIdx]->setLoopFilterTcOffset           ( m_loopFilterTcOffsetDiv2    );
    175 #if DBL_CONTROL
    176166    m_acTEncTopList[iViewIdx]->setDeblockingFilterControlPresent( m_DeblockingFilterControlPresent);
    177 #endif
    178167
    179168  //====== Motion search ========
     
    198187#if LOSSLESS_CODING
    199188    Int lowestQP;
    200 #if H0736_AVC_STYLE_QP_RANGE
    201189    lowestQP =  - ( (Int)(6*(g_uiBitDepth + g_uiBitIncrement - 8)) );
    202 #else
    203     lowestQP = 0;
    204 #endif
    205190    if ((m_iMaxDeltaQP == 0 ) && (m_aiQP[0] == lowestQP) && (m_useLossless == true))
    206191    {
     
    232217    m_acTEncTopList[iViewIdx]->setPdmOffset                    (       m_cCameraData.getPdmOffset        () );
    233218#endif
    234 #if HHI_INTER_VIEW_MOTION_PRED
     219#if H3D_IVMP
    235220    m_acTEncTopList[iViewIdx]->setMultiviewMvPredMode          ( m_uiMultiviewMvPredMode );
    236221    m_acTEncTopList[iViewIdx]->setMultiviewMvRegMode           ( iViewIdx ? m_uiMultiviewMvRegMode       : 0   );
    237222    m_acTEncTopList[iViewIdx]->setMultiviewMvRegLambdaScale    ( iViewIdx ? m_dMultiviewMvRegLambdaScale : 0.0 );
    238223#endif
    239 #if HHI_INTER_VIEW_RESIDUAL_PRED
     224#if H3D_IVRP
    240225    m_acTEncTopList[iViewIdx]->setMultiviewResPredMode         ( m_uiMultiviewResPredMode );
    241226#endif
     
    257242    m_acTEncTopList[iViewIdx]->setdQPs                         ( m_aidQP        );
    258243    m_acTEncTopList[iViewIdx]->setUseRDOQ                      ( m_abUseRDOQ[0] );
    259 #if !PIC_CROPPING
    260     m_acTEncTopList[iViewIdx]->setUsePAD                       ( m_bUsePAD      );
    261 #endif
    262244    m_acTEncTopList[iViewIdx]->setQuadtreeTULog2MaxSize        ( m_uiQuadtreeTULog2MaxSize );
    263245    m_acTEncTopList[iViewIdx]->setQuadtreeTULog2MinSize        ( m_uiQuadtreeTULog2MinSize );
     
    266248    m_acTEncTopList[iViewIdx]->setUseFastEnc                   ( m_bUseFastEnc  );
    267249    m_acTEncTopList[iViewIdx]->setUseEarlyCU                   ( m_bUseEarlyCU  );
    268 #if FAST_DECISION_FOR_MRG_RD_COST
    269250    m_acTEncTopList[iViewIdx]->setUseFastDecisionForMerge      ( m_useFastDecisionForMerge  );
    270 #endif
    271251    m_acTEncTopList[iViewIdx]->setUseCbfFastMode               ( m_bUseCbfFastMode  );
    272252#if HHI_INTERVIEW_SKIP
     
    301281      m_acTEncTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument * ( iNumPartInCU >> ( m_iSliceGranularity << 1 ) ) );
    302282    }
    303 #if FIXED_NUMBER_OF_TILES_SLICE_MODE
    304283    if(m_iSliceMode==AD_HOC_SLICES_FIXED_NUMBER_OF_TILES_IN_SLICE)
    305284    {
    306285      m_acTEncTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument );
    307286    }
    308 #endif
    309287    m_acTEncTopList[iViewIdx]->setSliceGranularity        ( m_iSliceGranularity         );
    310288    if(m_iSliceMode == 0 )
     
    315293    m_acTEncTopList[iViewIdx]->setUseSAO               ( m_abUseSAO[0]     );
    316294#if LGE_ILLUCOMP_B0045
     295#if LGE_ILLUCOMP_DEPTH_C0046
     296    m_acTEncTopList[iViewIdx]->setUseIC                ( m_abUseIC[0]      );
     297#else
    317298    m_acTEncTopList[iViewIdx]->setUseIC                ( m_bUseIC          );
    318299#endif
    319 #if SAO_UNIT_INTERLEAVING
     300#endif
     301#if INTER_VIEW_VECTOR_SCALING_C0115
     302    m_acTEncTopList[iViewIdx]->setUseIVS               ( m_bUseIVS          );
     303#endif
    320304    m_acTEncTopList[iViewIdx]->setMaxNumOffsetsPerPic (m_maxNumOffsetsPerPic);
    321305    m_acTEncTopList[iViewIdx]->setSaoInterleavingFlag (m_saoInterleavingFlag);
    322 #endif
    323306    m_acTEncTopList[iViewIdx]->setPCMInputBitDepthFlag  ( m_bPCMInputBitDepthFlag);
    324307    m_acTEncTopList[iViewIdx]->setPCMFilterDisableFlag  ( m_bPCMFilterDisableFlag);
     
    328311    m_acTEncTopList[iViewIdx]->setColumnRowInfoPresent       ( m_iColumnRowInfoPresent );
    329312    m_acTEncTopList[iViewIdx]->setUniformSpacingIdr          ( m_iUniformSpacingIdr );
    330 #if !REMOVE_TILE_DEPENDENCE
    331     m_acTEncTopList[iViewIdx]->setTileBoundaryIndependenceIdr( m_iTileBoundaryIndependenceIdr );
    332 #endif
    333313    m_acTEncTopList[iViewIdx]->setNumColumnsMinus1           ( m_iNumColumnsMinus1 );
    334314    m_acTEncTopList[iViewIdx]->setNumRowsMinus1              ( m_iNumRowsMinus1 );
     
    347327    m_acTEncTopList[iViewIdx]->setMaxTileMarkerOffset         ( m_dMaxTileMarkerOffset );
    348328    m_acTEncTopList[iViewIdx]->setTileBehaviorControlPresentFlag( m_iTileBehaviorControlPresentFlag );
    349 #if !REMOVE_TILE_DEPENDENCE
    350     if(m_iTileBoundaryIndependenceIdr == 0 || uiTilesCount == 1)
    351 #else
    352329    if(uiTilesCount == 1)
    353 #endif
    354330    {
    355331      m_bLFCrossTileBoundaryFlag = true;
     
    366342    m_acTEncTopList[iViewIdx]->setUseScalingListId           ( m_useScalingListId  );
    367343    m_acTEncTopList[iViewIdx]->setScalingListFile            ( m_scalingListFile   );
    368 #if MULTIBITS_DATA_HIDING
    369344    m_acTEncTopList[iViewIdx]->setSignHideFlag(m_signHideFlag);
    370345    m_acTEncTopList[iViewIdx]->setTSIG(m_signHidingThreshold);
    371 #endif
    372 
    373 #if LCU_SYNTAX_ALF
     346
    374347    if(uiTilesCount > 1)
    375348    {
     
    379352    m_acTEncTopList[iViewIdx]->setALFParamInSlice              ( m_bALFParamInSlice);
    380353    m_acTEncTopList[iViewIdx]->setALFPicBasedEncode            ( m_bALFPicBasedEncode);
    381 #endif
    382354
    383355    //====== Depth tools ========
     
    435407      m_acTEncDepthTopList[iViewIdx]->setSourceWidth                  ( m_iSourceWidth );
    436408      m_acTEncDepthTopList[iViewIdx]->setSourceHeight                 ( m_iSourceHeight );
    437 #if PIC_CROPPING
    438409      m_acTEncDepthTopList[iViewIdx]->setCroppingMode                 ( m_croppingMode );
    439410      m_acTEncDepthTopList[iViewIdx]->setCropLeft                     ( m_cropLeft );
     
    441412      m_acTEncDepthTopList[iViewIdx]->setCropTop                      ( m_cropTop );
    442413      m_acTEncDepthTopList[iViewIdx]->setCropBottom                   ( m_cropBottom );
    443 #endif
    444414      m_acTEncDepthTopList[iViewIdx]->setFrameToBeEncoded             ( m_iFrameToBeEncoded );
    445415      m_acTEncDepthTopList[iViewIdx]->setViewId                       ( iViewIdx );
     
    470440      m_acTEncDepthTopList[iViewIdx]->setGopList                      ( m_GOPListsMvc[iViewIdx] );
    471441      m_acTEncDepthTopList[iViewIdx]->setExtraRPSs                    ( m_extraRPSs[iViewIdx] );
    472 #if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
    473442      for(Int i = 0; i < MAX_TLAYER; i++)
    474443      {
     
    476445        m_acTEncDepthTopList[iViewIdx]->setMaxDecPicBuffering         ( m_maxDecPicBuffering[iViewIdx][i], i );
    477446      }
    478 #else
    479       m_acTEncDepthTopList[iViewIdx]->setNumReorderFrames             ( m_numReorderFrames );
    480       m_acTEncDepthTopList[iViewIdx]->setMaxNumberOfReferencePictures ( m_maxNumberOfReferencePictures );
    481 #endif
    482447      for( UInt uiLoop = 0; uiLoop < MAX_TLAYER; ++uiLoop )
    483448      {
     
    489454      m_acTEncDepthTopList[iViewIdx]->setPad                          ( m_aiPad );
    490455
    491 #if H0566_TLA
    492456      m_acTEncDepthTopList[iViewIdx]->setMaxTempLayer                 ( m_maxTempLayer[iViewIdx] );
    493 #else
    494       m_acTEncDepthTopList[iViewIdx]->setTLayering                    ( m_bTLayering );
    495       m_acTEncDepthTopList[iViewIdx]->setTLayerSwitchingFlag          ( m_abTLayerSwitchingFlag );
    496 #endif
    497457
    498458      m_acTEncDepthTopList[iViewIdx]->setDisInter4x4                  ( m_bDisInter4x4);
     
    508468      m_acTEncDepthTopList[iViewIdx]->setLoopFilterBetaOffset         ( m_loopFilterBetaOffsetDiv2  );
    509469      m_acTEncDepthTopList[iViewIdx]->setLoopFilterTcOffset           ( m_loopFilterTcOffsetDiv2    );
    510 #if DBL_CONTROL
    511470      m_acTEncDepthTopList[iViewIdx]->setDeblockingFilterControlPresent( m_DeblockingFilterControlPresent);
    512 #endif
    513471
    514472      //====== Motion search ========
     
    550508      m_acTEncDepthTopList[iViewIdx]->setdQPs                         ( m_aidQPdepth   );
    551509      m_acTEncDepthTopList[iViewIdx]->setUseRDOQ                      ( m_abUseRDOQ[1] );
    552 #if !PIC_CROPPING
    553       m_acTEncDepthTopList[iViewIdx]->setUsePAD                       ( m_bUsePAD      );
    554 #endif
    555510      m_acTEncDepthTopList[iViewIdx]->setQuadtreeTULog2MaxSize        ( m_uiQuadtreeTULog2MaxSize );
    556511      m_acTEncDepthTopList[iViewIdx]->setQuadtreeTULog2MinSize        ( m_uiQuadtreeTULog2MinSize );
     
    559514      m_acTEncDepthTopList[iViewIdx]->setUseFastEnc                   ( m_bUseFastEnc  );
    560515      m_acTEncDepthTopList[iViewIdx]->setUseEarlyCU                   ( m_bUseEarlyCU  );
    561 #if FAST_DECISION_FOR_MRG_RD_COST
    562516      m_acTEncDepthTopList[iViewIdx]->setUseFastDecisionForMerge      ( m_useFastDecisionForMerge  );
    563 #endif
    564517      m_acTEncDepthTopList[iViewIdx]->setUseCbfFastMode               ( m_bUseCbfFastMode  );
    565518#if HHI_INTERVIEW_SKIP
     
    595548      m_acTEncDepthTopList[iViewIdx]->setPredDepthMapGeneration       ( 0 );
    596549#endif
    597 #if HHI_INTER_VIEW_MOTION_PRED
     550#if H3D_IVMP
    598551      m_acTEncDepthTopList[iViewIdx]->setMultiviewMvPredMode          ( 0 );
    599552      m_acTEncDepthTopList[iViewIdx]->setMultiviewMvRegMode           ( 0 );
    600553      m_acTEncDepthTopList[iViewIdx]->setMultiviewMvRegLambdaScale    ( 0.0 );
    601554#endif
    602 #if HHI_INTER_VIEW_RESIDUAL_PRED
     555#if H3D_IVRP
    603556      m_acTEncDepthTopList[iViewIdx]->setMultiviewResPredMode         ( 0 );
    604557#endif
     
    623576        m_acTEncDepthTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument * ( iNumPartInCU >> ( m_iSliceGranularity << 1 ) ) );
    624577      }
    625 #if FIXED_NUMBER_OF_TILES_SLICE_MODE
    626578      if(m_iSliceMode==AD_HOC_SLICES_FIXED_NUMBER_OF_TILES_IN_SLICE)
    627579      {
    628580        m_acTEncDepthTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument );
    629581      }
    630 #endif
    631582      m_acTEncDepthTopList[iViewIdx]->setSliceGranularity        ( m_iSliceGranularity         );
    632583      if(m_iSliceMode == 0 )
     
    639590      m_acTEncDepthTopList[iViewIdx]->setUseIC                ( false     );
    640591#endif
    641 #if SAO_UNIT_INTERLEAVING
     592#if INTER_VIEW_VECTOR_SCALING_C0115
     593     m_acTEncDepthTopList[iViewIdx]->setUseIVS                ( m_bUseIVS );
     594#endif
    642595      m_acTEncDepthTopList[iViewIdx]->setMaxNumOffsetsPerPic (m_maxNumOffsetsPerPic);
    643596      m_acTEncDepthTopList[iViewIdx]->setSaoInterleavingFlag (m_saoInterleavingFlag);
    644 #endif
    645597      m_acTEncDepthTopList[iViewIdx]->setPCMInputBitDepthFlag  ( m_bPCMInputBitDepthFlag);
    646598      m_acTEncDepthTopList[iViewIdx]->setPCMFilterDisableFlag  ( m_bPCMFilterDisableFlag);
     
    650602      m_acTEncDepthTopList[iViewIdx]->setColumnRowInfoPresent       ( m_iColumnRowInfoPresent );
    651603      m_acTEncDepthTopList[iViewIdx]->setUniformSpacingIdr          ( m_iUniformSpacingIdr );
    652 #if !REMOVE_TILE_DEPENDENCE
    653       m_acTEncDepthTopList[iViewIdx]->setTileBoundaryIndependenceIdr( m_iTileBoundaryIndependenceIdr );
    654 #endif
    655604      m_acTEncDepthTopList[iViewIdx]->setNumColumnsMinus1           ( m_iNumColumnsMinus1 );
    656605      m_acTEncDepthTopList[iViewIdx]->setNumRowsMinus1              ( m_iNumRowsMinus1 );
     
    669618      m_acTEncDepthTopList[iViewIdx]->setMaxTileMarkerOffset         ( m_dMaxTileMarkerOffset );
    670619      m_acTEncDepthTopList[iViewIdx]->setTileBehaviorControlPresentFlag( m_iTileBehaviorControlPresentFlag );
    671 #if !REMOVE_TILE_DEPENDENCE
    672       if(m_iTileBoundaryIndependenceIdr == 0 || uiTilesCount == 1)
    673 #else
    674620      if(uiTilesCount == 1)
    675 #endif
    676621      {
    677622        m_bLFCrossTileBoundaryFlag = true;
     
    688633      m_acTEncDepthTopList[iViewIdx]->setUseScalingListId           ( m_useScalingListId  );
    689634      m_acTEncDepthTopList[iViewIdx]->setScalingListFile            ( m_scalingListFile   );
    690 #if MULTIBITS_DATA_HIDING
    691635      m_acTEncDepthTopList[iViewIdx]->setSignHideFlag(m_signHideFlag);
    692636      m_acTEncDepthTopList[iViewIdx]->setTSIG(m_signHidingThreshold);
    693 #endif
    694 
    695 #if LCU_SYNTAX_ALF
     637
    696638      if(uiTilesCount > 1)
    697639      {
     
    701643      m_acTEncDepthTopList[iViewIdx]->setALFParamInSlice              ( m_bALFParamInSlice);
    702644      m_acTEncDepthTopList[iViewIdx]->setALFPicBasedEncode            ( m_bALFPicBasedEncode);
    703 #endif
    704645
    705646  //====== Depth tools ========
     
    728669  }
    729670
    730 #if HHI_INTER_VIEW_MOTION_PRED
     671#if H3D_IVMP
    731672  else if( m_uiMultiviewMvRegMode )
    732673  {
     
    815756      m_acTEncDepthTopList[iViewIdx]->create();
    816757    }
    817 #if HHI_INTER_VIEW_MOTION_PRED
     758#if H3D_IVMP
    818759    else if( m_uiMultiviewMvRegMode )
    819760    {
     
    931872  TComPicYuv*       pcPicYuvRec = NULL;
    932873  TComPicYuv*       pcDepthPicYuvRec = NULL;
    933  
     874
    934875  // initialize internal class & member variables
    935876  xInitLibCfg();
     
    962903  pcDepthPicYuvOrg->create( m_iSourceWidth, m_iSourceHeight, m_uiMaxCUWidth, m_uiMaxCUHeight, m_uiMaxCUDepth );
    963904
    964 #if HHI_INTER_VIEW_MOTION_PRED
     905#if H3D_IVMP
    965906  if( m_uiMultiviewMvRegMode )
    966907  {
     
    982923        m_acTVideoIOYuvInputFileList[iViewIdx]->read( pcPicYuvOrg, m_aiPad );
    983924     
    984 #if HHI_INTER_VIEW_MOTION_PRED
     925#if H3D_IVMP
    985926        if( m_uiMultiviewMvRegMode && iViewIdx )
    986927        {
     
    989930#endif
    990931
    991 #if HHI_INTER_VIEW_MOTION_PRED
     932#if H3D_IVMP
    992933        m_acTEncTopList[iViewIdx]->initNewPic( pcPicYuvOrg, ( m_uiMultiviewMvRegMode && iViewIdx ? pcPdmDepthOrg : 0 ) );
    993934#else
     
    1033974      if ( iNextPoc < m_iFrameToBeEncoded )
    1034975      {
    1035       m_cCameraData.update( iNextPoc );
     976        m_cCameraData.update( iNextPoc );
    1036977      }
    1037978#endif
     
    10961037#endif
    10971038        iNumEncoded = 0;
     1039
     1040#if MERL_VSP_C0152
     1041        Int iCurPoc = m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId);
     1042        if( iCurPoc < m_acTEncDepthTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 )
     1043        {
     1044          TComPic* pcBaseTxtPic   = getPicFromView(  0, m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId), false ); //get base view reconstructed texture
     1045          TComPic* pcBaseDepthPic = getPicFromView(  0, m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId), true );  //get base view reconstructed depth
     1046          TEncSlice* pEncSlice = m_acTEncTopList[iViewIdx]->getSliceEncoder();
     1047          pEncSlice->setRefPicBaseTxt(pcBaseTxtPic);
     1048          pEncSlice->setRefPicBaseDepth(pcBaseDepthPic);
     1049        }
     1050        setBWVSPLUT( iViewIdx, gopId, false);
     1051#endif
    10981052        // call encoding function for one frame
    10991053        m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId );
     
    11031057        {
    11041058          Int  iNumDepthEncoded = 0;
     1059#if MERL_VSP_C0152
     1060        Int iCurPocDepth = m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId);
     1061        if( iCurPocDepth < m_acTEncDepthTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 )
     1062        {
     1063          TComPic* pcBaseDepthPic = getPicFromView(  0, m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId), true );
     1064          TEncSlice* pcSlice = (TEncSlice*) m_acTEncDepthTopList[iViewIdx]->getSliceEncoder();
     1065          pcSlice->setRefPicBaseDepth(pcBaseDepthPic);
     1066        }
     1067        setBWVSPLUT( iViewIdx, gopId, true);
     1068#endif
     1069
    11051070          // call encoding function for one depth frame
    11061071          m_acTEncDepthTopList[iViewIdx]->encode( depthEos[iViewIdx], pcDepthPicYuvOrg, *m_picYuvDepthRec[iViewIdx], outputAccessUnits, iNumDepthEncoded, gopId );
     
    11141079#endif
    11151080
    1116 #if HHI_INTERVIEW_SKIP || HHI_INTER_VIEW_MOTION_PRED || HHI_INTER_VIEW_RESIDUAL_PRED
     1081#if HHI_INTERVIEW_SKIP || H3D_IVMP || H3D_IVRP
    11171082      for( Int iViewIdx = 0; iViewIdx < m_iNumberOfViews; iViewIdx++ )
    11181083      {
     
    11471112 
    11481113#if !QC_MVHEVC_B0046
    1149 #if FIX_DEL_NULLPTR
    11501114  if ( pcPdmDepthOrg != NULL && m_uiMultiviewMvRegMode )
    1151 #else
    1152   if ( pcPdmDepthOrg != NULL )
    1153 #endif
    11541115  {
    11551116    pcPdmDepthOrg->destroy();
     
    12921253        if (m_pchReconFileList[iViewIdx])
    12931254        {
    1294 #if PIC_CROPPING
    12951255          m_acTVideoIOYuvReconFileList[iViewIdx]->write( pcPicYuvRec, m_cropLeft, m_cropRight, m_cropTop, m_cropBottom );
    1296 #else
    1297           m_acTVideoIOYuvReconFileList[iViewIdx]->write( pcPicYuvRec, m_aiPad );
    1298 #endif
    12991256        }
    13001257      }
     
    13031260        if (m_pchDepthReconFileList[iViewIdx])
    13041261        {
    1305 #if PIC_CROPPING
    13061262          m_acTVideoIOYuvDepthReconFileList[iViewIdx]->write( pcPicYuvRec, m_cropLeft, m_cropRight, m_cropTop, m_cropBottom );
    1307 #else
    1308           m_acTVideoIOYuvDepthReconFileList[iViewIdx]->write( pcPicYuvRec, m_aiPad );
    1309 #endif
    13101263        }
    13111264      }
     
    13601313    {
    13611314    case NAL_UNIT_CODED_SLICE:
    1362 #if H0566_TLA
    13631315#if !QC_REM_IDV_B0046
    13641316    case NAL_UNIT_CODED_SLICE_IDV:
     
    13661318    case NAL_UNIT_CODED_SLICE_TLA:
    13671319    case NAL_UNIT_CODED_SLICE_CRA:
    1368 #else
    1369     case NAL_UNIT_CODED_SLICE_DATAPART_A:
    1370     case NAL_UNIT_CODED_SLICE_DATAPART_B:
    1371     case NAL_UNIT_CODED_SLICE_CDR:
    1372 #endif
    13731320    case NAL_UNIT_CODED_SLICE_IDR:
    13741321    case NAL_UNIT_SPS:
     
    16341581#endif
    16351582
     1583#if MERL_VSP_C0152
     1584Void TAppEncTop::setBWVSPLUT(Int iCodedViewIdx, Int gopId, Bool isDepth)
     1585{
     1586  //first view does not have VSP
     1587  if((iCodedViewIdx == 0)) return;
     1588
     1589  AOT( iCodedViewIdx <= 0);
     1590  AOT( iCodedViewIdx >= m_iNumberOfViews );
     1591
     1592  Int iNeighborViewId = 0;
     1593  //setting look-up table
     1594  Int* piShiftLUT = m_cCameraData.getBaseViewShiftLUTI()[iNeighborViewId][iCodedViewIdx][0];
     1595
     1596  if(isDepth)
     1597  {
     1598    TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncDepthTopList[iCodedViewIdx]->getSliceEncoder();
     1599    pcEncSlice->setBWVSPLUTParam(  piShiftLUT, LOG2_DISP_PREC_LUT );
     1600  }
     1601  else
     1602  {
     1603    TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncTopList[iCodedViewIdx]->getSliceEncoder();
     1604    pcEncSlice->setBWVSPLUTParam(  piShiftLUT, LOG2_DISP_PREC_LUT );
     1605  }
     1606
     1607}
     1608#endif
     1609
    16361610//! \}
Note: See TracChangeset for help on using the changeset viewer.