Changeset 941 in SHVCSoftware for branches/SHM-dev/source/Lib
- Timestamp:
- 30 Dec 2014, 18:47:09 (11 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 5 edited
-
TLibCommon/TComSlice.h (modified) (5 diffs)
-
TLibCommon/TypeDef.h (modified) (1 diff)
-
TLibDecoder/TDecCAVLC.cpp (modified) (5 diffs)
-
TLibDecoder/TDecTop.cpp (modified) (2 diffs)
-
TLibEncoder/TEncCavlc.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r908 r941 582 582 Bool m_layerIdIncludedFlag[MAX_VPS_OP_SETS_PLUS1][MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1]; 583 583 #endif 584 #if !MULTIPLE_PTL_SUPPORT 584 585 TComPTL m_pcPTL; 586 #else 587 TComPTL m_pcPTLList[NUM_POSSIBLE_LEVEL]; 588 #endif 585 589 TimingInfo m_timingInfo; 586 590 … … 649 653 UInt m_profileLayerSetRef[MAX_VPS_LAYER_SETS_PLUS1]; // The value with index 0 will not be used. 650 654 #endif 651 std::vector<TComPTL> m_pcPTLForExtn; 655 #if !MULTIPLE_PTL_SUPPORT 656 std::vector<TComPTL> m_pcPTLForExtn; 657 #endif 652 658 #endif 653 659 #if VPS_EXTN_OP_LAYER_SETS … … 964 970 Void setLayerIdIncludedFlag(Bool v, UInt opsIdx, UInt id) { m_layerIdIncludedFlag[opsIdx][id] = v; } 965 971 972 #if !MULTIPLE_PTL_SUPPORT 966 973 TComPTL* getPTL() { return &m_pcPTL; } 974 #else 975 TComPTL* getPTL() { return &m_pcPTLList[0]; } 976 TComPTL* getPTL(UInt idx) { return &m_pcPTLList[idx]; } 977 #endif 967 978 TimingInfo* getTimingInfo() { return &m_timingInfo; } 968 979 … … 1065 1076 #endif 1066 1077 1078 #if !MULTIPLE_PTL_SUPPORT 1067 1079 std::vector<TComPTL>* getPTLForExtnPtr() { return &m_pcPTLForExtn; } 1068 1080 TComPTL* getPTLForExtn(Int id) { return &m_pcPTLForExtn[id]; } 1081 #endif 1069 1082 #endif 1070 1083 #if VPS_EXTN_OP_LAYER_SETS … … 1132 1145 Int getProfileLevelTierIdx(Int const olsIdx, Int const layerIdx) { return m_profileLevelTierIdx[olsIdx][layerIdx]; } 1133 1146 Void setProfileLevelTierIdx(Int const olsIdx, Int const layerIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx][layerIdx] = ptlIdx; } 1147 #if MULTIPLE_PTL_SUPPORT 1148 Void addProfileLevelTierIdx(Int const olsIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx].push_back(ptlIdx); } 1149 #endif 1134 1150 Int calculateLenOfSyntaxElement( Int const numVal ); 1135 1151 #else -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r924 r941 69 69 #define VPS_VUI_BSP_HRD_PARAMS 1 ///< JCTVC-R0231: Define the VPS VUI BSP hrd_params() as a separate function, and apply changes adopted. 70 70 #define O0137_MAX_LAYERID 1 ///< JCTVC-O0137, JCTVC-O0200, JCTVC-O0223: restrict nuh_layer_id and vps_max_layers_minus1 71 72 #define MULTIPLE_PTL_SUPPORT 1 ///< Fixing profile, tier and level signalling 73 #define NUM_POSSIBLE_LEVEL 13 ///< Number of possible level as described in R1013 71 74 72 75 #define R0226_CONSTRAINT_TMVP_SEI 1 ///< JCTVC-R0226, Modification to semantics in temporal motion vector prediction constraints SEI message -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r937 r941 1375 1375 { 1376 1376 vps->setProfilePresentFlag(1, false); 1377 #if !MULTIPLE_PTL_SUPPORT 1377 1378 vps->getPTLForExtnPtr()->empty(); 1378 1379 vps->getPTLForExtnPtr()->resize(2); 1379 1380 vps->getPTLForExtn(1)->copyProfileInfo( vps->getPTL() ); 1380 1381 parsePTL( vps->getPTLForExtn(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 ); 1382 #else 1383 parsePTL( vps->getPTL(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 ); 1384 #endif 1381 1385 } 1382 1386 #endif … … 1600 1604 READ_CODE( 6, uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 ); 1601 1605 #else 1602 READ_UVLC( uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 ); 1606 READ_UVLC( uiCode, "vps_num_profile_tier_level_minus1"); 1607 vps->setNumProfileTierLevel( uiCode + 1 ); 1608 //vps->setNumProfileTierLevel( 3 ); 1609 int aa = vps->getNumProfileTierLevel(); 1603 1610 #endif 1604 1611 #if PER_LAYER_PTL 1605 1612 Int const numBitsForPtlIdx = vps->calculateLenOfSyntaxElement( vps->getNumProfileTierLevel() ); 1606 1613 #endif 1614 #if !MULTIPLE_PTL_SUPPORT 1607 1615 vps->getPTLForExtnPtr()->resize(vps->getNumProfileTierLevel()); 1616 #endif 1608 1617 #if LIST_OF_PTL 1609 1618 for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx <= vps->getNumProfileTierLevel() - 1; idx++) … … 1612 1621 #endif 1613 1622 { 1614 READ_FLAG( uiCode, "vps_profile_present_flag[i]" ); vps->setProfilePresentFlag(idx, uiCode ? true : false); 1623 READ_FLAG( uiCode, "vps_profile_present_flag[i]" ); 1624 vps->setProfilePresentFlag(idx, uiCode ? true : false); 1615 1625 if( !vps->getProfilePresentFlag(idx) ) 1616 1626 { 1617 1627 #if P0048_REMOVE_PROFILE_REF 1618 1628 // Copy profile information from previous one 1629 #if !MULTIPLE_PTL_SUPPORT 1619 1630 vps->getPTLForExtn(idx)->copyProfileInfo( (idx==1) ? vps->getPTL() : vps->getPTLForExtn( idx - 1 ) ); 1631 #else 1632 vps->getPTL(idx)->copyProfileInfo( vps->getPTL( idx - 1 ) ); 1633 #endif 1620 1634 #else 1621 1635 READ_CODE( 6, uiCode, "profile_ref_minus1[i]" ); vps->setProfileLayerSetRef(idx, uiCode + 1); … … 1629 1643 #endif 1630 1644 } 1645 #if !MULTIPLE_PTL_SUPPORT 1631 1646 parsePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 ); 1647 #else 1648 parsePTL( vps->getPTL(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 ); 1649 #endif 1632 1650 } 1633 1651 #endif … … 1673 1691 if( vps->getNumLayerSets() > 1 ) 1674 1692 { 1675 READ_UVLC( uiCode, "num_add_olss" ); vps->setNumAddOutputLayerSets( uiCode ); 1693 READ_UVLC( uiCode, "num_add_olss" ); 1694 vps->setNumAddOutputLayerSets( uiCode ); 1676 1695 READ_CODE( 2, uiCode, "default_output_layer_idc" ); vps->setDefaultTargetOutputLayerIdc( uiCode ); 1677 1696 } -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r924 r941 354 354 #else 355 355 m_iMaxRefPicNum = pcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1( getCommonDecoderParams()->getTargetOutputLayerSetIdx(), pcSlice->getLayerId(), pcSlice->getTLayer() ) + 1; // m_uiMaxDecPicBuffering has the space for the picture currently being decoded 356 //TODO: HENDRY -- Do the checking here.357 356 #endif 358 357 } … … 1088 1087 m_isNoOutputPriorPics = false; 1089 1088 } 1090 1091 //TODO: HENDRY -- Probably do the checking for max number of positive and negative pics here1092 1093 1089 1094 1090 //For inference of PicOutputFlag -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r937 r941 1088 1088 if( vps->getMaxLayers() > 1 && vps->getBaseLayerInternalFlag() ) 1089 1089 { 1090 #if !MULTIPLE_PTL_SUPPORT 1090 1091 codePTL( vps->getPTLForExtn(1), false, vps->getMaxTLayers() - 1 ); 1092 #else 1093 codePTL( vps->getPTL(1), false, vps->getMaxTLayers() - 1 ); 1094 #endif 1091 1095 } 1092 1096 #endif … … 1254 1258 #endif 1255 1259 #if LIST_OF_PTL 1260 #if !MULTIPLE_PTL_SUPPORT 1256 1261 assert( vps->getNumProfileTierLevel() == vps->getPTLForExtnPtr()->size()); 1262 #else 1263 //Do something here to make sure the loop is correct to consider base layer internal stuff 1264 #endif 1257 1265 for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx <= vps->getNumProfileTierLevel() - 1; idx++) 1258 1266 #else … … 1260 1268 #endif 1261 1269 { 1270 #if MULTIPLE_PTL_SUPPORT 1271 vps->setProfilePresentFlag(idx, true); 1272 #endif 1262 1273 WRITE_FLAG( vps->getProfilePresentFlag(idx), "vps_profile_present_flag[i]" ); 1263 1274 #if !P0048_REMOVE_PROFILE_REF … … 1267 1278 } 1268 1279 #endif 1280 #if !MULTIPLE_PTL_SUPPORT 1269 1281 codePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 ); 1282 #else 1283 codePTL( vps->getPTL(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 ); 1284 #endif 1270 1285 } 1271 1286 #endif
Note: See TracChangeset for help on using the changeset viewer.