Changeset 1048 in SHVCSoftware
- Timestamp:
- 3 Mar 2015, 02:48:00 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibEncoder
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1043 r1048 851 851 #if SVC_EXTENSION 852 852 assert( pcVPS->getNumHrdParameters() <= MAX_VPS_LAYER_SETS_PLUS1 ); 853 assert( pcVPS->getMaxLayerId() < MAX_VPS_LAYER_ID _PLUS1 );853 assert( pcVPS->getMaxLayerId() < MAX_VPS_LAYER_IDX_PLUS1 ); 854 854 #if !VPS_EXTN_OP_LAYER_SETS // num layer sets set in TAppEncTop.cpp 855 855 pcVPS->setNumLayerSets(1); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h
r1037 r1048 388 388 #if VPS_EXTN_DIRECT_REF_LAYERS 389 389 Int m_numDirectRefLayers; 390 Int m_refLayerId[MAX_VPS_LAYER_ID _PLUS1];390 Int m_refLayerId[MAX_VPS_LAYER_IDX_PLUS1]; 391 391 392 392 Int m_numActiveRefLayers; 393 Int m_predLayerId[MAX_VPS_LAYER_ID _PLUS1];393 Int m_predLayerId[MAX_VPS_LAYER_IDX_PLUS1]; 394 394 Int m_numSamplePredRefLayers; 395 Int m_samplePredRefLayerId[MAX_VPS_LAYER_ID _PLUS1];395 Int m_samplePredRefLayerId[MAX_VPS_LAYER_IDX_PLUS1]; 396 396 Int m_numMotionPredRefLayers; 397 Int m_motionPredRefLayerId[MAX_VPS_LAYER_ID _PLUS1];398 Bool m_samplePredEnabledFlag[MAX_VPS_LAYER_ID _PLUS1];399 Bool m_motionPredEnabledFlag[MAX_VPS_LAYER_ID _PLUS1];397 Int m_motionPredRefLayerId[MAX_VPS_LAYER_IDX_PLUS1]; 398 Bool m_samplePredEnabledFlag[MAX_VPS_LAYER_IDX_PLUS1]; 399 Bool m_motionPredEnabledFlag[MAX_VPS_LAYER_IDX_PLUS1]; 400 400 #endif 401 401 Int m_maxTidIlRefPicsPlus1; -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCu.h
r1029 r1048 182 182 183 183 #if SVC_EXTENSION 184 TEncTop* getLayerEnc(UInt LayerId ) {return m_ppcTEncTop[LayerId]; }184 TEncTop* getLayerEnc(UInt LayerIdx) {return m_ppcTEncTop[LayerIdx]; } 185 185 #if ENCODER_FAST_MODE 186 186 Void xCheckRDCostILRUni ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, UInt refLayerId); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r1039 r1048 1300 1300 if (m_layerId > 0) 1301 1301 { 1302 Int interLayerPredLayerIdcTmp[MAX_VPS_LAYER_ID _PLUS1];1302 Int interLayerPredLayerIdcTmp[MAX_VPS_LAYER_IDX_PLUS1]; 1303 1303 Int activeNumILRRefIdxTmp = 0; 1304 1304 … … 1308 1308 UInt refLayerId = pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc); 1309 1309 #if VPS_EXTN_DIRECT_REF_LAYERS 1310 TComList<TComPic*> *cListPic = m_ppcTEncTop[ m_layerId]->getRefLayerEnc(refLayerIdc)->getListPic();1311 #else 1312 TComList<TComPic*> *cListPic = m_ppcTEncTop[ m_layerId-1]->getListPic();1310 TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getRefLayerEnc(refLayerIdc)->getListPic(); 1311 #else 1312 TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)-1]->getListPic(); 1313 1313 #endif 1314 1314 pcSlice->setBaseColPic( *cListPic, refLayerIdc ); … … 1412 1412 { 1413 1413 // check for the sample prediction picture type 1414 if( m_ppcTEncTop[ m_layerId]->getSamplePredEnabledFlag(refLayerId) )1414 if( m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag(pcSlice->getVPS()->getLayerIdxInVps(refLayerId)) ) 1415 1415 { 1416 1416 #if P0312_VERT_PHASE_ADJ … … 1491 1491 if(pcSlice->getVPS()->getCrossLayerIrapAlignFlag()) 1492 1492 { 1493 TComList<TComPic*> *cListPic = m_ppcTEncTop[ m_layerId]->getRefLayerEnc(0)->getListPic();1493 TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getRefLayerEnc(0)->getListPic(); 1494 1494 TComPic* picLayer0 = pcSlice->getRefPic(*cListPic, pcSlice->getPOC() ); 1495 1495 if(picLayer0) … … 1533 1533 if (pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_TRAIL_R && 1534 1534 #if SVC_EXTENSION 1535 ( m_iGopSize != 1 || m_ppcTEncTop[ m_layerId]->getIntraPeriod() > 1 ) )1535 ( m_iGopSize != 1 || m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getIntraPeriod() > 1 ) ) 1536 1536 #else 1537 1537 !(m_iGopSize == 1 && pcSlice->getSliceType() == I_SLICE)) … … 1838 1838 for( Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ ) 1839 1839 { 1840 if( m_ppcTEncTop[ m_layerId]->getSamplePredEnabledFlag( pcSlice->getVPS()->getRefLayerId( m_layerId, pcSlice->getInterLayerPredLayerIdc(i) ) ) )1840 if( m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag( pcSlice->getVPS()->getRefLayerId( m_layerId, pcSlice->getInterLayerPredLayerIdc(i) ) ) ) 1841 1841 { 1842 1842 foundSamplePredPicture = true; … … 1872 1872 for( Int i = 0; i < pcSlice->getLayerId(); i++) 1873 1873 { 1874 TComList<TComPic *> *cListPic = m_ppcTEncTop[ i]->getListPic();1874 TComList<TComPic *> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(i)]->getListPic(); 1875 1875 TComPic *lowerLayerPic = pcSlice->getRefPic(*cListPic, pcSlice->getPOC()); 1876 1876 if( lowerLayerPic && pcSlice->getVPS()->getDirectDependencyFlag(pcSlice->getLayerId(), i) ) … … 1966 1966 // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture, 1967 1967 // VpsInterLayerMotionPredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture. 1968 if( refPic->isILR(m_layerId) && m_ppcTEncTop[ m_layerId]->getMotionPredEnabledFlag( refPic->getLayerId() )1968 if( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getMotionPredEnabledFlag( refPic->getLayerId() ) 1969 1969 #if MFM_ENCCONSTRAINT 1970 && pcSlice->getBaseColPic( *m_ppcTEncTop[ refPic->getLayerId()]->getListPic() )->checkSameRefInfo() == true1970 && pcSlice->getBaseColPic( *m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(refPic->getLayerId())]->getListPic() )->checkSameRefInfo() == true 1971 1971 #endif 1972 1972 ) … … 1988 1988 // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture, 1989 1989 // VpsInterLayerMotionPredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture. 1990 if( refPic->isILR(m_layerId) && m_ppcTEncTop[ m_layerId]->getMotionPredEnabledFlag( refPic->getLayerId() )1990 if( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getMotionPredEnabledFlag( refPic->getLayerId() ) 1991 1991 #if MFM_ENCCONSTRAINT 1992 && pcSlice->getBaseColPic( *m_ppcTEncTop[ refPic->getLayerId()]->getListPic() )->checkSameRefInfo() == true1992 && pcSlice->getBaseColPic( *m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(refPic->getLayerId())]->getListPic() )->checkSameRefInfo() == true 1993 1993 #endif 1994 1994 ) … … 2107 2107 // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture, 2108 2108 // VpsInterLayerMotionPredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture. 2109 if( refPic->isILR(m_layerId) && !m_ppcTEncTop[ m_layerId]->getMotionPredEnabledFlag(refPic->getLayerId()) )2109 if( refPic->isILR(m_layerId) && !m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getMotionPredEnabledFlag(refPic->getLayerId()) ) 2110 2110 { 2111 2111 pcSlice->setEnableTMVPFlag(false); … … 2125 2125 TComPic* refPic = pcSlice->getRefPic(refList, refIdx); 2126 2126 2127 if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[ m_layerId]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) )2127 if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) ) 2128 2128 { 2129 2129 break; … … 2149 2149 TComPic* refPic = pcSlice->getRefPic(refList, refIdx); 2150 2150 2151 if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[ m_layerId]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) )2151 if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) ) 2152 2152 { 2153 2153 break; … … 4820 4820 for (UInt layerIdx = 0; layerIdx < numAffectedLayers; layerIdx++) 4821 4821 { 4822 if (!m_ppcTEncTop[ affectedLayerList[layerIdx]]->getPocDecrementedInDPBFlag())4823 { 4824 m_ppcTEncTop[ affectedLayerList[layerIdx]]->setPocDecrementedInDPBFlag(true);4822 if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getPocDecrementedInDPBFlag()) 4823 { 4824 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->setPocDecrementedInDPBFlag(true); 4825 4825 4826 4826 // Decrement value of associatedIrapPoc of the TEncGop object 4827 m_ppcTEncTop[ affectedLayerList[layerIdx]]->getGOPEncoder()->m_associatedIRAPPOC -= deltaPocVal;4827 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getGOPEncoder()->m_associatedIRAPPOC -= deltaPocVal; 4828 4828 4829 4829 // Decrememnt the value of m_pocCRA 4830 m_ppcTEncTop[ affectedLayerList[layerIdx]]->getGOPEncoder()->m_pocCRA -= deltaPocVal;4831 4832 TComList<TComPic*>::iterator iterPic = m_ppcTEncTop[ affectedLayerList[layerIdx]]->getListPic()->begin();4833 while (iterPic != m_ppcTEncTop[ affectedLayerList[layerIdx]]->getListPic()->end())4830 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getGOPEncoder()->m_pocCRA -= deltaPocVal; 4831 4832 TComList<TComPic*>::iterator iterPic = m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getListPic()->begin(); 4833 while (iterPic != m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getListPic()->end()) 4834 4834 #else 4835 4835 // Decrement value of associatedIrapPoc of the TEncGop object … … 5334 5334 { 5335 5335 Int iLayerId = slice->getVPS()->getPredictedLayerId(dolLayerId, i); 5336 m_ppcTEncTop[ iLayerId]->setLayerInitializedFlag(false);5337 m_ppcTEncTop[ iLayerId]->setFirstPicInLayerDecodedFlag(false);5336 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(iLayerId)]->setLayerInitializedFlag(false); 5337 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(iLayerId)]->setFirstPicInLayerDecodedFlag(false); 5338 5338 } 5339 5339 5340 5340 // Each picture that is in the DPB and has nuh_layer_id equal to dolLayerId is marked as "unused for reference". 5341 for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[ dolLayerId]->getListPic()->begin(); pic != m_ppcTEncTop[dolLayerId]->getListPic()->end(); pic++)5341 for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(dolLayerId)]->getListPic()->begin(); pic != m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(dolLayerId)]->getListPic()->end(); pic++) 5342 5342 { 5343 5343 if ((*pic)->getSlice(0)->getPOC() != slice->getPOC()) … … 5352 5352 { 5353 5353 UInt predLId = slice->getVPS()->getPredictedLayerId(dolLayerId, i); 5354 for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[predLId]->getListPic()->begin(); pic != m_ppcTEncTop[ predLId]->getListPic()->end(); pic++)5354 for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[predLId]->getListPic()->begin(); pic != m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(predLId)]->getListPic()->end(); pic++) 5355 5355 { 5356 5356 if ((*pic)->getSlice(0)->getPOC() != slice->getPOC()) … … 5373 5373 m_noRaslOutputFlag = true; 5374 5374 } 5375 else if (!m_ppcTEncTop[ m_layerId]->getLayerInitializedFlag())5375 else if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->getLayerInitializedFlag()) 5376 5376 { 5377 5377 Bool refLayersInitialized = true; 5378 for (UInt j = 0; j < slice->getVPS()->getNumDirectRefLayers( m_layerId); j++)5378 for (UInt j = 0; j < slice->getVPS()->getNumDirectRefLayers(slice->getVPS()->getLayerIdxInVps(m_layerId)); j++) 5379 5379 { 5380 5380 UInt refLayerId = slice->getVPS()->getRefLayerId(m_layerId, j); 5381 if (!m_ppcTEncTop[ refLayerId]->getLayerInitializedFlag())5381 if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(refLayerId)]->getLayerInitializedFlag()) 5382 5382 { 5383 5383 refLayersInitialized = false; … … 5398 5398 if (m_layerId == 0) 5399 5399 { 5400 m_ppcTEncTop[ m_layerId]->setLayerInitializedFlag(true);5401 } 5402 else if (!m_ppcTEncTop[ m_layerId]->getLayerInitializedFlag() && slice->getVPS()->getNumDirectRefLayers(m_layerId) == 0)5403 { 5404 m_ppcTEncTop[ m_layerId]->setLayerInitializedFlag(true);5405 } 5406 else if (!m_ppcTEncTop[ m_layerId]->getLayerInitializedFlag())5400 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->setLayerInitializedFlag(true); 5401 } 5402 else if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->getLayerInitializedFlag() && slice->getVPS()->getNumDirectRefLayers(m_layerId) == 0) 5403 { 5404 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->setLayerInitializedFlag(true); 5405 } 5406 else if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->getLayerInitializedFlag()) 5407 5407 { 5408 5408 Bool refLayersInitialized = true; … … 5410 5410 { 5411 5411 UInt refLayerId = slice->getVPS()->getRefLayerId(m_layerId, j); 5412 if (!m_ppcTEncTop[ refLayerId]->getLayerInitializedFlag())5412 if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(refLayerId)]->getLayerInitializedFlag()) 5413 5413 { 5414 5414 refLayersInitialized = false; … … 5417 5417 if (refLayersInitialized) 5418 5418 { 5419 m_ppcTEncTop[ m_layerId]->setLayerInitializedFlag(true);5419 m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->setLayerInitializedFlag(true); 5420 5420 } 5421 5421 } -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSlice.cpp
r1029 r1048 139 139 { 140 140 #if JCTVC_M0259_LAMBDAREFINEMENT 141 if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->get LayerId()]->getNumActiveRefLayers() && depth >= 3 && m_pcCfg->getGOPSize() == ( 1 << depth ) )142 { 143 Int nCurLayer = slice->getLayerId();144 Double gamma = xCalEnhLambdaFactor( m_ppcTEncTop[ nCurLayer-1]->getQP() - m_ppcTEncTop[nCurLayer]->getQP() ,145 1.0 * m_ppcTEncTop[ nCurLayer]->getSourceWidth() * m_ppcTEncTop[nCurLayer]->getSourceHeight()146 / m_ppcTEncTop[ nCurLayer-1]->getSourceWidth() / m_ppcTEncTop[nCurLayer-1]->getSourceHeight() );141 if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(slice->getLayerId())]->getNumActiveRefLayers() && depth >= 3 && m_pcCfg->getGOPSize() == ( 1 << depth ) ) 142 { 143 Int nCurLayerId = slice->getLayerId(); 144 Double gamma = xCalEnhLambdaFactor( m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)-1]->getQP() - m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)]->getQP() , 145 1.0 * m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)]->getSourceWidth() * m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)]->getSourceHeight() 146 / m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)-1]->getSourceWidth() / m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)-1]->getSourceHeight() ); 147 147 dLambda *= gamma; 148 148 } … … 163 163 164 164 #if JCTVC_M0259_LAMBDAREFINEMENT 165 if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->get LayerId()]->getNumActiveRefLayers() && m_pcCfg->getGOPSize() >= 8 && slice->isIntra() == false && depth == 0 )165 if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(slice->getLayerId())]->getNumActiveRefLayers() && m_pcCfg->getGOPSize() >= 8 && slice->isIntra() == false && depth == 0 ) 166 166 { 167 167 dLambdas[0] = dLambda * 1.1; … … 555 555 if( rpcSlice->getNumILRRefIdx() > 0 ) 556 556 { 557 rpcSlice->setActiveNumILRRefIdx( m_ppcTEncTop[ layerId]->getNumActiveRefLayers() );557 rpcSlice->setActiveNumILRRefIdx( m_ppcTEncTop[rpcSlice->getVPS()->getLayerIdxInVps(layerId)]->getNumActiveRefLayers() ); 558 558 for( Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ ) 559 559 { 560 rpcSlice->setInterLayerPredLayerIdc( m_ppcTEncTop[ layerId]->getPredLayerId(i), i );560 rpcSlice->setInterLayerPredLayerIdc( m_ppcTEncTop[rpcSlice->getVPS()->getLayerIdxInVps(layerId)]->getPredLayerId(i), i ); 561 561 } 562 562 rpcSlice->setInterLayerPredEnabledFlag(1); 563 563 } 564 rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[ layerId]->getMFMEnabledFlag());564 rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[rpcSlice->getVPS()->getLayerIdxInVps(layerId)]->getMFMEnabledFlag()); 565 565 } 566 566 … … 762 762 } 763 763 #if O0194_WEIGHTED_PREDICTION_CGS 764 else if( m_ppcTEncTop[pcSlice->get LayerId()]->getInterLayerWeightedPredFlag() )764 else if( m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(pcSlice->getLayerId())]->getInterLayerWeightedPredFlag() ) 765 765 { 766 766 // Calculate for the base layer to be used in EL as Inter layer reference … … 1135 1135 1136 1136 #if SVC_EXTENSION 1137 m_pcEntropyCoder->encodeSAOBlkParam(saoblkParam, m_ppcTEncTop[pcSlice->get LayerId()]->getSAO()->getSaoMaxOffsetQVal(), sliceEnabled, leftMergeAvail, aboveMergeAvail);1137 m_pcEntropyCoder->encodeSAOBlkParam(saoblkParam, m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(pcSlice->getLayerId())]->getSAO()->getSaoMaxOffsetQVal(), sliceEnabled, leftMergeAvail, aboveMergeAvail); 1138 1138 #else 1139 1139 m_pcEntropyCoder->encodeSAOBlkParam(saoblkParam, sliceEnabled, leftMergeAvail, aboveMergeAvail); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp
r1043 r1048 1531 1531 #if SVC_EXTENSION 1532 1532 #if VPS_EXTN_DIRECT_REF_LAYERS 1533 TEncTop* TEncTop::getRefLayerEnc( UInt refLayerId c)1534 { 1535 if( m_ppcTEncTop[m_ layerId]->getNumDirectRefLayers() <= 0 )1533 TEncTop* TEncTop::getRefLayerEnc( UInt refLayerIdx ) 1534 { 1535 if( m_ppcTEncTop[m_cVPS.getLayerIdxInVps(m_layerId)]->getNumDirectRefLayers() <= 0 ) 1536 1536 { 1537 1537 return (TEncTop *)getLayerEnc( 0 ); 1538 1538 } 1539 1539 1540 return (TEncTop *)getLayerEnc( m_cVPS.get RefLayerId( m_layerId, refLayerIdc ));1540 return (TEncTop *)getLayerEnc( m_cVPS.getLayerIdxInVps(m_cVPS.getRefLayerId( m_layerId, refLayerIdx ))); 1541 1541 } 1542 1542 #endif -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.h
r1030 r1048 117 117 static Int m_iPPSIdCnt; ///< next Id number for PPS 118 118 TEncTop** m_ppcTEncTop; 119 TEncTop* getLayerEnc(UInt layer ) { return m_ppcTEncTop[layer]; }119 TEncTop* getLayerEnc(UInt layerIdx) { return m_ppcTEncTop[layerIdx]; } 120 120 TComPic* m_cIlpPic[MAX_NUM_REF]; ///< Inter layer Prediction picture = upsampled picture 121 121 #if REF_IDX_MFM … … 275 275 Void encodePrep( TComPicYuv* pcPicYuvOrg, TComPicYuv* pcPicYuvTrueOrg, Bool isTff ); 276 276 #if VPS_EXTN_DIRECT_REF_LAYERS 277 TEncTop* getRefLayerEnc(UInt refLayerId c);277 TEncTop* getRefLayerEnc(UInt refLayerIdx); 278 278 #endif 279 279 #if POC_RESET_FLAG || POC_RESET_IDC_ENCODER
Note: See TracChangeset for help on using the changeset viewer.