Changeset 1524 in SHVCSoftware
- Timestamp:
- 3 Feb 2016, 23:00:44 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppDecoder/TAppDecCfg.cpp
r1475 r1524 170 170 if( targetLayerId < 0 ) 171 171 { 172 targetLayerId = layerNum- 1;172 targetLayerId = MAX_VPS_LAYER_IDX_PLUS1 - 1; 173 173 } 174 174 -
branches/SHM-dev/source/App/TAppDecoder/TAppDecTop.cpp
r1521 r1524 91 91 for(Int i = 0; i < MAX_VPS_LAYER_IDX_PLUS1; i++ ) 92 92 #else 93 for( Int i = 0; i <= m_ tgtLayerId; i++ )93 for( Int i = 0; i <= m_commonDecoderParams.getTargetLayerId(); i++ ) 94 94 #endif 95 95 { … … 179 179 for(UInt layer = 0; layer < MAX_VPS_LAYER_IDX_PLUS1; layer++) 180 180 #else 181 for(UInt layer=0; layer <=m_tgtLayerId; layer++)181 for(UInt layer=0; layer <= m_commonDecoderParams.getTargetLayerId(); layer++) 182 182 #endif 183 183 { … … 234 234 read(nalu); 235 235 236 #if SVC_EXTENSION237 236 // ignore any NAL units with nuh_layer_id == 63 238 237 if( nalu.m_nuhLayerId == 63 ) … … 241 240 continue; 242 241 } 243 #endif 244 245 if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) || 246 #if CONFORMANCE_BITSTREAM_MODE 247 (nalu.m_nuhLayerId > m_commonDecoderParams.getTargetLayerId()) ) 248 #else 249 (nalu.m_nuhLayerId > m_tgtLayerId) ) 250 #endif 242 243 if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) || nalu.m_nuhLayerId > m_commonDecoderParams.getTargetLayerId() ) 251 244 { 252 245 bNewPicture = false; … … 422 415 for(UInt layer = layerIdxmin; layer < MAX_VPS_LAYER_IDX_PLUS1; layer++) 423 416 #else 424 for(UInt layer = layerIdxmin; layer <= m_ tgtLayerId; layer++)425 #endif 426 #else 427 for(UInt layer = 0; layer <= m_ tgtLayerId; layer++)417 for(UInt layer = layerIdxmin; layer <= m_commonDecoderParams.getTargetLayerId(); layer++) 418 #endif 419 #else 420 for(UInt layer = 0; layer <= m_commonDecoderParams.getTargetLayerId(); layer++) 428 421 #endif 429 422 { … … 583 576 for(UInt layer = 0; layer < MAX_VPS_LAYER_IDX_PLUS1; layer++) 584 577 #else 585 for(UInt layer = 0; layer <= m_ tgtLayerId; layer++)578 for(UInt layer = 0; layer <= m_commonDecoderParams.getTargetLayerId(); layer++) 586 579 #endif 587 580 { … … 612 605 for(UInt layer = 0; layer < MAX_VPS_LAYER_IDX_PLUS1; layer++) 613 606 #else 614 for(UInt layer = 0; layer <= m_ tgtLayerId; layer++)607 for(UInt layer = 0; layer <= m_commonDecoderParams.getTargetLayerId(); layer++) 615 608 #endif 616 609 { … … 646 639 for(UInt layer = 0; layer < MAX_VPS_LAYER_IDX_PLUS1; layer++) 647 640 #else 648 for(UInt layer = 0; layer <= m_ tgtLayerId; layer++)641 for(UInt layer = 0; layer <= m_commonDecoderParams.getTargetLayerId(); layer++) 649 642 #endif 650 643 { … … 665 658 #if SVC_EXTENSION 666 659 #if CONFORMANCE_BITSTREAM_MODE 667 m_cTDecTop.setNumLayer( MAX_LAYERS ); 668 #else 669 m_cTDecTop.setNumLayer( m_tgtLayerId + 1 ); 660 m_cTDecTop.setConfModeFlag( m_confModeFlag ); 670 661 #endif 671 662 m_cTDecTop.setCommonDecoderParams( &m_commonDecoderParams ); 672 m_cTDecTop.setConfModeFlag( m_confModeFlag );673 663 } 674 664 #endif -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1511 r1524 121 121 #if SVC_EXTENSION 122 122 TAppEncCfg::TAppEncCfg() 123 #if AVC_BASE 124 : m_nonHEVCBaseLayerFlag(false) 125 #endif 126 , m_maxTidRefPresentFlag(1) 123 : m_maxTidRefPresentFlag(1) 127 124 , m_defaultTargetOutputLayerIdc (-1) 128 125 , m_numOutputLayerSets (-1) … … 131 128 , m_outputInternalColourSpace(false) 132 129 , m_elRapSliceBEnabled(false) 130 #if AVC_BASE 131 , m_nonHEVCBaseLayerFlag(false) 132 #endif 133 133 { 134 134 memset( m_apcLayerCfg, 0, sizeof(m_apcLayerCfg) ); … … 3130 3130 ii++; 3131 3131 } 3132 #if AVC_BASE 3132 3133 if( m_numLayers > 1 && m_numPTLInfo > 1 && !m_nonHEVCBaseLayerFlag ) 3134 #else 3135 if( m_numLayers > 1 && m_numPTLInfo > 1 ) 3136 #endif 3133 3137 { 3134 3138 assert(m_profileList[0] <= Profile::MULTIVIEWMAIN); //Profile IDC of PTL in VPS shall be one of single-layer profile IDCs … … 3506 3510 m_numLayers = m_numLayers > MAX_LAYERS ? MAX_LAYERS : m_numLayers; 3507 3511 3508 // it can be updated after AVC BL support will be added to the WD 3512 #if AVC_BASE 3509 3513 if( m_nonHEVCBaseLayerFlag ) 3510 3514 { … … 3513 3517 m_crossLayerAlignedIdrOnlyFlag = false; 3514 3518 } 3519 #endif 3515 3520 3516 3521 // verify layer configuration parameters -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r1511 r1524 118 118 Int m_numLayers; ///< number of layers 119 119 Int m_scalabilityMask[MAX_VPS_NUM_SCALABILITY_TYPES]; ///< scalability_mask 120 #if AVC_BASE121 Bool m_nonHEVCBaseLayerFlag; ///< non HEVC BL122 #endif123 120 Bool m_maxTidRefPresentFlag; 124 121 … … 542 539 Bool m_altOutputLayerFlag; ///< Specifies the value of alt_output_laye_flag in VPS extension 543 540 Bool m_elRapSliceBEnabled; 541 #if AVC_BASE 542 Bool m_nonHEVCBaseLayerFlag; ///< non HEVC BL 543 #endif 544 544 #endif 545 545 -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1517 r1524 249 249 //1 250 250 m_cTEncTop.setInterLayerWeightedPredFlag ( m_useInterLayerWeightedPred ); 251 #if AVC_BASE 251 252 m_cTEncTop.setMFMEnabledFlag ( layer == 0 ? false : ( m_nonHEVCBaseLayerFlag ? false : true ) && m_apcLayerCfg[layer]->getNumMotionPredRefLayers()); 253 #else 254 m_cTEncTop.setMFMEnabledFlag ( layer == 0 ? false : m_apcLayerCfg[layer]->getNumMotionPredRefLayers()); 255 #endif 252 256 253 257 // set layer ID … … 1059 1063 #if AVC_BASE 1060 1064 vps->setNonHEVCBaseLayerFlag( m_nonHEVCBaseLayerFlag ); 1061 if ( m_nonHEVCBaseLayerFlag ) 1062 { 1063 vps->setBaseLayerInternalFlag (false); 1064 } 1065 #else 1066 vps->setAvcBaseLayerFlag(false); 1065 if( m_nonHEVCBaseLayerFlag ) 1066 { 1067 vps->setBaseLayerInternalFlag(false); 1068 } 1067 1069 #endif 1068 1070 … … 1607 1609 { 1608 1610 list<AccessUnit>::iterator first_au = outputAccessUnits.begin(); 1611 #if AVC_BASE 1609 1612 if( m_nonHEVCBaseLayerFlag ) 1610 1613 { 1611 1614 first_au++; 1612 1615 } 1616 #endif 1613 1617 AccessUnit::iterator it_sps; 1614 1618 for (it_sps = first_au->begin(); it_sps != first_au->end(); it_sps++) -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1522 r1524 1879 1879 ::memset(m_outputLayerFlag, 0, sizeof(m_outputLayerFlag)); 1880 1880 1881 ::memset(m_directDependencyFlag, 0, sizeof(m_directDependencyFlag));1881 ::memset(m_directDependencyFlag, false, sizeof(m_directDependencyFlag)); 1882 1882 ::memset(m_numDirectRefLayers, 0, sizeof(m_numDirectRefLayers )); 1883 1883 ::memset(m_refLayerId, 0, sizeof(m_refLayerId )); -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1518 r1524 2294 2294 Void TDecTop::setRefLayerParams( const TComVPS* vps ) 2295 2295 { 2296 for(UInt layerIdx = 0; layerIdx < m_numLayer; layerIdx++) 2297 { 2298 TDecTop *decTop = (TDecTop *)getLayerDec(vps->getLayerIdInNuh(layerIdx)); 2296 #if CONFORMANCE_BITSTREAM_MODE 2297 for(UInt layerIdx = 0; layerIdx < MAX_VPS_LAYER_IDX_PLUS1; layerIdx++) 2298 #else 2299 for(UInt layerIdx = 0; layerIdx <= m_commonDecoderParams->getTargetLayerId(); layerIdx++) 2300 #endif 2301 { 2302 UInt layerId = vps->getLayerIdInNuh(layerIdx); 2303 TDecTop *decTop = m_ppcTDecTop[layerId]; 2299 2304 decTop->setNumSamplePredRefLayers(0); 2300 2305 decTop->setNumMotionPredRefLayers(0); … … 2305 2310 if (vps->getDirectDependencyFlag(layerIdx, j)) 2306 2311 { 2307 decTop->setRefLayerId(decTop->getNumDirectRefLayers(), vps->getLayerIdInNuh(layerIdx));2312 decTop->setRefLayerId(decTop->getNumDirectRefLayers(), layerId); 2308 2313 decTop->setNumDirectRefLayers(decTop->getNumDirectRefLayers() + 1); 2309 2314 … … 2320 2325 Void TDecTop::checkValueOfTargetOutputLayerSetIdx(TComVPS *vps) 2321 2326 { 2322 CommonDecoderParams* params = this->getCommonDecoderParams();2327 CommonDecoderParams* params = m_commonDecoderParams; 2323 2328 2324 2329 if( params->getValueCheckedFlag() ) … … 2390 2395 #endif 2391 2396 Int layerSetIdx = vps->getOutputLayerSetIdx( params->getTargetOutputLayerSetIdx() ); // Index to the layer set 2392 #if !CONFORMANCE_BITSTREAM_MODE2393 assert( params->getTargetLayerId() == vps->getNumLayersInIdList( layerSetIdx ) - 1);2394 #endif2395 2397 2396 2398 // Check if the targetdeclayerIdlist matches the output layer set -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.h
r1512 r1524 133 133 static Bool m_bFirstSliceInSequence; 134 134 UInt m_layerId; 135 UInt m_numLayer;136 135 TDecTop** m_ppcTDecTop; 137 136 UInt m_smallestLayerId; … … 226 225 UInt getLayerId () { return m_layerId; } 227 226 Void setLayerId (UInt layer) { m_layerId = layer; } 228 UInt getNumLayer () { return m_numLayer; }229 Void setNumLayer (UInt uiNum) { m_numLayer = uiNum; }230 227 TComList<TComPic*>* getListPic () { return &m_cListPic; } 231 228 Void setLayerDec (TDecTop **p) { m_ppcTDecTop = p; }
Note: See TracChangeset for help on using the changeset viewer.