Changeset 410 in SHVCSoftware for branches/SHM-3.1-dev/source/Lib
- Timestamp:
- 8 Oct 2013, 02:34:31 (11 years ago)
- Location:
- branches/SHM-3.1-dev/source/Lib
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-3.1-dev/source/Lib/TLibCommon/TypeDef.h
r409 r410 108 108 #define ILP_RAP 1 ///< JCTVC-M0208 proposal 3 109 109 110 #define IDR_ALIGNMENT 1 ///< align IDR picures across layers110 #define IDR_ALIGNMENT 0 ///< align IDR picures across layers : As per JCTVC-N0373, IDR are not required to be aligned. 111 111 112 112 #define AVC_BASE 1 ///< YUV BL reading for AVC base SVC -
branches/SHM-3.1-dev/source/Lib/TLibDecoder/TDecTop.cpp
r409 r410 1110 1110 if( m_layerId > 0 && pcSlice->getVPS()->getCrossLayerIrapAlignFlag()) 1111 1111 { 1112 if(pcSlice->isIRAP()) 1113 { 1114 for(Int depedentLayerId = 0; depedentLayerId < pcSlice->getVPS()->getNumDirectRefLayers(m_layerId); depedentLayerId++) 1115 assert(pcSlice->getNalUnitType() == pcSlice->getBaseColPic(depedentLayerId)->getSlice(0)->getNalUnitType()); 1116 } 1112 for( Int i = 0; i < pcPic->getSlice(0)->getActiveNumILRRefIdx(); i++ ) 1113 { 1114 Int refLayerIdc = pcPic->getSlice(0)->getInterLayerPredLayerIdc(i); 1115 1116 if(m_cIlpPic[refLayerIdc] && m_cIlpPic[refLayerIdc]->getSlice(0)->isIRAP()) 1117 { 1118 assert(pcSlice->getNalUnitType() == m_cIlpPic[refLayerIdc]->getSlice(0)->getNalUnitType()); 1119 } 1120 } 1117 1121 } 1118 1122 #endif 1123 1119 1124 // For generalized B 1120 1125 // note: maybe not existed case (always L0 is copied to L1 if L1 is empty) -
branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r408 r410 662 662 if( pocCurr % m_pcCfg->getIntraPeriod() == 0 ) 663 663 { 664 #if IDR_ALIGNMENT 664 #if N0147_IRAP_ALIGN_FLAG 665 if( m_layerId > 0 && pcSlice->getVPS()->getCrossLayerIrapAlignFlag()) 666 { 665 667 TComList<TComPic*> *cListPic = m_ppcTEncTop[m_layerId]->getRefLayerEnc(0)->getListPic(); 666 668 TComPic* picLayer0 = pcSlice->getRefPic(*cListPic, pcSlice->getPOC() ); 669 if( picLayer0->getSlice(0)->isIRAP()) 670 { 671 pcSlice->setNalUnitType(picLayer0->getSlice(0)->getNalUnitType()); 672 } 673 else 674 { 675 pcSlice->setNalUnitType(NAL_UNIT_CODED_SLICE_CRA); 676 } 677 } 678 #else 679 pcSlice->setNalUnitType(NAL_UNIT_CODED_SLICE_CRA); 680 #endif 681 682 #if IDR_ALIGNMENT 683 TComList<TComPic*> *cListPic = m_ppcTEncTop[m_layerId]->getRefLayerEnc(0)->getListPic(); 684 TComPic* picLayer0 = pcSlice->getRefPic(*cListPic, pcSlice->getPOC() ); 667 685 if( picLayer0->getSlice(0)->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || picLayer0->getSlice(0)->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP ) 668 {669 pcSlice->setNalUnitType(picLayer0->getSlice(0)->getNalUnitType());670 }671 else672 #endif 686 { 687 pcSlice->setNalUnitType(picLayer0->getSlice(0)->getNalUnitType()); 688 } 689 else 690 { 673 691 pcSlice->setNalUnitType(NAL_UNIT_CODED_SLICE_CRA); 692 } 693 #endif 674 694 } 675 695
Note: See TracChangeset for help on using the changeset viewer.