Changeset 1089 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibCommon


Ignore:
Timestamp:
25 Jun 2015, 16:19:05 (10 years ago)
Author:
seregin
Message:

Patch provided by Hiron Franck <franck.hiron@…> to complete implementation of the CRI (Colour remapping info) with the following features:

  • Management of SEI-CRI messages per picture
  • Management of the persistence of the colour remapping information (parameter “colour_remap_persistence_flag”)
  • Output the remapping picture in display order
  • Maintains the HM like mode (#define SVC_EXTENSION 0)
Location:
branches/SHM-dev/source/Lib/TLibCommon
Files:
3 edited

Legend:

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

    r1037 r1089  
    169169  }
    170170}
     171
     172#if Q0074_COLOUR_REMAPPING_SEI
     173Void  SEIColourRemappingInfo::copyFrom( SEIColourRemappingInfo const * SeiCriInput)
     174{
     175  m_colourRemapId                         = SeiCriInput->m_colourRemapId;
     176  m_colourRemapCancelFlag                 = SeiCriInput->m_colourRemapCancelFlag;
     177  m_colourRemapPersistenceFlag            = SeiCriInput->m_colourRemapPersistenceFlag;
     178  m_colourRemapVideoSignalInfoPresentFlag = SeiCriInput->m_colourRemapVideoSignalInfoPresentFlag;
     179  m_colourRemapFullRangeFlag              = SeiCriInput->m_colourRemapFullRangeFlag;
     180  m_colourRemapPrimaries                  = SeiCriInput->m_colourRemapPrimaries;
     181  m_colourRemapTransferFunction           = SeiCriInput->m_colourRemapTransferFunction;
     182  m_colourRemapMatrixCoefficients         = SeiCriInput->m_colourRemapMatrixCoefficients;
     183  m_colourRemapInputBitDepth              = SeiCriInput->m_colourRemapInputBitDepth;
     184  m_colourRemapBitDepth                   = SeiCriInput->m_colourRemapBitDepth;
     185
     186  for( Int c=0 ; c<3 ; c++ )
     187  {
     188    m_preLutNumValMinus1[c] = SeiCriInput->m_preLutNumValMinus1[c];
     189    m_preLutCodedValue[c].resize(m_preLutNumValMinus1[c]+1);
     190    m_preLutTargetValue[c].resize(m_preLutNumValMinus1[c]+1);
     191    for ( Int i=0 ; i <= SeiCriInput->m_preLutNumValMinus1[c] ; i++ )
     192    {
     193        m_preLutCodedValue[c][i]   = SeiCriInput->m_preLutCodedValue[c][i];
     194        m_preLutTargetValue[c][i]  = SeiCriInput->m_preLutTargetValue[c][i];
     195    }
     196  }
     197   
     198  m_colourRemapMatrixPresentFlag  = SeiCriInput->m_colourRemapMatrixPresentFlag;
     199  m_log2MatrixDenom               = SeiCriInput->m_log2MatrixDenom;
     200
     201  for ( Int c=0 ; c<3 ; c++ )
     202    for ( Int i=0 ; i<3 ; i++ )
     203      m_colourRemapCoeffs[c][i] = SeiCriInput->m_colourRemapCoeffs[c][i];
     204
     205  for( Int c=0 ; c<3 ; c++ )
     206  {
     207    m_postLutNumValMinus1[c] = SeiCriInput->m_postLutNumValMinus1[c];
     208    m_postLutCodedValue[c].resize(m_postLutNumValMinus1[c]+1);
     209    m_postLutTargetValue[c].resize(m_postLutNumValMinus1[c]+1);
     210    for ( Int i=0 ; i <= m_postLutNumValMinus1[c] ; i++ )
     211    {
     212        m_postLutCodedValue[c][i]  = SeiCriInput->m_postLutCodedValue[c][i];
     213        m_postLutTargetValue[c][i] = SeiCriInput->m_postLutTargetValue[c][i];
     214    }
     215  }
     216}
     217#endif
  • branches/SHM-dev/source/Lib/TLibCommon/SEI.h

    r1070 r1089  
    766766  SEIColourRemappingInfo() {}
    767767  ~SEIColourRemappingInfo() {}
     768
     769  Void  copyFrom( SEIColourRemappingInfo const * SeiCriInput);
    768770 
    769771  Int   m_colourRemapId;
  • branches/SHM-dev/source/Lib/TLibCommon/TComPicYuv.cpp

    r1031 r1089  
    313313      for (Int x = 0; x < width; x++ )
    314314      {
    315         Pel pix  = Clip3<Pel>(0, (1 << bitDepth)-1, (pi[x]+offset)>>shift);
     315        Pel pix = pi[x];
    316316
    317317        UChar uc = pix & 0xff;     
Note: See TracChangeset for help on using the changeset viewer.