Changeset 1124 in 3DVCSoftware for trunk/source/Lib/TLibEncoder
- Timestamp:
- 10 Nov 2014, 12:22:20 (10 years ago)
- Location:
- trunk/source/Lib/TLibEncoder
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibEncoder/TEncCavlc.cpp
r1084 r1124 638 638 } 639 639 640 #if HHI_TOOL_PARAMETERS_I2_J0107 641 Void TEncCavlc::codeSPS( TComSPS* pcSPS ) 642 #else 640 643 #if H_3D 641 644 Void TEncCavlc::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 642 645 #else 643 646 Void TEncCavlc::codeSPS( TComSPS* pcSPS ) 647 #endif 644 648 #endif 645 649 { … … 842 846 if ( pcSPS->getSps3dExtensionFlag() ) 843 847 { 848 #if HHI_TOOL_PARAMETERS_I2_J0107 849 codeSPS3dExtension( pcSPS ); 850 #else 844 851 codeSPSExtension2( pcSPS, viewIndex, depthFlag ); 852 #endif 845 853 } 846 854 … … 863 871 WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" ); 864 872 WRITE_UVLC( 0, "num_ref_loc_offsets" ); 873 #if H_MV_HLS_FIX 874 WRITE_FLAG( 0 , "colour_mapping_enabled_flag" ); 875 #endif 876 865 877 } 866 878 … … 868 880 869 881 #if H_3D 882 #if HHI_TOOL_PARAMETERS_I2_J0107 883 Void TEncCavlc::codeSPS3dExtension( TComSPS* pcSPS ) 884 { 885 TComSps3dExtension* sps3dExt = pcSPS->getSps3dExtension(); 886 for( Int d = 0; d <= 1; d++ ) 887 { 888 WRITE_FLAG( sps3dExt->getIvMvPredFlag( d ) ? 1 : 0 , "iv_mv_pred_flag" ); 889 WRITE_FLAG( sps3dExt->getIvMvScalingFlag( d ) ? 1 : 0 , "iv_mv_scaling_flag" ); 890 if( d == 0 ) 891 { 892 WRITE_UVLC( sps3dExt->getLog2SubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" ); 893 WRITE_FLAG( sps3dExt->getIvResPredFlag( d ) ? 1 : 0 , "iv_res_pred_flag" ); 894 WRITE_FLAG( sps3dExt->getDepthRefinementFlag( d ) ? 1 : 0 , "depth_refinement_flag" ); 895 WRITE_FLAG( sps3dExt->getViewSynthesisPredFlag( d ) ? 1 : 0 , "view_synthesis_pred_flag" ); 896 WRITE_FLAG( sps3dExt->getDepthBasedBlkPartFlag( d ) ? 1 : 0 , "depth_based_blk_part_flag" ); 897 } 898 else 899 { 900 WRITE_FLAG( sps3dExt->getMpiFlag( d ) ? 1 : 0 , "mpi_flag" ); 901 WRITE_UVLC( sps3dExt->getLog2MpiSubPbSizeMinus3( d ), "log2_mpi_sub_pb_size_minus3" ); 902 WRITE_FLAG( sps3dExt->getIntraContourFlag( d ) ? 1 : 0 , "intra_contour_flag" ); 903 WRITE_FLAG( sps3dExt->getIntraSdcWedgeFlag( d ) ? 1 : 0 , "intra_sdc_wedge_flag" ); 904 WRITE_FLAG( sps3dExt->getQtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" ); 905 WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" ); 906 WRITE_FLAG( sps3dExt->getIntraSingleFlag( d ) ? 1 : 0 , "intra_single_flag" ); 907 } 908 } 909 } 910 #else 870 911 Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 871 912 { 872 913 873 914 } 915 #endif 874 916 #endif 875 917 … … 969 1011 codeVPSExtension( pcVPS ); 970 1012 #if H_3D 971 WRITE_FLAG( 1, "vps_extension2_flag" ); 1013 WRITE_FLAG( 1, "vps_extension2_flag" ); 1014 #if HHI_VPS_3D_EXTENSION_I3_J0107 1015 WRITE_FLAG( 1, "vps_3d_extension_flag" ); 1016 m_pcBitIf->writeAlignOne(); 1017 codeVPS3dExtension( pcVPS ); 1018 #else 972 1019 m_pcBitIf->writeAlignOne(); 973 1020 codeVPSExtension2( pcVPS ); 1021 #endif 974 1022 WRITE_FLAG( 0, "vps_extension3_flag" ); 975 1023 #else … … 1141 1189 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1142 1190 { 1191 #if H_MV_HLS_FIX 1192 if( pcVPS->getNumLayerSets() > 2 && i >= pcVPS->getNumLayerSets( ) ) 1193 #else 1143 1194 if( i >= pcVPS->getNumLayerSets( ) ) 1195 #endif 1144 1196 { 1145 1197 WRITE_CODE( pcVPS->getLayerSetIdxForOlsMinus1( i ), pcVPS->getLayerSetIdxForOlsMinus1Len( i ) , "layer_set_idx_for_ols_minus1[i]" ); … … 1211 1263 1212 1264 WRITE_FLAG( pcVPS->getMaxOneActiveRefLayerFlag( ) ? 1 : 0, "max_one_active_ref_layer_flag" ); 1213 #if H_MV_HLS7_GEN 1265 #if H_MV_HLS7_GEN || H_MV_HLS_FIX 1214 1266 WRITE_FLAG( pcVPS->getVpsPocLsbAlignedFlag( ) ? 1 : 0 , "vps_poc_lsb_aligned_flag" ); 1215 1267 #endif … … 1261 1313 codeVPSVUI( pcVPS ); 1262 1314 } 1315 #if H_MV_HLS_FIX 1316 else 1317 #endif 1263 1318 { 1264 1319 TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( ); … … 1575 1630 1576 1631 #if H_3D 1632 #if HHI_VPS_3D_EXTENSION_I3_J0107 1633 Void TEncCavlc::codeVPS3dExtension( TComVPS* pcVPS ) 1634 #else 1577 1635 Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS ) 1636 #endif 1578 1637 { 1638 #if !HHI_TOOL_PARAMETERS_I2_J0107 1579 1639 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1580 1640 { … … 1619 1679 WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" ); 1620 1680 #endif 1681 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1682 WRITE_FLAG( pcVPS->getSingleDepthModeFlag( i ) ? 1 : 0, "single_depth_mode_flag" ); 1683 #endif 1621 1684 } 1622 1685 } 1623 1686 } 1687 #endif 1624 1688 WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" ); 1625 1689 for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++) … … 1725 1789 } 1726 1790 pcSlice->checkCrossLayerBlaFlag( ); 1727 #if !H_MV_HLS7_GEN 1791 #if !H_MV_HLS7_GEN && !H_MV_HLS_FIX 1728 1792 if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb ) 1729 1793 { … … 1887 1951 Bool interLayerPredLayerIdcPresentFlag = false; 1888 1952 Int layerId = pcSlice->getLayerId(); 1953 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1954 #if H_3D 1955 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumRefListLayers( layerId ) > 0 ) 1956 #else 1889 1957 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 1958 #endif 1959 #else 1960 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 1961 #endif 1890 1962 { 1891 1963 WRITE_FLAG( pcSlice->getInterLayerPredEnabledFlag( ) ? 1 : 0 , "inter_layer_pred_enabled_flag" ); 1964 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1965 #if H_3D 1966 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumRefListLayers( layerId ) > 1 ) 1967 #else 1892 1968 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 1969 #endif 1970 #else 1971 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 1972 #endif 1893 1973 { 1894 1974 if( !vps->getMaxOneActiveRefLayerFlag()) … … 1896 1976 WRITE_CODE( pcSlice->getNumInterLayerRefPicsMinus1( ), pcSlice->getNumInterLayerRefPicsMinus1Len( ), "num_inter_layer_ref_pics_minus1" ); 1897 1977 } 1978 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1979 #if H_3D 1980 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumRefListLayers( layerId ) ) 1981 #else 1898 1982 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) 1983 #endif 1984 #else 1985 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) 1986 #endif 1899 1987 { 1900 1988 interLayerPredLayerIdcPresentFlag = true; … … 2037 2125 } 2038 2126 #if H_3D_IC 2127 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 2128 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 ) 2129 #else 2039 2130 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 ) 2131 #endif 2040 2132 { 2041 2133 WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" ); … … 2046 2138 } 2047 2139 #endif 2140 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060 2048 2141 #if H_3D_SINGLE_DEPTH 2049 2142 if(pcSlice->getIsDepth()) … … 2052 2145 } 2053 2146 #endif 2147 #endif 2054 2148 #if H_3D_IV_MERGE 2055 2149 assert(pcSlice->getMaxNumMergeCand()<=MRG_MAX_NUM_CANDS_MEM); … … 2060 2154 { 2061 2155 #if H_3D_IV_MERGE 2156 #if HHI_TOOL_PARAMETERS_I2_J0107 2157 #if ALGIN_J0107_J0059 2158 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 #else 2160 WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2161 #endif 2162 #else 2062 2163 if(pcSlice->getIsDepth()) 2063 2164 { … … 2069 2170 { 2070 2171 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ; 2172 #if MTK_MRG_LIST_SIZE_CLEANUP_J0059 2173 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 #else 2071 2176 WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2072 } 2177 #endif 2178 } 2179 #endif 2073 2180 #else 2074 2181 WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); … … 2136 2243 { 2137 2244 // Derive the value of PocMsbValRequiredFlag 2245 #if !H_MV_HLS_FIX 2138 2246 pcSlice->setPocMsbValRequiredFlag( pcSlice->getCraPicFlag() || pcSlice->getBlaPicFlag() 2139 2247 /* || related to vps_poc_lsb_aligned_flag */ 2140 2248 ); 2249 #endif 2141 2250 2142 2251 // Determine value of SH extension length. … … 2156 2265 2157 2266 2267 #if H_MV_HLS_FIX 2268 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2269 #else 2158 2270 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ ) 2271 #endif 2159 2272 { 2160 2273 shExtnLengthInBit++; // For poc_msb_val_present_flag … … 2219 2332 pcSlice->checkPocLsbVal(); 2220 2333 2334 #if H_MV_HLS_FIX 2335 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2336 #else 2221 2337 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ ) 2338 #endif 2222 2339 { 2223 2340 WRITE_FLAG( pcSlice->getPocMsbValPresentFlag( ) ? 1 : 0 , "poc_msb_val_present_flag" ); -
trunk/source/Lib/TLibEncoder/TEncCavlc.h
r1084 r1124 99 99 #endif 100 100 #if H_3D 101 #if HHI_VPS_3D_EXTENSION_I3_J0107 102 Void codeVPS3dExtension ( TComVPS* pcVPS ); 103 #else 101 104 Void codeVPSExtension2 ( TComVPS* pcVPS ); 105 #endif 106 #if HHI_TOOL_PARAMETERS_I2_J0107 107 Void codeSPS3dExtension ( TComSPS* pcSPS ); 108 Void codeSPS ( TComSPS* pcSPS ); 109 #else 102 110 Void codeSPSExtension2 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 103 111 Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 112 #endif 104 113 #else 105 114 Void codeSPS ( TComSPS* pcSPS ); -
trunk/source/Lib/TLibEncoder/TEncCfg.h
r1084 r1124 392 392 Double m_dDispCoeff; 393 393 #endif 394 #if !HHI_TOOL_PARAMETERS_I2_J0107 394 395 #if H_3D_ARP 395 396 UInt m_uiUseAdvResPred; … … 400 401 Int m_iSubPUMPILog2Size; 401 402 #endif 403 #endif 402 404 #if H_3D_IC 403 405 Bool m_bUseIC; 404 406 Bool m_bUseICLowLatencyEnc; 405 407 #endif 408 #if !HHI_TOOL_PARAMETERS_I2_J0107 406 409 #if H_3D_INTER_SDC 407 410 bool m_bInterSDC; … … 409 412 #if H_3D_DBBP 410 413 Bool m_bUseDBBP; 414 #endif 411 415 #endif 412 416 //====== Depth Intra Modes ====== 413 417 #if H_3D_DIM 414 418 Bool m_useDMM; 419 #if !HHI_TOOL_PARAMETERS_I2_J0107 415 420 Bool m_useIVP; 421 #endif 416 422 Bool m_useSDC; 417 423 Bool m_useDLT; 418 424 #endif 425 #if !HHI_TOOL_PARAMETERS_I2_J0107 419 426 #if H_3D_SINGLE_DEPTH 420 427 Bool m_useSingleDepthMode; 421 428 #endif 429 422 430 #if H_3D_IV_MERGE 423 431 Bool m_useMPI; 432 #endif 424 433 #endif 425 434 #if H_3D_QTLPC … … 497 506 Void setMaxTempLayer ( Int maxTempLayer ) { m_maxTempLayer = maxTempLayer; } 498 507 508 #if !HHI_TOOL_PARAMETERS_I2_J0107 499 509 #if H_3D_ARP 500 510 UInt getUseAdvRP ( ) { return m_uiUseAdvResPred; } … … 510 520 Void setSubPUMPILog2Size (Int u) { m_iSubPUMPILog2Size = u; } 511 521 #endif 522 #endif 512 523 #if H_3D_IC 513 524 Void setUseIC ( Bool bVal ) { m_bUseIC = bVal; } … … 516 527 Bool getUseICLowLatencyEnc () { return m_bUseICLowLatencyEnc; } 517 528 #endif 529 #if !HHI_TOOL_PARAMETERS_I2_J0107 518 530 #if H_3D_INTER_SDC 519 531 Void setInterSDCEnable ( Bool bVal ) { m_bInterSDC = bVal; } … … 523 535 Void setUseDBBP ( Bool b ) { m_bUseDBBP = b; } 524 536 Bool getUseDBBP() { return m_bUseDBBP; } 537 #endif 525 538 #endif 526 539 //======== Transform ============= … … 932 945 Void setFrameOnlyConstraintFlag(Bool b) { m_frameOnlyConstraintFlag = b; } 933 946 #if H_3D 947 948 // Only flags that are not in the SPS3dExtension should go here. 934 949 /// 3D Tools 935 950 … … 976 991 Bool getUseDMM () { return m_useDMM; } 977 992 Void setUseDMM ( Bool b) { m_useDMM = b; } 993 #if !HHI_TOOL_PARAMETERS_I2_J0107 978 994 Bool getUseIVP () { return m_useIVP; } 979 995 Void setUseIVP ( Bool b) { m_useIVP = b; } 996 #endif 980 997 Bool getUseSDC () { return m_useSDC; } 981 998 Void setUseSDC ( Bool b) { m_useSDC = b; } 999 982 1000 Bool getUseDLT () { return m_useDLT; } 983 1001 Void setUseDLT ( Bool b) { m_useDLT = b; } 984 1002 #endif 1003 #if !HHI_TOOL_PARAMETERS_I2_J0107 985 1004 #if H_3D_SINGLE_DEPTH 986 1005 Void setUseSingleDepthMode ( Bool bVal ) { m_useSingleDepthMode = bVal; } 987 1006 Bool getUseSingleDepthMode () { return m_useSingleDepthMode; } 988 1007 #endif 1008 #endif 989 1009 #if H_3D_QTLPC 990 1010 Void setUseQTL ( Bool b ) { m_bUseQTL = b; } 991 1011 Bool getUseQTL () { return m_bUseQTL; } 992 1012 #endif 1013 #if !HHI_TOOL_PARAMETERS_I2_J0107 993 1014 #if H_3D_IV_MERGE 994 1015 Void setUseMPI ( Bool b ) { m_useMPI = b; } 995 1016 Bool getUseMPI () { return m_useMPI; } 996 1017 #endif 1018 #endif 997 1019 #endif // H_3D 998 1020 }; -
trunk/source/Lib/TLibEncoder/TEncCu.cpp
r1084 r1124 409 409 410 410 #if H_3D_QTLPC 411 TComVPS *vps = pcPic->getSlice(0)->getVPS(); 411 #if HHI_TOOL_PARAMETERS_I2_J0107 412 Bool bLimQtPredFalg = pcPic->getSlice(0)->getQtPredFlag(); 413 #else 414 TComVPS *vps = pcPic->getSlice(0)->getVPS(); 412 415 Bool bLimQtPredFalg = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId()); 416 #endif 413 417 TComPic *pcTexture = rpcBestCU->getSlice()->getTexturePic(); 414 418 … … 566 570 { 567 571 #if H_3D_ARP && H_3D_IV_MERGE 572 #if HHI_TOOL_PARAMETERS_I2_J0107 573 if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() ) 574 #else 568 575 if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) || rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) ) 576 #endif 569 577 #else 570 578 #if H_3D_ARP … … 590 598 #endif 591 599 #if H_3D_NBDV_REF 600 #if HHI_TOOL_PARAMETERS_I2_J0107 601 if( rpcTempCU->getSlice()->getDepthRefinementFlag() ) 602 #else 592 603 if(rpcTempCU->getSlice()->getVPS()->getDepthRefinementFlag( rpcTempCU->getSlice()->getLayerIdInVps())) 604 #endif 593 605 DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true); 594 606 else … … 605 617 } 606 618 #if H_3D_FAST_TEXTURE_ENCODING 619 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 620 if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 621 #else 607 622 if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth()) 623 #endif 608 624 { 609 625 PartSize ePartTemp = rpcTempCU->getPartitionSize(0); … … 668 684 669 685 #if H_3D_DBBP 686 #if SEC_DBBP_VIEW_REF_CHECK_J0037 687 #if HHI_TOOL_PARAMETERS_I2_J0107 688 if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 689 #else 690 if( m_pcEncCfg->getUseDBBP() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 691 #endif 692 #else 670 693 if( m_pcEncCfg->getUseDBBP() ) 694 #endif 671 695 { 672 696 xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false ); … … 715 739 #if H_3D_SINGLE_DEPTH 716 740 rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP ); 741 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 742 #if ALIGN_J0060_J0107 743 if( rpcBestCU->getSlice()->getIntraSingleFlag() ) 744 #else 745 if(rpcBestCU->getSlice()->getVPS()->getSingleDepthModeFlag(rpcBestCU->getSlice()->getLayerIdInVps())) 746 #endif 747 #else 717 748 if(rpcBestCU->getSlice()->getApplySingleDepthMode()) 749 #endif 718 750 { 719 751 xCheckRDCostSingleDepth( rpcBestCU, rpcTempCU, SIZE_2Nx2N ); … … 1869 1901 1870 1902 #endif 1871 1903 #if !LGE_DDD_REMOVAL_J0042_J0030 1872 1904 #if H_3D_DDD 1873 1905 Int iDDDCand = rpcTempCU->getUseDDDCandIdx(); 1874 1906 UChar ucDDDepth = rpcTempCU->getDDTmpDepth(); 1875 1907 rpcTempCU->setUseDDD( false, 0, uhDepth ); 1908 #endif 1876 1909 #endif 1877 1910 … … 1908 1941 rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth ); 1909 1942 #endif 1943 #if !LGE_DDD_REMOVAL_J0042_J0030 1910 1944 #if H_3D_DDD 1911 1945 if( rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getViewIndex() != 0 && iDDDCand == uiMergeCand ) … … 1918 1952 rpcTempCU->setUseDDD( false, 0, 0, uhDepth ); 1919 1953 } 1954 #endif 1920 1955 #endif 1921 1956 #if H_3D_SPIVMP … … 2021 2056 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2022 2057 #if H_3D_INTER_SDC 2058 #if HHI_TOOL_PARAMETERS_I2_J0107 2059 if( rpcTempCU->getSlice()->getInterSdcFlag() && !uiNoResidual ) 2060 #else 2023 2061 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual ) 2062 #endif 2024 2063 { 2025 2064 Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE}; … … 2093 2132 { 2094 2133 #if H_3D_INTER_SDC 2134 #if HHI_TOOL_PARAMETERS_I2_J0107 2135 if( rpcTempCU->getSlice()->getInterSdcFlag() ) 2136 #else 2095 2137 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) ) 2138 #endif 2096 2139 { 2097 2140 bestIsSkip = !rpcBestCU->getSDCFlag( 0 ) && ( rpcBestCU->getQtRootCbf(0) == 0 ); … … 2169 2212 UChar uhDepth = rpcTempCU->getDepth( 0 ); 2170 2213 #if H_3D_ARP 2214 #if !HHI_TOOL_PARAMETERS_I2_J0107 2171 2215 Int iLayerId = rpcTempCU->getSlice()->getLayerId(); 2216 #endif 2172 2217 Bool bFirstTime = true; 2173 2218 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; … … 2180 2225 for( Int nARPW = 0; nARPW <= nARPWMax; nARPW++ ) 2181 2226 { 2227 #if HHI_TOOL_PARAMETERS_I2_J0107 2228 if( !bFirstTime && rpcTempCU->getSlice()->getIvResPredFlag() ) 2229 #else 2182 2230 if( bFirstTime == false && rpcTempCU->getSlice()->getVPS()->getUseAdvRP( iLayerId ) ) 2231 #endif 2183 2232 { 2184 2233 rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0),bTransquantBypassFlag ); … … 2204 2253 rpcTempCU->setPartSizeSubParts ( ePartSize, 0, uhDepth ); 2205 2254 rpcTempCU->setPredModeSubParts ( MODE_INTER, 0, uhDepth ); 2255 #if !LGE_DDD_REMOVAL_J0042_J0030 2206 2256 #if H_3D_DDD 2207 2257 rpcTempCU->setUseDDD( false, 0, uhDepth ); 2258 #endif 2208 2259 #endif 2209 2260 … … 2284 2335 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2285 2336 #if H_3D_INTER_SDC 2337 #if HHI_TOOL_PARAMETERS_I2_J0107 2338 if( rpcTempCU->getSlice()->getInterSdcFlag() && ePartSize == SIZE_2Nx2N) 2339 #else 2286 2340 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && ePartSize == SIZE_2Nx2N) 2341 #endif 2287 2342 { 2288 2343 Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE}; -
trunk/source/Lib/TLibEncoder/TEncEntropy.cpp
r1084 r1124 78 78 } 79 79 80 #if HHI_TOOL_PARAMETERS_I2_J0107 81 Void TEncEntropy::encodeSPS( TComSPS* pcSPS ) 82 { 83 m_pcEntropyCoderIf->codeSPS( pcSPS ); 84 return; 85 } 86 #else 80 87 #if H_3D 81 88 Void TEncEntropy::encodeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) … … 91 98 } 92 99 #endif 100 #endif 93 101 94 102 Void TEncEntropy::encodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) … … 122 130 Void TEncEntropy::encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) 123 131 { 132 #if ALIGN_J0060_J0107 133 if(!pcCU->getSlice()->getIntraSingleFlag() ) 134 { 135 return; 136 } 137 #else 124 138 if ( !pcCU->getSlice()->getIsDepth() ) 125 139 { 126 140 return; 127 141 } 142 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 143 if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps())) 144 { 145 return; 146 } 147 #else 128 148 if(!pcCU->getSlice()->getApplySingleDepthMode()) 129 149 { 130 150 return; 131 151 } 132 152 #endif 153 #endif 133 154 if( bRD ) 134 155 { … … 268 289 269 290 #if H_3D_DBBP 291 #if SEC_DBBP_VIEW_REF_CHECK_J0037 292 #if HHI_TOOL_PARAMETERS_I2_J0107 293 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 294 #else 295 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 296 #endif 297 #else 270 298 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 ) 299 #endif 271 300 { 272 301 encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD); … … 780 809 Void TEncEntropy::encodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) 781 810 { 811 #if HHI_TOOL_PARAMETERS_I2_J0107 812 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) || 813 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 814 #else 782 815 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) || 783 816 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ) 817 #endif 784 818 { 785 819 return; -
trunk/source/Lib/TLibEncoder/TEncEntropy.h
r1084 r1124 69 69 70 70 virtual Void codeVPS ( TComVPS* pcVPS ) = 0; 71 #if HHI_TOOL_PARAMETERS_I2_J0107 72 virtual Void codeSPS ( TComSPS* pcSPS ) = 0; 73 #else 71 74 #if !H_3D 72 75 virtual Void codeSPS ( TComSPS* pcSPS ) = 0; 73 76 #else 74 77 virtual Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) = 0; 78 #endif 75 79 #endif 76 80 virtual Void codePPS ( TComPPS* pcPPS ) = 0; … … 165 169 Void encodeVPS ( TComVPS* pcVPS); 166 170 // SPS 171 #if HHI_TOOL_PARAMETERS_I2_J0107 172 Void encodeSPS ( TComSPS* pcSPS ); 173 #else 167 174 #if H_3D 168 175 Void encodeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 169 176 #else 170 177 Void encodeSPS ( TComSPS* pcSPS ); 178 #endif 171 179 #endif 172 180 Void encodePPS ( TComPPS* pcPPS ); -
trunk/source/Lib/TLibEncoder/TEncGOP.cpp
r1084 r1124 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; … … 941 957 pcSlice->setRefPicList ( rcListPic ); 942 958 #endif 959 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060 943 960 #if H_3D_SINGLE_DEPTH 961 #if HHI_TOOL_PARAMETERS_I2_J0107 962 pcSlice->setApplySingleDepthMode( pcSlice->getIntraSingleFlag() ); 963 #else 944 964 TEncTop* pcEncTop = (TEncTop*) m_pcCfg; 945 965 bool enableSingleDepthMode=false; … … 952 972 } 953 973 pcSlice->setApplySingleDepthMode(enableSingleDepthMode); 954 #endif 974 #endif 975 #endif 976 #endif 977 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 978 pcSlice->setDefaultRefView(); 979 #endif 955 980 #if H_3D_ARP 956 981 //GT: This seems to be broken when layerId in vps is not equal to layerId in nuh … … 1414 1439 pcSlice->getSPS()->getVuiParameters()->setHrdParametersPresentFlag( true ); 1415 1440 } 1441 #if HHI_TOOL_PARAMETERS_I2_J0107 1442 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS()); 1443 #else 1416 1444 #if !H_3D 1417 1445 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS()); 1418 1446 #else 1419 1447 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS(), pcSlice->getViewIndex(), pcSlice->getIsDepth() ); 1448 #endif 1420 1449 #endif 1421 1450 writeRBSPTrailingBits(nalu.m_Bitstream); -
trunk/source/Lib/TLibEncoder/TEncSbac.cpp
r1084 r1124 255 255 curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG ); 256 256 #if H_3D_DIM 257 #if HHI_TOOL_PARAMETERS_I2_J0107 258 if( m_pcSlice->getIntraSdcWedgeFlag() || m_pcSlice->getIntraContourFlag() ) 259 #else 257 260 if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() ) 261 #endif 258 262 { 259 263 curCost += m_cDepthIntraModeSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE ); … … 346 350 } 347 351 352 #if HHI_TOOL_PARAMETERS_I2_J0107 353 Void TEncSbac::codeSPS( TComSPS* pcSPS ) 354 #else 348 355 #if H_3D 349 356 Void TEncSbac::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 350 357 #else 351 358 Void TEncSbac::codeSPS( TComSPS* pcSPS ) 359 #endif 352 360 #endif 353 361 { … … 625 633 PartSize eSize = pcCU->getPartitionSize( uiAbsPartIdx ); 626 634 #if H_3D_QTLPC 635 #if HHI_TOOL_PARAMETERS_I2_J0107 636 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 637 #else 627 638 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS(); 628 639 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId()); 640 #endif 629 641 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 630 642 Bool bDepthMapDetect = (pcTexture != NULL); … … 998 1010 Bool bCodeSplitFlag = true; 999 1011 1012 1013 #if HHI_TOOL_PARAMETERS_I2_J0107 1014 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 1015 #else 1000 1016 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS(); 1001 1017 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId()); 1018 #endif 1002 1019 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 1003 1020 Bool bDepthMapDetect = (pcTexture != NULL); … … 1060 1077 dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j ); 1061 1078 #if H_3D_DIM 1079 #if HHI_TOOL_PARAMETERS_I2_J0107 1080 if( pcCU->getSlice()->getIntraSdcWedgeFlag() || pcCU->getSlice()->getIntraContourFlag() ) 1081 #else 1062 1082 if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() ) 1083 #endif 1063 1084 { 1064 1085 codeIntraDepth( pcCU, absPartIdx+partOffset*j ); … … 1206 1227 } 1207 1228 //mode coding 1229 #if HHI_TOOL_PARAMETERS_I2_J0107 1230 if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag()) 1231 #else 1208 1232 if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag()) 1233 #endif 1209 1234 { 1210 1235 m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); … … 2305 2330 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx ); 2306 2331 AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N ); 2332 #if HHI_TOOL_PARAMETERS_I2_J0107 2333 AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() ); 2334 #else 2307 2335 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ); 2336 #endif 2308 2337 AOF( !pcCU->getSlice()->getIsDepth() ); 2309 2338 -
trunk/source/Lib/TLibEncoder/TEncSbac.h
r1084 r1124 94 94 95 95 Void codeVPS ( TComVPS* pcVPS ); 96 #if HHI_TOOL_PARAMETERS_I2_J0107 97 Void codeSPS ( TComSPS* pcSPS ); 98 #else 96 99 #if !H_3D 97 100 Void codeSPS ( TComSPS* pcSPS ); 98 101 #else 99 102 Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 103 #endif 100 104 #endif 101 105 Void codePPS ( TComPPS* pcPPS ); -
trunk/source/Lib/TLibEncoder/TEncSearch.cpp
r1084 r1124 2881 2881 Int index=0; 2882 2882 Pel testDepth; 2883 #if SINGLE_DEPTH_SIMP_J0115 2884 Pel DepthNeighbours[2]; 2885 #else 2883 2886 Pel DepthNeighbours[5]; 2887 #endif 2884 2888 //construction of depth candidates 2889 #if SINGLE_DEPTH_SIMP_J0115 2890 for( Int i = 0; (i < 2) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ ) 2891 #else 2885 2892 for( Int i = 0; (i < 5) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ ) 2893 #endif 2886 2894 { 2887 2895 if(!pcCU->getNeighDepth (0, 0, &testDepth, i)) … … 2891 2899 DepthNeighbours[index]=testDepth; 2892 2900 index++; 2901 #if !SINGLE_DEPTH_SIMP_J0115 2893 2902 for(Int j=0;j<index-1;j++) 2894 2903 { … … 2899 2908 } 2900 2909 } 2910 #endif 2901 2911 } 2902 2912 … … 3117 3127 } 3118 3128 #endif 3119 3129 3120 3130 #if H_3D_DIM 3121 3131 //===== determine set of depth intra modes to be tested ===== 3122 3132 if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight ) 3123 3133 { 3134 #if HHI_TOOL_PARAMETERS_I2_J0107 3135 if( bOnlyIVP && pcCU->getSlice()->getIntraContourFlag() ) 3136 #else 3124 3137 if( bOnlyIVP && m_pcEncCfg->getUseIVP() ) 3138 #endif 3125 3139 { 3126 3140 TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight ); … … 3144 3158 3145 3159 #if H_3D_DIM_DMM 3160 #if HHI_TOOL_PARAMETERS_I2_J0107 3161 if( ( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) || pcCU->getSlice()->getIntraContourFlag() ) 3162 #else 3146 3163 if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() ) 3164 #endif 3147 3165 #if H_3D_FAST_DEPTH_INTRA 3148 3166 && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold) … … 3151 3169 { 3152 3170 UInt uiStart, uiEnd; 3171 #if HHI_TOOL_PARAMETERS_I2_J0107 3172 if( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSlice()->getIntraContourFlag() ) 3173 #else 3153 3174 if( m_pcEncCfg->getUseDMM() && m_pcEncCfg->getUseIVP() ) 3175 #endif 3154 3176 { 3155 3177 uiStart = 0; 3156 3178 uiEnd = 2; 3157 3179 } 3180 #if HHI_TOOL_PARAMETERS_I2_J0107 3181 else if( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 3182 #else 3158 3183 else if( m_pcEncCfg->getUseDMM() ) 3184 #endif 3159 3185 { 3160 3186 uiStart = 0; 3161 3187 uiEnd = 1; 3162 3188 } 3189 #if HHI_TOOL_PARAMETERS_I2_J0107 3190 else if( pcCU->getSlice()->getIntraContourFlag() ) 3191 #else 3163 3192 else if( m_pcEncCfg->getUseIVP() ) 3193 #endif 3164 3194 { 3165 3195 uiStart = 1; … … 3299 3329 #if H_3D_DIM_SDC 3300 3330 #if H_3D_FAST_INTRA_SDC 3331 #if HHI_TOOL_PARAMETERS_I2_J0107 3332 Bool bTestSDC = ( ( m_pcEncCfg->getUseSDC() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD); 3333 #else 3301 3334 Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD); 3335 #endif 3302 3336 #else 3303 3337 Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) ); … … 4143 4177 } 4144 4178 #endif 4145 4179 #if !LGE_DDD_REMOVAL_J0042_J0030 4146 4180 #if H_3D_DDD 4147 4181 if( uiMergeCand == pcCU->getUseDDDCandIdx() ) … … 4154 4188 pcCU->setUseDDD( false, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 4155 4189 } 4190 #endif 4156 4191 #endif 4157 4192 … … 4841 4876 pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4842 4877 #endif 4878 #if !LGE_DDD_REMOVAL_J0042_J0030 4843 4879 #if H_3D_DDD 4844 4880 if( uiMRGIndex == pcCU->getUseDDDCandIdx() ) … … 4853 4889 pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4854 4890 } 4891 #endif 4855 4892 #endif 4856 4893 #if H_3D_SPIVMP … … 4930 4967 pcCU->setSPIVMPFlagSubParts(0, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4931 4968 #endif 4969 #if !LGE_DDD_REMOVAL_J0042_J0030 4932 4970 #if H_3D_DDD 4933 4971 pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4972 #endif 4934 4973 #endif 4935 4974 // set ME result … … 5314 5353 #endif 5315 5354 #if H_3D_INTER_SDC 5355 #if HHI_TOOL_PARAMETERS_I2_J0107 5356 pcPatternKey->setSDCMRSADFlag( pcCU->getSlice()->getInterSdcFlag() ); 5357 #else 5316 5358 if ( pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) 5317 5359 { … … 5322 5364 pcPatternKey->setSDCMRSADFlag( false ); 5323 5365 } 5366 #endif 5324 5367 #endif 5325 5368 -
trunk/source/Lib/TLibEncoder/TEncSlice.cpp
r976 r1124 215 215 rpcSlice->setPicOutputFlag( true ); 216 216 rpcSlice->setPOC( pocCurr ); 217 #if HHI_TOOL_PARAMETERS_I2_J0107 218 #if H_3D 219 rpcSlice->init3dToolParameters(); 220 #endif 221 #endif 217 222 #if H_3D_IC 218 223 rpcSlice->setApplyIC( false ); … … 608 613 rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() ); 609 614 #if H_3D_IV_MERGE 615 #if HHI_TOOL_PARAMETERS_I2_J0107 616 #if ALGIN_J0107_J0059 617 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) || rpcSlice->getViewSynthesisPredFlag( ) ) ? 1 : 0 )); 618 #else 619 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) ) ? 1 : 0 )); 620 #endif 621 #else 610 622 if(rpcSlice->getIsDepth()) 611 623 { … … 614 626 else 615 627 { 628 #if MTK_MRG_LIST_SIZE_CLEANUP_J0059 629 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) || rpcSlice->getVPS()->getViewSynthesisPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 630 #else 616 631 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 617 } 632 #endif 633 } 634 #endif 618 635 #else 619 636 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() ); … … 1011 1028 } 1012 1029 } 1030 #if LGE_DEFAULT_DV_J0046 && !SEC_ARP_VIEW_REF_CHECK_J0037 && !SEC_DBBP_VIEW_REF_CHECK_J0037 1031 pcSlice->setDefaultRefViewIdx( -1 ); 1032 pcSlice->setDefaultRefViewIdxAvailableFlag( false ); 1033 1034 Int valid = 0; 1035 Int viewIndex = 0; 1036 for( UInt uiBId = 0; uiBId < pcSlice->getViewIndex() && valid==0; uiBId++ ) 1037 { 1038 UInt uiBaseId = uiBId; 1039 TComPic* pcBasePic = pcSlice->getIvPic( false, uiBaseId ); 1040 for( Int iRefListId = 0; ( iRefListId < (pcSlice->isInterB()? 2:1) ) && !pcSlice->isIntra() && valid==0; iRefListId++ ) 1041 { 1042 RefPicList eRefPicListTest = RefPicList( iRefListId ); 1043 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ; 1044 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ ) 1045 { 1046 if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC() 1047 && pcBasePic->getViewIndex() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex()) 1048 { 1049 valid=1; 1050 viewIndex = uiBaseId; 1051 break; 1052 } 1053 } 1054 } 1055 } 1056 if( valid ) 1057 { 1058 pcSlice->setDefaultRefViewIdx( viewIndex ); 1059 pcSlice->setDefaultRefViewIdxAvailableFlag( true ); 1060 } 1061 #endif 1062 1013 1063 // for every CU in slice 1014 1064 #if H_3D … … 1169 1219 #endif 1170 1220 } 1171 1172 1221 // run CU encoder 1173 1222 m_pcCuEncoder->compressCU( pcCU ); -
trunk/source/Lib/TLibEncoder/TEncSlice.h
r884 r1124 107 107 UInt m_uiSliceIdx; 108 108 std::vector<TEncSbac*> CTXMem; 109 #if !LGE_DDD_REMOVAL_J0042_J0030 109 110 #if H_3D_DDD 110 111 Int m_iDDDScale; 111 112 Int m_iDDDOffset; 112 113 UInt m_uiDDDPrecision; 114 #endif 113 115 #endif 114 116 public: … … 145 147 Void initCtxMem( UInt i ); 146 148 Void setCtxMem( TEncSbac* sb, Int b ) { CTXMem[b] = sb; } 147 149 #if !LGE_DDD_REMOVAL_J0042_J0030 148 150 #if H_3D_DDD 149 151 Void setDDDPar( Int iScale, Int iOffset, UInt uiPrecision ){ m_iDDDScale = iScale; m_iDDDOffset = iOffset; m_uiDDDPrecision = uiPrecision; } 152 #endif 150 153 #endif 151 154 -
trunk/source/Lib/TLibEncoder/TEncTop.cpp
r1084 r1124 534 534 Void TEncTop::encode(Bool flush, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded, bool isTff, Int gopId ) 535 535 { 536 assert( 0 ); // Field coding and multiview need to be fur hter harmonized.536 assert( 0 ); // Field coding and multiview need to be further harmonized. 537 537 } 538 538 #else … … 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 ); -
trunk/source/Lib/TLibEncoder/TEncTop.h
r1084 r1124 270 270 Void setIvPicLists ( TComPicLists* picLists) { m_ivPicLists = picLists; } 271 271 #endif 272 #if HHI_TOOL_PARAMETERS_I2_J0107 273 #if H_3D 274 Void setSps3dExtension ( TComSps3dExtension sps3dExtension ) { m_cSPS.setSps3dExtension( sps3dExtension ); }; 275 #endif 276 #endif 272 277 #if H_3D_IC 273 278 Void setICEnableCandidate ( Int* ICEnableCandidate) { m_aICEnableCandidate = ICEnableCandidate; }
Note: See TracChangeset for help on using the changeset viewer.