Changeset 313 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncSlice.cpp


Ignore:
Timestamp:
20 Mar 2013, 21:35:14 (11 years ago)
Author:
tech
Message:

Reintegrated branch 6.0-dev0 rev. 312.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncSlice.cpp

    r296 r313  
    6060  m_pcBufferLowLatSbacCoders    = NULL;
    6161  m_pcBufferLowLatBinCoderCABACs  = NULL;
     62#if FCO_DVP_REFINE_C0132_C0170
     63  m_pPicBaseTxt = NULL;
     64  m_pPicBaseDepth = NULL;
     65#endif
    6266}
    6367
     
    673677    xCalcACDCParamSlice(pcSlice);
    674678  }
    675 
    676   Bool bWp_explicit = (pcSlice->getSliceType()==P_SLICE && pcSlice->getPPS()->getUseWP()) || (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==1);
    677   Bool bWp_implicit = (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==2);
    678 
    679   if ( bWp_explicit || bWp_implicit )
     679#if FIX_LGE_WP_FOR_3D_C0223
     680  Bool bWp_explicit = (pcSlice->getSliceType()==P_SLICE && pcSlice->getPPS()->getUseWP()) || (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc());
     681
     682  if ( bWp_explicit )
    680683  {
    681684    //------------------------------------------------------------------------------
     
    686689      printf("Weighted Prediction is not supported with slice mode determined by max number of bins.\n"); exit(0);
    687690    }
     691    xEstimateWPParamSlice( pcSlice );
     692    pcSlice->initWpScaling();
     693#if !FIX_LGE_WP_FOR_3D_C0223 // Interim fix for encoder/decoder mismatch of non-fade sequence
     694    // check WP on/off
     695    xCheckWPEnable( pcSlice );
     696#endif
     697  }
     698#else
     699
     700  Bool bWp_explicit = (pcSlice->getSliceType()==P_SLICE && pcSlice->getPPS()->getUseWP()) || (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==1);
     701  Bool bWp_implicit = (pcSlice->getSliceType()==B_SLICE && pcSlice->getPPS()->getWPBiPredIdc()==2);
     702
     703  if ( bWp_explicit || bWp_implicit )
     704  {
     705    //------------------------------------------------------------------------------
     706    //  Weighted Prediction implemented at Slice level. SliceMode=2 is not supported yet.
     707    //------------------------------------------------------------------------------
     708    if ( pcSlice->getSliceMode()==2 || pcSlice->getEntropySliceMode()==2 )
     709    {
     710      printf("Weighted Prediction is not supported with slice mode determined by max number of bins.\n"); exit(0);
     711    }
    688712
    689713    if( bWp_explicit )
     
    700724    }
    701725  }
    702 
     726#endif
    703727#if ADAPTIVE_QP_SELECTION
    704728  if( m_pcCfg->getUseAdaptQpSelect() )
Note: See TracChangeset for help on using the changeset viewer.