Changeset 1380 in 3DVCSoftware for branches/HTM-15.2-dev/source
- Timestamp:
- 11 Nov 2015, 20:47:01 (9 years ago)
- Location:
- branches/HTM-15.2-dev/source
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-15.2-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1374 r1380 806 806 #endif 807 807 #if NH_MV 808 ("NumberOfLayers", m_numberOfLayers , 1, "Number of layers")809 #if !NH_3D 810 ("ScalabilityMask", m_scalabilityMask , 2 , "Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary")811 #else 812 ("ScalabilityMask", m_scalabilityMask , 3 , "Scalability Mask, 1: Texture 3: Texture + Depth ")808 ("NumberOfLayers", m_numberOfLayers , 1, "Number of layers") 809 #if !NH_3D 810 ("ScalabilityMask", m_scalabilityMask , 2 , "Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary") 811 #else 812 ("ScalabilityMask", m_scalabilityMask , 3 , "Scalability Mask, 1: Texture 3: Texture + Depth ") 813 813 #endif 814 ("DimensionIdLen", m_dimensionIdLen , cfg_dimensionLength , "Number of bits used to store dimensions Id")814 ("DimensionIdLen", m_dimensionIdLen , cfg_dimensionLength , "Number of bits used to store dimensions Id") 815 815 ("ViewOrderIndex", m_viewOrderIndex , IntAry1d(1,0), "View Order Index per layer") 816 816 ("ViewId", m_viewId , IntAry1d(1,0), "View Id per View Order Index") … … 821 821 ("TargetEncLayerIdList", m_targetEncLayerIdList , IntAry1d(0,0), "LayerIds in Nuh to be encoded") 822 822 ("LayerIdInNuh", m_layerIdInNuh , IntAry1d(1,0), "LayerId in Nuh") 823 ("SplittingFlag", m_splittingFlag , false ,"Splitting Flag")823 ("SplittingFlag", m_splittingFlag , false, "Splitting Flag") 824 824 825 825 // Layer Sets + Output Layer Sets + Profile Tier Level 826 ("VpsNumLayerSets" , m_vpsNumLayerSets , 1 ,"Number of layer sets")827 ("LayerIdsInSet_%d" , m_layerId sInSets , IntAry1d(1,0) , MAX_VPS_OP_SETS_PLUS1 , "LayerIds of Layer set")828 ("NumAddLayerSets" , m_numAddLayerSets , 0 ,"NumAddLayerSets ")826 ("VpsNumLayerSets" , m_vpsNumLayerSets , 1 , "Number of layer sets") 827 ("LayerIdsInSet_%d" , m_layerIdxInVpsInSets , IntAry1d(1,0) , MAX_VPS_OP_SETS_PLUS1 , "Layer indices in VPS of layers in layer set") 828 ("NumAddLayerSets" , m_numAddLayerSets , 0 , "NumAddLayerSets ") 829 829 ("HighestLayerIdxPlus1_%d" , m_highestLayerIdxPlus1 , IntAry1d(0,0) , MAX_VPS_NUM_ADD_LAYER_SETS , "HighestLayerIdxPlus1") 830 ("DefaultTargetOutputLayerIdc" , m_defaultOutputLayerIdc , 0,"Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet")830 ("DefaultTargetOutputLayerIdc" , m_defaultOutputLayerIdc , 0 , "Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet") 831 831 ("OutputLayerSetIdx" , m_outputLayerSetIdx , IntAry1d(0,0) , "Indices of layer sets used as additional output layer sets") 832 832 ("LayerIdsInAddOutputLayerSet_%d", m_layerIdsInAddOutputLayerSet , IntAry1d(0,0) , MAX_VPS_ADD_OUTPUT_LAYER_SETS, "Indices in VPS of output layers in additional output layer set") … … 2366 2366 if (lsIdx == 0) 2367 2367 { 2368 xConfirmPara( m_layerId sInSets[lsIdx].size() != 1 || m_layerIdsInSets[lsIdx][0] != 0 , "0-th layer shall only include layer 0. ");2369 } 2370 for ( Int i = 0; i < m_layerId sInSets[lsIdx].size(); i++ )2371 { 2372 xConfirmPara( m_layerId sInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx][i] >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than 0 and less than MAX_NUM_LAYER_IDS" );2368 xConfirmPara( m_layerIdxInVpsInSets[lsIdx].size() != 1 || m_layerIdxInVpsInSets[lsIdx][0] != 0 , "0-th layer shall only include layer 0. "); 2369 } 2370 for ( Int i = 0; i < m_layerIdxInVpsInSets[lsIdx].size(); i++ ) 2371 { 2372 xConfirmPara( m_layerIdxInVpsInSets[lsIdx][i] < 0 || m_layerIdxInVpsInSets[lsIdx][i] >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than 0 and less than MAX_NUM_LAYER_IDS" ); 2373 2373 } 2374 2374 } … … 2403 2403 { 2404 2404 Bool inLayerSetFlag = false; 2405 for (Int j = 0; j < m_layerId sInSets[ lsIdx].size(); j++ )2405 for (Int j = 0; j < m_layerIdxInVpsInSets[ lsIdx].size(); j++ ) 2406 2406 { 2407 if ( m_layerId sInSets[ lsIdx ][ j ] == m_layerIdsInDefOutputLayerSet[ lsIdx ][ i ] )2407 if ( m_layerIdxInVpsInSets[ lsIdx ][ j ] == m_layerIdsInDefOutputLayerSet[ lsIdx ][ i ] ) 2408 2408 { 2409 2409 inLayerSetFlag = true; -
branches/HTM-15.2-dev/source/App/TAppEncoder/TAppEncCfg.h
r1374 r1380 91 91 // layer sets 92 92 Int m_vpsNumLayerSets; ///< Number of layer sets 93 IntAry2d m_layerId sInSets; ///< LayerIds in vps of layer set93 IntAry2d m_layerIdxInVpsInSets; ///< LayerIds in vps of layer set 94 94 Int m_numAddLayerSets; ///< Number of additional layer sets 95 95 IntAry2d m_highestLayerIdxPlus1; ///< HighestLayerIdxPlus1 for each additional layer set and each independent layer (value with index 0 will be ignored) -
branches/HTM-15.2-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1374 r1380 188 188 for (Int d = 0; d < 2; d++) 189 189 { 190 m_sps3dExtension.setIv MvPredFlag ( d, m_ivMvPredFlag[d] );191 m_sps3dExtension.setIvMvScal ingFlag ( d, m_ivMvScalingFlag[d] );190 m_sps3dExtension.setIvDiMcEnabledFlag ( d, m_ivMvPredFlag[d] ); 191 m_sps3dExtension.setIvMvScalEnabledFlag ( d, m_ivMvScalingFlag[d] ); 192 192 if (d == 0 ) 193 193 { 194 m_sps3dExtension.setLog2 SubPbSizeMinus3 ( d, m_log2SubPbSizeMinus3 );195 m_sps3dExtension.setIvResPred Flag ( d, m_ivResPredFlag );196 m_sps3dExtension.setDepthRef inementFlag ( d, m_depthRefinementFlag );197 m_sps3dExtension.setV iewSynthesisPredFlag ( d, m_viewSynthesisPredFlag );198 m_sps3dExtension.setD epthBasedBlkPartFlag ( d, m_depthBasedBlkPartFlag );194 m_sps3dExtension.setLog2IvmcSubPbSizeMinus3 ( d, m_log2SubPbSizeMinus3 ); 195 m_sps3dExtension.setIvResPredEnabledFlag ( d, m_ivResPredFlag ); 196 m_sps3dExtension.setDepthRefEnabledFlag ( d, m_depthRefinementFlag ); 197 m_sps3dExtension.setVspMcEnabledFlag ( d, m_viewSynthesisPredFlag ); 198 m_sps3dExtension.setDbbpEnabledFlag ( d, m_depthBasedBlkPartFlag ); 199 199 } 200 200 else 201 201 { 202 m_sps3dExtension.set MpiFlag ( d, m_mpiFlag );203 m_sps3dExtension.setLog2 MpiSubPbSizeMinus3( d, m_log2MpiSubPbSizeMinus3);204 m_sps3dExtension.setIntraContour Flag ( d, m_intraContourFlag );205 m_sps3dExtension.setIntra SdcWedgeFlag ( d, m_intraSdcFlag || m_intraWedgeFlag );206 m_sps3dExtension.set QtPredFlag ( d, m_qtPredFlag );207 m_sps3dExtension.setInter SdcFlag ( d, m_interSdcFlag );208 m_sps3dExtension.set DepthIntraSkipFlag ( d, m_depthIntraSkipFlag );202 m_sps3dExtension.setTexMcEnabledFlag ( d, m_mpiFlag ); 203 m_sps3dExtension.setLog2TexmcSubPbSizeMinus3( d, m_log2MpiSubPbSizeMinus3); 204 m_sps3dExtension.setIntraContourEnabledFlag ( d, m_intraContourFlag ); 205 m_sps3dExtension.setIntraDcOnlyWedgeEnabledFlag ( d, m_intraSdcFlag || m_intraWedgeFlag ); 206 m_sps3dExtension.setCqtCuPartPredEnabledFlag ( d, m_qtPredFlag ); 207 m_sps3dExtension.setInterDcOnlyEnabledFlag ( d, m_interSdcFlag ); 208 m_sps3dExtension.setSkipIntraEnabledFlag ( d, m_depthIntraSkipFlag ); 209 209 } 210 210 } … … 2071 2071 vps.setLayerIdIncludedFlag( false, lsIdx, layerId ); 2072 2072 } 2073 for ( Int i = 0; i < m_layerId sInSets[lsIdx].size(); i++)2073 for ( Int i = 0; i < m_layerIdxInVpsInSets[lsIdx].size(); i++) 2074 2074 { 2075 vps.setLayerIdIncludedFlag( true, lsIdx, vps.getLayerIdInNuh( m_layerId sInSets[lsIdx][i] ) );2075 vps.setLayerIdIncludedFlag( true, lsIdx, vps.getLayerIdInNuh( m_layerIdxInVpsInSets[lsIdx][i] ) ); 2076 2076 } 2077 2077 } -
branches/HTM-15.2-dev/source/Lib/TLibCommon/TComDataCU.cpp
r1374 r1380 5101 5101 5102 5102 //// ******* Get disparity from left block ******* ///// 5103 #if NH_3D_FIX_TICKET_91 5104 pcTmpCU = getPULeft(uiIdx, uiPartIdxLB); 5105 #else 5103 5106 pcTmpCU = getPULeft(uiIdx, uiPartIdxLB, true, false); 5107 #endif 5104 5108 bCheckMcpDv = true; 5105 5109 if ( xCheckSpatialNBDV( pcTmpCU, uiIdx, pDInfo, bCheckMcpDv, &cIDVInfo, DVFROM_LEFT -
branches/HTM-15.2-dev/source/Lib/TLibCommon/TComSlice.cpp
r1374 r1380 1923 1923 for ( Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++) 1924 1924 { 1925 #if !NH_3D_FIX_TICKET_107 1925 1926 m_layerSetIdxForOlsMinus1[i] = -1; 1927 #endif 1926 1928 for ( Int j = 0; j < MAX_VPS_NUH_LAYER_ID_PLUS1; j++) 1927 1929 { … … 4318 4320 const TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension(); 4319 4321 4320 m_ivMvPredFlag = sps3dExt->getIv MvPredFlag( depthFlag ) && nRLLG0 ;4321 m_ivMvScalingFlag = sps3dExt->getIvMvScal ingFlag( depthFlag ) ;4322 m_ivResPredFlag = sps3dExt->getIvResPred Flag( depthFlag ) && nRLLG0 ;4323 m_depthRefinementFlag = sps3dExt->getDepthRef inementFlag( depthFlag ) && getInCompPredFlag() && m_cpAvailableFlag;4324 m_viewSynthesisPredFlag = sps3dExt->getV iewSynthesisPredFlag( depthFlag ) && nRLLG0 && getInCompPredFlag() && m_cpAvailableFlag;4325 m_depthBasedBlkPartFlag = sps3dExt->getD epthBasedBlkPartFlag( depthFlag ) && getInCompPredFlag();4326 m_mpiFlag = sps3dExt->get MpiFlag( depthFlag ) && getInCompPredFlag();4327 m_intraContourFlag = sps3dExt->getIntraContour Flag( depthFlag ) && getInCompPredFlag();4328 m_intraSdcWedgeFlag = sps3dExt->getIntra SdcWedgeFlag( depthFlag ) ;4329 m_qtPredFlag = sps3dExt->get QtPredFlag( depthFlag ) && getInCompPredFlag();4330 m_interSdcFlag = sps3dExt->getInter SdcFlag( depthFlag ) ;4331 m_depthIntraSkipFlag = sps3dExt->get DepthIntraSkipFlag( depthFlag ) ;4332 4333 m_subPbSize = 1 << ( sps3dExt->getLog2 SubPbSizeMinus3( depthFlag ) + 3 );4334 m_mpiSubPbSize = 1 << ( sps3dExt->getLog2 MpiSubPbSizeMinus3( depthFlag ) + 3 );4322 m_ivMvPredFlag = sps3dExt->getIvDiMcEnabledFlag ( depthFlag ) && nRLLG0 ; 4323 m_ivMvScalingFlag = sps3dExt->getIvMvScalEnabledFlag ( depthFlag ) ; 4324 m_ivResPredFlag = sps3dExt->getIvResPredEnabledFlag ( depthFlag ) && nRLLG0 ; 4325 m_depthRefinementFlag = sps3dExt->getDepthRefEnabledFlag ( depthFlag ) && getInCompPredFlag() && m_cpAvailableFlag; 4326 m_viewSynthesisPredFlag = sps3dExt->getVspMcEnabledFlag ( depthFlag ) && nRLLG0 && getInCompPredFlag() && m_cpAvailableFlag; 4327 m_depthBasedBlkPartFlag = sps3dExt->getDbbpEnabledFlag ( depthFlag ) && getInCompPredFlag(); 4328 m_mpiFlag = sps3dExt->getTexMcEnabledFlag ( depthFlag ) && getInCompPredFlag(); 4329 m_intraContourFlag = sps3dExt->getIntraContourEnabledFlag ( depthFlag ) && getInCompPredFlag(); 4330 m_intraSdcWedgeFlag = sps3dExt->getIntraDcOnlyWedgeEnabledFlag( depthFlag ) ; 4331 m_qtPredFlag = sps3dExt->getCqtCuPartPredEnabledFlag ( depthFlag ) && getInCompPredFlag(); 4332 m_interSdcFlag = sps3dExt->getInterDcOnlyEnabledFlag ( depthFlag ) ; 4333 m_depthIntraSkipFlag = sps3dExt->getSkipIntraEnabledFlag ( depthFlag ) ; 4334 4335 m_subPbSize = 1 << ( sps3dExt->getLog2IvmcSubPbSizeMinus3 ( depthFlag ) + 3 ); 4336 m_mpiSubPbSize = 1 << ( sps3dExt->getLog2TexmcSubPbSizeMinus3( depthFlag ) + 3 ); 4335 4337 4336 4338 … … 4413 4415 if( !getIsDepth() ) 4414 4416 { 4415 m_inCmpPredAvailFlag = sps3dExt->getV iewSynthesisPredFlag( getIsDepth() ) ||4416 sps3dExt->getD epthBasedBlkPartFlag( getIsDepth() ) ||4417 sps3dExt->getDepthRef inementFlag ( getIsDepth() );4417 m_inCmpPredAvailFlag = sps3dExt->getVspMcEnabledFlag( getIsDepth() ) || 4418 sps3dExt->getDbbpEnabledFlag( getIsDepth() ) || 4419 sps3dExt->getDepthRefEnabledFlag ( getIsDepth() ); 4418 4420 } 4419 4421 else 4420 4422 { 4421 m_inCmpPredAvailFlag = sps3dExt->getIntraContour Flag( getIsDepth() ) ||4422 sps3dExt->get QtPredFlag( getIsDepth() ) ||4423 sps3dExt->get MpiFlag( getIsDepth() );4423 m_inCmpPredAvailFlag = sps3dExt->getIntraContourEnabledFlag( getIsDepth() ) || 4424 sps3dExt->getCqtCuPartPredEnabledFlag( getIsDepth() ) || 4425 sps3dExt->getTexMcEnabledFlag( getIsDepth() ); 4424 4426 } 4425 4427 } -
branches/HTM-15.2-dev/source/Lib/TLibCommon/TComSlice.h
r1373 r1380 1811 1811 for (Int d = 0; d < 2; d++) 1812 1812 { 1813 m_iv MvPredFlag [d] = false;1814 m_ivMvScal ingFlag [d] = false;1815 m_log2 SubPbSizeMinus3 [d] = 3;1816 m_ivResPred Flag [d] = false;1817 m_depthRef inementFlag [d] = false;1818 m_v iewSynthesisPredFlag [d] = false;1819 m_d epthBasedBlkPartFlag [d] = false;1820 m_ mpiFlag [d] = false;1821 m_log2 MpiSubPbSizeMinus3[d] = 3;1822 m_intraContour Flag [d] = false;1823 m_intra SdcWedgeFlag [d] = false;1824 m_ qtPredFlag [d] = false;1825 m_inter SdcFlag [d] = false;1826 m_ depthIntraSkipFlag [d] = false;1813 m_ivDiMcEnabledFlag [d] = false; 1814 m_ivMvScalEnabledFlag [d] = false; 1815 m_log2IvmcSubPbSizeMinus3 [d] = 3; 1816 m_ivResPredEnabledFlag [d] = false; 1817 m_depthRefEnabledFlag [d] = false; 1818 m_vspMcEnabledFlag [d] = false; 1819 m_dbbpEnabledFlag [d] = false; 1820 m_texMcEnabledFlag [d] = false; 1821 m_log2TexmcSubPbSizeMinus3[d] = 3; 1822 m_intraContourEnabledFlag [d] = false; 1823 m_intraDcOnlyWedgeEnabledFlag [d] = false; 1824 m_cqtCuPartPredEnabledFlag [d] = false; 1825 m_interDcOnlyEnabledFlag [d] = false; 1826 m_skipIntraEnabledFlag [d] = false; 1827 1827 } 1828 1828 } 1829 1829 1830 Void setIv MvPredFlag( Int d, Bool flag ) { m_ivMvPredFlag[d] = flag; }1831 Bool getIv MvPredFlag( Int d ) const { return m_ivMvPredFlag[d]; }1832 1833 Void setIvMvScal ingFlag( Int d, Bool flag ) { m_ivMvScalingFlag[d] = flag; }1834 Bool getIvMvScal ingFlag( Int d ) const { return m_ivMvScalingFlag[d]; }1835 1836 Void setLog2 SubPbSizeMinus3( Int d, Int val ) { m_log2SubPbSizeMinus3[d] = val; }1837 Int getLog2 SubPbSizeMinus3( Int d ) const { return m_log2SubPbSizeMinus3[d]; }1838 1839 Void setIvResPred Flag( Int d, Bool flag ) { m_ivResPredFlag[d] = flag; }1840 Bool getIvResPred Flag( Int d ) const { return m_ivResPredFlag[d]; }1841 1842 Void setDepthRef inementFlag( Int d, Bool flag ) { m_depthRefinementFlag[d] = flag; }1843 Bool getDepthRef inementFlag( Int d ) const { return m_depthRefinementFlag[d]; }1844 1845 Void setV iewSynthesisPredFlag( Int d, Bool flag ) { m_viewSynthesisPredFlag[d] = flag; }1846 Bool getV iewSynthesisPredFlag( Int d ) const { return m_viewSynthesisPredFlag[d]; }1847 1848 Void setD epthBasedBlkPartFlag( Int d, Bool flag ) { m_depthBasedBlkPartFlag[d] = flag; }1849 Bool getD epthBasedBlkPartFlag( Int d ) const { return m_depthBasedBlkPartFlag[d]; }1850 1851 Void set MpiFlag( Int d, Bool flag ) { m_mpiFlag[d] = flag; }1852 Bool get MpiFlag( Int d ) const { return m_mpiFlag[d]; }1853 1854 Void setLog2 MpiSubPbSizeMinus3( Int d, Int val ) { m_log2MpiSubPbSizeMinus3[d] = val; }1855 Int getLog2 MpiSubPbSizeMinus3( Int d ) const { return m_log2MpiSubPbSizeMinus3[d]; }1856 1857 Void setIntraContour Flag( Int d, Bool flag ) { m_intraContourFlag[d] = flag; }1858 Bool getIntraContour Flag( Int d ) const { return m_intraContourFlag[d]; }1859 1860 Void setIntra SdcWedgeFlag( Int d, Bool flag ) { m_intraSdcWedgeFlag[d] = flag; }1861 Bool getIntra SdcWedgeFlag( Int d ) const { return m_intraSdcWedgeFlag[d]; }1862 1863 Void set QtPredFlag( Int d, Bool flag ) { m_qtPredFlag[d] = flag; }1864 Bool get QtPredFlag( Int d ) const { return m_qtPredFlag[d]; }1865 1866 Void setInter SdcFlag( Int d, Bool flag ) { m_interSdcFlag[d] = flag; }1867 Bool getInter SdcFlag( Int d ) const { return m_interSdcFlag[d]; }1868 1869 Void set DepthIntraSkipFlag( Int d, Bool flag ) { m_depthIntraSkipFlag[d] = flag; }1870 Bool get DepthIntraSkipFlag( Int d ) const { return m_depthIntraSkipFlag[d]; }1830 Void setIvDiMcEnabledFlag( Int d, Bool flag ) { m_ivDiMcEnabledFlag[d] = flag; } 1831 Bool getIvDiMcEnabledFlag( Int d ) const { return m_ivDiMcEnabledFlag[d]; } 1832 1833 Void setIvMvScalEnabledFlag( Int d, Bool flag ) { m_ivMvScalEnabledFlag[d] = flag; } 1834 Bool getIvMvScalEnabledFlag( Int d ) const { return m_ivMvScalEnabledFlag[d]; } 1835 1836 Void setLog2IvmcSubPbSizeMinus3( Int d, Int val ) { m_log2IvmcSubPbSizeMinus3[d] = val; } 1837 Int getLog2IvmcSubPbSizeMinus3( Int d ) const { return m_log2IvmcSubPbSizeMinus3[d]; } 1838 1839 Void setIvResPredEnabledFlag( Int d, Bool flag ) { m_ivResPredEnabledFlag[d] = flag; } 1840 Bool getIvResPredEnabledFlag( Int d ) const { return m_ivResPredEnabledFlag[d]; } 1841 1842 Void setDepthRefEnabledFlag( Int d, Bool flag ) { m_depthRefEnabledFlag[d] = flag; } 1843 Bool getDepthRefEnabledFlag( Int d ) const { return m_depthRefEnabledFlag[d]; } 1844 1845 Void setVspMcEnabledFlag( Int d, Bool flag ) { m_vspMcEnabledFlag[d] = flag; } 1846 Bool getVspMcEnabledFlag( Int d ) const { return m_vspMcEnabledFlag[d]; } 1847 1848 Void setDbbpEnabledFlag( Int d, Bool flag ) { m_dbbpEnabledFlag[d] = flag; } 1849 Bool getDbbpEnabledFlag( Int d ) const { return m_dbbpEnabledFlag[d]; } 1850 1851 Void setTexMcEnabledFlag( Int d, Bool flag ) { m_texMcEnabledFlag[d] = flag; } 1852 Bool getTexMcEnabledFlag( Int d ) const { return m_texMcEnabledFlag[d]; } 1853 1854 Void setLog2TexmcSubPbSizeMinus3( Int d, Int val ) { m_log2TexmcSubPbSizeMinus3[d] = val; } 1855 Int getLog2TexmcSubPbSizeMinus3( Int d ) const { return m_log2TexmcSubPbSizeMinus3[d]; } 1856 1857 Void setIntraContourEnabledFlag( Int d, Bool flag ) { m_intraContourEnabledFlag[d] = flag; } 1858 Bool getIntraContourEnabledFlag( Int d ) const { return m_intraContourEnabledFlag[d]; } 1859 1860 Void setIntraDcOnlyWedgeEnabledFlag( Int d, Bool flag ) { m_intraDcOnlyWedgeEnabledFlag[d] = flag; } 1861 Bool getIntraDcOnlyWedgeEnabledFlag( Int d ) const { return m_intraDcOnlyWedgeEnabledFlag[d]; } 1862 1863 Void setCqtCuPartPredEnabledFlag( Int d, Bool flag ) { m_cqtCuPartPredEnabledFlag[d] = flag; } 1864 Bool getCqtCuPartPredEnabledFlag( Int d ) const { return m_cqtCuPartPredEnabledFlag[d]; } 1865 1866 Void setInterDcOnlyEnabledFlag( Int d, Bool flag ) { m_interDcOnlyEnabledFlag[d] = flag; } 1867 Bool getInterDcOnlyEnabledFlag( Int d ) const { return m_interDcOnlyEnabledFlag[d]; } 1868 1869 Void setSkipIntraEnabledFlag( Int d, Bool flag ) { m_skipIntraEnabledFlag[d] = flag; } 1870 Bool getSkipIntraEnabledFlag( Int d ) const { return m_skipIntraEnabledFlag[d]; } 1871 1871 private: 1872 1872 1873 Bool m_iv MvPredFlag [2];1874 Bool m_ivMvScal ingFlag[2];1875 Int m_log2 SubPbSizeMinus3[2];1876 Bool m_ivResPred Flag[2];1877 Bool m_depthRef inementFlag[2];1878 Bool m_v iewSynthesisPredFlag[2];1879 Bool m_d epthBasedBlkPartFlag[2];1880 Bool m_ mpiFlag[2];1881 Int m_log2 MpiSubPbSizeMinus3[2];1882 Bool m_intraContour Flag[2];1883 Bool m_intra SdcWedgeFlag[2];1884 Bool m_ qtPredFlag[2];1885 Bool m_inter SdcFlag[2];1886 Bool m_ depthIntraSkipFlag[2];1873 Bool m_ivDiMcEnabledFlag [2]; 1874 Bool m_ivMvScalEnabledFlag [2]; 1875 Int m_log2IvmcSubPbSizeMinus3 [2]; 1876 Bool m_ivResPredEnabledFlag [2]; 1877 Bool m_depthRefEnabledFlag [2]; 1878 Bool m_vspMcEnabledFlag [2]; 1879 Bool m_dbbpEnabledFlag [2]; 1880 Bool m_texMcEnabledFlag [2]; 1881 Int m_log2TexmcSubPbSizeMinus3 [2]; 1882 Bool m_intraContourEnabledFlag [2]; 1883 Bool m_intraDcOnlyWedgeEnabledFlag[2]; 1884 Bool m_cqtCuPartPredEnabledFlag [2]; 1885 Bool m_interDcOnlyEnabledFlag [2]; 1886 Bool m_skipIntraEnabledFlag [2]; 1887 1887 }; 1888 1888 -
branches/HTM-15.2-dev/source/Lib/TLibCommon/TypeDef.h
r1374 r1380 53 53 */ 54 54 #ifndef HEVC_EXT 55 #define HEVC_EXT 255 #define HEVC_EXT 1 56 56 #endif 57 57 #if ( HEVC_EXT < 0 )||( HEVC_EXT > 2 ) … … 64 64 ///////////////////////////////////////////////////////////////////////////////////////// 65 65 #if NH_MV 66 67 // Things that needs to be fixed in the Specification: 66 // Recent bug fixes 67 #define NH_3D_FIX_TICKET_107 1 // Clean up. 68 #define NH_3D_FIX_TICKET_91 1 // NBDV availability in case of tiles. 69 // Things that needs to be fixed also in the Specification ... 68 70 #define NH_MV_FIX_NO_REF_PICS_CHECK 1 // !!SPEC!! 69 71 #define NH_MV_FIX_INIT_NUM_ACTIVE_REF_LAYER_PICS 1 // Derivation of NumActiveRefLayerPIcs. !!SPEC!! 70 72 #define NH_MV_FIX_NUM_POC_TOTAL_CUR 1 // Derivation of NumPocTotalCur for IDR pictures. !!SPEC!! 71 72 73 // To be done 73 74 #define NH_MV_HLS_PTL_LIMITS 0 … … 278 279 // HHI_CAM_PARA_K0052 279 280 // H_3D_DIRECT_DEP_TYPE 280 281 281 #endif // NH_3D 282 283 282 #if NH_MV 284 283 //////////////////////// 285 284 /// Consider Removal 286 285 //////////////////////// 287 288 286 // Rate Control 289 287 #define KWU_FIX_URQ 0 290 288 #define KWU_RC_VIEWRC_E0227 0 ///< JCT3V-E0227, view-wise target bitrate allocation 291 289 #define KWU_RC_MADPRED_E0227 0 ///< JCT3V-E0227, inter-view MAD prediction 292 293 290 #define NH_MV_HLS_PTL_LIMITS 0 294 295 291 #if NH_3D 296 292 // Unclear Fix … … 333 329 #define DBBP_INVALID_SHORT (-4) 334 330 #endif 335 336 331 ///////////////////////////////////////////////////////////////////////////////////////// 337 332 /////////////////////////////////// HM RELATED DEFINES //////////////////////////////// … … 488 483 typedef std::vector< std::string > StringAry1d; 489 484 typedef std::vector< StringAry1d > StringAry2d; 490 491 485 typedef std::vector< Int > IntAry1d; 492 486 typedef std::vector< IntAry1d > IntAry2d; … … 494 488 typedef std::vector< IntAry3d > IntAry4d; 495 489 typedef std::vector< IntAry4d > IntAry5d; 496 497 490 typedef std::vector< Bool > BoolAry1d; 498 491 typedef std::vector< BoolAry1d > BoolAry2d; -
branches/HTM-15.2-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1374 r1380 1165 1165 if ( pcSPS->getSpsRangeExtensionsFlag() ) 1166 1166 { 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1167 TComSPSRExt &spsRangeExtension = pcSPS->getSpsRangeExtension(); 1168 READ_FLAG( uiCode, "transform_skip_rotation_enabled_flag"); spsRangeExtension.setTransformSkipRotationEnabledFlag(uiCode != 0); 1169 READ_FLAG( uiCode, "transform_skip_context_enabled_flag"); spsRangeExtension.setTransformSkipContextEnabledFlag (uiCode != 0); 1170 READ_FLAG( uiCode, "implicit_rdpcm_enabled_flag"); spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_IMPLICIT, (uiCode != 0)); 1171 READ_FLAG( uiCode, "explicit_rdpcm_enabled_flag"); spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_EXPLICIT, (uiCode != 0)); 1172 READ_FLAG( uiCode, "extended_precision_processing_flag"); spsRangeExtension.setExtendedPrecisionProcessingFlag (uiCode != 0); 1173 READ_FLAG( uiCode, "intra_smoothing_disabled_flag"); spsRangeExtension.setIntraSmoothingDisabledFlag (uiCode != 0); 1174 READ_FLAG( uiCode, "high_precision_offsets_enabled_flag"); spsRangeExtension.setHighPrecisionOffsetsEnabledFlag (uiCode != 0); 1175 READ_FLAG( uiCode, "persistent_rice_adaptation_enabled_flag"); spsRangeExtension.setPersistentRiceAdaptationEnabledFlag (uiCode != 0); 1176 READ_FLAG( uiCode, "cabac_bypass_alignment_enabled_flag"); spsRangeExtension.setCabacBypassAlignmentEnabledFlag (uiCode != 0); 1177 1177 } 1178 1178 … … 1277 1277 for( Int d = 0; d <= 1; d++ ) 1278 1278 { 1279 READ_FLAG( uiCode, "iv_ mv_pred_flag" ); sps3dExt.setIvMvPredFlag( d, uiCode == 1 );1280 READ_FLAG( uiCode, "iv_mv_scal ing_flag" ); sps3dExt.setIvMvScalingFlag( d, uiCode == 1 );1279 READ_FLAG( uiCode, "iv_di_mc_enabled_flag" ); sps3dExt.setIvDiMcEnabledFlag( d, uiCode == 1 ); 1280 READ_FLAG( uiCode, "iv_mv_scal_enabled_flag" ); sps3dExt.setIvMvScalEnabledFlag( d, uiCode == 1 ); 1281 1281 if( d == 0 ) 1282 1282 { 1283 READ_UVLC( uiCode, "log2_sub_pb_size_minus3" ); sps3dExt.setLog2SubPbSizeMinus3( d, uiCode );1284 READ_FLAG( uiCode, "iv_res_pred_ flag" ); sps3dExt.setIvResPredFlag( d, uiCode == 1 );1285 READ_FLAG( uiCode, "depth_ref inement_flag" ); sps3dExt.setDepthRefinementFlag( d, uiCode == 1 );1286 READ_FLAG( uiCode, "v iew_synthesis_pred_flag" ); sps3dExt.setViewSynthesisPredFlag( d, uiCode == 1 );1287 READ_FLAG( uiCode, "d epth_based_blk_part_flag" ); sps3dExt.setDepthBasedBlkPartFlag( d, uiCode == 1 );1283 READ_UVLC( uiCode, "log2_sub_pb_size_minus3" ); sps3dExt.setLog2IvmcSubPbSizeMinus3( d, uiCode ); 1284 READ_FLAG( uiCode, "iv_res_pred_enabled_flag" ); sps3dExt.setIvResPredEnabledFlag( d, uiCode == 1 ); 1285 READ_FLAG( uiCode, "depth_ref_enabled_flag" ); sps3dExt.setDepthRefEnabledFlag( d, uiCode == 1 ); 1286 READ_FLAG( uiCode, "vsp_mc_enabled_flag" ); sps3dExt.setVspMcEnabledFlag( d, uiCode == 1 ); 1287 READ_FLAG( uiCode, "dbbp_enabled_flag" ); sps3dExt.setDbbpEnabledFlag( d, uiCode == 1 ); 1288 1288 } 1289 1289 else 1290 1290 { 1291 READ_FLAG( uiCode, " mpi_flag" ); sps3dExt.setMpiFlag( d, uiCode == 1 );1292 READ_UVLC( uiCode, "log2_ mpi_sub_pb_size_minus3" ); sps3dExt.setLog2MpiSubPbSizeMinus3( d, uiCode );1293 READ_FLAG( uiCode, "intra_contour_ flag" ); sps3dExt.setIntraContourFlag( d, uiCode == 1 );1294 READ_FLAG( uiCode, "intra_ sdc_wedge_flag" ); sps3dExt.setIntraSdcWedgeFlag( d, uiCode == 1 );1295 READ_FLAG( uiCode, " qt_pred_flag" ); sps3dExt.setQtPredFlag( d, uiCode == 1 );1296 READ_FLAG( uiCode, "inter_ sdc_flag" ); sps3dExt.setInterSdcFlag( d, uiCode == 1 );1297 READ_FLAG( uiCode, " intra_skip_flag" ); sps3dExt.setDepthIntraSkipFlag( d, uiCode == 1 );1291 READ_FLAG( uiCode, "tex_mc_enabled_flag" ); sps3dExt.setTexMcEnabledFlag( d, uiCode == 1 ); 1292 READ_UVLC( uiCode, "log2_texmc_sub_pb_size_minus3" ); sps3dExt.setLog2TexmcSubPbSizeMinus3( d, uiCode ); 1293 READ_FLAG( uiCode, "intra_contour_enabled_flag" ); sps3dExt.setIntraContourEnabledFlag( d, uiCode == 1 ); 1294 READ_FLAG( uiCode, "intra_dc_only_wedge_enabled_flag" ); sps3dExt.setIntraDcOnlyWedgeEnabledFlag( d, uiCode == 1 ); 1295 READ_FLAG( uiCode, "cqt_cu_part_pred_enabled_flag" ); sps3dExt.setCqtCuPartPredEnabledFlag( d, uiCode == 1 ); 1296 READ_FLAG( uiCode, "inter_dc_only_enabled_flag" ); sps3dExt.setInterDcOnlyEnabledFlag( d, uiCode == 1 ); 1297 READ_FLAG( uiCode, "skip_intra_enabled_flag" ); sps3dExt.setSkipIntraEnabledFlag( d, uiCode == 1 ); 1298 1298 } 1299 1299 } -
branches/HTM-15.2-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1374 r1380 349 349 if ( pcPPS->getPpsRangeExtensionsFlag() ) 350 350 { 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 351 const TComPPSRExt &ppsRangeExtension = pcPPS->getPpsRangeExtension(); 352 if (pcPPS->getUseTransformSkip()) 353 { 354 WRITE_UVLC( ppsRangeExtension.getLog2MaxTransformSkipBlockSize()-2, "log2_max_transform_skip_block_size_minus2"); 355 } 356 357 WRITE_FLAG((ppsRangeExtension.getCrossComponentPredictionEnabledFlag() ? 1 : 0), "cross_component_prediction_enabled_flag" ); 358 359 WRITE_FLAG(UInt(ppsRangeExtension.getChromaQpOffsetListEnabledFlag()), "chroma_qp_offset_list_enabled_flag" ); 360 if (ppsRangeExtension.getChromaQpOffsetListEnabledFlag()) 361 { 362 WRITE_UVLC(ppsRangeExtension.getDiffCuChromaQpOffsetDepth(), "diff_cu_chroma_qp_offset_depth"); 363 WRITE_UVLC(ppsRangeExtension.getChromaQpOffsetListLen() - 1, "chroma_qp_offset_list_len_minus1"); 364 /* skip zero index */ 365 for (Int cuChromaQpOffsetIdx = 0; cuChromaQpOffsetIdx < ppsRangeExtension.getChromaQpOffsetListLen(); cuChromaQpOffsetIdx++) 366 { 367 WRITE_SVLC(ppsRangeExtension.getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CbOffset, "cb_qp_offset_list[i]"); 368 WRITE_SVLC(ppsRangeExtension.getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CrOffset, "cr_qp_offset_list[i]"); 369 } 370 } 371 372 WRITE_UVLC( ppsRangeExtension.getLog2SaoOffsetScale(CHANNEL_TYPE_LUMA), "log2_sao_offset_scale_luma" ); 373 WRITE_UVLC( ppsRangeExtension.getLog2SaoOffsetScale(CHANNEL_TYPE_CHROMA), "log2_sao_offset_scale_chroma" ); 374 374 } 375 375 … … 990 990 for( Int d = 0; d <= 1; d++ ) 991 991 { 992 WRITE_FLAG( sps3dExt->getIv MvPredFlag( d ) ? 1 : 0 , "iv_mv_pred_flag" );993 WRITE_FLAG( sps3dExt->getIvMvScal ingFlag( d ) ? 1 : 0 , "iv_mv_scaling_flag" );992 WRITE_FLAG( sps3dExt->getIvDiMcEnabledFlag( d ) ? 1 : 0 , "iv_di_mc_enabled_flag" ); 993 WRITE_FLAG( sps3dExt->getIvMvScalEnabledFlag( d ) ? 1 : 0 , "iv_mv_scal_enabled_flag" ); 994 994 if( d == 0 ) 995 995 { 996 WRITE_UVLC( sps3dExt->getLog2 SubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" );997 WRITE_FLAG( sps3dExt->getIvResPred Flag( d ) ? 1 : 0 , "iv_res_pred_flag" );998 WRITE_FLAG( sps3dExt->getDepthRef inementFlag( d ) ? 1 : 0 , "depth_refinement_flag" );999 WRITE_FLAG( sps3dExt->getV iewSynthesisPredFlag( d ) ? 1 : 0 , "view_synthesis_pred_flag" );1000 WRITE_FLAG( sps3dExt->getD epthBasedBlkPartFlag( d ) ? 1 : 0 , "depth_based_blk_part_flag" );996 WRITE_UVLC( sps3dExt->getLog2IvmcSubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" ); 997 WRITE_FLAG( sps3dExt->getIvResPredEnabledFlag( d ) ? 1 : 0 , "iv_res_pred_enabled_flag" ); 998 WRITE_FLAG( sps3dExt->getDepthRefEnabledFlag( d ) ? 1 : 0 , "depth_ref_enabled_flag" ); 999 WRITE_FLAG( sps3dExt->getVspMcEnabledFlag( d ) ? 1 : 0 , "vsp_mc_enabled_flag" ); 1000 WRITE_FLAG( sps3dExt->getDbbpEnabledFlag( d ) ? 1 : 0 , "dbbp_enabled_flag" ); 1001 1001 } 1002 1002 else 1003 1003 { 1004 WRITE_FLAG( sps3dExt->get MpiFlag( d ) ? 1 : 0 , "mpi_flag" );1005 WRITE_UVLC( sps3dExt->getLog2 MpiSubPbSizeMinus3( d ), "log2_mpi_sub_pb_size_minus3" );1006 WRITE_FLAG( sps3dExt->getIntraContour Flag( d ) ? 1 : 0 , "intra_contour_flag" );1007 WRITE_FLAG( sps3dExt->getIntra SdcWedgeFlag( d ) ? 1 : 0 , "intra_sdc_wedge_flag" );1008 WRITE_FLAG( sps3dExt->get QtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" );1009 WRITE_FLAG( sps3dExt->getInter SdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" );1010 WRITE_FLAG( sps3dExt->get DepthIntraSkipFlag( d ) ? 1 : 0 , "intra_skip_flag" );1004 WRITE_FLAG( sps3dExt->getTexMcEnabledFlag( d ) ? 1 : 0 , "tex_mc_enabled_flag" ); 1005 WRITE_UVLC( sps3dExt->getLog2TexmcSubPbSizeMinus3( d ), "log2_texmc_sub_pb_size_minus3" ); 1006 WRITE_FLAG( sps3dExt->getIntraContourEnabledFlag( d ) ? 1 : 0 , "intra_contour_enabled_flag" ); 1007 WRITE_FLAG( sps3dExt->getIntraDcOnlyWedgeEnabledFlag( d ) ? 1 : 0 , "intra_dc_only_wedge_enabled_flag" ); 1008 WRITE_FLAG( sps3dExt->getCqtCuPartPredEnabledFlag( d ) ? 1 : 0 , "cqt_cu_part_pred_enabled_flag" ); 1009 WRITE_FLAG( sps3dExt->getInterDcOnlyEnabledFlag( d ) ? 1 : 0 , "inter_dc_only_enabled_flag" ); 1010 WRITE_FLAG( sps3dExt->getSkipIntraEnabledFlag( d ) ? 1 : 0 , "skip_intra_enabled_flag" ); 1011 1011 } 1012 1012 }
Note: See TracChangeset for help on using the changeset viewer.