Changeset 1131 in 3DVCSoftware for branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp
- Timestamp:
- 18 Feb 2015, 17:39:40 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp
r1124 r1131 638 638 } 639 639 640 #if HHI_TOOL_PARAMETERS_I2_J0107641 640 Void TEncCavlc::codeSPS( TComSPS* pcSPS ) 642 #else643 #if H_3D644 Void TEncCavlc::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )645 #else646 Void TEncCavlc::codeSPS( TComSPS* pcSPS )647 #endif648 #endif649 641 { 650 642 #if ENC_DEC_TRACE … … 846 838 if ( pcSPS->getSps3dExtensionFlag() ) 847 839 { 848 #if HHI_TOOL_PARAMETERS_I2_J0107849 840 codeSPS3dExtension( pcSPS ); 850 #else851 codeSPSExtension2( pcSPS, viewIndex, depthFlag );852 #endif853 841 } 854 842 … … 871 859 WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" ); 872 860 WRITE_UVLC( 0, "num_ref_loc_offsets" ); 873 #if H_MV_HLS_FIX874 861 WRITE_FLAG( 0 , "colour_mapping_enabled_flag" ); 875 #endif876 862 877 863 } … … 880 866 881 867 #if H_3D 882 #if HHI_TOOL_PARAMETERS_I2_J0107883 868 Void TEncCavlc::codeSPS3dExtension( TComSPS* pcSPS ) 884 869 { … … 908 893 } 909 894 } 910 #else911 Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )912 {913 914 }915 #endif916 895 #endif 917 896 … … 1012 991 #if H_3D 1013 992 WRITE_FLAG( 1, "vps_extension2_flag" ); 1014 #if HHI_VPS_3D_EXTENSION_I3_J01071015 993 WRITE_FLAG( 1, "vps_3d_extension_flag" ); 1016 994 m_pcBitIf->writeAlignOne(); 1017 995 codeVPS3dExtension( pcVPS ); 1018 #else1019 m_pcBitIf->writeAlignOne();1020 codeVPSExtension2( pcVPS );1021 #endif1022 996 WRITE_FLAG( 0, "vps_extension3_flag" ); 1023 997 #else … … 1189 1163 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1190 1164 { 1191 #if H_MV_HLS_FIX1192 1165 if( pcVPS->getNumLayerSets() > 2 && i >= pcVPS->getNumLayerSets( ) ) 1193 #else1194 if( i >= pcVPS->getNumLayerSets( ) )1195 #endif1196 1166 { 1197 1167 WRITE_CODE( pcVPS->getLayerSetIdxForOlsMinus1( i ), pcVPS->getLayerSetIdxForOlsMinus1Len( i ) , "layer_set_idx_for_ols_minus1[i]" ); … … 1263 1233 1264 1234 WRITE_FLAG( pcVPS->getMaxOneActiveRefLayerFlag( ) ? 1 : 0, "max_one_active_ref_layer_flag" ); 1265 #if H_MV_HLS7_GEN || H_MV_HLS_FIX1266 1235 WRITE_FLAG( pcVPS->getVpsPocLsbAlignedFlag( ) ? 1 : 0 , "vps_poc_lsb_aligned_flag" ); 1267 #endif1268 1236 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1269 1237 { … … 1313 1281 codeVPSVUI( pcVPS ); 1314 1282 } 1315 #if H_MV_HLS_FIX1316 1283 else 1317 #endif1318 1284 { 1319 1285 TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( ); … … 1630 1596 1631 1597 #if H_3D 1632 #if HHI_VPS_3D_EXTENSION_I3_J01071633 1598 Void TEncCavlc::codeVPS3dExtension( TComVPS* pcVPS ) 1634 #else1635 Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS )1636 #endif1637 1599 { 1638 #if !HHI_TOOL_PARAMETERS_I2_J01071639 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )1640 {1641 {1642 WRITE_FLAG( pcVPS->getIvMvPredFlag ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");1643 WRITE_FLAG( pcVPS->getIvMvScalingFlag( i ) ? 1 : 0 , "iv_mv_scaling_flag[i]" );1644 1645 if ( !( pcVPS->getDepthId( i ) == 1 ) )1646 {1647 #if H_3D_IV_MERGE1648 #if H_3D_SPIVMP1649 WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");1650 #endif1651 #endif1652 #if H_3D_ARP1653 WRITE_FLAG( pcVPS->getUseAdvRP ( i ) ? 1 : 0, "iv_res_pred_flag[i]" );1654 #endif1655 #if H_3D_NBDV_REF1656 WRITE_FLAG( pcVPS->getDepthRefinementFlag ( i ) ? 1 : 0 , "depth_refinement_flag[i]");1657 #endif1658 #if H_3D_VSP1659 WRITE_FLAG( pcVPS->getViewSynthesisPredFlag( i ) ? 1 : 0 , "view_synthesis_pred_flag[i]");1660 #endif1661 #if H_3D_DBBP1662 WRITE_FLAG( pcVPS->getUseDBBP( i ) ? 1 : 0, "use_dbbp_flag[i]" );1663 #endif1664 }1665 else1666 {1667 #if H_3D_IV_MERGE1668 WRITE_FLAG( pcVPS->getMPIFlag( i ) ? 1 : 0 , "mpi_flag[i]" );1669 #endif1670 WRITE_UVLC( pcVPS->getSubPUMPILog2Size(i)-3, "log2_mpi_sub_PU_size_minus3[i]");1671 1672 WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 , "vps_depth_modes_flag[i]" );1673 #if H_3D1674 WRITE_FLAG( pcVPS->getIVPFlag( i ) ? 1 : 0 , "IVP_flag[i]" );1675 #endif1676 WRITE_FLAG( pcVPS->getLimQtPredFlag ( i ) ? 1 : 0 , "lim_qt_pred_flag[i]" );1677 1678 #if H_3D_INTER_SDC1679 WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );1680 #endif1681 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00601682 WRITE_FLAG( pcVPS->getSingleDepthModeFlag( i ) ? 1 : 0, "single_depth_mode_flag" );1683 #endif1684 }1685 }1686 }1687 #endif1688 1600 WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" ); 1689 1601 for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++) … … 1789 1701 } 1790 1702 pcSlice->checkCrossLayerBlaFlag( ); 1791 #if !H_MV_HLS7_GEN && !H_MV_HLS_FIX1792 if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )1793 {1794 esb++;1795 WRITE_FLAG( pcSlice->getPocResetFlag( ) ? 1 : 0 , "poc_reset_flag" );1796 }1797 #endif1798 1703 1799 1704 … … 1951 1856 Bool interLayerPredLayerIdcPresentFlag = false; 1952 1857 Int layerId = pcSlice->getLayerId(); 1953 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071954 1858 #if H_3D 1955 1859 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumRefListLayers( layerId ) > 0 ) … … 1957 1861 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 1958 1862 #endif 1959 #else1960 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 )1961 #endif1962 1863 { 1963 1864 WRITE_FLAG( pcSlice->getInterLayerPredEnabledFlag( ) ? 1 : 0 , "inter_layer_pred_enabled_flag" ); 1964 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071965 1865 #if H_3D 1966 1866 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumRefListLayers( layerId ) > 1 ) … … 1968 1868 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 1969 1869 #endif 1970 #else1971 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 )1972 #endif1973 1870 { 1974 1871 if( !vps->getMaxOneActiveRefLayerFlag()) … … 1976 1873 WRITE_CODE( pcSlice->getNumInterLayerRefPicsMinus1( ), pcSlice->getNumInterLayerRefPicsMinus1Len( ), "num_inter_layer_ref_pics_minus1" ); 1977 1874 } 1978 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071979 1875 #if H_3D 1980 1876 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumRefListLayers( layerId ) ) 1981 #else1982 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) )1983 #endif1984 1877 #else 1985 1878 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) … … 2125 2018 } 2126 2019 #if H_3D_IC 2127 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072128 2020 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 ) 2129 #else2130 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 )2131 #endif2132 2021 { 2133 2022 WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" ); … … 2137 2026 } 2138 2027 } 2139 #endif2140 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J00602141 #if H_3D_SINGLE_DEPTH2142 if(pcSlice->getIsDepth())2143 {2144 WRITE_FLAG( pcSlice->getApplySingleDepthMode() ? 1 : 0, "slice_enable_single_depth_mode" );2145 }2146 #endif2147 2028 #endif 2148 2029 #if H_3D_IV_MERGE … … 2154 2035 { 2155 2036 #if H_3D_IV_MERGE 2156 #if HHI_TOOL_PARAMETERS_I2_J01072157 #if ALGIN_J0107_J00592158 2037 WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2159 #else2160 WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2161 #endif2162 #else2163 if(pcSlice->getIsDepth())2164 {2165 Bool bMPIFlag = pcSlice->getVPS()->getMPIFlag( pcSlice->getLayerIdInVps() ) ;2166 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;2167 WRITE_UVLC( ( ( bMPIFlag || ivMvPredFlag ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2168 }2169 else2170 {2171 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;2172 #if MTK_MRG_LIST_SIZE_CLEANUP_J00592173 Bool vspFlag = pcSlice->getVPS()->getViewSynthesisPredFlag( pcSlice->getLayerIdInVps() ) ;2174 WRITE_UVLC( ( ivMvPredFlag || vspFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2175 #else2176 WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2177 #endif2178 }2179 #endif2180 2038 #else 2181 2039 WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); … … 2243 2101 { 2244 2102 // Derive the value of PocMsbValRequiredFlag 2245 #if !H_MV_HLS_FIX2246 pcSlice->setPocMsbValRequiredFlag( pcSlice->getCraPicFlag() || pcSlice->getBlaPicFlag()2247 /* || related to vps_poc_lsb_aligned_flag */2248 );2249 #endif2250 2103 2251 2104 // Determine value of SH extension length. … … 2265 2118 2266 2119 2267 #if H_MV_HLS_FIX2268 2120 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2269 #else2270 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ )2271 #endif2272 2121 { 2273 2122 shExtnLengthInBit++; // For poc_msb_val_present_flag … … 2332 2181 pcSlice->checkPocLsbVal(); 2333 2182 2334 #if H_MV_HLS_FIX2335 2183 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2336 #else2337 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ )2338 #endif2339 2184 { 2340 2185 WRITE_FLAG( pcSlice->getPocMsbValPresentFlag( ) ? 1 : 0 , "poc_msb_val_present_flag" );
Note: See TracChangeset for help on using the changeset viewer.