Changeset 1118 in 3DVCSoftware
- Timestamp:
- 8 Nov 2014, 21:07:36 (10 years ago)
- Location:
- branches/HTM-12.2-dev0/source
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev0/source/App/TAppEncoder/TAppEncTop.cpp
r1111 r1118 2285 2285 vps.setInterSDCFlag( layer, !isLayerZero && isDepth && m_bDepthInterSDCFlag ); 2286 2286 #endif 2287 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 2288 vps.setSingleDepthModeFlag( layer, !isLayerZero && isDepth && m_useSingleDepthMode ); 2289 #endif 2287 2290 #if H_3D_IV_MERGE 2288 2291 #if H_3D_FCO -
branches/HTM-12.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r1106 r1118 6266 6266 } 6267 6267 break; 6268 #if !SINGLE_DEPTH_SIMP_J0115 6268 6269 case 2: // Above 6269 6270 if(yP != 0) … … 6287 6288 } 6288 6289 break; 6290 #endif 6289 6291 default: 6290 6292 break; … … 6905 6907 6906 6908 iNumSPInOneLine = iPUWidth/iSubPUSize; 6909 #if !HS_SP_SIMP_J0066 6907 6910 iNumSPInOneLine = iNumSPInOneLine < 1 ? 1: iNumSPInOneLine; 6911 #endif 6908 6912 Int iNumSPInOneColumn = iPUHeight/iSubPUSize; 6913 #if !HS_SP_SIMP_J0066 6909 6914 iNumSPInOneColumn = iNumSPInOneColumn < 1 ? 1: iNumSPInOneColumn; 6915 #else 6916 iNumSPInOneLine = (iPUHeight % iSubPUSize != 0 || iPUWidth % iSubPUSize != 0 ) ? 1 : iNumSPInOneLine; 6917 iNumSPInOneColumn = (iPUHeight % iSubPUSize != 0 || iPUWidth % iSubPUSize != 0 ) ? 1 : iNumSPInOneColumn; 6918 #endif 6910 6919 iNumSP = iNumSPInOneLine * iNumSPInOneColumn; 6911 6920 -
branches/HTM-12.2-dev0/source/Lib/TLibCommon/TComRom.cpp
r1084 r1118 362 362 const UChar g_dmm1TabIdxBits[6] = 363 363 { //2x2 4x4 8x8 16x16 32x32 64x64 364 #if MTK_DMM_SIM_J0035 365 0, 7, 10, 9, 9, 13 }; 366 #else 364 367 0, 7, 10, 11, 11, 13 }; 368 #endif 365 369 366 370 const UChar g_dmm3IntraTabIdxBits[6] = … … 763 767 } 764 768 769 #if MTK_DMM_SIM_J0035 770 for( Int iK = 0; iK < uiBlockSize; iK += (uiWidth>=16 ?2:1)) 771 { 772 for( Int iL = 0; iL < uiBlockSize; iL += ((uiWidth>=16 && uiOri<4)?2:1) ) 773 { 774 cTempWedgelet.setWedgelet( uhStartX + (iK*iStepStartX) , uhStartY + (iK*iStepStartY), uhEndX + (iL*iStepEndX), uhEndY + (iL*iStepEndY), (UChar)uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) ); 775 addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList ); 776 } 777 } 778 #else 765 779 for( Int iK = 0; iK < uiBlockSize; iK++ ) 766 780 { … … 771 785 } 772 786 } 787 #endif 773 788 } 774 789 -
branches/HTM-12.2-dev0/source/Lib/TLibCommon/TComSlice.cpp
r1112 r1118 1972 1972 m_ivMvScalingFlag[i] = true; 1973 1973 m_bIVPFlag [i] = false; 1974 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1975 m_singleDepthModeFlag[ i ] = false; 1976 #endif 1974 1977 #endif 1975 1978 #endif … … 3081 3084 i++; 3082 3085 } 3086 #if SHARP_DLT_SIMP_J0029 3087 iIdxUp = bFound ? iIdxDown + 1 : iNumDepthValues-1; 3088 #else 3083 3089 // iterate over indices to find upper closest depth 3084 3090 i = iNumDepthValues-2; … … 3097 3103 // assert monotony 3098 3104 assert(iIdxDown<=iIdxUp); 3105 #endif 3099 3106 3100 3107 // assign closer depth value/idx -
branches/HTM-12.2-dev0/source/Lib/TLibCommon/TComSlice.h
r1113 r1118 970 970 Bool m_bMPIFlag[MAX_NUM_LAYERS ]; 971 971 #endif 972 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 973 Bool m_singleDepthModeFlag [ MAX_NUM_LAYERS ]; 974 #endif 972 975 #endif 973 976 … … 1400 1403 Bool getMPIFlag ( Int layerIdInVps ) { return m_bMPIFlag[layerIdInVps]; } 1401 1404 Void setMPIFlag ( Int layerIdInVps, Bool bval ){ m_bMPIFlag[layerIdInVps] = bval; } 1405 #endif 1406 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1407 Void setSingleDepthModeFlag ( Int layerIdInVps, Bool val ) { m_singleDepthModeFlag[ layerIdInVps ] = val; } 1408 Bool getSingleDepthModeFlag ( Int layerIdInVps ) { return m_singleDepthModeFlag[ layerIdInVps ]; }; 1402 1409 #endif 1403 1410 #endif … … 2604 2611 TComPic* getTexturePic () { return m_ivPicsCurrPoc[0][ m_viewIndex ]; } 2605 2612 #endif 2613 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060 2606 2614 #if H_3D_SINGLE_DEPTH 2607 2615 Void setApplySingleDepthMode( Bool b ) { m_bApplySingleDepthMode = b; } 2608 2616 Bool getApplySingleDepthMode() { return m_bApplySingleDepthMode; } 2617 #endif 2609 2618 #endif 2610 2619 #if H_3D_IC -
branches/HTM-12.2-dev0/source/Lib/TLibCommon/TypeDef.h
r1111 r1118 182 182 // SEC_SIMP_SHIFTED_DV_I0086 Simplification of Shifted DV candidate, JCT3V-I0086 183 183 184 #define MTK_MRG_LIST_SIZE_CLEANUP_J0059 1 // Include VSP for deriving merge candidate list size, JCT3V-J0059 184 185 185 186 … … 235 236 236 237 #define H_3D_SINGLE_DEPTH 1 // Single depth mode proposed in JCT3V-I0095 237 238 #define MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1 // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060 239 240 #define MTK_J0033 1 241 #define SHARP_DLT_SIMP_J0029 1 // DLT(DepthValue2Idx[]) table derivation cleanup 238 242 239 243 #define H_3D_INTER_SDC 1 // INTER SDC, Inter simplified depth coding … … 277 281 #define H_3D_FAST_DEPTH_INTRA 1 // Fast DMM and RBC Mode Selection 278 282 // SCU_HS_FAST_DEPTH_INTRA_E0238_HHIFIX 283 #define MTK_DMM_SIM_J0035 1 279 284 #endif 280 285 … … 307 312 #if H_3D_SINGLE_DEPTH 308 313 #define SINGLE_DEPTH_MODE_CAND_LIST_SIZE 2 // size of the sample candidate list 314 #define SINGLE_DEPTH_SIMP_J0115 1 309 315 #endif 310 316 … … 379 385 #if H_3D 380 386 #define PPS_FIX_DEPTH 1 387 #endif 388 389 390 #if H_3D_SPIVMP 391 #define HS_SP_SIMP_J0066 1 381 392 #endif 382 393 -
branches/HTM-12.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1111 r1118 2016 2016 READ_FLAG( uiCode, "depth_inter_SDC_flag" ); pcVPS->setInterSDCFlag( i, uiCode ? true : false ); 2017 2017 #endif 2018 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 2019 READ_FLAG( uiCode, "single_depth_mode_flag[i]"); pcVPS->setSingleDepthModeFlag( i, uiCode == 1 ? true : false ); 2020 #endif 2018 2021 } 2019 2022 } … … 2726 2729 } 2727 2730 #endif 2731 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060 2728 2732 #if H_3D_SINGLE_DEPTH 2729 2733 if(rpcSlice->getIsDepth()) … … 2733 2737 rpcSlice->setApplySingleDepthMode(uiCodeTmp); 2734 2738 } 2739 #endif 2735 2740 #endif 2736 2741 if (!rpcSlice->isIntra()) … … 2750 2755 { 2751 2756 Bool ivMvPredFlag = rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ; 2757 #if MTK_MRG_LIST_SIZE_CLEANUP_J0059 2758 Bool vspFlag = rpcSlice->getVPS()->getViewSynthesisPredFlag( rpcSlice->getLayerIdInVps() ) ; 2759 rpcSlice->setMaxNumMergeCand(( ivMvPredFlag || vspFlag? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 2760 #else 2752 2761 rpcSlice->setMaxNumMergeCand(( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 2753 } 2754 #endif 2762 #endif 2763 } 2755 2764 2756 2765 #else -
branches/HTM-12.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp
r1106 r1118 744 744 //construction of depth candidates 745 745 Pel testDepth; 746 #if SINGLE_DEPTH_SIMP_J0115 747 Pel DepthNeighbours[2]; 748 #else 746 749 Pel DepthNeighbours[5]; 750 #endif 747 751 Int index =0; 752 #if SINGLE_DEPTH_SIMP_J0115 753 for( Int i = 0; (i < 2) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ ) 754 #else 748 755 for( Int i = 0; (i < 5) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ ) 756 #endif 749 757 { 750 758 if(!pcCU->getNeighDepth (0, uiAbsPartIdx, &testDepth, i)) … … 754 762 DepthNeighbours[index]=testDepth; 755 763 index++; 764 #if !SINGLE_DEPTH_SIMP_J0115 756 765 for(Int j=0;j<index-1;j++) 757 766 { … … 762 771 } 763 772 } 773 #endif 764 774 } 765 775 -
branches/HTM-12.2-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp
r1106 r1118 59 59 return; 60 60 } 61 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 62 if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps())) 63 { 64 return; 65 } 66 #else 61 67 if(!pcCU->getSlice()->getApplySingleDepthMode()) 62 68 { 63 69 return; 64 70 } 71 #endif 65 72 m_pcEntropyDecoderIf->parseSingleDepthMode( pcCU, uiAbsPartIdx, uiDepth ); 66 73 } -
branches/HTM-12.2-dev0/source/Lib/TLibDecoder/TDecSbac.cpp
r1107 r1118 1110 1110 UInt uiTabIdx = 0; 1111 1111 xParseDmm1WedgeIdx( uiTabIdx, g_dmm1TabIdxBits[pcCU->getIntraSizeIdx(absPartIdx)] ); 1112 1113 #if MTK_J0033 1114 assert( uiTabIdx < g_dmmWedgeLists[ g_aucConvertToBit[ pcCU->getDMM1BasePatternWidth( pcCU->getWidth( absPartIdx ) )]].size()); 1115 #endif 1116 1112 1117 pcCU->setDmmWedgeTabIdxSubParts( uiTabIdx, dimType, absPartIdx, depth ); 1113 1118 } break; -
branches/HTM-12.2-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp
r1110 r1118 1679 1679 WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" ); 1680 1680 #endif 1681 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1682 WRITE_FLAG( pcVPS->getSingleDepthModeFlag( i ) ? 1 : 0, "single_depth_mode_flag" ); 1683 #endif 1681 1684 } 1682 1685 } … … 2135 2138 } 2136 2139 #endif 2140 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060 2137 2141 #if H_3D_SINGLE_DEPTH 2138 2142 if(pcSlice->getIsDepth()) … … 2140 2144 WRITE_FLAG( pcSlice->getApplySingleDepthMode() ? 1 : 0, "slice_enable_single_depth_mode" ); 2141 2145 } 2146 #endif 2142 2147 #endif 2143 2148 #if H_3D_IV_MERGE … … 2161 2166 { 2162 2167 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ; 2168 #if MTK_MRG_LIST_SIZE_CLEANUP_J0059 2169 Bool vspFlag = pcSlice->getVPS()->getViewSynthesisPredFlag( pcSlice->getLayerIdInVps() ) ; 2170 WRITE_UVLC( ( ivMvPredFlag || vspFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2171 #else 2163 2172 WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2164 } 2165 #endif 2173 #endif 2174 } 2166 2175 #else 2167 2176 WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); -
branches/HTM-12.2-dev0/source/Lib/TLibEncoder/TEncCu.cpp
r1107 r1118 739 739 #if H_3D_SINGLE_DEPTH 740 740 rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP ); 741 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 742 if(rpcBestCU->getSlice()->getVPS()->getSingleDepthModeFlag(rpcBestCU->getSlice()->getLayerIdInVps())) 743 #else 741 744 if(rpcBestCU->getSlice()->getApplySingleDepthMode()) 745 #endif 742 746 { 743 747 xCheckRDCostSingleDepth( rpcBestCU, rpcTempCU, SIZE_2Nx2N ); -
branches/HTM-12.2-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp
r1106 r1118 134 134 return; 135 135 } 136 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 137 if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps())) 138 { 139 return; 140 } 141 #else 136 142 if(!pcCU->getSlice()->getApplySingleDepthMode()) 137 143 { 138 144 return; 139 145 } 140 146 #endif 141 147 if( bRD ) 142 148 { -
branches/HTM-12.2-dev0/source/Lib/TLibEncoder/TEncGOP.cpp
r1106 r1118 957 957 pcSlice->setRefPicList ( rcListPic ); 958 958 #endif 959 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060 959 960 #if H_3D_SINGLE_DEPTH 960 961 #if HHI_TOOL_PARAMETERS_I2_J0107 … … 972 973 pcSlice->setApplySingleDepthMode(enableSingleDepthMode); 973 974 #endif 974 #endif 975 #endif 976 #endif 975 977 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 976 978 pcSlice->setDefaultRefView(); -
branches/HTM-12.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r1106 r1118 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 -
branches/HTM-12.2-dev0/source/Lib/TLibEncoder/TEncSlice.cpp
r1106 r1118 622 622 else 623 623 { 624 #if MTK_MRG_LIST_SIZE_CLEANUP_J0059 625 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) || rpcSlice->getVPS()->getViewSynthesisPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 626 #else 624 627 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 625 } 626 #endif 628 #endif 629 } 627 630 #else 628 631 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() );
Note: See TracChangeset for help on using the changeset viewer.