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


Ignore:
Timestamp:
8 Oct 2013, 11:25:37 (11 years ago)
Author:
sony
Message:

IL_SL_SIGNALLING_N0371

Location:
branches/SHM-3.1-dev/source/Lib/TLibCommon
Files:
7 edited

Legend:

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

    r370 r414  
    526526Int g_mvScalingFactor  [MAX_LAYERS][2] = {{0,0}, {0,0}};
    527527Int g_posScalingFactor [MAX_LAYERS][2] = {{0,0}, {0,0}};
     528
     529#if IL_SL_SIGNALLING_N0371
     530Int ref_scalingListDC         [MAX_LAYERS][SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM];
     531Int ref_scalingListCoef       [MAX_LAYERS][SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM][MAX_MATRIX_COEF_NUM];
     532Int activeRefPPSId            [MAX_LAYERS];
     533Int activeRefSPSId            [MAX_LAYERS];
     534#endif
    528535#endif
    529536
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TComRom.h

    r370 r414  
    282282extern Int g_mvScalingFactor  [MAX_LAYERS][2];
    283283extern Int g_posScalingFactor [MAX_LAYERS][2];
     284
     285#if IL_SL_SIGNALLING_N0371
     286extern Int ref_scalingListDC         [MAX_LAYERS][SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM];
     287extern Int ref_scalingListCoef       [MAX_LAYERS][SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM][MAX_MATRIX_COEF_NUM];
     288extern Int activeRefPPSId            [MAX_LAYERS];
     289extern Int activeRefSPSId            [MAX_LAYERS]; 
     290#endif   
    284291#endif
    285292
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TComSlice.cpp

    r412 r414  
    4646
    4747#if SVC_EXTENSION
    48   ParameterSetMap<TComVPS> ParameterSetManager::m_vpsMap(MAX_NUM_VPS);
    49   Int ParameterSetManager::m_activeVPSId = -1;
     48ParameterSetMap<TComVPS> ParameterSetManager::m_vpsMap(MAX_NUM_VPS);
     49Int ParameterSetManager::m_activeVPSId = -1;
     50#if IL_SL_SIGNALLING_N0371
     51TComSPS* TComSPS::m_pcSPS[MAX_LAYERS];
     52TComPPS* TComPPS::m_pcPPS[MAX_LAYERS];
     53#endif
    5054#endif
    5155
     
    18791883}
    18801884#endif
     1885<<<<<<< .mine
     1886
     1887#if IL_SL_SIGNALLING_N0371
     1888Bool TComVPS::checkLayerDependency(UInt i, UInt j)
     1889{
     1890  if( this->getDirectDependencyFlag(i, j) == true )
     1891  {                                                                                                                                   
     1892    return true;                                                                                                                       
     1893  }                                                                                                                                   
     1894  else                                                                                                                                   
     1895  {                                                                                                                                   
     1896    for(UInt k=i-1; k>j; k--)
     1897    {                                                                                                                               
     1898      if( this->getDirectDependencyFlag(i, k) == true )
     1899      {                                                                                                                           
     1900        checkLayerDependency( k,j );                                                                                           
     1901      }
     1902    }
     1903  }
     1904  return false;       
     1905}
     1906#endif
     1907
     1908=======
    18811909#if VIEW_ID_RELATED_SIGNALING
    18821910Int TComVPS::getNumViews()
     
    19121940}
    19131941#endif
     1942>>>>>>> .r413
    19141943// ------------------------------------------------------------------------------------------------
    19151944// Sequence parameter set (SPS)
     
    23822411/** set default quantization matrix to array
    23832412*/
     2413#if IL_SL_SIGNALLING_N0371
     2414Void TComSlice::setDefaultScalingList( UInt layerId )
     2415#else
    23842416Void TComSlice::setDefaultScalingList()
     2417#endif
    23852418{
    23862419  for(UInt sizeId = 0; sizeId < SCALING_LIST_SIZE_NUM; sizeId++)
     
    23882421    for(UInt listId=0;listId<g_scalingListNum[sizeId];listId++)
    23892422    {
     2423#if IL_SL_SIGNALLING_N0371
     2424      getScalingList()->processDefaultMarix(sizeId, listId, layerId);
     2425#else
    23902426      getScalingList()->processDefaultMarix(sizeId, listId);
     2427#endif
    23912428    }
    23922429  }
     
    24492486    {
    24502487      src = getScalingListAddress(sizeIdc, listIdc);
    2451 
    24522488      fseek(fp,0,0);
    24532489      do
     
    25632599 * \param Index of input matrix
    25642600 */
     2601#if IL_SL_SIGNALLING_N0371
     2602Void TComScalingList::processDefaultMarix(UInt sizeId, UInt listId, UInt layerId)
     2603#else
    25652604Void TComScalingList::processDefaultMarix(UInt sizeId, UInt listId)
    2566 {
     2605#endif
     2606{
     2607#if IL_SL_SIGNALLING_N0371
     2608  Int i,coefNum = min(MAX_MATRIX_COEF_NUM,(Int)g_scalingListSize[sizeId]);
     2609  UInt* scan  = (sizeId == 0) ? g_auiSigLastScan [ SCAN_DIAG ] [ 1 ] :  g_sigLastScanCG32x32;
     2610  Int *src = getScalingListDefaultAddress(sizeId, listId);   
     2611#endif
     2612
    25672613  ::memcpy(getScalingListAddress(sizeId, listId),getScalingListDefaultAddress(sizeId,listId),sizeof(Int)*min(MAX_MATRIX_COEF_NUM,(Int)g_scalingListSize[sizeId]));
     2614
     2615#if IL_SL_SIGNALLING_N0371
     2616  for(i = 0; i < coefNum; i++)
     2617  {
     2618    ref_scalingListCoef[layerId][sizeId][listId][i] = src[scan[i]];
     2619  }
     2620#endif
     2621
    25682622  setScalingListDC(sizeId,listId,SCALING_LIST_DC);
     2623#if IL_SL_SIGNALLING_N0371
     2624  ref_scalingListDC[layerId][sizeId][listId] = SCALING_LIST_DC;
     2625#endif
    25692626}
    25702627
    25712628/** check DC value of matrix for default matrix signaling
    25722629 */
     2630#if IL_SL_SIGNALLING_N0371
     2631Void TComScalingList::checkDcOfMatrix( UInt layerId )
     2632#else
    25732633Void TComScalingList::checkDcOfMatrix()
     2634#endif
    25742635{
    25752636  for(UInt sizeId = 0; sizeId < SCALING_LIST_SIZE_NUM; sizeId++)
     
    25802641      if(getScalingListDC(sizeId,listId) == 0)
    25812642      {
     2643#if IL_SL_SIGNALLING_N0371
     2644        processDefaultMarix(sizeId, listId, layerId);
     2645#else
    25822646        processDefaultMarix(sizeId, listId);
     2647#endif
    25832648      }
    25842649    }
     
    26612726        m_activeVPSId = vpsId;
    26622727        m_activeSPSId = spsId;
     2728
     2729#if IL_SL_SIGNALLING_N0371
     2730        activeRefPPSId[ sps->getLayerId() ] = ppsId;
     2731        activeRefSPSId[ sps->getLayerId() ] = spsId;
     2732#endif
     2733
    26632734        return true;
    26642735      }
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TComSlice.h

    r411 r414  
    156156  Void     setScalingListPresentFlag    (Bool b)                               { m_scalingListPresentFlag = b;    }
    157157  Bool     getScalingListPresentFlag    ()                                     { return m_scalingListPresentFlag; }
     158
     159#if IL_SL_SIGNALLING_N0371
     160  UInt     m_layerId;
     161
     162  Void     setPredScalingListFlag    (Bool b)                               { m_predScalingListFlag = b;    }
     163  Bool     getPredScalingListFlag    ()                                     { return m_predScalingListFlag; }
     164  Void     setScalingListRefLayerId  (UInt b)                               { m_scalingListRefLayerId = b;  }
     165  UInt     getScalingListRefLayerId  ()                                     { return m_scalingListRefLayerId; }
     166#endif
     167
    158168  Bool     getUseTransformSkip    ()                                     { return m_useTransformSkip; }     
    159169  Void     setUseTransformSkip    (Bool b)                               { m_useTransformSkip = b;    }
     170
    160171  Int*     getScalingListAddress          (UInt sizeId, UInt listId)           { return m_scalingListCoef[sizeId][listId]; } //!< get matrix coefficient
     172
    161173  Bool     checkPredMode                  (UInt sizeId, UInt listId);
     174
    162175  Void     setRefMatrixId                 (UInt sizeId, UInt listId, UInt u)   { m_refMatrixId[sizeId][listId] = u;    }     //!< set reference matrix ID
    163176  UInt     getRefMatrixId                 (UInt sizeId, UInt listId)           { return m_refMatrixId[sizeId][listId]; }     //!< get reference matrix ID
    164177  Int*     getScalingListDefaultAddress   (UInt sizeId, UInt listId);                                                        //!< get default matrix coefficient
     178
     179#if IL_SL_SIGNALLING_N0371
     180  Void     processDefaultMarix            (UInt sizeId, UInt listId, UInt layerId );
     181#else
    165182  Void     processDefaultMarix            (UInt sizeId, UInt listId);
     183#endif
     184
    166185  Void     setScalingListDC               (UInt sizeId, UInt listId, UInt u)   { m_scalingListDC[sizeId][listId] = u; }      //!< set DC value
    167186
    168187  Int      getScalingListDC               (UInt sizeId, UInt listId)           { return m_scalingListDC[sizeId][listId]; }   //!< get DC value
     188
     189#if IL_SL_SIGNALLING_N0371
     190  Void     setLayerId(UInt layerId) { m_layerId = layerId; }
     191  UInt     getLayerId() { return m_layerId; }
     192  Void     checkDcOfMatrix                ( UInt m_layerId );
     193#else
    169194  Void     checkDcOfMatrix                ();
     195#endif
     196
    170197  Void     processRefMatrix               (UInt sizeId, UInt listId , UInt refListId );
    171198  Bool     xParseScalingList              (Char* pchFile);
     
    174201  Void     init                    ();
    175202  Void     destroy                 ();
     203
    176204  Int      m_scalingListDC               [SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM]; //!< the DC value of the matrix coefficient for 16x16
    177205  Bool     m_useDefaultScalingMatrixFlag [SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM]; //!< UseDefaultScalingMatrixFlag
    178206  UInt     m_refMatrixId                 [SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM]; //!< RefMatrixID
    179207  Bool     m_scalingListPresentFlag;                                                //!< flag for using default matrix
     208
     209#if IL_SL_SIGNALLING_N0371
     210  Bool     m_predScalingListFlag;                                                   //!< flag for inter-layer scaling-list prediction
     211  UInt     m_scalingListRefLayerId;                                                 //!< scaling_list_ref_layer_id 
     212#endif
     213
    180214  UInt     m_predMatrixId                [SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM]; //!< reference list index
     215
    181216  Int      *m_scalingListCoef            [SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM]; //!< quantization matrix
     217
    182218  Bool     m_useTransformSkip;                                                      //!< transform skipping flag for setting default scaling matrix for 4x4
    183219};
     
    469505  Int         m_numLayerInIdList[MAX_VPS_LAYER_SETS_PLUS1];
    470506#endif
     507#if IL_SL_SIGNALLING_N0371
     508  Bool        m_scalingListLayerDependency[MAX_LAYERS][MAX_LAYERS];  // layer dependency for scaling list
     509#endif
    471510  TComPTL     m_pcPTL;
    472511  TimingInfo  m_timingInfo;
     
    554593  Int         m_avgPicRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    555594#endif
     595<<<<<<< .mine
     596
     597=======
    556598#if REPN_FORMAT_IN_VPS
    557599  Bool       m_repFormatIdxPresentFlag;
     
    564606  Int         m_viewIdVal                [MAX_LAYERS];
    565607#endif
     608>>>>>>> .r413
    566609public:
    567610  TComVPS();
     
    629672  Void    deriveLayerIdListVariables();
    630673#endif
     674
     675#if IL_SL_SIGNALLING_N0371
     676  Bool    checkLayerDependency(UInt i, UInt j);
     677  Bool    getScalingListLayerDependency  ( UInt layerId, UInt refLayerId )            { return m_scalingListLayerDependency[layerId][refLayerId]; }
     678  Void    setScalingListLayerDependency  ( UInt layerId, UInt refLayerId, Bool val  ) { m_scalingListLayerDependency[layerId][refLayerId] = val;  }
     679#endif
     680
    631681  TComPTL* getPTL() { return &m_pcPTL; }
    632682  TimingInfo* getTimingInfo() { return &m_timingInfo; }
     
    10831133  Bool        m_scalingListEnabledFlag;
    10841134  Bool        m_scalingListPresentFlag;
     1135
    10851136  TComScalingList*     m_scalingList;   //!< ScalingList class pointer
     1137
    10861138  UInt        m_uiMaxDecPicBuffering[MAX_TLAYER];
    10871139  UInt        m_uiMaxLatencyIncrease[MAX_TLAYER];  // Really max latency increase plus 1 (value 0 expresses no limit)
     
    11071159#if SVC_EXTENSION
    11081160  UInt m_layerId;
     1161
     1162#if IL_SL_SIGNALLING_N0371
     1163  TComVPS*    m_pVPS;
     1164  static TComSPS* m_pcSPS[MAX_LAYERS];
     1165  Bool        m_predScalingListFlag;
     1166  UInt        m_scalingListRefLayerId;
     1167#endif
     1168
    11091169#endif
    11101170#if REF_IDX_MFM
     
    12291289  Bool getScalingListPresentFlag()         { return m_scalingListPresentFlag;     }
    12301290  Void setScalingListPresentFlag( Bool b ) { m_scalingListPresentFlag  = b;       }
     1291
     1292#if IL_SL_SIGNALLING_N0371
     1293  Bool getPredScalingListFlag()         { return m_predScalingListFlag;     }
     1294  Void setPredScalingListFlag( Bool b ) { m_predScalingListFlag  = b;       }
     1295  UInt getScalingListRefLayerId()         { return m_scalingListRefLayerId;   }
     1296  Void setScalingListRefLayerId( UInt b ) { m_scalingListRefLayerId  = b;       }
     1297
     1298  TComVPS*  getVPS()                      { return  m_pVPS; }
     1299  Void      setVPS( TComVPS* vps )        { m_pVPS = vps;   }
     1300  static   TComSPS* getSPS(UInt layerId)               { return m_pcSPS[layerId]; }
     1301  static   Void     setSPS(UInt layerId, TComSPS* sps) { m_pcSPS[layerId] = sps;  }
     1302#endif
     1303
    12311304  Void setScalingList      ( TComScalingList *scalingList);
    12321305  TComScalingList* getScalingList ()       { return m_scalingList; }               //!< get ScalingList class pointer in SPS
     1306
    12331307  UInt getMaxDecPicBuffering  (UInt tlayer)            { return m_uiMaxDecPicBuffering[tlayer]; }
    12341308  Void setMaxDecPicBuffering  ( UInt ui, UInt tlayer ) { m_uiMaxDecPicBuffering[tlayer] = ui;   }
     
    13641438  Int      m_deblockingFilterTcOffsetDiv2;      //< tc offset for deblocking filter
    13651439  Bool     m_scalingListPresentFlag;
     1440
     1441#if SVC_EXTENSION
     1442  UInt m_layerId;
     1443
     1444#if IL_SL_SIGNALLING_N0371
     1445  static TComPPS* m_pcPPS[MAX_LAYERS];
     1446  Bool     m_predScalingListFlag;
     1447  UInt     m_scalingListRefLayerId;
     1448#endif
     1449
     1450#endif
     1451
    13661452  TComScalingList*     m_scalingList;   //!< ScalingList class pointer
     1453
    13671454  Bool m_listsModificationPresentFlag;
    13681455  UInt m_log2ParallelMergeLevelMinus2;
     
    14781565  Bool     getScalingListPresentFlag()         { return m_scalingListPresentFlag;     }
    14791566  Void     setScalingListPresentFlag( Bool b ) { m_scalingListPresentFlag  = b;       }
     1567
     1568#if IL_SL_SIGNALLING_N0371
     1569  Void     setLayerId(UInt layerId) { m_layerId = layerId; }
     1570  UInt     getLayerId() { return m_layerId; }
     1571
     1572  Bool     getPredScalingListFlag()         { return m_predScalingListFlag;     }
     1573  Void     setPredScalingListFlag( Bool b ) { m_predScalingListFlag  = b;       }
     1574  UInt     getScalingListRefLayerId()         { return m_scalingListRefLayerId;     }
     1575  Void     setScalingListRefLayerId( UInt b ) { m_scalingListRefLayerId  = b;       }
     1576
     1577  static   TComPPS* getPPS(UInt layerId)               { return m_pcPPS[layerId]; }
     1578  static   Void     setPPS(UInt layerId, TComPPS* pps) { m_pcPPS[layerId] = pps;  }
     1579#endif
     1580
    14801581  Void     setScalingList      ( TComScalingList *scalingList);
    14811582  TComScalingList* getScalingList ()          { return m_scalingList; }         //!< get ScalingList class pointer in PPS
     
    18791980  Void  setScalingList              ( TComScalingList* scalingList ) { m_scalingList = scalingList; }
    18801981  TComScalingList*   getScalingList ()                               { return m_scalingList; }
     1982
     1983#if IL_SL_SIGNALLING_N0371
     1984  Void  setDefaultScalingList       ( UInt m_layerId );
     1985#else
    18811986  Void  setDefaultScalingList       ();
     1987#endif
     1988
    18821989  Bool  checkDefaultScalingList     ();
    18831990  Void      setCabacInitFlag  ( Bool val ) { m_cabacInitFlag = val;      }  //!< set CABAC initial flag
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TComTrQuant.cpp

    r389 r414  
    24942494/** set flat matrix value to quantized coefficient
    24952495 */
     2496#if IL_SL_SIGNALLING_N0371
     2497Void TComTrQuant::setFlatScalingList( UInt m_layerId )
     2498#else
    24962499Void TComTrQuant::setFlatScalingList()
     2500#endif
    24972501{
    24982502  UInt size,list;
     
    25032507    for(list = 0; list <  g_scalingListNum[size]; list++)
    25042508    {
     2509#if IL_SL_SIGNALLING_N0371
     2510      ref_scalingListDC[m_layerId][size][list] = SCALING_LIST_DC;
     2511      for(UInt i=0; i<MAX_MATRIX_COEF_NUM; i++)
     2512      {
     2513        ref_scalingListCoef[m_layerId][size][list][i] = SCALING_LIST_DC;
     2514      }
     2515#endif
     2516
    25052517      for(qp=0;qp<SCALING_LIST_REM_NUM;qp++)
    25062518      {
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TComTrQuant.h

    r313 r414  
    181181  Void setUseScalingList   ( Bool bUseScalingList){ m_scalingListEnabledFlag = bUseScalingList; };
    182182  Bool getUseScalingList   (){ return m_scalingListEnabledFlag; };
     183
     184#if IL_SL_SIGNALLING_N0371
     185  Void setFlatScalingList  ( UInt m_layerId );
     186#else
    183187  Void setFlatScalingList  ();
     188#endif
     189
    184190  Void xsetFlatScalingList ( UInt list, UInt size, UInt qp);
    185191  Void xSetScalingListEnc  ( TComScalingList *scalingList, UInt list, UInt size, UInt qp);
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TypeDef.h

    r413 r414  
    6060#define TEMP_SCALABILITY_FIX             1      ///< fix for temporal scalability
    6161#endif
     62<<<<<<< .mine
     63#define IL_SL_SIGNALLING_N0371           1      ///< JCTVC-N0371: inter-layer scaling list
     64#define M0464_TILE_BOUNDARY_ALIGNED_FLAG 0      ///< VUI flag to indicate tile boundary alignment
     65=======
     66>>>>>>> .r413
    6267#define M0463_VUI_EXT_ILP_REF            0      ///< VUI extension inter-layer dependency offset signalling
    6368#define SPS_EXTENSION                    1      ///< Define sps_extension() syntax structure
Note: See TracChangeset for help on using the changeset viewer.