Changeset 1185 in SHVCSoftware for branches/SHM-dev/source
- Timestamp:
- 8 Jul 2015, 03:34:13 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1182 r1185 1595 1595 vps->setHigherLayerIrapSkipFlag(m_skipPictureAtArcSwitch); 1596 1596 1597 for (Int k = 0; k < MAX_VPS_LAYER_SETS_PLUS1; k++)1597 for( Int k = 0; k < MAX_VPS_LAYER_SETS_PLUS1; k++ ) 1598 1598 { 1599 1599 vps->setAltOuputLayerFlag( k, m_altOutputLayerFlag ); 1600 1600 } 1601 1601 1602 #if VPS_VUI_BSP_HRD_PARAMS 1602 // VPS VUI BSP HRD parameters 1603 1603 vps->setVpsVuiBspHrdPresentFlag(false); 1604 1604 TEncTop *pcCfg = &m_acTEncTop[0]; … … 1640 1640 1641 1641 // Signalling of additional partitioning schemes 1642 for( Int h = 1; h < vps->getNumOutputLayerSets(); h++)1642 for( Int h = 1; h < vps->getNumOutputLayerSets(); h++ ) 1643 1643 { 1644 1644 Int lsIdx = vps->getOutputLayerSetIdx( h ); … … 1678 1678 } 1679 1679 } 1680 #else1681 1682 #if O0164_MULTI_LAYER_HRD1683 vps->setVpsVuiBspHrdPresentFlag(false);1684 TEncTop *pcCfg = &m_acTEncTop[0];1685 if( pcCfg->getBufferingPeriodSEIEnabled() )1686 {1687 vps->setVpsVuiBspHrdPresentFlag(true);1688 vps->setVpsNumBspHrdParametersMinus1(vps->getVpsNumLayerSetsMinus1() - 1);1689 vps->createBspHrdParamBuffer(vps->getVpsNumBspHrdParametersMinus1() + 1);1690 for ( i = 0; i <= vps->getVpsNumBspHrdParametersMinus1(); i++ )1691 {1692 vps->setBspCprmsPresentFlag(i, true);1693 1694 UInt layerId = i + 1;1695 TEncTop *pcCfgLayer = &m_acTEncTop[layerId];1696 1697 Int iPicWidth = pcCfgLayer->getSourceWidth();1698 Int iPicHeight = pcCfgLayer->getSourceHeight();1699 #if LAYER_CTB1700 UInt uiWidthInCU = ( iPicWidth % m_acLayerCfg[layerId].m_uiMaxCUWidth ) ? iPicWidth / m_acLayerCfg[layerId].m_uiMaxCUWidth + 1 : iPicWidth / m_acLayerCfg[layerId].m_uiMaxCUWidth;1701 UInt uiHeightInCU = ( iPicHeight % m_acLayerCfg[layerId].m_uiMaxCUHeight ) ? iPicHeight / m_acLayerCfg[layerId].m_uiMaxCUHeight + 1 : iPicHeight / m_acLayerCfg[layerId].m_uiMaxCUHeight;1702 #else1703 UInt uiWidthInCU = ( iPicWidth %m_uiMaxCUWidth ) ? iPicWidth /m_uiMaxCUWidth + 1 : iPicWidth /m_uiMaxCUWidth;1704 UInt uiHeightInCU = ( iPicHeight%m_uiMaxCUHeight ) ? iPicHeight/m_uiMaxCUHeight + 1 : iPicHeight/m_uiMaxCUHeight;1705 #endif1706 UInt uiNumCUsInFrame = uiWidthInCU * uiHeightInCU;1707 1708 #if LAYER_CTB1709 UInt maxCU = pcCfgLayer->getSliceArgument() >> ( m_acLayerCfg[layerId].m_uiMaxCUDepth << 1);1710 #else1711 UInt maxCU = pcCfgLayer->getSliceArgument() >> ( m_uiMaxCUDepth << 1);1712 #endif1713 UInt numDU = ( pcCfgLayer->getSliceMode() == 1 ) ? ( uiNumCUsInFrame / maxCU ) : ( 0 );1714 if( uiNumCUsInFrame % maxCU != 0 || numDU == 0 )1715 {1716 numDU ++;1717 }1718 vps->getBspHrd(i)->setNumDU( numDU );1719 vps->setBspHrdParameters( i, pcCfgLayer->getFrameRate(), numDU, pcCfgLayer->getTargetBitrate(), ( pcCfgLayer->getIntraPeriod() > 0 ) );1720 }1721 for (UInt h = 1; h <= vps->getVpsNumLayerSetsMinus1(); h++)1722 {1723 vps->setNumBitstreamPartitions(h, 1);1724 for( i = 0; i < vps->getNumBitstreamPartitions(h); i++ )1725 {1726 for( UInt j = 0; j <= (vps->getMaxLayers()-1); j++ )1727 {1728 if (vps->getLayerIdIncludedFlag(h, j) && h == j)1729 {1730 vps->setLayerInBspFlag(h, i, j, true);1731 }1732 }1733 }1734 vps->setNumBspSchedCombinations(h, 1);1735 for( i = 0; i < vps->getNumBspSchedCombinations(h); i++ )1736 {1737 for( UInt j = 0; j < vps->getNumBitstreamPartitions(h); j++ )1738 {1739 vps->setBspCombHrdIdx(h, i, j, 0);1740 vps->setBspCombSchedIdx(h, i, j, 0);1741 }1742 }1743 }1744 }1745 #endif1746 #endif1747 1748 1680 #else //SVC_EXTENSION 1749 1681 m_cTEncTop.init(isFieldCoding); -
branches/SHM-dev/source/Lib/TLibCommon/SEI.h
r1172 r1185 848 848 Bool m_callerOwnsSEIs; 849 849 SEIMessages m_nestedSEIs; 850 #if VPS_VUI_BSP_HRD_PARAMS851 850 Int m_seiPartitioningSchemeIdx; 852 851 Int m_seiOlsIdx; 853 #endif854 852 }; 855 853 -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1182 r1185 395 395 Bool getCpbDpbDelaysPresentFlag() { return getNalHrdParametersPresentFlag() || getVclHrdParametersPresentFlag(); } 396 396 397 #if VPS_VUI_BSP_HRD_PARAMS397 #if SVC_EXTENSION 398 398 Void copyCommonInformation( TComHRD *refHrd ) 399 399 { … … 725 725 #if O0164_MULTI_LAYER_HRD 726 726 Bool m_vpsVuiBspHrdPresentFlag; 727 #if VPS_VUI_BSP_HRD_PARAMS728 727 Int m_vpsNumAddHrdParams; 729 728 std::vector<Bool> m_cprmsAddPresentFlag; … … 736 735 Int m_bspHrdIdx [MAX_VPS_OUTPUT_LAYER_SETS_PLUS1][16][MAX_TLAYER][31][MAX_LAYERS]; 737 736 Int m_bspSchedIdx [MAX_VPS_OUTPUT_LAYER_SETS_PLUS1][16][MAX_TLAYER][31][MAX_LAYERS]; 738 #else739 UInt m_vpsNumBspHrdParametersMinus1;740 Bool m_bspCprmsPresentFlag[MAX_VPS_LAYER_SETS_PLUS1];741 TComHRD *m_bspHrd;742 UInt m_numBitstreamPartitions[MAX_VPS_LAYER_SETS_PLUS1];743 Bool m_layerInBspFlag[MAX_VPS_LAYER_SETS_PLUS1][8][MAX_LAYERS];744 UInt m_numBspSchedCombinations[MAX_VPS_LAYER_SETS_PLUS1];745 UInt m_bspCombHrdIdx[MAX_VPS_LAYER_SETS_PLUS1][16][16];746 UInt m_bspCombSchedIdx[MAX_VPS_LAYER_SETS_PLUS1][16][16];747 #endif748 737 #endif 749 738 UInt m_baseLayerPSCompatibilityFlag[MAX_LAYERS]; … … 822 811 Void createBspHrdParamBuffer(UInt numHrds) 823 812 { 824 #if VPS_VUI_BSP_HRD_PARAMS825 813 m_bspHrd.resize( numHrds ); 826 814 m_cprmsAddPresentFlag.resize( numHrds ); 827 815 m_numSubLayerHrdMinus1.resize( numHrds ); 828 #else829 m_bspHrd = new TComHRD[ numHrds ];830 #endif831 // m_hrdOpSetIdx = new UInt [ getNumHrdParameters() ];832 // m_cprmsPresentFlag = new Bool [ getNumHrdParameters() ];833 816 } 834 817 #endif … … 836 819 Int getBspHrdParamBufferCpbCntMinus1(UInt i, UInt sl) 837 820 { 838 #if VPS_VUI_BSP_HRD_PARAMS839 821 return m_bspHrd[i].getCpbCntMinus1(sl); 840 #else841 return m_bspHrd->getCpbCntMinus1(sl);842 #endif843 822 } 844 823 #endif … … 1058 1037 Void setAvgPicRate(Int i, Int j, Int x) { m_avgPicRate[i][j] = x; } 1059 1038 #if O0164_MULTI_LAYER_HRD 1060 Bool getVpsVuiBspHrdPresentFlag() { return m_vpsVuiBspHrdPresentFlag; } 1061 Void setVpsVuiBspHrdPresentFlag(Bool x) { m_vpsVuiBspHrdPresentFlag = x; } 1062 #if VPS_VUI_BSP_HRD_PARAMS 1063 Int getVpsNumAddHrdParams() { return m_vpsNumAddHrdParams; } 1064 Void setVpsNumAddHrdParams(Int i) { m_vpsNumAddHrdParams = i; } 1065 1066 Bool getCprmsAddPresentFlag(Int i) { return m_cprmsAddPresentFlag[i]; } 1067 Void setCprmsAddPresentFlag(Int i, Bool val) { m_cprmsAddPresentFlag[i] = val; } 1068 1069 Int getNumSubLayerHrdMinus1(Int i) { return m_numSubLayerHrdMinus1[i]; } 1070 Void setNumSubLayerHrdMinus1(Int i, Int val) { m_numSubLayerHrdMinus1[i] = val; } 1039 Bool getVpsVuiBspHrdPresentFlag() { return m_vpsVuiBspHrdPresentFlag; } 1040 Void setVpsVuiBspHrdPresentFlag(Bool x) { m_vpsVuiBspHrdPresentFlag = x; } 1041 Int getVpsNumAddHrdParams() { return m_vpsNumAddHrdParams; } 1042 Void setVpsNumAddHrdParams(Int i) { m_vpsNumAddHrdParams = i; } 1043 1044 Bool getCprmsAddPresentFlag(Int i) { return m_cprmsAddPresentFlag[i]; } 1045 Void setCprmsAddPresentFlag(Int i, Bool val) { m_cprmsAddPresentFlag[i] = val; } 1046 1047 Int getNumSubLayerHrdMinus1(Int i) { return m_numSubLayerHrdMinus1[i]; } 1048 Void setNumSubLayerHrdMinus1(Int i, Int val) { m_numSubLayerHrdMinus1[i] = val; } 1071 1049 1072 1050 TComHRD* getBspHrd(Int i) {return &m_bspHrd[i];} 1073 1051 1074 Int getNumSignalledPartitioningSchemes(Int i) { return m_numSignalledPartitioningSchemes[i]; }1075 Void setNumSignalledPartitioningSchemes(Int i, Int val) { m_numSignalledPartitioningSchemes[i] = val; }1076 1077 Int getNumPartitionsInSchemeMinus1(Int i, Int j) { return m_numPartitionsInSchemeMinus1[i][j];}1078 Void setNumPartitionsInSchemeMinus1(Int i, Int j, Int val) { m_numPartitionsInSchemeMinus1[i][j] = val; }1079 1080 Int getLayerIncludedInPartitionFlag(Int i, Int j, Int k, Int l) { return m_layerIncludedInPartitionFlag[i][j][k][l];}1052 Int getNumSignalledPartitioningSchemes(Int i) { return m_numSignalledPartitioningSchemes[i]; } 1053 Void setNumSignalledPartitioningSchemes(Int i, Int val) { m_numSignalledPartitioningSchemes[i] = val; } 1054 1055 Int getNumPartitionsInSchemeMinus1(Int i, Int j) { return m_numPartitionsInSchemeMinus1[i][j];} 1056 Void setNumPartitionsInSchemeMinus1(Int i, Int j, Int val) { m_numPartitionsInSchemeMinus1[i][j] = val; } 1057 1058 Int getLayerIncludedInPartitionFlag(Int i, Int j, Int k, Int l) { return m_layerIncludedInPartitionFlag[i][j][k][l];} 1081 1059 Void setLayerIncludedInPartitionFlag(Int i, Int j, Int k, Int l, Int val) { m_layerIncludedInPartitionFlag[i][j][k][l] = val; } 1082 1060 1083 Int getNumBspSchedulesMinus1(Int i, Int j, Int k) { return m_numBspSchedulesMinus1[i][j][k];} 1084 Void setNumBspSchedulesMinus1(Int i, Int j, Int k, Int val) { m_numBspSchedulesMinus1[i][j][k] = val; } 1085 1086 Int getBspSchedIdx(Int i, Int j, Int k, Int l, Int m) { return m_bspSchedIdx[i][j][k][l][m];} 1087 Void setBspSchedIdx(Int i, Int j, Int k, Int l, Int m, Int val) { m_bspSchedIdx[i][j][k][l][m] = val; } 1088 1089 Int getBspHrdIdx(Int i, Int j, Int k, Int l, Int m) { return m_bspHrdIdx[i][j][k][l][m];} 1090 Void setBspHrdIdx(Int i, Int j, Int k, Int l, Int m, Int val) { m_bspHrdIdx[i][j][k][l][m] = val; } 1091 #else 1092 UInt getVpsNumBspHrdParametersMinus1() { return m_vpsNumBspHrdParametersMinus1; } 1093 Void setVpsNumBspHrdParametersMinus1(UInt i) { m_vpsNumBspHrdParametersMinus1 = i; } 1094 Bool getBspCprmsPresentFlag(UInt i) { return m_bspCprmsPresentFlag[i]; } 1095 Void setBspCprmsPresentFlag(UInt i, Bool val) { m_bspCprmsPresentFlag[i] = val; } 1096 TComHRD* getBspHrd(UInt i) { return &m_bspHrd[i]; } 1097 UInt getNumBitstreamPartitions(UInt i) { return m_numBitstreamPartitions[i]; } 1098 Void setNumBitstreamPartitions(UInt i, UInt val) { m_numBitstreamPartitions[i] = val; } 1099 UInt getLayerInBspFlag(UInt h, UInt i, UInt j) { return m_layerInBspFlag[h][i][j]; } 1100 Void setLayerInBspFlag(UInt h, UInt i, UInt j, UInt val) { m_layerInBspFlag[h][i][j] = val; } 1101 UInt getNumBspSchedCombinations(UInt i) { return m_numBspSchedCombinations[i]; } 1102 Void setNumBspSchedCombinations(UInt i, UInt val) { m_numBspSchedCombinations[i] = val; } 1103 UInt getBspCombHrdIdx(UInt h, UInt i, UInt j) { return m_bspCombHrdIdx[h][i][j]; } 1104 Void setBspCombHrdIdx(UInt h, UInt i, UInt j, UInt val) { m_bspCombHrdIdx[h][i][j] = val; } 1105 UInt getBspCombSchedIdx(UInt h, UInt i, UInt j) { return m_bspCombSchedIdx[h][i][j]; } 1106 Void setBspCombSchedIdx(UInt h, UInt i, UInt j, UInt val) { m_bspCombSchedIdx[h][i][j] = val; } 1107 #endif 1061 Int getNumBspSchedulesMinus1(Int i, Int j, Int k) { return m_numBspSchedulesMinus1[i][j][k];} 1062 Void setNumBspSchedulesMinus1(Int i, Int j, Int k, Int val) { m_numBspSchedulesMinus1[i][j][k] = val; } 1063 1064 Int getBspSchedIdx(Int i, Int j, Int k, Int l, Int m) { return m_bspSchedIdx[i][j][k][l][m];} 1065 Void setBspSchedIdx(Int i, Int j, Int k, Int l, Int m, Int val) { m_bspSchedIdx[i][j][k][l][m] = val; } 1066 1067 Int getBspHrdIdx(Int i, Int j, Int k, Int l, Int m) { return m_bspHrdIdx[i][j][k][l][m];} 1068 Void setBspHrdIdx(Int i, Int j, Int k, Int l, Int m, Int val) { m_bspHrdIdx[i][j][k][l][m] = val; } 1108 1069 #endif 1109 1070 Void setBaseLayerPSCompatibilityFlag (Int layer, int val) { m_baseLayerPSCompatibilityFlag[layer] = val; } -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1184 r1185 51 51 52 52 #define BSP_INIT_ARRIVAL_SEI 1 ///< JCTVC-R0231: Make signalling of vcl_initial_arrival_delay independent of NalHrdBpPresentFlag 53 #define VPS_VUI_BSP_HRD_PARAMS 1 ///< JCTVC-R0231: Define the VPS VUI BSP hrd_params() as a separate function, and apply changes adopted.54 53 55 54 #define R0226_SLICE_TMVP 1 ///< JCTVC-R0226, Regarding slice_temporal_mvp_enabled_flag 56 #define R0227_VUI_BSP_HRD_FLAG 1 ///< JCTVC-R0227, Conformance checking such that VPS VUI HRD only present if VPS timing info is signalled57 55 58 56 #define Q0108_TSA_STSA 1 ///< JCTVC-Q0108, Remove cross-layer alignment constraints of TSA and STSA pictures, enable to have different prediction structures in different layers -
branches/SHM-dev/source/Lib/TLibDecoder/SEIread.cpp
r1134 r1185 199 199 { 200 200 sei = new SEIDecodingUnitInfo; 201 #if VPS_VUI_BSP_HRD_PARAMS201 #if SVC_EXTENSION 202 202 xParseSEIDecodingUnitInfo((SEIDecodingUnitInfo&) *sei, payloadSize, sps, nestingSei, bspNestingSei, vps, pDecodedMessageOutputStream); 203 203 #else … … 214 214 { 215 215 sei = new SEIBufferingPeriod; 216 #if VPS_VUI_BSP_HRD_PARAMS216 #if SVC_EXTENSION 217 217 xParseSEIBufferingPeriod((SEIBufferingPeriod&) *sei, payloadSize, sps, nestingSei, bspNestingSei, vps, pDecodedMessageOutputStream); 218 218 #else … … 229 229 { 230 230 sei = new SEIPictureTiming; 231 #if VPS_VUI_BSP_HRD_PARAMS231 #if SVC_EXTENSION 232 232 xParseSEIPictureTiming((SEIPictureTiming&)*sei, payloadSize, sps, nestingSei, bspNestingSei, vps, pDecodedMessageOutputStream); 233 233 #else … … 560 560 } 561 561 562 #if VPS_VUI_BSP_HRD_PARAMS562 #if SVC_EXTENSION 563 563 Void SEIReader::xParseSEIDecodingUnitInfo(SEIDecodingUnitInfo& sei, UInt payloadSize, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps,std::ostream *pDecodedMessageOutputStream) 564 564 #else … … 571 571 sei.m_decodingUnitIdx = val; 572 572 573 #if VPS_VUI_BSP_HRD_PARAMS573 #if SVC_EXTENSION 574 574 TComHRD *hrd; 575 575 if( bspNestingSei ) // If DU info SEI contained inside a BSP nesting SEI message … … 645 645 } 646 646 647 #if VPS_VUI_BSP_HRD_PARAMS647 #if SVC_EXTENSION 648 648 Void SEIReader::xParseSEIBufferingPeriod(SEIBufferingPeriod& sei, UInt payloadSize, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps, std::ostream *pDecodedMessageOutputStream) 649 649 #else … … 654 654 UInt code; 655 655 656 #if VPS_VUI_BSP_HRD_PARAMS656 #if SVC_EXTENSION 657 657 TComHRD *pHRD; 658 658 if( bspNestingSei ) // If BP SEI contained inside a BSP nesting SEI message … … 749 749 } 750 750 751 #if VPS_VUI_BSP_HRD_PARAMS751 #if SVC_EXTENSION 752 752 Void SEIReader::xParseSEIPictureTiming(SEIPictureTiming& sei, UInt payloadSize, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps, std::ostream *pDecodedMessageOutputStream) 753 753 #else … … 758 758 UInt code; 759 759 760 #if VPS_VUI_BSP_HRD_PARAMS760 #if SVC_EXTENSION 761 761 TComHRD *hrd; 762 762 TComVUI *vui = sps->getVuiParameters(); … … 1548 1548 assert(vps->getVpsVuiPresentFlag()); 1549 1549 1550 #if VPS_VUI_BSP_HRD_PARAMS1550 #if SVC_EXTENSION 1551 1551 UInt uiCode; 1552 1552 Int psIdx = bspNestingSei.m_seiPartitioningSchemeIdx; -
branches/SHM-dev/source/Lib/TLibDecoder/SEIread.h
r1098 r1185 78 78 Void xParseSEIActiveParameterSets (SEIActiveParameterSets &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 79 79 Void xParseSEIDecodedPictureHash (SEIDecodedPictureHash& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 80 #if VPS_VUI_BSP_HRD_PARAMS80 #if SVC_EXTENSION 81 81 Void xParseSEIDecodingUnitInfo (SEIDecodingUnitInfo& sei, UInt payloadSize, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps, std::ostream *pDecodedMessageOutputStream); 82 82 Void xParseSEIBufferingPeriod (SEIBufferingPeriod& sei, UInt payloadSize, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps, std::ostream *pDecodedMessageOutputStream); -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1183 r1185 602 602 READ_CODE( 5, uiCode, "dpb_output_delay_length_minus1" ); hrd->setDpbOutputDelayLengthMinus1( uiCode ); 603 603 } 604 #if VPS_VUI_BSP_HRD_PARAMS604 #if SVC_EXTENSION 605 605 else 606 606 { … … 3529 3529 #if O0164_MULTI_LAYER_HRD 3530 3530 READ_FLAG(uiCode, "vps_vui_bsp_hrd_present_flag" ); vps->setVpsVuiBspHrdPresentFlag(uiCode); 3531 if (vps->getVpsVuiBspHrdPresentFlag()) 3532 {3533 #if VPS_VUI_BSP_HRD_PARAMS 3531 3532 if( vps->getVpsVuiBspHrdPresentFlag() ) 3533 { 3534 3534 parseVpsVuiBspHrdParams(vps); 3535 #else3536 #if R0227_VUI_BSP_HRD_FLAG3537 assert (vps->getTimingInfo()->getTimingInfoPresentFlag() == 1);3538 #endif3539 READ_UVLC( uiCode, "vps_num_bsp_hrd_parameters_minus1" ); vps->setVpsNumBspHrdParametersMinus1(uiCode);3540 vps->createBspHrdParamBuffer(vps->getVpsNumBspHrdParametersMinus1() + 1);3541 for( i = 0; i <= vps->getVpsNumBspHrdParametersMinus1(); i++ )3542 {3543 if( i > 0 )3544 {3545 READ_FLAG( uiCode, "bsp_cprms_present_flag[i]" ); vps->setBspCprmsPresentFlag(i, uiCode);3546 }3547 parseHrdParameters(vps->getBspHrd(i), i==0 ? 1 : vps->getBspCprmsPresentFlag(i), vps->getMaxTLayers()-1);3548 }3549 for (UInt h = 1; h <= vps->getVpsNumLayerSetsMinus1(); h++)3550 {3551 READ_UVLC( uiCode, "num_bitstream_partitions[i]"); vps->setNumBitstreamPartitions(h, uiCode);3552 #if HRD_BPB3553 Int chkPart=0;3554 #endif3555 for( i = 0; i < vps->getNumBitstreamPartitions(h); i++ )3556 {3557 for( j = 0; j <= (vps->getMaxLayers()-1); j++ )3558 {3559 if( vps->getLayerIdIncludedFlag(h, j) )3560 {3561 READ_FLAG( uiCode, "layer_in_bsp_flag[h][i][j]" ); vps->setLayerInBspFlag(h, i, j, uiCode);3562 }3563 }3564 #if HRD_BPB3565 chkPart+=vps->getLayerInBspFlag(h, i, j);3566 #endif3567 }3568 #if HRD_BPB3569 assert(chkPart<=1);3570 #endif3571 #if HRD_BPB3572 if(vps->getNumBitstreamPartitions(h)==1)3573 {3574 Int chkPartition1=0; Int chkPartition2=0;3575 for( j = 0; j <= (vps->getMaxLayers()-1); j++ )3576 {3577 if( vps->getLayerIdIncludedFlag(h, j) )3578 {3579 chkPartition1+=vps->getLayerInBspFlag(h, 0, j);3580 chkPartition2++;3581 }3582 }3583 assert(chkPartition1!=chkPartition2);3584 }3585 #endif3586 if (vps->getNumBitstreamPartitions(h))3587 {3588 #if Q0182_MULTI_LAYER_HRD_UPDATE3589 READ_UVLC( uiCode, "num_bsp_sched_combinations_minus1[h]"); vps->setNumBspSchedCombinations(h, uiCode + 1);3590 #else3591 READ_UVLC( uiCode, "num_bsp_sched_combinations[h]"); vps->setNumBspSchedCombinations(h, uiCode);3592 #endif3593 for( i = 0; i < vps->getNumBspSchedCombinations(h); i++ )3594 {3595 for( j = 0; j < vps->getNumBitstreamPartitions(h); j++ )3596 {3597 READ_UVLC( uiCode, "bsp_comb_hrd_idx[h][i][j]"); vps->setBspCombHrdIdx(h, i, j, uiCode);3598 #if HRD_BPB3599 assert(uiCode <= vps->getVpsNumBspHrdParametersMinus1());3600 #endif3601 3602 READ_UVLC( uiCode, "bsp_comb_sched_idx[h][i][j]"); vps->setBspCombSchedIdx(h, i, j, uiCode);3603 #if HRD_BPB3604 assert(uiCode <= vps->getBspHrdParamBufferCpbCntMinus1(uiCode,vps->getMaxTLayers()-1));3605 #endif3606 }3607 }3608 }3609 }3610 #endif3611 3535 } 3612 3536 #endif … … 3635 3559 assert( uiCode == 0 ); 3636 3560 } 3637 #endif3638 3561 3639 3562 #if Q0048_CGS_3D_ASYMLUT … … 3846 3769 } 3847 3770 #endif 3848 #if VPS_VUI_BSP_HRD_PARAMS 3771 #endif 3772 3849 3773 Void TDecCavlc::parseVpsVuiBspHrdParams( TComVPS *vps ) 3850 3774 { … … 3868 3792 } 3869 3793 } 3794 3870 3795 READ_UVLC( uiCode, "num_sub_layer_hrd_minus1[i]" ); vps->setNumSubLayerHrdMinus1(j, uiCode ); 3871 3796 assert( uiCode <= vps->getMaxTLayers() - 1 ); 3872 3797 3873 3798 parseHrdParameters( vps->getBspHrd(j), vps->getCprmsAddPresentFlag(j), vps->getNumSubLayerHrdMinus1(j) ); 3799 3874 3800 if( i > 0 && !vps->getCprmsAddPresentFlag(i) ) 3875 3801 { … … 3885 3811 } 3886 3812 } 3813 3887 3814 if( vps->getNumHrdParameters() + vps->getVpsNumAddHrdParams() > 0 ) 3888 3815 { … … 3891 3818 Int lsIdx = vps->getOutputLayerSetIdx(h); 3892 3819 READ_UVLC(uiCode, "num_signalled_partitioning_schemes[h]"); vps->setNumSignalledPartitioningSchemes(h, uiCode); 3820 3893 3821 for (Int j = 1; j < vps->getNumSignalledPartitioningSchemes(h) + 1; j++) 3894 3822 { 3895 3823 READ_UVLC(uiCode, "num_partitions_in_scheme_minus1[h][j]"); vps->setNumPartitionsInSchemeMinus1(h, j, uiCode); 3896 for (Int k = 0; k <= vps->getNumPartitionsInSchemeMinus1(h, j); k++) 3897 { 3898 for (Int r = 0; r < vps->getNumLayersInIdList(lsIdx); r++) 3824 3825 for( Int k = 0; k <= vps->getNumPartitionsInSchemeMinus1(h, j); k++ ) 3826 { 3827 for( Int r = 0; r < vps->getNumLayersInIdList(lsIdx); r++ ) 3899 3828 { 3900 3829 READ_FLAG(uiCode, "layer_included_in_partition_flag[h][j][k][r]"); vps->setLayerIncludedInPartitionFlag(h, j, k, r, uiCode ? true : false); … … 3902 3831 } 3903 3832 } 3904 for (Int i = 0; i < vps->getNumSignalledPartitioningSchemes(h) + 1; i++) 3905 { 3906 for (Int t = 0; t <= vps->getMaxSLayersInLayerSetMinus1(lsIdx); t++) 3833 3834 for( Int i = 0; i < vps->getNumSignalledPartitioningSchemes(h) + 1; i++ ) 3835 { 3836 for( Int t = 0; t <= vps->getMaxSLayersInLayerSetMinus1(lsIdx); t++ ) 3907 3837 { 3908 3838 READ_UVLC(uiCode, "num_bsp_schedules_minus1[h][i][t]"); vps->setNumBspSchedulesMinus1(h, i, t, uiCode); 3909 for (Int j = 0; j <= vps->getNumBspSchedulesMinus1(h, i, t); j++) 3839 3840 for( Int j = 0; j <= vps->getNumBspSchedulesMinus1(h, i, t); j++) 3910 3841 { 3911 3842 for( Int k = 0; k <= vps->getNumPartitionsInSchemeMinus1(h, i); k++ ) … … 3914 3845 { 3915 3846 Int numBits = 1; 3916 while ((1 << numBits) < (vps->getNumHrdParameters() + vps->getVpsNumAddHrdParams())) 3847 3848 while( (1 << numBits) < (vps->getNumHrdParameters() + vps->getVpsNumAddHrdParams()) ) 3917 3849 { 3918 3850 numBits++; 3919 3851 } 3852 3920 3853 READ_CODE(numBits, uiCode, "bsp_comb_hrd_idx[h][i][t][j][k]"); vps->setBspHrdIdx(h, i, t, j, k, uiCode); 3921 3854 } 3855 3922 3856 READ_UVLC(uiCode, "bsp_comb_sched_idx[h][i][t][j][k]"); vps->setBspSchedIdx(h, i, t, j, k, uiCode); 3923 3857 } … … 3932 3866 } 3933 3867 } 3934 #endif 3935 #endif 3868 #endif //SVC_EXTENSION 3936 3869 //! \} 3937 3870 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.h
r1145 r1185 138 138 Void parseVpsDpbSizeTable( TComVPS *vps ); 139 139 #endif 140 #if VPS_VUI_BSP_HRD_PARAMS141 140 Void parseVpsVuiBspHrdParams( TComVPS *vps ); 142 #endif143 141 Void parseSPSExtension ( TComSPS* pcSPS ); 144 142 #if Q0048_CGS_3D_ASYMLUT -
branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.cpp
r1134 r1185 55 55 56 56 #if O0164_MULTI_LAYER_HRD 57 #if VPS_VUI_BSP_HRD_PARAMS58 57 Void SEIWriter::xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting* nestingSeiPtr, const SEIBspNesting* bspNestingSeiPtr) 59 58 #else 60 Void SEIWriter::xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting& nestingSei, const SEIBspNesting& bspNestingSei)61 #endif62 #else63 59 Void SEIWriter::xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, TComSPS *sps) 64 60 #endif 65 61 { 66 #if VPS_VUI_BSP_HRD_PARAMS62 #if SVC_EXTENSION 67 63 SEIScalableNesting nestingSei; 68 64 SEIBspNesting bspNestingSei; … … 87 83 xWriteSEIDecodedPictureHash(*static_cast<const SEIDecodedPictureHash*>(&sei)); 88 84 break; 89 #if VPS_VUI_BSP_HRD_PARAMS85 #if SVC_EXTENSION 90 86 case SEI::DECODING_UNIT_INFO: 91 87 xWriteSEIDecodingUnitInfo(*static_cast<const SEIDecodingUnitInfo*>(& sei), sps, nestingSeiPtr, bspNestingSeiPtr, vps); … … 236 232 #endif 237 233 #if O0164_MULTI_LAYER_HRD 238 #if VPS_VUI_BSP_HRD_PARAMS239 234 xWriteSEIpayloadData(bs_count, sei, vps, sps, nestingSei, bspNestingSei); 240 #else241 xWriteSEIpayloadData(bs_count, sei, vps, sps, *nestingSei, *bspNestingSei);242 #endif243 235 #else 244 236 xWriteSEIpayloadData(bs_count, sei, sps); … … 279 271 280 272 #if O0164_MULTI_LAYER_HRD 281 #if VPS_VUI_BSP_HRD_PARAMS282 273 xWriteSEIpayloadData(bs, sei, vps, sps, nestingSei, bspNestingSei); 283 #else284 xWriteSEIpayloadData(bs, sei, vps, sps, *nestingSei, *bspNestingSei);285 #endif286 274 #else 287 275 xWriteSEIpayloadData(bs, sei, sps); … … 352 340 } 353 341 354 #if VPS_VUI_BSP_HRD_PARAMS342 #if SVC_EXTENSION 355 343 Void SEIWriter::xWriteSEIDecodingUnitInfo(const SEIDecodingUnitInfo& sei, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps) 356 #else 357 Void SEIWriter::xWriteSEIDecodingUnitInfo(const SEIDecodingUnitInfo& sei, TComSPS *sps) 358 #endif 359 { 360 #if VPS_VUI_BSP_HRD_PARAMS 344 { 361 345 TComHRD *hrd; 362 346 if( bspNestingSei ) // If DU info SEI contained inside a BSP nesting SEI message … … 406 390 WRITE_CODE(sei.m_picSptDpbOutputDuDelay, hrd->getDpbOutputDelayDuLengthMinus1() + 1, "pic_spt_dpb_output_du_delay"); 407 391 } 392 } 408 393 #else 394 Void SEIWriter::xWriteSEIDecodingUnitInfo(const SEIDecodingUnitInfo& sei, TComSPS *sps) 395 { 409 396 TComVUI *vui = sps->getVuiParameters(); 410 397 WRITE_UVLC(sei.m_decodingUnitIdx, "decoding_unit_idx"); … … 418 405 WRITE_CODE(sei.m_picSptDpbOutputDuDelay, vui->getHrdParameters()->getDpbOutputDelayDuLengthMinus1() + 1, "pic_spt_dpb_output_du_delay"); 419 406 } 420 #endif 421 } 422 423 #if VPS_VUI_BSP_HRD_PARAMS407 } 408 #endif 409 410 #if SVC_EXTENSION 424 411 Void SEIWriter::xWriteSEIBufferingPeriod(const SEIBufferingPeriod& sei, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps) 425 412 #else … … 428 415 { 429 416 Int i, nalOrVcl; 430 #if VPS_VUI_BSP_HRD_PARAMS417 #if SVC_EXTENSION 431 418 TComHRD *hrd; 432 419 if( bspNestingSei ) // If BP SEI contained inside a BSP nesting SEI message … … 506 493 #endif 507 494 } 508 #if VPS_VUI_BSP_HRD_PARAMS 495 496 #if SVC_EXTENSION 509 497 Void SEIWriter::xWriteSEIPictureTiming(const SEIPictureTiming& sei, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps) 510 498 #else … … 513 501 { 514 502 Int i; 515 #if VPS_VUI_BSP_HRD_PARAMS503 #if SVC_EXTENSION 516 504 TComHRD *hrd; 517 505 TComVUI *vui = sps->getVuiParameters(); … … 1165 1153 assert(vps->getVpsVuiPresentFlag()); 1166 1154 1167 #if VPS_VUI_BSP_HRD_PARAMS1155 #if SVC_EXTENSION 1168 1156 Int psIdx = bspNestingSei.m_seiPartitioningSchemeIdx; 1169 1157 Int seiOlsIdx = bspNestingSei.m_seiOlsIdx; -
branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.h
r1098 r1185 58 58 protected: 59 59 #if O0164_MULTI_LAYER_HRD 60 #if VPS_VUI_BSP_HRD_PARAMS61 60 Void xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei); 62 #else63 Void xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting& nestingSei, const SEIBspNesting& bspNestingSei);64 #endif65 61 #else 66 62 Void xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, TComSPS *sps); … … 69 65 Void xWriteSEIActiveParameterSets(const SEIActiveParameterSets& sei); 70 66 Void xWriteSEIDecodedPictureHash(const SEIDecodedPictureHash& sei); 71 #if VPS_VUI_BSP_HRD_PARAMS67 #if SVC_EXTENSION 72 68 Void xWriteSEIDecodingUnitInfo(const SEIDecodingUnitInfo& sei, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps); 73 69 Void xWriteSEIBufferingPeriod(const SEIBufferingPeriod& sei, TComSPS *sps, const SEIScalableNesting* nestingSei, const SEIBspNesting* bspNestingSei, TComVPS *vps); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1183 r1185 2496 2496 2497 2497 #if O0164_MULTI_LAYER_HRD 2498 WRITE_FLAG(vps->getVpsVuiBspHrdPresentFlag(), "vps_vui_bsp_hrd_present_flag" ); 2499 if (vps->getVpsVuiBspHrdPresentFlag()) 2500 { 2501 #if VPS_VUI_BSP_HRD_PARAMS 2502 codeVpsVuiBspHrdParams(vps); 2503 #else 2504 WRITE_UVLC( vps->getVpsNumBspHrdParametersMinus1(), "vps_num_bsp_hrd_parameters_minus1" ); 2505 for( i = 0; i <= vps->getVpsNumBspHrdParametersMinus1(); i++ ) 2506 { 2507 if( i > 0 ) 2508 { 2509 WRITE_FLAG( vps->getBspCprmsPresentFlag(i), "bsp_cprms_present_flag[i]" ); 2510 } 2511 codeHrdParameters(vps->getBspHrd(i), i==0 ? 1 : vps->getBspCprmsPresentFlag(i), vps->getMaxTLayers()-1); 2512 } 2513 for( UInt h = 1; h <= vps->getVpsNumLayerSetsMinus1(); h++ ) 2514 { 2515 WRITE_UVLC( vps->getNumBitstreamPartitions(h), "num_bitstream_partitions[i]"); 2516 for( i = 0; i < vps->getNumBitstreamPartitions(h); i++ ) 2517 { 2518 for( j = 0; j <= (vps->getMaxLayers()-1); j++ ) 2519 { 2520 if (vps->getLayerIdIncludedFlag(h, j)) 2521 { 2522 WRITE_FLAG( vps->getLayerInBspFlag(h, i, j), "layer_in_bsp_flag[h][i][j]" ); 2523 } 2524 } 2525 } 2526 if (vps->getNumBitstreamPartitions(h)) 2527 { 2528 #if Q0182_MULTI_LAYER_HRD_UPDATE 2529 WRITE_UVLC(vps->getNumBspSchedCombinations(h) - 1, "num_bsp_sched_combinations_minus1[h]"); 2530 #else 2531 WRITE_UVLC( vps->getNumBspSchedCombinations(h), "num_bsp_sched_combinations[h]"); 2532 #endif 2533 for( i = 0; i < vps->getNumBspSchedCombinations(h); i++ ) 2534 { 2535 for( j = 0; j < vps->getNumBitstreamPartitions(h); j++ ) 2536 { 2537 WRITE_UVLC( vps->getBspCombHrdIdx(h, i, j), "bsp_comb_hrd_idx[h][i][j]"); 2538 WRITE_UVLC( vps->getBspCombSchedIdx(h, i, j), "bsp_comb_sched_idx[h][i][j]"); 2539 } 2540 } 2541 } 2542 } 2543 #endif 2544 } 2545 #endif 2546 2547 for( i = 1; i < vps->getMaxLayers(); i++ ) 2548 { 2549 if( vps->getNumRefLayers(vps->getLayerIdInNuh(i)) == 0 ) 2550 { 2551 WRITE_FLAG(vps->getBaseLayerPSCompatibilityFlag(i), "base_layer_parameter_set_compatibility_flag" ); 2552 } 2553 } 2498 WRITE_FLAG(vps->getVpsVuiBspHrdPresentFlag(), "vps_vui_bsp_hrd_present_flag" ); 2499 2500 if( vps->getVpsVuiBspHrdPresentFlag() ) 2501 { 2502 codeVpsVuiBspHrdParams(vps); 2503 } 2504 #endif 2505 2506 for( i = 1; i < vps->getMaxLayers(); i++ ) 2507 { 2508 if( vps->getNumRefLayers(vps->getLayerIdInNuh(i)) == 0 ) 2509 { 2510 WRITE_FLAG(vps->getBaseLayerPSCompatibilityFlag(i), "base_layer_parameter_set_compatibility_flag" ); 2511 } 2512 } 2554 2513 } 2555 2514 … … 2561 2520 WRITE_FLAG( 0, "inter_view_mv_vert_constraint_flag" ); 2562 2521 } 2563 #endif //SVC_EXTENSION2564 2522 2565 2523 #if Q0048_CGS_3D_ASYMLUT … … 2791 2749 } 2792 2750 #endif 2793 #if VPS_VUI_BSP_HRD_PARAMS 2751 #endif 2752 2794 2753 Void TEncCavlc::codeVpsVuiBspHrdParams(TComVPS * const vps) 2795 2754 { 2796 2755 WRITE_UVLC( vps->getVpsNumAddHrdParams(), "vps_num_add_hrd_params" ); 2756 2797 2757 for( Int i = vps->getNumHrdParameters(), j = 0; i < vps->getNumHrdParameters() + vps->getVpsNumAddHrdParams(); i++, j++ ) // j = i - vps->getNumHrdParameters() 2798 2758 { … … 2801 2761 WRITE_FLAG( vps->getCprmsAddPresentFlag(j), "cprms_add_present_flag[i]" ); 2802 2762 } 2763 2803 2764 WRITE_UVLC( vps->getNumSubLayerHrdMinus1(j), "num_sub_layer_hrd_minus1[i]" ); 2765 2804 2766 codeHrdParameters(vps->getBspHrd(j), i == 0 ? true : vps->getCprmsAddPresentFlag(j), vps->getNumSubLayerHrdMinus1(j)); 2805 2767 } … … 2810 2772 { 2811 2773 Int lsIdx = vps->getOutputLayerSetIdx( h ); 2774 2812 2775 WRITE_UVLC( vps->getNumSignalledPartitioningSchemes(h), "num_signalled_partitioning_schemes[h]"); 2813 2776 … … 2815 2778 { 2816 2779 WRITE_UVLC( vps->getNumPartitionsInSchemeMinus1(h, j), "num_partitions_in_scheme_minus1[h][j]" ); 2780 2817 2781 for( Int k = 0; k <= vps->getNumPartitionsInSchemeMinus1(h, j); k++ ) 2818 2782 { … … 2832 2796 for( Int j = 0; j <= vps->getNumBspSchedulesMinus1(h, i, t); j++ ) 2833 2797 { 2834 for (Int k = 0; k <= vps->getNumPartitionsInSchemeMinus1(h, i); k++)2798 for( Int k = 0; k <= vps->getNumPartitionsInSchemeMinus1(h, i); k++ ) 2835 2799 { 2836 if (vps->getNumHrdParameters() + vps->getVpsNumAddHrdParams() > 1)2800 if( vps->getNumHrdParameters() + vps->getVpsNumAddHrdParams() > 1 ) 2837 2801 { 2838 2802 Int numBits = 1; … … 2841 2805 numBits++; 2842 2806 } 2807 2843 2808 WRITE_CODE(vps->getBspHrdIdx(h, i, t, j, k), numBits, "bsp_comb_hrd_idx[h][i][t][j][k]"); 2844 2809 } 2810 2845 2811 WRITE_UVLC( vps->getBspSchedIdx(h, i, t, j, k), "bsp_comb_sched_idx[h][i][t][j][k]"); 2846 2812 } … … 2851 2817 } 2852 2818 } 2853 #endif 2854 #endif 2819 2820 #endif //SVC_EXTENSION 2855 2821 //! \} -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.h
r1029 r1185 166 166 Void codeVpsDpbSizeTable (TComVPS *vps); 167 167 #endif 168 #if VPS_VUI_BSP_HRD_PARAMS169 168 Void codeVpsVuiBspHrdParams (TComVPS * const); 170 #endif171 169 #if Q0048_CGS_3D_ASYMLUT 172 170 #if R0179_ENC_OPT_3DLUT_SIZE -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r1181 r1185 2448 2448 { 2449 2449 Int j; 2450 #if VPS_VUI_BSP_HRD_PARAMS2451 2450 TComVPS *vps = m_pcEncTop->getVPS(); 2452 for(Int i = 0; i < vps->getNumOutputLayerSets(); i++) 2453 { 2454 for(Int k = 0; k < vps->getNumSignalledPartitioningSchemes(i); k++) 2451 2452 for( Int i = 0; i < vps->getNumOutputLayerSets(); i++ ) 2453 { 2454 for( Int k = 0; k < vps->getNumSignalledPartitioningSchemes(i); k++ ) 2455 2455 { 2456 for( Int l = 0; l < vps->getNumPartitionsInSchemeMinus1(i, k)+1; l++)2456 for( Int l = 0; l < vps->getNumPartitionsInSchemeMinus1(i, k)+1; l++ ) 2457 2457 { 2458 #endif2459 2458 nalu = NALUnit(NAL_UNIT_PREFIX_SEI, 0, 1); 2460 2459 m_pcEntropyCoder->setEntropyCoder(m_pcCavlcCoder, pcSlice); 2461 2460 m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream); 2462 #if VPS_VUI_BSP_HRD_PARAMS2463 2461 SEIScalableNesting *scalableBspNestingSei = xCreateBspNestingSEI(pcSlice, i, k, l); 2464 #else2465 SEIScalableNesting *scalableBspNestingSei = xCreateBspNestingSEI(pcSlice);2466 #endif2467 2462 m_seiWriter.writeSEImessage(nalu.m_Bitstream, *scalableBspNestingSei, m_pcEncTop->getVPS(), pcSlice->getSPS()); 2468 2463 writeRBSPTrailingBits(nalu.m_Bitstream); … … 2473 2468 + m_pictureTimingSEIPresentInAU 2474 2469 + m_nestedPictureTimingSEIPresentInAU; // Insert SEI after APS, BP and PT SEI 2470 2475 2471 AccessUnit::iterator it; 2476 for(j = 0, it = accessUnit.begin(); j < seiPositionInAu + offsetPosition; j++) 2472 2473 for( j = 0, it = accessUnit.begin(); j < seiPositionInAu + offsetPosition; j++ ) 2477 2474 { 2478 2475 it++; 2479 2476 } 2477 2480 2478 accessUnit.insert(it, new NALUnitEBSP(nalu)); 2481 #if VPS_VUI_BSP_HRD_PARAMS2482 2479 } 2483 2480 } 2484 2481 } 2485 #endif2486 2482 } 2487 2483 #endif … … 4958 4954 4959 4955 #if O0164_MULTI_LAYER_HRD 4960 #if VPS_VUI_BSP_HRD_PARAMS4961 4956 SEIScalableNesting* TEncGOP::xCreateBspNestingSEI(TComSlice *pcSlice, Int olsIdx, Int partitioningSchemeIdx, Int bspIdx) 4962 #else4963 SEIScalableNesting* TEncGOP::xCreateBspNestingSEI(TComSlice *pcSlice)4964 #endif4965 4957 { 4966 4958 SEIScalableNesting *seiScalableNesting = new SEIScalableNesting(); … … 4975 4967 seiScalableNesting->m_defaultOpFlag = 0; 4976 4968 seiScalableNesting->m_nestingNumOpsMinus1 = 0; //nesting_num_ops_minus1 4977 #if VPS_VUI_BSP_HRD_PARAMS4978 4969 seiScalableNesting->m_nestingOpIdx[0] = pcSlice->getVPS()->getOutputLayerSetIdx(olsIdx); 4979 4970 seiScalableNesting->m_nestingMaxTemporalIdPlus1[0] = 6 + 1; 4980 #else4981 seiScalableNesting->m_nestingOpIdx[0] = 1;4982 #endif4983 4971 seiScalableNesting->m_allLayersFlag = 0; 4984 4972 seiScalableNesting->m_nestingNoOpMaxTemporalIdPlus1 = 6 + 1; //nesting_no_op_max_temporal_id_plus1 … … 5026 5014 seiBspNesting->m_nestedSEIs.push_back(seiBufferingPeriod); 5027 5015 seiBspNesting->m_nestedSEIs.push_back(seiBspInitialArrivalTime); 5028 #if VPS_VUI_BSP_HRD_PARAMS5029 5016 seiBspNesting->m_bspIdx = bspIdx; 5030 5017 seiBspNesting->m_seiOlsIdx = olsIdx; 5031 5018 seiBspNesting->m_seiPartitioningSchemeIdx = partitioningSchemeIdx; 5032 #endif5033 5019 seiScalableNesting->m_nestedSEIs.push_back(seiBspNesting); // BSP nesting SEI is contained in scalable nesting SEI 5034 5020 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.h
r1131 r1185 282 282 #endif 283 283 #if O0164_MULTI_LAYER_HRD 284 #if VPS_VUI_BSP_HRD_PARAMS285 284 SEIScalableNesting* xCreateBspNestingSEI(TComSlice *pcSlice, Int olsIdx, Int partitioningSchemeIdx, Int bspIdx); 286 #else287 SEIScalableNesting* xCreateBspNestingSEI(TComSlice *pcSlice);288 #endif289 285 #endif 290 286 #if P0123_ALPHA_CHANNEL_SEI -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp
r1182 r1185 240 240 241 241 // set the VPS profile information 242 #if VPS_VUI_BSP_HRD_PARAMS242 #if SVC_EXTENSION 243 243 m_cVPS.getTimingInfo()->setTimingInfoPresentFlag ( true ); 244 244 #else
Note: See TracChangeset for help on using the changeset viewer.