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


Ignore:
Timestamp:
17 Dec 2013, 10:27:32 (11 years ago)
Author:
qualcomm
Message:

DPB-information for output layer sets in the VPS extension. (MACRO: VPS_DPB_SIZE_TABLE)

Includes DPB-table signaling for output layer sets in the VPS extension.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-4.1-dev/source/Lib/TLibCommon
Files:
3 edited

Legend:

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

    r507 r516  
    946946    numRpsCurrTempList += getNumILRRefIdx();
    947947#endif
    948   }
     948}
    949949#endif
    950950
     
    21442144  }
    21452145#endif
     2146#if VPS_DPB_SIZE_TABLE
     2147  ::memset( m_subLayerFlagInfoPresentFlag,  0, sizeof(m_subLayerFlagInfoPresentFlag ) );
     2148  ::memset( m_subLayerDpbInfoPresentFlag,   0, sizeof(m_subLayerDpbInfoPresentFlag )  );
     2149  ::memset( m_maxVpsDecPicBufferingMinus1,  0, sizeof(m_maxVpsDecPicBufferingMinus1 ) );
     2150  ::memset( m_maxVpsNumReorderPics,         0, sizeof(m_maxVpsNumReorderPics )        );
     2151  ::memset( m_maxVpsLatencyIncreasePlus1,   0, sizeof(m_maxVpsLatencyIncreasePlus1 )  );
     2152  ::memset( m_numSubDpbs                ,   0, sizeof(m_numSubDpbs)                   );
     2153#endif
    21462154}
    21472155#else
     
    21932201    }
    21942202    setNumLayersInIdList(i, n);
     2203  }
     2204}
     2205#endif
     2206#if VPS_DPB_SIZE_TABLE
     2207Void TComVPS::deriveNumberOfSubDpbs()
     2208{
     2209  // Derive number of sub-DPBs
     2210  // For output layer set 0
     2211  setNumSubDpbs(0, 1);
     2212  // For other output layer sets
     2213  for( Int i = 1; i < getNumOutputLayerSets(); i++)
     2214  {
     2215    setNumSubDpbs( i, getNumLayersInIdList( getOutputLayerSetIdx(i)) );
    21952216  }
    21962217}
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TComSlice.h

    r514 r516  
    642642  Bool       m_recursiveRefLayerFlag[MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS];  // flag to indicate if j-th layer is a direct or indirect reference layer of i-th layer
    643643#endif
     644#if VPS_DPB_SIZE_TABLE
     645  Bool    m_subLayerFlagInfoPresentFlag [MAX_VPS_OP_LAYER_SETS_PLUS1];
     646  Bool    m_subLayerDpbInfoPresentFlag  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
     647  Int     m_maxVpsDecPicBufferingMinus1 [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS][MAX_TLAYER];
     648  Int     m_maxVpsNumReorderPics        [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
     649  Int     m_maxVpsLatencyIncreasePlus1  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
     650  Int     m_numSubDpbs                  [MAX_VPS_OP_LAYER_SETS_PLUS1];
     651#endif
    644652#endif //SVC_EXTENSION
    645653public:
     
    707715  Void    deriveLayerIdListVariables();
    708716#endif
    709 
     717#if VPS_DPB_SIZE_TABLE
     718Void      deriveNumberOfSubDpbs();
     719#endif
    710720#if IL_SL_SIGNALLING_N0371
    711721  Bool    checkLayerDependency(UInt i, UInt j);
     
    928938  Bool   getPhaseAlignFlag()                             { return m_phaseAlignFlag; }
    929939  Void   setPhaseAlignFlag(Bool x)                       { m_phaseAlignFlag = x;    }
     940#endif
     941#if VPS_DPB_SIZE_TABLE
     942  Bool    getSubLayerFlagInfoPresentFlag(Int i)         {return m_subLayerFlagInfoPresentFlag[i]; }
     943  Void    setSubLayerFlagInfoPresentFlag(Int i, Bool x) {m_subLayerFlagInfoPresentFlag[i] = x;    }
     944
     945  Bool    getSubLayerDpbInfoPresentFlag(Int i, Int j)         {return m_subLayerDpbInfoPresentFlag[i][j]; }
     946  Void    setSubLayerDpbInfoPresentFlag(Int i, Int j, Bool x) {m_subLayerDpbInfoPresentFlag[i][j] = x;    }
     947
     948  Int     getMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j)         { return m_maxVpsDecPicBufferingMinus1[i][k][j]; }
     949  Void    setMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j, Int x) { m_maxVpsDecPicBufferingMinus1[i][k][j] = x;    }
     950
     951  Int     getMaxVpsNumReorderPics(Int i, Int j)         { return m_maxVpsNumReorderPics[i][j]; }
     952  Void    setMaxVpsNumReorderPics(Int i, Int j, Int x) { m_maxVpsNumReorderPics[i][j] = x;    }
     953
     954  Int     getMaxVpsLatencyIncreasePlus1(Int i, Int j)         { return m_maxVpsLatencyIncreasePlus1[i][j]; }
     955  Void    setMaxVpsLatencyIncreasePlus1(Int i, Int j, Int x) { m_maxVpsLatencyIncreasePlus1[i][j] = x;    }
     956
     957  Int     getNumSubDpbs(Int i)                          { return m_numSubDpbs[i]; }
     958  Void    setNumSubDpbs(Int i, Int x)                   { m_numSubDpbs[i] = x;    }
    930959#endif
    931960#endif //SVC_EXTENSION
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TypeDef.h

    r515 r516  
    188188#define O0153_ALT_OUTPUT_LAYER_FLAG      1      ///< JCTVC-O0153: alt output layer flag
    189189
     190#define VPS_DPB_SIZE_TABLE               1      ///< JCTVC-O0217: DPB operations: signaling DPB-related parameters
    190191#else
    191192#define SYNTAX_OUTPUT                    0
     
    206207#define MAX_VPS_NUM_SCALABILITY_TYPES             16
    207208#endif
     209#define MAX_VPS_OP_LAYER_SETS_PLUS1               3
    208210#if VPS_RENAME
    209211#define MAX_VPS_LAYER_SETS_PLUS1                  1024
Note: See TracChangeset for help on using the changeset viewer.