Changeset 1010 in SHVCSoftware for branches/SHM-upgrade/source/Lib/TLibEncoder


Ignore:
Timestamp:
3 Feb 2015, 23:23:47 (10 years ago)
Author:
seregin
Message:

port the fix for the ticket #56 (rev 1009)

Location:
branches/SHM-upgrade/source/Lib/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-upgrade/source/Lib/TLibEncoder/TEncCavlc.cpp

    r981 r1010  
    31093109      if( vps->getNumRefLayers(vps->getLayerIdInNuh(i)) == 0 )
    31103110      {
    3111         if( (vps->getSPSId(i) == 0) && (vps->getPPSId(i) == 0) )
    3112         {
    3113           vps->setBaseLayerPSCompatibilityFlag(i, 1);
    3114         }
    3115         else
    3116         {
    3117           vps->setBaseLayerPSCompatibilityFlag(i, 0);
    3118         }
    31193111        WRITE_FLAG(vps->getBaseLayerPSCompatibilityFlag(i), "base_layer_parameter_set_compatibility_flag" );
    31203112      }
  • branches/SHM-upgrade/source/Lib/TLibEncoder/TEncTop.cpp

    r1000 r1010  
    16391639      }
    16401640    }
     1641
     1642#if P0182_VPS_VUI_PS_FLAG
     1643    if( m_cVPS.getNumRefLayers( m_layerId ) == 0 )
     1644    {
     1645      UInt layerIdx = m_cVPS.getLayerIdInVps( m_layerId );
     1646      RepFormat* repFormat = m_cVPS.getVpsRepFormat(m_cVPS.getVpsRepFormatIdx(layerIdx));
     1647     
     1648      if( m_cPPS.getLayerId() == 0 &&
     1649          m_cSPS.getLayerId() == 0 &&
     1650          repFormat->getChromaFormatVpsIdc() == m_cSPS.getChromaFormatIdc() &&
     1651          repFormat->getSeparateColourPlaneVpsFlag() == 0 &&
     1652          repFormat->getPicHeightVpsInLumaSamples() == m_cSPS.getPicHeightInLumaSamples() &&
     1653          repFormat->getPicWidthVpsInLumaSamples()  == m_cSPS.getPicWidthInLumaSamples() &&
     1654          repFormat->getBitDepthVpsLuma()   == m_cSPS.getBitDepth(CHANNEL_TYPE_LUMA) &&
     1655          repFormat->getBitDepthVpsChroma() == m_cSPS.getBitDepth(CHANNEL_TYPE_CHROMA) &&
     1656          repFormat->getConformanceWindowVps().getWindowLeftOffset()   == m_cSPS.getConformanceWindow().getWindowLeftOffset() &&
     1657          repFormat->getConformanceWindowVps().getWindowRightOffset()  == m_cSPS.getConformanceWindow().getWindowRightOffset() &&
     1658          repFormat->getConformanceWindowVps().getWindowTopOffset()    == m_cSPS.getConformanceWindow().getWindowTopOffset() &&
     1659          repFormat->getConformanceWindowVps().getWindowBottomOffset() == m_cSPS.getConformanceWindow().getWindowBottomOffset() )
     1660      {
     1661        m_cVPS.setBaseLayerPSCompatibilityFlag(layerIdx, 1);
     1662      }
     1663      else
     1664      {
     1665        m_cVPS.setBaseLayerPSCompatibilityFlag(layerIdx, 0);
     1666      }
     1667    }
     1668#endif
    16411669  }
    16421670}
Note: See TracChangeset for help on using the changeset viewer.