Ignore:
Timestamp:
9 Apr 2014, 08:24:16 (11 years ago)
Author:
seregin
Message:

fix resampling constraint

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.cpp

    r655 r657  
    536536      {
    537537        UInt refLayerIdc = m_interLayerPredLayerIdc[i];
     538        UInt refLayerId = m_pcVPS->getRefLayerId( m_layerId, refLayerIdc );
    538539#if RESAMPLING_CONSTRAINT_BUG_FIX
    539540#if O0098_SCALED_REF_LAYER_ID
    540         const Window &scalEL = getSPS()->getScaledRefLayerWindowForLayer(m_pcVPS->getRefLayerId( m_layerId, m_interLayerPredLayerIdc[i] ));
     541        const Window &scalEL = getSPS()->getScaledRefLayerWindowForLayer(refLayerId);
    541542#else
    542543        const Window &scalEL = getSPS()->getScaledRefLayerWindow(m_interLayerPredLayerIdc[i]);
     
    548549                            );
    549550#endif
     551#if O0194_DIFFERENT_BITDEPTH_EL_BL
     552        Int sameBitDepth = g_bitDepthYLayer[m_layerId] - g_bitDepthYLayer[refLayerId] + g_bitDepthCLayer[m_layerId] - g_bitDepthCLayer[refLayerId];
     553
     554        if( !( g_posScalingFactor[refLayerIdc][0] == 65536 && g_posScalingFactor[refLayerIdc][1] == 65536 ) || !scalingOffset || !sameBitDepth ) // ratio 1x
     555#else
    550556        if(!( g_posScalingFactor[refLayerIdc][0] == 65536 && g_posScalingFactor[refLayerIdc][1] == 65536 ) || (!scalingOffset)) // ratio 1x
     557#endif
    551558        {
    552559#if MOTION_RESAMPLING_CONSTRAINT
    553           UInt predType = m_pcVPS->getDirectDependencyType( m_layerId, m_pcVPS->getRefLayerId( m_layerId, refLayerIdc ) ) + 1;
     560          UInt predType = m_pcVPS->getDirectDependencyType( m_layerId, refLayerId ) + 1;
    554561
    555562          if( predType & 0x1 )
Note: See TracChangeset for help on using the changeset viewer.