Changeset 868 in SHVCSoftware for branches


Ignore:
Timestamp:
13 Aug 2014, 18:37:06 (10 years ago)
Author:
seregin
Message:

update for CRI SEI, provided by Andrivon Pierre <Pierre.Andrivon@…>

Location:
branches/SHM-dev/source
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r863 r868  
    20762076#if !SVC_EXTENSION
    20772077  // reading external Colour Remapping Information SEI message parameters from file
    2078   if( m_colourRemapSEIFile.length() )
     2078  if( m_colourRemapSEIFile.size() > 0 )
    20792079  {
    20802080    FILE* fic;
     
    20912091    {
    20922092      retval = fscanf( fic, "%d", &m_colourRemapSEIPersistenceFlag );
    2093       retval = fscanf( fic, "%d", &m_colourRemapSEIVideoSignalTypePresentFlag);
    2094       if( m_colourRemapSEIVideoSignalTypePresentFlag )
    2095       {
    2096         retval = fscanf( fic, "%d", &m_colourRemapSEIVideoFullRangeFlag  );
     2093      retval = fscanf( fic, "%d", &m_colourRemapSEIVideoSignalInfoPresentFlag);
     2094      if( m_colourRemapSEIVideoSignalInfoPresentFlag )
     2095      {
     2096        retval = fscanf( fic, "%d", &m_colourRemapSEIFullRangeFlag  );
    20972097        retval = fscanf( fic, "%d", &m_colourRemapSEIPrimaries );
    2098         retval = fscanf( fic, "%d", &m_colourRemapSEITransferCharacteristics );
    2099         retval = fscanf( fic, "%d", &m_colourRemapSEIMatrixCoeffs );
    2100       }
    2101 
    2102       retval = fscanf( fic, "%d", &m_colourRemapSEICodedDataBitDepth );
    2103       retval = fscanf( fic, "%d", &m_colourRemapSEITargetBitDepth );
     2098        retval = fscanf( fic, "%d", &m_colourRemapSEITransferFunction );
     2099        retval = fscanf( fic, "%d", &m_colourRemapSEIMatrixCoefficients );
     2100      }
     2101
     2102      retval = fscanf( fic, "%d", &m_colourRemapSEIInputBitDepth );
     2103      retval = fscanf( fic, "%d", &m_colourRemapSEIBitDepth );
    21042104 
    21052105      for( Int c=0 ; c<3 ; c++ )
     
    21702170      {
    21712171        retval = fscanf( fic, "%d", &tempCode ); m_acLayerCfg[layer].m_colourRemapSEIPersistenceFlag = tempCode ? 1 : 0;
    2172         retval = fscanf( fic, "%d", &tempCode ); m_acLayerCfg[layer].m_colourRemapSEIVideoSignalTypePresentFlag = tempCode ? 1 : 0;
    2173         if( m_acLayerCfg[layer].m_colourRemapSEIVideoSignalTypePresentFlag )
    2174         {
    2175           retval = fscanf( fic, "%d", &tempCode ); m_acLayerCfg[layer].m_colourRemapSEIVideoFullRangeFlag = tempCode ? 1 : 0;
     2172        retval = fscanf( fic, "%d", &tempCode ); m_acLayerCfg[layer].m_colourRemapSEIVideoSignalInfoPresentFlag = tempCode ? 1 : 0;
     2173        if( m_acLayerCfg[layer].m_colourRemapSEIVideoSignalInfoPresentFlag )
     2174        {
     2175          retval = fscanf( fic, "%d", &tempCode ); m_acLayerCfg[layer].m_colourRemapSEIFullRangeFlag = tempCode ? 1 : 0;
    21762176          retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEIPrimaries );
    2177           retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEITransferCharacteristics );
    2178           retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEIMatrixCoeffs );
    2179         }
    2180 
    2181         retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEICodedDataBitDepth );
    2182         retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEITargetBitDepth );
     2177          retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEITransferFunction );
     2178          retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEIMatrixCoefficients );
     2179        }
     2180
     2181        retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEIInputBitDepth );
     2182        retval = fscanf( fic, "%d", &m_acLayerCfg[layer].m_colourRemapSEIBitDepth );
    21832183 
    21842184        for( Int c=0 ; c<3 ; c++ )
     
    33243324#if Q0074_COLOUR_REMAPPING_SEI
    33253325#if !SVC_EXTENSION
    3326   if ( m_colourRemapSEIFile.c_str() && !m_colourRemapSEICancelFlag )
    3327   {
    3328     xConfirmPara( m_colourRemapSEICodedDataBitDepth < 8 || m_colourRemapSEICodedDataBitDepth > 16 , "colour_remap_coded_data_bit_depth shall be in the range of 8 to 16, inclusive");
    3329     xConfirmPara( m_colourRemapSEITargetBitDepth < 8 || (m_colourRemapSEITargetBitDepth > 16 && m_colourRemapSEITargetBitDepth < 255) , "colour_remap_target_bit_depth shall be in the range of 8 to 16, inclusive");
     3326  if ( ( m_colourRemapSEIFile.size() > 0 ) && !m_colourRemapSEICancelFlag )
     3327  {
     3328    xConfirmPara( m_colourRemapSEIInputBitDepth < 8 || m_colourRemapSEIInputBitDepth > 16 , "colour_remap_input_bit_depth shall be in the range of 8 to 16, inclusive");
     3329    xConfirmPara( m_colourRemapSEIBitDepth < 8 || m_colourRemapSEIBitDepth > 16, "colour_remap_bit_depth shall be in the range of 8 to 16, inclusive");
    33303330    for( Int c=0 ; c<3 ; c++)
    33313331    {
     
    33343334        for( Int i=0 ; i<=m_colourRemapSEIPreLutNumValMinus1[c] ; i++)
    33353335        {
    3336           xConfirmPara( m_colourRemapSEIPreLutCodedValue[c][i] < 0 || m_colourRemapSEIPreLutCodedValue[c][i] > ((1<<m_colourRemapSEICodedDataBitDepth)-1), "pre_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_coded_data_bit_depth)-1, inclusive");
    3337           xConfirmPara( m_colourRemapSEIPreLutTargetValue[c][i] < 0 || m_colourRemapSEIPreLutTargetValue[c][i] > ((1<<m_colourRemapSEITargetBitDepth)-1), "pre_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_target_bit_depth)-1, inclusive");
     3336          xConfirmPara( m_colourRemapSEIPreLutCodedValue[c][i] < 0 || m_colourRemapSEIPreLutCodedValue[c][i] > ((1<<m_colourRemapSEIInputBitDepth)-1), "pre_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_input_bit_depth)-1, inclusive");
     3337          xConfirmPara( m_colourRemapSEIPreLutTargetValue[c][i] < 0 || m_colourRemapSEIPreLutTargetValue[c][i] > ((1<<m_colourRemapSEIBitDepth)-1), "pre_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_bit_depth)-1, inclusive");
    33383338        }
    33393339      xConfirmPara( m_colourRemapSEIPostLutNumValMinus1[c] < 0 || m_colourRemapSEIPostLutNumValMinus1[c] > 32, "post_lut_num_val_minus1[c] shall be in the range of 0 to 32, inclusive");
     
    33413341        for( Int i=0 ; i<=m_colourRemapSEIPostLutNumValMinus1[c] ; i++)
    33423342        {
    3343           xConfirmPara( m_colourRemapSEIPostLutCodedValue[c][i] < 0 || m_colourRemapSEIPostLutCodedValue[c][i] > ((1<<m_colourRemapSEITargetBitDepth)-1), "post_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_target_bit_depth)-1, inclusive");
    3344           xConfirmPara( m_colourRemapSEIPostLutTargetValue[c][i] < 0 || m_colourRemapSEIPostLutTargetValue[c][i] > ((1<<m_colourRemapSEITargetBitDepth)-1), "post_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_target_bit_depth)-1, inclusive");
     3343          xConfirmPara( m_colourRemapSEIPostLutCodedValue[c][i] < 0 || m_colourRemapSEIPostLutCodedValue[c][i] > ((1<<m_colourRemapSEIBitDepth)-1), "post_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_bit_depth)-1, inclusive");
     3344          xConfirmPara( m_colourRemapSEIPostLutTargetValue[c][i] < 0 || m_colourRemapSEIPostLutTargetValue[c][i] > ((1<<m_colourRemapSEIBitDepth)-1), "post_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_bit_depth)-1, inclusive");
    33453345        }
    33463346    }
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h

    r861 r868  
    381381  Bool      m_colourRemapSEICancelFlag;
    382382  Bool      m_colourRemapSEIPersistenceFlag;
    383   Bool      m_colourRemapSEIVideoSignalTypePresentFlag;
    384   Bool      m_colourRemapSEIVideoFullRangeFlag;
     383  Bool      m_colourRemapSEIVideoSignalInfoPresentFlag;
     384  Bool      m_colourRemapSEIFullRangeFlag;
    385385  Int       m_colourRemapSEIPrimaries;
    386   Int       m_colourRemapSEITransferCharacteristics;
    387   Int       m_colourRemapSEIMatrixCoeffs;
    388   Int       m_colourRemapSEICodedDataBitDepth;
    389   Int       m_colourRemapSEITargetBitDepth;
     386  Int       m_colourRemapSEITransferFunction;
     387  Int       m_colourRemapSEIMatrixCoefficients;
     388  Int       m_colourRemapSEIInputBitDepth;
     389  Int       m_colourRemapSEIBitDepth;
    390390  Int       m_colourRemapSEIPreLutNumValMinus1[3];
    391391  Int*      m_colourRemapSEIPreLutCodedValue[3];
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp

    r860 r868  
    218218
    219219#if Q0074_COLOUR_REMAPPING_SEI
    220   if( m_colourRemapSEIFile.c_str() )
     220  if( m_colourRemapSEIFile.size() > 0 )
    221221  {
    222222    FILE* fic;
     
    234234    {
    235235      retval = fscanf( fic, "%d", &tempCode );m_colourRemapSEIPersistenceFlag = tempCode ? 1 : 0;
    236       retval = fscanf( fic, "%d", &tempCode );m_colourRemapSEIVideoSignalTypePresentFlag = tempCode ? 1 : 0;
    237       if( m_colourRemapSEIVideoSignalTypePresentFlag )
    238       {
    239         retval = fscanf( fic, "%d", &tempCode );m_colourRemapSEIVideoFullRangeFlag = tempCode ? 1 : 0;
     236      retval = fscanf( fic, "%d", &tempCode );m_colourRemapSEIVideoSignalInfoPresentFlag = tempCode ? 1 : 0;
     237      if( m_colourRemapSEIVideoSignalInfoPresentFlag )
     238      {
     239        retval = fscanf( fic, "%d", &tempCode );m_colourRemapSEIFullRangeFlag = tempCode ? 1 : 0;
    240240        retval = fscanf( fic, "%d", &m_colourRemapSEIPrimaries );
    241         retval = fscanf( fic, "%d", &m_colourRemapSEITransferCharacteristics );
    242         retval = fscanf( fic, "%d", &m_colourRemapSEIMatrixCoeffs );
    243       }
    244 
    245       retval = fscanf( fic, "%d", &m_colourRemapSEICodedDataBitDepth );
    246       retval = fscanf( fic, "%d", &m_colourRemapSEITargetBitDepth );
     241        retval = fscanf( fic, "%d", &m_colourRemapSEITransferFunction );
     242        retval = fscanf( fic, "%d", &m_colourRemapSEIMatrixCoefficients );
     243      }
     244
     245      retval = fscanf( fic, "%d", &m_colourRemapSEIInputBitDepth );
     246      retval = fscanf( fic, "%d", &m_colourRemapSEIBitDepth );
    247247 
    248248      for( Int c=0 ; c<3 ; c++ )
     
    518518#endif
    519519#if Q0074_COLOUR_REMAPPING_SEI
    520   if ( m_colourRemapSEIFile.length() && !m_colourRemapSEICancelFlag )
    521   {
    522     xConfirmPara( m_colourRemapSEICodedDataBitDepth < 8 || m_colourRemapSEICodedDataBitDepth > 16 , "colour_remap_coded_data_bit_depth shall be in the range of 8 to 16, inclusive");
    523     xConfirmPara( m_colourRemapSEITargetBitDepth < 8 || (m_colourRemapSEITargetBitDepth > 16 && m_colourRemapSEITargetBitDepth < 255) , "colour_remap_target_bit_depth shall be in the range of 8 to 16, inclusive");
     520  if ( ( m_colourRemapSEIFile.size() > 0 ) && !m_colourRemapSEICancelFlag )
     521  {
     522    xConfirmPara( m_colourRemapSEIInputBitDepth < 8 || m_colourRemapSEIInputBitDepth > 16 , "colour_remap_input_bit_depth shall be in the range of 8 to 16, inclusive");
     523    xConfirmPara( m_colourRemapSEIBitDepth < 8 || m_colourRemapSEIBitDepth > 16, "colour_remap_bit_depth shall be in the range of 8 to 16, inclusive");
    524524    for( Int c=0 ; c<3 ; c++)
    525525    {
     
    528528        for( Int i=0 ; i<=m_colourRemapSEIPreLutNumValMinus1[c] ; i++)
    529529        {
    530           xConfirmPara( m_colourRemapSEIPreLutCodedValue[c][i] < 0 || m_colourRemapSEIPreLutCodedValue[c][i] > ((1<<m_colourRemapSEICodedDataBitDepth)-1), "pre_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_coded_data_bit_depth)-1, inclusive");
    531           xConfirmPara( m_colourRemapSEIPreLutTargetValue[c][i] < 0 || m_colourRemapSEIPreLutTargetValue[c][i] > ((1<<m_colourRemapSEITargetBitDepth)-1), "pre_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_target_bit_depth)-1, inclusive");
     530          xConfirmPara( m_colourRemapSEIPreLutCodedValue[c][i] < 0 || m_colourRemapSEIPreLutCodedValue[c][i] > ((1<<m_colourRemapSEIInputBitDepth)-1), "pre_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_input_bit_depth)-1, inclusive");
     531          xConfirmPara( m_colourRemapSEIPreLutTargetValue[c][i] < 0 || m_colourRemapSEIPreLutTargetValue[c][i] > ((1<<m_colourRemapSEIBitDepth)-1), "pre_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_bit_depth)-1, inclusive");
    532532        }
    533533      xConfirmPara( m_colourRemapSEIPostLutNumValMinus1[c] < 0 || m_colourRemapSEIPostLutNumValMinus1[c] > 32, "post_lut_num_val_minus1[c] shall be in the range of 0 to 32, inclusive");
    534534      if( m_colourRemapSEIPostLutNumValMinus1[c]>0 )
    535535        for( Int i=0 ; i<=m_colourRemapSEIPostLutNumValMinus1[c] ; i++)
    536         {
    537           if( m_colourRemapSEIPreLutNumValMinus1[c]>0 || m_colourRemapSEIMatrixPresentFlag )
    538             xConfirmPara( m_colourRemapSEIPostLutCodedValue[c][i] < 0 || m_colourRemapSEIPostLutCodedValue[c][i] > ((1<<m_colourRemapSEITargetBitDepth)-1), "post_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_target_bit_depth)-1, inclusive");
    539           else
    540             xConfirmPara( m_colourRemapSEIPostLutCodedValue[c][i] < 0 || m_colourRemapSEIPostLutCodedValue[c][i] > ((1<<m_colourRemapSEICodedDataBitDepth)-1), "post_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_coded_data_bit_depth)-1, inclusive");
    541           xConfirmPara( m_colourRemapSEIPostLutTargetValue[c][i] < 0 || m_colourRemapSEIPostLutTargetValue[c][i] > ((1<<m_colourRemapSEITargetBitDepth)-1), "post_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_target_bit_depth)-1, inclusive");
     536        {
     537          xConfirmPara( m_colourRemapSEIPostLutCodedValue[c][i] < 0 || m_colourRemapSEIPostLutCodedValue[c][i] > ((1<<m_colourRemapSEIBitDepth)-1), "post_lut_coded_value[c][i] shall be in the range of 0 to (1<<colour_remap_bit_depth)-1, inclusive");
     538          xConfirmPara( m_colourRemapSEIPostLutTargetValue[c][i] < 0 || m_colourRemapSEIPostLutTargetValue[c][i] > ((1<<m_colourRemapSEIBitDepth)-1), "post_lut_target_value[c][i] shall be in the range of 0 to (1<<colour_remap_bit_depth)-1, inclusive");
    542539        }
    543540    }
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.h

    r856 r868  
    130130  Bool      m_colourRemapSEICancelFlag;
    131131  Bool      m_colourRemapSEIPersistenceFlag;
    132   Bool      m_colourRemapSEIVideoSignalTypePresentFlag;
    133   Bool      m_colourRemapSEIVideoFullRangeFlag;
     132  Bool      m_colourRemapSEIVideoSignalInfoPresentFlag;
     133  Bool      m_colourRemapSEIFullRangeFlag;
    134134  Int       m_colourRemapSEIPrimaries;
    135   Int       m_colourRemapSEITransferCharacteristics;
    136   Int       m_colourRemapSEIMatrixCoeffs;
    137   Int       m_colourRemapSEICodedDataBitDepth;
    138   Int       m_colourRemapSEITargetBitDepth;
     135  Int       m_colourRemapSEITransferFunction;
     136  Int       m_colourRemapSEIMatrixCoefficients;
     137  Int       m_colourRemapSEIInputBitDepth;
     138  Int       m_colourRemapSEIBitDepth;
    139139  Int       m_colourRemapSEIPreLutNumValMinus1[3];
    140140  Int*      m_colourRemapSEIPreLutCodedValue[3];
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r866 r868  
    539539    m_acTEncTop[layer].setCRISEICancelFlag                          ( m_acLayerCfg[layer].m_colourRemapSEICancelFlag );
    540540    m_acTEncTop[layer].setCRISEIPersistenceFlag                     ( m_acLayerCfg[layer].m_colourRemapSEIPersistenceFlag );
    541     m_acTEncTop[layer].setCRISEIVideoSignalTypePresentFlag          ( m_acLayerCfg[layer].m_colourRemapSEIVideoSignalTypePresentFlag );
    542     m_acTEncTop[layer].setCRISEIVideoFullRangeFlag                  ( m_acLayerCfg[layer].m_colourRemapSEIVideoFullRangeFlag );
     541    m_acTEncTop[layer].setCRISEIVideoSignalInfoPresentFlag          ( m_acLayerCfg[layer].m_colourRemapSEIVideoSignalInfoPresentFlag );
     542    m_acTEncTop[layer].setCRISEIFullRangeFlag                       ( m_acLayerCfg[layer].m_colourRemapSEIFullRangeFlag );
    543543    m_acTEncTop[layer].setCRISEIPrimaries                           ( m_acLayerCfg[layer].m_colourRemapSEIPrimaries );
    544     m_acTEncTop[layer].setCRISEITransferCharacteristics             ( m_acLayerCfg[layer].m_colourRemapSEITransferCharacteristics );
    545     m_acTEncTop[layer].setCRISEIMatrixCoeffs                        ( m_acLayerCfg[layer].m_colourRemapSEIMatrixCoeffs );
    546     m_acTEncTop[layer].setCRISEICodedDataBitDepth                   ( m_acLayerCfg[layer].m_colourRemapSEICodedDataBitDepth );
    547     m_acTEncTop[layer].setCRISEITargetBitDepth                      ( m_acLayerCfg[layer].m_colourRemapSEITargetBitDepth );
     544    m_acTEncTop[layer].setCRISEITransferFunction                    ( m_acLayerCfg[layer].m_colourRemapSEITransferFunction );
     545    m_acTEncTop[layer].setCRISEIMatrixCoefficients                  ( m_acLayerCfg[layer].m_colourRemapSEIMatrixCoefficients );
     546    m_acTEncTop[layer].setCRISEIInputBitDepth                       ( m_acLayerCfg[layer].m_colourRemapSEIInputBitDepth );
     547    m_acTEncTop[layer].setCRISEIBitDepth                            ( m_acLayerCfg[layer].m_colourRemapSEIBitDepth );
    548548    m_acTEncTop[layer].setCRISEIPreLutNumValMinus1                  ( m_acLayerCfg[layer].m_colourRemapSEIPreLutNumValMinus1 );
    549549    m_acTEncTop[layer].setCRISEIPreLutCodedValue                    ( m_acLayerCfg[layer].m_colourRemapSEIPreLutCodedValue );
     
    924924  m_cTEncTop.setCRISEICancelFlag                 ( m_colourRemapSEICancelFlag );
    925925  m_cTEncTop.setCRISEIPersistenceFlag            ( m_colourRemapSEIPersistenceFlag );
    926   m_cTEncTop.setCRISEIVideoSignalTypePresentFlag ( m_colourRemapSEIVideoSignalTypePresentFlag );
    927   m_cTEncTop.setCRISEIVideoFullRangeFlag         ( m_colourRemapSEIVideoFullRangeFlag );
     926  m_cTEncTop.setCRISEIVideoSignalInfoPresentFlag ( m_colourRemapSEIVideoSignalInfoPresentFlag );
     927  m_cTEncTop.setCRISEIFullRangeFlag              ( m_colourRemapSEIFullRangeFlag );
    928928  m_cTEncTop.setCRISEIPrimaries                  ( m_colourRemapSEIPrimaries );
    929   m_cTEncTop.setCRISEITransferCharacteristics    ( m_colourRemapSEITransferCharacteristics );
    930   m_cTEncTop.setCRISEIMatrixCoeffs               ( m_colourRemapSEIMatrixCoeffs );
    931   m_cTEncTop.setCRISEICodedDataBitDepth          ( m_colourRemapSEICodedDataBitDepth );
    932   m_cTEncTop.setCRISEITargetBitDepth             ( m_colourRemapSEITargetBitDepth );
     929  m_cTEncTop.setCRISEITransferFunction           ( m_colourRemapSEITransferFunction );
     930  m_cTEncTop.setCRISEIMatrixCoefficients         ( m_colourRemapSEIMatrixCoefficients );
     931  m_cTEncTop.setCRISEIInputBitDepth              ( m_colourRemapSEIInputBitDepth );
     932  m_cTEncTop.setCRISEIBitDepth                   ( m_colourRemapSEIBitDepth );
    933933  m_cTEncTop.setCRISEIPreLutNumValMinus1         ( m_colourRemapSEIPreLutNumValMinus1 );
    934934  m_cTEncTop.setCRISEIPreLutCodedValue           ( m_colourRemapSEIPreLutCodedValue );
  • branches/SHM-dev/source/Lib/TLibCommon/SEI.h

    r856 r868  
    458458  Bool  m_colourRemapCancelFlag;
    459459  Bool  m_colourRemapPersistenceFlag;
    460   Bool  m_colourRemapVideoSignalTypePresentFlag;
    461   Bool  m_colourRemapVideoFullRangeFlag;
     460  Bool  m_colourRemapVideoSignalInfoPresentFlag;
     461  Bool  m_colourRemapFullRangeFlag;
    462462  Int   m_colourRemapPrimaries;
    463   Int   m_colourRemapTransferCharacteristics;
    464   Int   m_colourRemapMatrixCoeffs;
    465   Int   m_colourRemapCodedDataBitDepth;
    466   Int   m_colourRemapTargetBitDepth;
     463  Int   m_colourRemapTransferFunction;
     464  Int   m_colourRemapMatrixCoefficients;
     465  Int   m_colourRemapInputBitDepth;
     466  Int   m_colourRemapBitDepth;
    467467  Int   m_preLutNumValMinus1[3];
    468468  std::vector<Int> m_preLutCodedValue[3];
  • branches/SHM-dev/source/Lib/TLibDecoder/SEIread.cpp

    r856 r868  
    936936  {
    937937    READ_FLAG( uiVal, "colour_remap_persistence_flag" );                sei.m_colourRemapPersistenceFlag = uiVal;
    938     READ_FLAG( uiVal, "colour_remap_video_signal_type_present_flag" );  sei.m_colourRemapVideoSignalTypePresentFlag = uiVal;
    939     if ( sei.m_colourRemapVideoSignalTypePresentFlag )
    940     {
    941       READ_FLAG( uiVal,    "colour_remap_video_full_range_flag" );     sei.m_colourRemapVideoFullRangeFlag = uiVal;
     938    READ_FLAG( uiVal, "colour_remap_video_signal_info_present_flag" );  sei.m_colourRemapVideoSignalInfoPresentFlag = uiVal;
     939    if ( sei.m_colourRemapVideoSignalInfoPresentFlag )
     940    {
     941      READ_FLAG( uiVal,    "colour_remap_full_range_flag" );           sei.m_colourRemapFullRangeFlag = uiVal;
    942942      READ_CODE( 8, uiVal, "colour_remap_primaries" );                 sei.m_colourRemapPrimaries = uiVal;
    943       READ_CODE( 8, uiVal, "colour_remap_transfer_characteristics" );  sei.m_colourRemapTransferCharacteristics = uiVal;
    944       READ_CODE( 8, uiVal, "colour_remap_matrix_coeffs" );             sei.m_colourRemapMatrixCoeffs = uiVal;
    945     }
    946     READ_CODE( 8, uiVal, "colour_remap_coded_data_bit_depth" );  sei.m_colourRemapCodedDataBitDepth = uiVal;
    947     READ_CODE( 8, uiVal, "colour_remap_target_bit_depth" );      sei.m_colourRemapTargetBitDepth = uiVal;
     943      READ_CODE( 8, uiVal, "colour_remap_transfer_function" );         sei.m_colourRemapTransferFunction = uiVal;
     944      READ_CODE( 8, uiVal, "colour_remap_matrix_coefficients" );       sei.m_colourRemapMatrixCoefficients = uiVal;
     945    }
     946    READ_CODE( 8, uiVal, "colour_remap_input_bit_depth" ); sei.m_colourRemapInputBitDepth = uiVal;
     947    READ_CODE( 8, uiVal, "colour_remap_bit_depth" ); sei.m_colourRemapBitDepth = uiVal;
    948948 
    949949    for( Int c=0 ; c<3 ; c++ )
     
    955955        for ( Int i=0 ; i<=sei.m_preLutNumValMinus1[c] ; i++ )
    956956        {
    957           READ_CODE( (( sei.m_colourRemapCodedDataBitDepth   + 7 ) >> 3 ) << 3, uiVal, "pre_lut_coded_value[c][i]" );  sei.m_preLutCodedValue[c][i]  = uiVal;
    958           READ_CODE( (( sei.m_colourRemapTargetBitDepth + 7 ) >> 3 ) << 3, uiVal, "pre_lut_target_value[c][i]" ); sei.m_preLutTargetValue[c][i] = uiVal;
     957          READ_CODE( (( sei.m_colourRemapInputBitDepth   + 7 ) >> 3 ) << 3, uiVal, "pre_lut_coded_value[c][i]" );  sei.m_preLutCodedValue[c][i]  = uiVal;
     958          READ_CODE( (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, uiVal, "pre_lut_target_value[c][i]" ); sei.m_preLutTargetValue[c][i] = uiVal;
    959959        }
    960960      else // pre_lut_num_val_minus1[c] == 0
     
    962962        sei.m_preLutCodedValue[c][0]  = 0;
    963963        sei.m_preLutTargetValue[c][0] = 0;
    964         sei.m_preLutCodedValue[c][1]  = (1 << sei.m_colourRemapCodedDataBitDepth) - 1 ;
    965         sei.m_preLutTargetValue[c][1] = (1 << sei.m_colourRemapTargetBitDepth) - 1 ;
     964        sei.m_preLutCodedValue[c][1]  = (1 << sei.m_colourRemapInputBitDepth) - 1 ;
     965        sei.m_preLutTargetValue[c][1] = (1 << sei.m_colourRemapBitDepth) - 1 ;
    966966      }
    967967    }
     
    992992        for ( Int i=0 ; i<=sei.m_postLutNumValMinus1[c] ; i++ )
    993993        {
    994           READ_CODE( (( sei.m_colourRemapTargetBitDepth + 7 ) >> 3 ) << 3, uiVal, "post_lut_coded_value[c][i]" );  sei.m_postLutCodedValue[c][i] = uiVal;
    995           READ_CODE( (( sei.m_colourRemapTargetBitDepth + 7 ) >> 3 ) << 3, uiVal, "post_lut_target_value[c][i]" ); sei.m_postLutTargetValue[c][i] = uiVal;
     994          READ_CODE( (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, uiVal, "post_lut_coded_value[c][i]" );  sei.m_postLutCodedValue[c][i] = uiVal;
     995          READ_CODE( (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, uiVal, "post_lut_target_value[c][i]" ); sei.m_postLutTargetValue[c][i] = uiVal;
    996996        }
    997997      else
     
    999999        sei.m_postLutCodedValue[c][0]  = 0;
    10001000        sei.m_postLutTargetValue[c][0] = 0;
    1001         sei.m_postLutTargetValue[c][1] = (1 << sei.m_colourRemapTargetBitDepth) - 1;
    1002         sei.m_postLutCodedValue[c][1]  = (1 << sei.m_colourRemapTargetBitDepth) - 1;
     1001        sei.m_postLutTargetValue[c][1] = (1 << sei.m_colourRemapBitDepth) - 1;
     1002        sei.m_postLutCodedValue[c][1]  = (1 << sei.m_colourRemapBitDepth) - 1;
    10031003      }
    10041004    }
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecGop.cpp

    r856 r868  
    367367    Int bitDepth = c ? bitDepthC : bitDepthY ;
    368368    preLut[c].resize(1 << bitDepth);
    369     postLut[c].resize(1 << pCriSEI->m_colourRemapTargetBitDepth);
     369    postLut[c].resize(1 << pCriSEI->m_colourRemapBitDepth);
    370370   
    371     Int bitDepthDiff = pCriSEI->m_colourRemapTargetBitDepth - bitDepth;
    372     Int iShift1 = (bitDepthDiff>0) ? bitDepthDiff : 0; //bit scale from bitdepth to TargetBitdepth (manage only case colourRemapTargetBitDepth>= bitdepth)
     371    Int bitDepthDiff = pCriSEI->m_colourRemapBitDepth - bitDepth;
     372    Int iShift1 = (bitDepthDiff>0) ? bitDepthDiff : 0; //bit scale from bitdepth to ColourRemapBitdepth (manage only case colourRemapBitDepth>= bitdepth)
    373373    if( bitDepthDiff<0 )
    374       printf ("Warning: CRI SEI - colourRemapTargetBitDepth (%d) <bitDepth (%d) - case not handled\n", pCriSEI->m_colourRemapTargetBitDepth, bitDepth);
    375     bitDepthDiff = pCriSEI->m_colourRemapTargetBitDepth - pCriSEI->m_colourRemapCodedDataBitDepth;
    376     Int iShift2 = (bitDepthDiff>0) ? bitDepthDiff : 0; //bit scale from codedDataBitdepth to TargetBitdepth (manage only case colourRemapTargetBitDepth>= colourRemapCodedDataBitDepth)
     374      printf ("Warning: CRI SEI - colourRemapBitDepth (%d) <bitDepth (%d) - case not handled\n", pCriSEI->m_colourRemapBitDepth, bitDepth);
     375    bitDepthDiff = pCriSEI->m_colourRemapBitDepth - pCriSEI->m_colourRemapInputBitDepth;
     376    Int iShift2 = (bitDepthDiff>0) ? bitDepthDiff : 0; //bit scale from ColourRemapInputBitdepth to ColourRemapBitdepth (manage only case colourRemapBitDepth>= colourRemapInputBitDepth)
    377377    if( bitDepthDiff<0 )
    378       printf ("Warning: CRI SEI - colourRemapTargetBitDepth (%d) <colourRemapCodedDataBitDepth (%d) - case not handled\n", pCriSEI->m_colourRemapTargetBitDepth, pCriSEI->m_colourRemapCodedDataBitDepth);
     378      printf ("Warning: CRI SEI - colourRemapBitDepth (%d) <colourRemapInputBitDepth (%d) - case not handled\n", pCriSEI->m_colourRemapBitDepth, pCriSEI->m_colourRemapInputBitDepth);
    379379
    380380    //Fill preLut
     
    384384      for ( Int iPivot=0 ; iPivot<=pCriSEI->m_preLutNumValMinus1[c] ; iPivot++ )
    385385      {
    386         Int iCodedPrev  = pCriSEI->m_preLutCodedValue[c][iPivot]    << iShift2; //Coded in CodedDataBitdepth
    387         Int iCodedNext  = pCriSEI->m_preLutCodedValue[c][iPivot+1]  << iShift2; //Coded in CodedDataBitdepth
    388         Int iTargetPrev = pCriSEI->m_preLutTargetValue[c][iPivot];              //Coded in TargetBitdepth
    389         Int iTargetNext = pCriSEI->m_preLutTargetValue[c][iPivot+1];            //Coded in TargetBitdepth
     386        Int iCodedPrev  = pCriSEI->m_preLutCodedValue[c][iPivot]    << iShift2; //Coded in CRInputBitdepth
     387        Int iCodedNext  = pCriSEI->m_preLutCodedValue[c][iPivot+1]  << iShift2; //Coded in CRInputBitdepth
     388        Int iTargetPrev = pCriSEI->m_preLutTargetValue[c][iPivot];              //Coded in CRBitdepth
     389        Int iTargetNext = pCriSEI->m_preLutTargetValue[c][iPivot+1];            //Coded in CRBitdepth
    390390        if ( iCodedPrev <= iSample && iSample <= iCodedNext )
    391391        {
     
    398398   
    399399    //Fill postLut
    400     for ( Int k=0 ; k<(1<<pCriSEI->m_colourRemapTargetBitDepth) ; k++ )
     400    for ( Int k=0 ; k<(1<<pCriSEI->m_colourRemapBitDepth) ; k++ )
    401401    {
    402402      Int iSample = k;
    403403      for ( Int iPivot=0 ; iPivot<=pCriSEI->m_postLutNumValMinus1[c] ; iPivot++ )
    404404      {
    405         Int iCodedPrev  = pCriSEI->m_postLutCodedValue[c][iPivot];    //Coded in TargetBitdepth
    406         Int iCodedNext  = pCriSEI->m_postLutCodedValue[c][iPivot+1];  //Coded in TargetBitdepth
    407         Int iTargetPrev = pCriSEI->m_postLutTargetValue[c][iPivot];   //Coded in TargetBitdepth
    408         Int iTargetNext = pCriSEI->m_postLutTargetValue[c][iPivot+1]; //Coded in TargetBitdepth
     405        Int iCodedPrev  = pCriSEI->m_postLutCodedValue[c][iPivot];    //Coded in CRBitdepth
     406        Int iCodedNext  = pCriSEI->m_postLutCodedValue[c][iPivot+1];  //Coded in CRBitdepth
     407        Int iTargetPrev = pCriSEI->m_postLutTargetValue[c][iPivot];   //Coded in CRBitdepth
     408        Int iTargetNext = pCriSEI->m_postLutTargetValue[c][iPivot+1]; //Coded in CRBitdepth
    409409        if ( iCodedPrev <= iSample && iSample <= iCodedNext )
    410410        {
     
    486486                    + storeCriSEI[layerId].m_colourRemapCoeffs[0][2]*YUVPre[2]
    487487                    + roundingOffset ) >> ( storeCriSEI[layerId].m_log2MatrixDenom );
    488         YUVMat[0] = Clip3( 0, (1<<storeCriSEI[layerId].m_colourRemapTargetBitDepth)-1, YUVMat[0] );
     488        YUVMat[0] = Clip3( 0, (1<<storeCriSEI[layerId].m_colourRemapBitDepth)-1, YUVMat[0] );
    489489        YUVOut[0][x] = postLut[0][ YUVMat[0] ];
    490490
     
    497497                        + storeCriSEI[layerId].m_colourRemapCoeffs[c][2]*YUVPre[2]
    498498                        + roundingOffset ) >> ( storeCriSEI[layerId].m_log2MatrixDenom );
    499             YUVMat[c] = Clip3( 0, (1<<storeCriSEI[layerId].m_colourRemapTargetBitDepth)-1, YUVMat[c] );
     499            YUVMat[c] = Clip3( 0, (1<<storeCriSEI[layerId].m_colourRemapBitDepth)-1, YUVMat[c] );
    500500            YUVOut[c][x>>1] = postLut[c][ YUVMat[c] ];   
    501501          }
     
    515515    //Write remapped picture in decoding order
    516516    Char  cTemp[255];
    517     sprintf(cTemp, "seiColourRemappedPic_L%d_%dx%d_%dbits.yuv", layerId, iWidth, iHeight, storeCriSEI[layerId].m_colourRemapTargetBitDepth );
    518     picColourRemapped.dump( cTemp, true, storeCriSEI[layerId].m_colourRemapTargetBitDepth );
     517    sprintf(cTemp, "seiColourRemappedPic_L%d_%dx%d_%dbits.yuv", layerId, iWidth, iHeight, storeCriSEI[layerId].m_colourRemapBitDepth );
     518    picColourRemapped.dump( cTemp, true, storeCriSEI[layerId].m_colourRemapBitDepth );
    519519
    520520    picColourRemapped.destroy();
  • branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.cpp

    r857 r868  
    646646  {
    647647    WRITE_FLAG( sei.m_colourRemapPersistenceFlag,              "colour_remap_persistence_flag" );
    648     WRITE_FLAG( sei.m_colourRemapVideoSignalTypePresentFlag,   "colour_remap_video_signal_type_present_flag" );
    649     if ( sei.m_colourRemapVideoSignalTypePresentFlag )
    650     {
    651       WRITE_FLAG( sei.m_colourRemapVideoFullRangeFlag,         "colour_remap_video_full_range_flag" );
     648    WRITE_FLAG( sei.m_colourRemapVideoSignalInfoPresentFlag,   "colour_remap_video_signal_info_present_flag" );
     649    if ( sei.m_colourRemapVideoSignalInfoPresentFlag )
     650    {
     651      WRITE_FLAG( sei.m_colourRemapFullRangeFlag,              "colour_remap_full_range_flag" );
    652652      WRITE_CODE( sei.m_colourRemapPrimaries,               8, "colour_remap_primaries" );
    653       WRITE_CODE( sei.m_colourRemapTransferCharacteristics, 8, "colour_remap_transfer_characteristics" );
    654       WRITE_CODE( sei.m_colourRemapMatrixCoeffs,            8, "colour_remap_matrix_coeffs" );
    655     }
    656     WRITE_CODE( sei.m_colourRemapCodedDataBitDepth,         8, "colour_remap_coded_data_bit_depth" );
    657     WRITE_CODE( sei.m_colourRemapTargetBitDepth,            8, "colour_remap_target_bit_depth" );
     653      WRITE_CODE( sei.m_colourRemapTransferFunction,        8, "colour_remap_transfer_function" );
     654      WRITE_CODE( sei.m_colourRemapMatrixCoefficients,      8, "colour_remap_matrix_coefficients" );
     655    }
     656    WRITE_CODE( sei.m_colourRemapInputBitDepth,             8, "colour_remap_input_bit_depth" );
     657    WRITE_CODE( sei.m_colourRemapBitDepth,                  8, "colour_remap_bit_depth" );
    658658    for( Int c=0 ; c<3 ; c++ )
    659659    {
     
    662662        for( Int i=0 ; i<=sei.m_preLutNumValMinus1[c] ; i++ )
    663663        {
    664           WRITE_CODE( sei.m_preLutCodedValue[c][i],  (( sei.m_colourRemapCodedDataBitDepth + 7 ) >> 3 ) << 3, "pre_lut_coded_value[c][i]" );
    665           WRITE_CODE( sei.m_preLutTargetValue[c][i], (( sei.m_colourRemapTargetBitDepth    + 7 ) >> 3 ) << 3, "pre_lut_target_value[c][i]" );
     664          WRITE_CODE( sei.m_preLutCodedValue[c][i], (( sei.m_colourRemapInputBitDepth + 7 ) >> 3 ) << 3, "pre_lut_coded_value[c][i]" );
     665          WRITE_CODE( sei.m_preLutTargetValue[c][i], (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, "pre_lut_target_value[c][i]" );
    666666        }
    667667    }
     
    681681        for( Int i=0 ; i<=sei.m_postLutNumValMinus1[c] ; i++ )
    682682        {
    683           WRITE_CODE( sei.m_postLutCodedValue[c][i], (( sei.m_colourRemapTargetBitDepth + 7 ) >> 3 ) << 3, "post_lut_coded_value[c][i]" );       
    684           WRITE_CODE( sei.m_postLutTargetValue[c][i], (( sei.m_colourRemapTargetBitDepth + 7 ) >> 3 ) << 3, "post_lut_target_value[c][i]" );
     683          WRITE_CODE( sei.m_postLutCodedValue[c][i], (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, "post_lut_coded_value[c][i]" );       
     684          WRITE_CODE( sei.m_postLutTargetValue[c][i], (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, "post_lut_target_value[c][i]" );
    685685        }
    686686    }
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h

    r856 r868  
    394394  Bool      m_colourRemapSEICancelFlag;
    395395  Bool      m_colourRemapSEIPersistenceFlag;
    396   Bool      m_colourRemapSEIVideoSignalTypePresentFlag;
    397   Bool      m_colourRemapSEIVideoFullRangeFlag;
     396  Bool      m_colourRemapSEIVideoSignalInfoPresentFlag;
     397  Bool      m_colourRemapSEIFullRangeFlag;
    398398  Int       m_colourRemapSEIPrimaries;
    399   Int       m_colourRemapSEITransferCharacteristics;
    400   Int       m_colourRemapSEIMatrixCoeffs;
    401   Int       m_colourRemapSEICodedDataBitDepth;
    402   Int       m_colourRemapSEITargetBitDepth;
     399  Int       m_colourRemapSEITransferFunction;
     400  Int       m_colourRemapSEIMatrixCoefficients;
     401  Int       m_colourRemapSEIInputBitDepth;
     402  Int       m_colourRemapSEIBitDepth;
    403403  Int       m_colourRemapSEIPreLutNumValMinus1[3];
    404404  Int*      m_colourRemapSEIPreLutCodedValue[3];
     
    712712  Void  setCRISEIPersistenceFlag(Bool b)                     { m_colourRemapSEIPersistenceFlag = b; }
    713713  Bool  getCRISEIPersistenceFlag()                           { return m_colourRemapSEIPersistenceFlag; }
    714   Void  setCRISEIVideoSignalTypePresentFlag(Bool b)          { m_colourRemapSEIVideoSignalTypePresentFlag = b; }
    715   Bool  getCRISEIVideoSignalTypePresentFlag()                { return m_colourRemapSEIVideoSignalTypePresentFlag; }
    716   Void  setCRISEIVideoFullRangeFlag(Bool b)                  { m_colourRemapSEIVideoFullRangeFlag = b; }
    717   Bool  getCRISEIVideoFullRangeFlag()                        { return m_colourRemapSEIVideoFullRangeFlag; }
     714  Void  setCRISEIVideoSignalInfoPresentFlag(Bool b)          { m_colourRemapSEIVideoSignalInfoPresentFlag = b; }
     715  Bool  getCRISEIVideoSignalInfoPresentFlag()                { return m_colourRemapSEIVideoSignalInfoPresentFlag; }
     716  Void  setCRISEIFullRangeFlag(Bool b)                       { m_colourRemapSEIFullRangeFlag = b; }
     717  Bool  getCRISEIFullRangeFlag()                             { return m_colourRemapSEIFullRangeFlag; }
    718718  Void  setCRISEIPrimaries(Int i)                            { m_colourRemapSEIPrimaries = i; }
    719719  Int   getCRISEIPrimaries()                                 { return m_colourRemapSEIPrimaries; } 
    720   Void  setCRISEITransferCharacteristics(Int i)              { m_colourRemapSEITransferCharacteristics = i; }
    721   Int   getCRISEITransferCharacteristics()                   { return m_colourRemapSEITransferCharacteristics; } 
    722   Void  setCRISEIMatrixCoeffs(Int i)                         { m_colourRemapSEIMatrixCoeffs = i; }
    723   Int   getCRISEIMatrixCoeffs()                              { return m_colourRemapSEIMatrixCoeffs; }
    724   Void  setCRISEICodedDataBitDepth(Int i)                    { m_colourRemapSEICodedDataBitDepth = i; }
    725   Int   getCRISEICodedDataBitDepth()                         { return m_colourRemapSEICodedDataBitDepth; }
    726   Void  setCRISEITargetBitDepth(Int i)                       { m_colourRemapSEITargetBitDepth = i; }
    727   Int   getCRISEITargetBitDepth()                            { return m_colourRemapSEITargetBitDepth; }
     720  Void  setCRISEITransferFunction(Int i)                     { m_colourRemapSEITransferFunction = i; }
     721  Int   getCRISEITransferFunction()                          { return m_colourRemapSEITransferFunction; } 
     722  Void  setCRISEIMatrixCoefficients(Int i)                   { m_colourRemapSEIMatrixCoefficients = i; }
     723  Int   getCRISEIMatrixCoefficients()                        { return m_colourRemapSEIMatrixCoefficients; }
     724  Void  setCRISEIInputBitDepth(Int i)                        { m_colourRemapSEIInputBitDepth = i; }
     725  Int   getCRISEIInputBitDepth()                             { return m_colourRemapSEIInputBitDepth; }
     726  Void  setCRISEIBitDepth(Int i)                             { m_colourRemapSEIBitDepth = i; }
     727  Int   getCRISEIBitDepth()                                  { return m_colourRemapSEIBitDepth; }
    728728  Void  setCRISEIPreLutNumValMinus1(Int *i)                  { for(Int c=0 ; c<3 ; c++) m_colourRemapSEIPreLutNumValMinus1[c] = i[c]; }
    729729  Int   getCRISEIPreLutNumValMinus1(Int i)                   { return m_colourRemapSEIPreLutNumValMinus1[i]; }
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r860 r868  
    374374  {
    375375    seiColourRemappingInfo->m_colourRemapPersistenceFlag            = m_pcCfg->getCRISEIPersistenceFlag();
    376     seiColourRemappingInfo->m_colourRemapVideoSignalTypePresentFlag = m_pcCfg->getCRISEIVideoSignalTypePresentFlag();
    377     if( seiColourRemappingInfo->m_colourRemapVideoSignalTypePresentFlag )
    378     {
    379       seiColourRemappingInfo->m_colourRemapVideoFullRangeFlag      = m_pcCfg->getCRISEIVideoFullRangeFlag();
     376    seiColourRemappingInfo->m_colourRemapVideoSignalInfoPresentFlag = m_pcCfg->getCRISEIVideoSignalInfoPresentFlag();
     377    if( seiColourRemappingInfo->m_colourRemapVideoSignalInfoPresentFlag )
     378    {
     379      seiColourRemappingInfo->m_colourRemapFullRangeFlag           = m_pcCfg->getCRISEIFullRangeFlag();
    380380      seiColourRemappingInfo->m_colourRemapPrimaries               = m_pcCfg->getCRISEIPrimaries();
    381       seiColourRemappingInfo->m_colourRemapTransferCharacteristics = m_pcCfg->getCRISEITransferCharacteristics();
    382       seiColourRemappingInfo->m_colourRemapMatrixCoeffs            = m_pcCfg->getCRISEIMatrixCoeffs();
    383     }
    384     seiColourRemappingInfo->m_colourRemapCodedDataBitDepth = m_pcCfg->getCRISEICodedDataBitDepth();
    385     seiColourRemappingInfo->m_colourRemapTargetBitDepth    = m_pcCfg->getCRISEITargetBitDepth();
     381      seiColourRemappingInfo->m_colourRemapTransferFunction        = m_pcCfg->getCRISEITransferFunction();
     382      seiColourRemappingInfo->m_colourRemapMatrixCoefficients      = m_pcCfg->getCRISEIMatrixCoefficients();
     383    }
     384    seiColourRemappingInfo->m_colourRemapInputBitDepth             = m_pcCfg->getCRISEIInputBitDepth();
     385    seiColourRemappingInfo->m_colourRemapBitDepth                  = m_pcCfg->getCRISEIBitDepth();
    386386    for( Int c=0 ; c<3 ; c++ )
    387387    {
Note: See TracChangeset for help on using the changeset viewer.