Changeset 1103 in 3DVCSoftware for branches/HTM-12.2-dev2-HHI/source/Lib
- Timestamp:
- 5 Nov 2014, 11:34:26 (10 years ago)
- Location:
- branches/HTM-12.2-dev2-HHI/source/Lib
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.cpp
r1100 r1103 1947 1947 m_layerIdInNuh [i] = ( i == 0 ) ? 0 : -1; 1948 1948 m_numDirectRefLayers[i] = 0; 1949 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1950 #if H_3D 1951 m_numRefListLayers[i] = 0; 1952 #endif 1953 #endif 1949 1954 m_vpsRepFormatIdx [i] = 0; 1950 1955 m_pocLsbNotPresentFlag[i] = 0; … … 1965 1970 m_dependencyFlag [i][j] = false; 1966 1971 m_idDirectRefLayer[i][j] = -1; 1972 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1973 #if H_3D 1974 m_idRefListLayer[i][j] = -1; 1975 #endif 1976 #endif 1967 1977 m_idPredictedLayer[i][j] = -1; 1968 1978 m_idRefLayer [i][j] = -1; … … 2103 2113 Int iNuhLId = getLayerIdInNuh( i ); 2104 2114 Int d = 0; 2115 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2116 #if H_3D 2117 Int l = 0; 2118 #endif 2119 #endif 2105 2120 Int r = 0; 2106 2121 Int p = 0; 2122 2107 2123 for( Int j = 0; j <= getMaxLayersMinus1(); j++ ) 2108 2124 { … … 2112 2128 m_idDirectRefLayer[iNuhLId][d++] = jNuhLid; 2113 2129 } 2130 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2131 #if H_3D 2132 if( getDirectDependencyFlag( i , j ) && ( getDepthId( iNuhLId ) == getDepthId( jNuhLid ) )) 2133 { 2134 m_idRefListLayer [iNuhLId][l++] = jNuhLid; 2135 } 2136 #endif 2137 #endif 2138 2114 2139 if( getDependencyFlag( i , j ) ) 2115 2140 { … … 2122 2147 } 2123 2148 m_numDirectRefLayers[ iNuhLId ] = d; 2149 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2150 #if H_3D 2151 m_numRefListLayers[ iNuhLId ] = l; 2152 #endif 2153 #endif 2154 2124 2155 m_numRefLayers [ iNuhLId ] = r; 2125 2156 m_numPredictedLayers[ iNuhLId ] = p; … … 2566 2597 xPrintArray( "IdRefLayer" , getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefLayers, m_idRefLayer, true ); 2567 2598 xPrintArray( "IdDirectRefLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numDirectRefLayers, m_idDirectRefLayer, true ); 2599 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2600 #if H_3D 2601 xPrintArray( "IdRefListLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefListLayers, m_idRefListLayer, true ); 2602 #endif 2603 #endif 2604 2568 2605 std::cout << std::endl; 2569 2606 } … … 3584 3621 { 3585 3622 TComVPS* vps = getVPS(); 3623 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 3624 #if H_3D 3625 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdRefListLayer( getLayerId(), i ) ); 3626 #else 3586 3627 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) ); 3628 #endif 3629 #else 3630 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) ); 3631 #endif 3587 3632 3588 3633 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() ) && ( getTLayer() == 0 ) && … … 3596 3641 Int refLayerPicIdc = -1; 3597 3642 Int curj = 0; 3643 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 3644 #if H_3D 3645 for( Int i = 0; i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ ) 3646 #else 3598 3647 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3648 #endif 3649 #else 3650 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3651 #endif 3599 3652 { 3600 3653 if( getRefLayerPicFlag( i ) ) … … 3617 3670 { 3618 3671 Int numRefLayerPics = 0; 3672 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 3673 #if H_3D 3674 for( Int i = 0; i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ ) 3675 #else 3619 3676 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3677 #endif 3678 #else 3679 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3680 #endif 3620 3681 { 3621 3682 numRefLayerPics += getRefLayerPicFlag( i ); … … 3642 3703 numActiveRefLayerPics = 0; 3643 3704 } 3705 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 3706 #if H_3D 3707 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumRefListLayers( getLayerId() ) == 1 ) 3708 #else 3644 3709 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 ) 3710 #endif 3711 #else 3712 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 ) 3713 #endif 3645 3714 { 3646 3715 numActiveRefLayerPics = 1; … … 3655 3724 Int TComSlice::getRefPicLayerId( Int i ) 3656 3725 { 3726 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 3727 #if H_3D 3728 return getVPS()->getIdRefListLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3729 #else 3657 3730 return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3731 #endif 3732 #else 3733 return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3734 #endif 3658 3735 } 3659 3736 -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.h
r1100 r1103 886 886 Int m_numDirectRefLayers [MAX_NUM_LAYERS]; 887 887 Int m_idDirectRefLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 888 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 889 #if H_3D 890 Int m_numRefListLayers [MAX_NUM_LAYERS]; 891 Int m_idRefListLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 892 #endif 893 #endif 894 888 895 889 896 Int m_numRefLayers [MAX_NUM_LAYER_IDS]; … … 1179 1186 Bool getDependencyFlag( Int i, Int j ) { return m_dependencyFlag[i][j]; } 1180 1187 Int getNumDirectRefLayers( Int layerIdInNuh ) { return m_numDirectRefLayers[ layerIdInNuh ]; }; 1188 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1189 #if H_3D 1190 Int getNumRefListLayers( Int layerIdInNuh ) { return m_numRefListLayers[ layerIdInNuh ]; }; 1191 #endif 1192 #endif 1193 1181 1194 Int getNumRefLayers ( Int i ) { return m_numRefLayers[i]; } 1182 1195 Int getNumPredictedLayers ( Int i ) { return m_numPredictedLayers[i]; } 1196 1183 1197 1184 1198 Int getIdRefLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumRefLayers ( i )); return m_idRefLayer [i][j]; } 1185 1199 Int getIdPredictedLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumPredictedLayers( i )); return m_idPredictedLayer[i][j]; } 1186 1200 Int getIdDirectRefLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumDirectRefLayers( i )); return m_idDirectRefLayer[i][j]; } 1201 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1202 #if H_3D 1203 Int getIdRefListLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumRefListLayers ( i )); return m_idRefListLayer[i][j]; } 1204 #endif 1205 #endif 1187 1206 Int getNumIndependentLayers ( ) { return m_numIndependentLayers; } 1188 1207 Int getNumLayersInTreePartition( Int i ) { return m_numLayersInTreePartition[i]; } … … 2747 2766 // Additional variables derived in slice header semantics 2748 2767 2768 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2769 #if H_3D 2770 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumRefListLayers( getLayerId() )); } 2771 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumRefListLayers( getLayerId() )); } 2772 #else 2749 2773 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2750 2774 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2775 #endif 2776 2777 #else 2778 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2779 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2780 #endif 2751 2781 2752 2782 Int getRefLayerPicFlag( Int i ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TypeDef.h
r1100 r1103 293 293 // Fixes 294 294 295 296 #if H_3D 297 #define HHI_DEPENDENCY_SIGNALLING_I1_J0107 1 298 #endif 299 295 300 ///// ***** SINGLE DEPTH MODE ********* 296 301 #if H_3D_SINGLE_DEPTH -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1084 r1103 2350 2350 Bool interLayerPredLayerIdcPresentFlag = false; 2351 2351 Int layerId = rpcSlice->getLayerId(); 2352 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2353 #if H_3D 2354 if( rpcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumRefListLayers( layerId ) > 0 ) 2355 #else 2352 2356 if( rpcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 2357 #endif 2358 #else 2359 if( rpcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 2360 #endif 2353 2361 { 2354 2362 READ_FLAG( uiCode, "inter_layer_pred_enabled_flag" ); rpcSlice->setInterLayerPredEnabledFlag( uiCode == 1 ); 2363 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2364 #if H_3D 2365 if( rpcSlice->getInterLayerPredEnabledFlag() && vps->getNumRefListLayers( layerId ) > 1 ) 2366 #else 2355 2367 if( rpcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 2368 #endif 2369 #else 2370 if( rpcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 2371 #endif 2356 2372 { 2357 2373 if( !vps->getMaxOneActiveRefLayerFlag()) … … 2359 2375 READ_CODE( rpcSlice->getNumInterLayerRefPicsMinus1Len( ), uiCode, "num_inter_layer_ref_pics_minus1" ); rpcSlice->setNumInterLayerRefPicsMinus1( uiCode ); 2360 2376 } 2377 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2378 #if H_3D 2379 if ( rpcSlice->getNumActiveRefLayerPics() != vps->getNumRefListLayers( layerId ) ) 2380 #else 2361 2381 if ( rpcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) 2382 #endif 2383 #else 2384 if ( rpcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) 2385 #endif 2362 2386 { 2363 2387 interLayerPredLayerIdcPresentFlag = true; … … 2545 2569 } 2546 2570 #if H_3D_IC 2571 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2572 else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 ) 2573 #else 2547 2574 else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 ) 2575 #endif 2548 2576 { 2549 2577 UInt uiCodeTmp = 0; -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCavlc.cpp
r1084 r1103 1887 1887 Bool interLayerPredLayerIdcPresentFlag = false; 1888 1888 Int layerId = pcSlice->getLayerId(); 1889 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1890 #if H_3D 1891 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumRefListLayers( layerId ) > 0 ) 1892 #else 1889 1893 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 1894 #endif 1895 #else 1896 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 1897 #endif 1890 1898 { 1891 1899 WRITE_FLAG( pcSlice->getInterLayerPredEnabledFlag( ) ? 1 : 0 , "inter_layer_pred_enabled_flag" ); 1900 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1901 #if H_3D 1902 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumRefListLayers( layerId ) > 1 ) 1903 #else 1892 1904 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 1905 #endif 1906 #else 1907 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 1908 #endif 1893 1909 { 1894 1910 if( !vps->getMaxOneActiveRefLayerFlag()) … … 1896 1912 WRITE_CODE( pcSlice->getNumInterLayerRefPicsMinus1( ), pcSlice->getNumInterLayerRefPicsMinus1Len( ), "num_inter_layer_ref_pics_minus1" ); 1897 1913 } 1914 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1915 #if H_3D 1916 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumRefListLayers( layerId ) ) 1917 #else 1898 1918 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) 1919 #endif 1920 #else 1921 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) 1922 #endif 1899 1923 { 1900 1924 interLayerPredLayerIdcPresentFlag = true; … … 2037 2061 } 2038 2062 #if H_3D_IC 2063 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2064 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 ) 2065 #else 2039 2066 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 ) 2067 #endif 2040 2068 { 2041 2069 WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncGOP.cpp
r1100 r1103 880 880 881 881 TComVPS* vps = pcSlice->getVPS(); 882 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 883 #if H_3D 884 Int numDirectRefLayers = vps ->getNumRefListLayers( getLayerId() ); 885 #else 882 886 Int numDirectRefLayers = vps ->getNumDirectRefLayers( getLayerId() ); 887 #endif 888 #else 889 Int numDirectRefLayers = vps ->getNumDirectRefLayers( getLayerId() ); 890 #endif 883 891 GOPEntry gopEntry = m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid ); 884 892 … … 893 901 pcSlice->setNumInterLayerRefPicsMinus1( gopEntry.m_numActiveRefLayerPics - 1 ); 894 902 } 903 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 904 #if H_3D 905 if ( gopEntry.m_numActiveRefLayerPics != vps->getNumRefListLayers( getLayerId() ) ) 906 #else 895 907 if ( gopEntry.m_numActiveRefLayerPics != vps->getNumDirectRefLayers( getLayerId() ) ) 908 #endif 909 #else 910 if ( gopEntry.m_numActiveRefLayerPics != vps->getNumDirectRefLayers( getLayerId() ) ) 911 #endif 896 912 { 897 913 interLayerPredLayerIdcPresentFlag = true; -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncTop.cpp
r1084 r1103 896 896 #if H_MV 897 897 m_cPPS.setLayerId( getLayerId() ); 898 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 899 #if H_3D 900 // Check if this condition is still correct 901 if( getVPS()->getNumRefListLayers( getLayerId() ) > 0 ) 902 #else 898 903 if( getVPS()->getNumDirectRefLayers( getLayerId() ) > 0 ) 904 #endif 905 #else 906 if( getVPS()->getNumDirectRefLayers( getLayerId() ) > 0 ) 907 #endif 899 908 { 900 909 m_cPPS.setListsModificationPresentFlag( true );
Note: See TracChangeset for help on using the changeset viewer.