Changeset 1381 in SHVCSoftware


Ignore:
Timestamp:
24 Jul 2015, 21:05:03 (9 years ago)
Author:
seregin
Message:

make scaling list layer-specific

Location:
branches/SHM-dev
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/cfg/encoder_intra_scalable.cfg

    r1322 r1381  
    9696
    9797#=========== Quantization Matrix =================
    98 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    99 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     98#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     99#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    100100
    101101#============ Lossless ================
  • branches/SHM-dev/cfg/encoder_intra_scalable10.cfg

    r1322 r1381  
    9595
    9696#=========== Quantization Matrix =================
    97 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    98 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     97#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     98#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    9999
    100100#============ Lossless ================
  • branches/SHM-dev/cfg/encoder_lowdelay_P_scalable.cfg

    r1322 r1381  
    101101
    102102#=========== Quantization Matrix =================
    103 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    104 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     103#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     104#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    105105
    106106#============ Lossless ================
  • branches/SHM-dev/cfg/encoder_lowdelay_P_scalable10.cfg

    r1322 r1381  
    101101
    102102#=========== Quantization Matrix =================
    103 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    104 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     103#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     104#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    105105
    106106#============ Lossless ================
  • branches/SHM-dev/cfg/encoder_lowdelay_scalable.cfg

    r1322 r1381  
    101101
    102102#=========== Quantization Matrix =================
    103 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    104 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     103#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     104#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    105105
    106106#============ Lossless ================
  • branches/SHM-dev/cfg/encoder_lowdelay_scalable10.cfg

    r1322 r1381  
    101101
    102102#=========== Quantization Matrix =================
    103 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    104 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     103#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     104#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    105105
    106106#============ Lossless ================
  • branches/SHM-dev/cfg/encoder_randomaccess_scalable.cfg

    r1322 r1381  
    105105
    106106#=========== Quantization Matrix =================
    107 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    108 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     107#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     108#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    109109
    110110#============ Lossless ================
  • branches/SHM-dev/cfg/encoder_randomaccess_scalable10.cfg

    r1322 r1381  
    105105
    106106#=========== Quantization Matrix =================
    107 ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
    108 ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
     107#ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     108#ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.
    109109
    110110#============ Lossless ================
  • branches/SHM-dev/cfg/layers.cfg

    r1293 r1381  
    2626WaveFrontSynchro0             : 0           # 0:  No WaveFront synchronisation (WaveFrontSubstreams must be 1 in this case).
    2727                                            # >0: WaveFront synchronises with the LCU above and to the right by this many LCUs.
    28 
     28#=========== Quantization Matrix =================
     29ScalingList0                  : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     30ScalingListFile0              : scaling_list0.txt      # Scaling List file name. If file is not exist, use Default Matrix.
     31                                           
    2932#============= LAYER 1 ==================
    3033QP1                           : 20
     
    4851WaveFrontSynchro1             : 0           # 0:  No WaveFront synchronisation (WaveFrontSubstreams must be 1 in this case).
    4952                                            # >0: WaveFront synchronises with the LCU above and to the right by this many LCUs.
    50 
     53#=========== Quantization Matrix =================
     54ScalingList1                  : 2                      # ScalingList 0 : off, 1 : default, 2 : file read
     55ScalingListFile1              : scaling_list1.txt      # Scaling List file name. If file is not exist, use Default Matrix.
     56                                           
    5157NumLayerSets                  : 2           # Include default layer set, value of 0 not allowed
    5258NumLayerInIdList1             : 2           # 0-th layer set is default, need not specify LayerSetLayerIdList0 or NumLayerInIdList0
  • branches/SHM-dev/cfg/layers_avcbase.cfg

    r1293 r1381  
    4545WaveFrontSynchro1             : 0           # 0:  No WaveFront synchronisation (WaveFrontSubstreams must be 1 in this case).
    4646                                            # >0: WaveFront synchronises with the LCU above and to the right by this many LCUs.
     47#=========== Quantization Matrix =================
     48ScalingList1                  : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
     49ScalingListFile1              : scaling_list1.txt      # Scaling List file name. If file is not exist, use Default Matrix.                                           
    4750
    4851NumLayerSets                  : 2           # Include default layer set, value of 0 not allowed
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r1380 r1381  
    119119, m_snrInternalColourSpace(false)
    120120, m_outputInternalColourSpace(false)
    121 , m_scalingListFile()
    122121, m_elRapSliceBEnabled(0)
    123122{
     
    172171  free(m_pchReconFile);
    173172  free(m_pchdQPFile);
    174 #endif
    175173  free(m_scalingListFile);
     174#endif
    176175}
    177176
     
    900899  Int*    cfg_layerSwitchOffEnd[MAX_LAYERS];
    901900  Int*    cfg_layerPTLIdx[MAX_VPS_LAYER_IDX_PLUS1];
     901  string  cfg_ScalingListFile[MAX_LAYERS];
     902  ScalingListMode*   cfg_UseScalingListId[MAX_LAYERS];
    902903
    903904  for( UInt layer = 0; layer < m_numLayers; layer++ )
     
    989990    cfg_layerSwitchOffBegin[layer]  = &m_apcLayerCfg[layer]->m_layerSwitchOffBegin;
    990991    cfg_layerSwitchOffEnd[layer]    = &m_apcLayerCfg[layer]->m_layerSwitchOffEnd;
    991     cfg_layerPTLIdx[layer]          = &m_apcLayerCfg[layer]->m_layerPTLIdx;
     992    cfg_layerPTLIdx[layer]          = &m_apcLayerCfg[layer]->m_layerPTLIdx;
     993
     994    cfg_UseScalingListId[layer]     = &m_apcLayerCfg[layer]->m_useScalingListId;
    992995  }
    993996
     
    10251028  string cfg_colourRemapSEIFileRoot;
    10261029#endif
     1030  string cfg_ScalingListFile;
    10271031#endif //SVC_EXTENSION
    1028   string cfg_ScalingListFile;
    10291032
    10301033  Int tmpChromaFormat;
     
    14591462#if SVC_EXTENSION
    14601463  ("WaveFrontSynchro%d",                              cfg_waveFrontSynchro,                   0,  m_numLayers, "0: no synchro; 1 synchro with TR; 2 TRR etc")
     1464  ("ScalingList%d",                                   cfg_UseScalingListId,     SCALING_LIST_OFF, m_numLayers, "0/off: no scaling list, 1/default: default scaling lists, 2/file: scaling lists specified in ScalingListFile")
     1465  ("ScalingListFile%d",                               cfg_ScalingListFile,            string(""), m_numLayers, "Scaling list file name. Use an empty string to produce help.")
    14611466#else
    14621467  ("WaveFrontSynchro",                                m_iWaveFrontSynchro,                                  0, "0: no synchro; 1 synchro with top-right-right")
    1463 #endif
    14641468  ("ScalingList",                                     m_useScalingListId,                    SCALING_LIST_OFF, "0/off: no scaling list, 1/default: default scaling lists, 2/file: scaling lists specified in ScalingListFile")
    14651469  ("ScalingListFile",                                 cfg_ScalingListFile,                         string(""), "Scaling list file name. Use an empty string to produce help.")
     1470#endif
    14661471  ("SignHideFlag,-SBH",                               m_signHideFlag,                                    true)
    14671472  ("MaxNumMergeCand",                                 m_maxNumMergeCand,                                   5u, "Maximum number of merge candidates")
     
    18971902    m_tileRowHeight.clear();
    18981903  }
    1899 
    1900   m_scalingListFile = cfg_ScalingListFile.empty() ? NULL : strdup(cfg_ScalingListFile.c_str());
    1901 
    1902 
    1903  
     1904   
    19041905  /* rules for input, output and internal bitdepths as per help text */
    19051906#if SVC_EXTENSION
    19061907  for( Int layer = 0; layer < m_numLayers; layer++ )
    19071908  {
     1909    m_apcLayerCfg[layer]->m_scalingListFile = cfg_ScalingListFile[layer].empty() ? NULL : strdup(cfg_ScalingListFile[layer].c_str());
     1910
    19081911    if( m_apcLayerCfg[layer]->m_layerId < 0 )
    19091912    {
     
    20262029  }
    20272030#else
     2031  m_scalingListFile = cfg_ScalingListFile.empty() ? NULL : strdup(cfg_ScalingListFile.c_str());
     2032
    20282033 /* rules for input, output and internal bitdepths as per help text */
    20292034  if (m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA  ] == 0)
     
    43794384  }
    43804385  printf("=== Common configuration settings === \n");
    4381   printf("Bitstream      File               : %s\n", m_pchBitstreamFile      );
     4386  printf("Bitstream File                         : %s\n", m_pchBitstreamFile      );
    43824387#else //SVC_EXTENSION
    43834388  printf("\n");
     
    45634568  printf(" WaveFrontSynchro:%d WaveFrontSubstreams:%d",
    45644569          m_iWaveFrontSynchro, iWaveFrontSubstreams);
    4565 #endif
    45664570  printf(" ScalingList:%d ", m_useScalingListId );
     4571#endif
    45674572  printf("TMVPMode:%d ", m_TMVPModeId     );
    45684573#if ADAPTIVE_QP_SELECTION
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h

    r1377 r1381  
    400400  Bool      m_RCForceIntraQP;                     ///< force all intra picture to use initial QP or not
    401401#endif
     402#if !SVC_EXTENSION
    402403  ScalingListMode m_useScalingListId;                         ///< using quantization matrix
    403404  Char*     m_scalingListFile;                                ///< quantization matrix file name
     405#endif
    404406
    405407  Bool      m_TransquantBypassEnableFlag;                     ///< transquant_bypass_enable_flag setting in PPS.
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp

    r1290 r1381  
    4242#if SVC_EXTENSION
    4343TAppEncLayerCfg::TAppEncLayerCfg()
    44   :m_cInputFile(string("")),
    45   m_cReconFile(string("")),
    46   m_conformanceMode( 0 ),
    47   m_aidQP(NULL),
    48   m_repFormatIdx (-1)
    49 #if Q0074_COLOUR_REMAPPING_SEI
    50 ,  m_colourRemapSEIFileRoot(string(""))
     44: m_cInputFile(string(""))
     45, m_cReconFile(string(""))
     46, m_conformanceMode( 0 )
     47, m_scalingListFile(NULL)
     48, m_aidQP(NULL)
     49, m_repFormatIdx(-1)
     50#if Q0074_COLOUR_REMAPPING_SEI
     51, m_colourRemapSEIFileRoot(string(""))
    5152#endif
    5253{
     
    108109  }
    109110#endif
     111  free(m_scalingListFile);
    110112}
    111113
     
    270272  const Int iWaveFrontSubstreams = m_waveFrontSynchro ? (m_iSourceHeight + m_uiMaxCUHeight - 1) / m_uiMaxCUHeight : 1;
    271273  printf("WaveFrontSubstreams               : %d\n", iWaveFrontSubstreams);
    272   printf("PCM                               : %d ", (m_cAppEncCfg->getUsePCM() && (1<<m_cAppEncCfg->getPCMLog2MinSize()) <= m_uiMaxCUWidth)? 1 : 0);
     274  printf("ScalingList                       : %d\n", m_useScalingListId );
     275  printf("PCM                               : %d\n", (m_cAppEncCfg->getUsePCM() && (1<<m_cAppEncCfg->getPCMLog2MinSize()) <= m_uiMaxCUWidth)? 1 : 0);
    273276}
    274277
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.h

    r1375 r1381  
    8787#endif
    8888
     89  ScalingListMode m_useScalingListId;                         ///< using quantization matrix
     90  Char*     m_scalingListFile;                                ///< quantization matrix file name
     91
    8992  Int       m_maxTidIlRefPicsPlus1;
    9093  Int       m_waveFrontSynchro;                   ///< 0: no WPP. >= 1: WPP is enabled, the "Top right" from which inheritance occurs is this LCU offset in the line above the current.
     
    9295
    9396  Int       m_iQP;                                            ///< QP value of key-picture (integer)
    94   char*     m_pchdQPFile;                                     ///< QP offset for each slice (initialized from external file)
     97  Char*     m_pchdQPFile;                                     ///< QP offset for each slice (initialized from external file)
    9598  Int*      m_aidQP;                                          ///< array of slice QP values
    9699  TAppEncCfg* m_cAppEncCfg;                                   ///< pointer to app encoder config
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r1378 r1381  
    487487    Int           m_RCInitialQP                                = m_apcLayerCfg[layer]->getRCInitialQP();
    488488    Bool          m_RCForceIntraQP                             = m_apcLayerCfg[layer]->getRCForceIntraQP();
     489
     490    ScalingListMode m_useScalingListId                         = m_apcLayerCfg[layer]->m_useScalingListId;
     491    Char*         m_scalingListFile                            = m_apcLayerCfg[layer]->m_scalingListFile;
    489492#endif
    490493
Note: See TracChangeset for help on using the changeset viewer.