Changeset 1412 in 3DVCSoftware for branches/HTM-16.2-dev/source/Lib/TLibDecoder/TDecSbac.cpp
- Timestamp:
- 12 Apr 2018, 11:12:21 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-16.2-dev/source/Lib/TLibDecoder/TDecSbac.cpp
r1405 r1412 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 6, ITU/ISO/IEC6 * Copyright (c) 2010-2017, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 67 67 , m_cCUSplitFlagSCModel ( 1, 1, NUM_SPLIT_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 68 68 , m_cCUSkipFlagSCModel ( 1, 1, NUM_SKIP_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 69 #if NH_3D _DIS69 #if NH_3D 70 70 , m_cCUDISFlagSCModel ( 1, 1, NUM_DIS_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 71 71 , m_cCUDISTypeSCModel ( 1, 1, NUM_DIS_TYPE_CTX , m_contextModels + m_numContextModels, m_numContextModels) … … 73 73 , m_cCUMergeFlagExtSCModel ( 1, 1, NUM_MERGE_FLAG_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 74 74 , m_cCUMergeIdxExtSCModel ( 1, 1, NUM_MERGE_IDX_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 75 #if NH_3D _ARP75 #if NH_3D 76 76 , m_cCUPUARPWSCModel ( 1, 1, NUM_ARPW_CTX , m_contextModels + m_numContextModels, m_numContextModels) 77 #endif78 #if NH_3D_IC79 77 , m_cCUICFlagSCModel ( 1, 1, NUM_IC_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 80 78 #endif … … 107 105 , m_ChromaQpAdjIdcSCModel ( 1, 1, NUM_CHROMA_QP_ADJ_IDC_CTX , m_contextModels + m_numContextModels, m_numContextModels) 108 106 109 #if NH_3D _DMM107 #if NH_3D 110 108 , m_cNotDmmFlagSCModel ( 1, 1, NUM_NOTDMM_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 111 109 , m_cDmmModeSCModel ( 1, 1, NUM_DMM_MODE_CTX , m_contextModels + m_numContextModels, m_numContextModels) 112 #endif113 #if NH_3D_DMM || NH_3D_SDC_INTRA || NH_3D_SDC_INTER114 110 , m_cDdcDataSCModel ( 1, 1, NUM_DDC_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 115 111 , m_cSDCFlagSCModel ( 1, 1, NUM_SDC_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 116 #endif117 #if NH_3D_SDC_INTRA118 112 , m_cSDCResidualFlagSCModel ( 1, 1, SDC_NUM_RESIDUAL_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 119 113 , m_cSDCResidualSCModel ( 1, 1, SDC_NUM_RESIDUAL_CTX , m_contextModels + m_numContextModels, m_numContextModels) 120 114 , m_cDdcFlagSCModel ( 1, 1, NUM_DDC_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 121 #endif122 #if NH_3D_DBBP123 115 , m_cDBBPFlagSCModel ( 1, 1, DBBP_NUM_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 124 116 #endif … … 159 151 m_cCUSplitFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SPLIT_FLAG ); 160 152 m_cCUSkipFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SKIP_FLAG ); 161 #if NH_3D _DIS153 #if NH_3D 162 154 m_cCUDISFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DIS_FLAG ); 163 155 m_cCUDISTypeSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DIS_TYPE ); … … 165 157 m_cCUMergeFlagExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT ); 166 158 m_cCUMergeIdxExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_IDX_EXT ); 167 #if NH_3D _ARP159 #if NH_3D 168 160 m_cCUPUARPWSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_ARPW ); 169 #endif170 #if NH_3D_IC171 161 m_cCUICFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_IC_FLAG ); 172 162 #endif … … 198 188 m_ChromaQpAdjFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_CHROMA_QP_ADJ_FLAG ); 199 189 m_ChromaQpAdjIdcSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_CHROMA_QP_ADJ_IDC ); 200 #if NH_3D _DMM190 #if NH_3D 201 191 m_cNotDmmFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_NOTDMM_FLAG ); 202 192 m_cDmmModeSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM_MODE ); 203 #endif204 #if NH_3D_DMM || NH_3D_SDC_INTRA || NH_3D_SDC_INTER205 193 m_cDdcDataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DDC_DATA ); 206 194 m_cSDCFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SDC_FLAG ); 207 #endif208 #if NH_3D_SDC_INTRA209 195 m_cSDCResidualFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL_FLAG ); 210 196 m_cSDCResidualSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL ); 211 197 m_cDdcFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DDC_FLAG ); 212 #endif213 #if NH_3D_DBBP214 198 m_cDBBPFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DBBP_FLAG ); 215 199 #endif … … 512 496 513 497 } 514 #if NH_3D _DIS498 #if NH_3D 515 499 Void TDecSbac::parseDIS( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 516 500 { … … 642 626 643 627 UInt uiSymbol; 644 #if NH_3D _QTLPC628 #if NH_3D 645 629 Bool bParseSplitFlag = true; 646 630 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); … … 651 635 Bool rapPic = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA); 652 636 653 #if H_3D_FCO654 if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag && pcTexture->getReconMark())655 #else656 637 if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag) 657 #endif658 638 { 659 639 TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr()); … … 672 652 DTRACE_CABAC_T( "\tSplitFlag\n" ) 673 653 #endif 674 #if NH_3D _QTLPC654 #if NH_3D 675 655 } 676 656 else … … 704 684 assert ( pcCU->getSlice()->getSPS()->getLog2DiffMaxMinCodingBlockSize() == log2DiffMaxMinCodingBlockSize); 705 685 706 #if NH_3D _QTLPC686 #if NH_3D 707 687 Bool bParsePartSize = true; 708 688 … … 717 697 UInt uiTexturePart = uiMode; 718 698 719 #if H_3D_FCO720 if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag && pcTexture->getReconMark())721 #else722 699 if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag ) 723 #endif724 700 { 725 701 TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr()); … … 740 716 if ( pcCU->isIntra( uiAbsPartIdx ) ) 741 717 { 742 #if NH_3D _QTLPC718 #if NH_3D 743 719 if(bParsePartSize) 744 720 { 745 721 #endif 746 uiSymbol = 1;747 if( uiDepth == log2DiffMaxMinCodingBlockSize )748 {749 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 0) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) );722 uiSymbol = 1; 723 if( uiDepth == log2DiffMaxMinCodingBlockSize ) 724 { 725 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 0) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 750 726 #if NH_MV_ENC_DEC_TRAC 751 727 DTRACE_CU("part_mode", uiSymbol) 752 728 #endif 753 }754 eMode = uiSymbol ? SIZE_2Nx2N : SIZE_NxN;755 #if NH_3D _QTLPC729 } 730 eMode = uiSymbol ? SIZE_2Nx2N : SIZE_NxN; 731 #if NH_3D 756 732 } 757 733 #endif … … 771 747 else 772 748 { 773 #if NH_3D _QTLPC749 #if NH_3D 774 750 if(bParsePartSize) 775 751 { … … 777 753 { 778 754 #endif 779 UInt uiMaxNumBits = 2; 780 781 if( uiDepth == log2DiffMaxMinCodingBlockSize && !( cuWidth == 8 && cuHeight == 8 ) ) 782 { 783 uiMaxNumBits ++; 784 } 785 786 for ( UInt ui = 0; ui < uiMaxNumBits; ui++ ) 787 { 788 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 789 if ( uiSymbol ) 790 { 791 break; 792 } 793 uiMode++; 794 } 795 eMode = (PartSize) uiMode; 796 if ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) 797 { 798 if (eMode == SIZE_2NxN) 799 { 800 m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 3 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype)); 801 if (uiSymbol == 0) 802 { 803 m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 804 eMode = (uiSymbol == 0? SIZE_2NxnU : SIZE_2NxnD); 805 } 806 } 807 else if (eMode == SIZE_Nx2N) 808 { 809 m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 3 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 810 if (uiSymbol == 0) 811 { 812 m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 813 eMode = (uiSymbol == 0? SIZE_nLx2N : SIZE_nRx2N); 814 } 815 } 816 } 817 #if NH_3D_QTLPC 818 } 819 else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD) 820 { 821 UInt uiMaxNumBits = 1; 822 if ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) 755 UInt uiMaxNumBits = 2; 756 757 if( uiDepth == log2DiffMaxMinCodingBlockSize && !( cuWidth == 8 && cuHeight == 8 ) ) 823 758 { 824 759 uiMaxNumBits ++; 825 760 } 761 826 762 for ( UInt ui = 0; ui < uiMaxNumBits; ui++ ) 827 763 { … … 834 770 } 835 771 eMode = (PartSize) uiMode; 772 if ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) 773 { 774 if (eMode == SIZE_2NxN) 775 { 776 m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 3 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype)); 777 if (uiSymbol == 0) 778 { 779 m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 780 eMode = (uiSymbol == 0? SIZE_2NxnU : SIZE_2NxnD); 781 } 782 } 783 else if (eMode == SIZE_Nx2N) 784 { 785 m_pcTDecBinIf->decodeBin(uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 3 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 786 if (uiSymbol == 0) 787 { 788 m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 789 eMode = (uiSymbol == 0? SIZE_nLx2N : SIZE_nRx2N); 790 } 791 } 792 } 793 #if NH_3D 794 } 795 else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD) 796 { 797 UInt uiMaxNumBits = 1; 798 if ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) 799 { 800 uiMaxNumBits ++; 801 } 802 for ( UInt ui = 0; ui < uiMaxNumBits; ui++ ) 803 { 804 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 805 if ( uiSymbol ) 806 { 807 break; 808 } 809 uiMode++; 810 } 811 eMode = (PartSize) uiMode; 836 812 if(uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==1 ) 837 813 { … … 887 863 DTRACE_CU("part_mode", eMode ) 888 864 #endif 889 #if NH_3D _QTLPC865 #if NH_3D 890 866 } 891 867 #endif … … 937 913 for (j=0;j<partNum;j++) 938 914 { 939 #if NH_3D _DMM915 #if NH_3D 940 916 if( pcCU->getSlice()->getIntraSdcWedgeFlag() || pcCU->getSlice()->getIntraContourFlag() ) 941 917 { … … 946 922 { 947 923 #endif 948 m_pcTDecBinIf->decodeBin( symbol, m_cCUIntraPredSCModel.get( 0, 0, 0) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) );949 mpmPred[j] = symbol;924 m_pcTDecBinIf->decodeBin( symbol, m_cCUIntraPredSCModel.get( 0, 0, 0) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 925 mpmPred[j] = symbol; 950 926 #if NH_MV_ENC_DEC_TRAC 951 927 DTRACE_CU("prev_intra_luma_pred_flag", symbol) 952 928 #endif 953 #if NH_3D _DMM929 #if NH_3D 954 930 } 955 931 #endif … … 957 933 for (j=0;j<partNum;j++) 958 934 { 959 #if NH_3D _DMM935 #if NH_3D 960 936 if( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx+partOffset*j ) < NUM_INTRA_MODE ) 961 937 { 962 938 #endif 963 Int preds[NUM_MOST_PROBABLE_MODES] = {-1, -1, -1}; 964 pcCU->getIntraDirPredictor(absPartIdx+partOffset*j, preds, COMPONENT_Y); 965 if (mpmPred[j]) 966 { 967 m_pcTDecBinIf->decodeBinEP( symbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 968 if (symbol) 939 Int preds[NUM_MOST_PROBABLE_MODES] = {-1, -1, -1}; 940 pcCU->getIntraDirPredictor(absPartIdx+partOffset*j, preds, COMPONENT_Y); 941 if (mpmPred[j]) 969 942 { 970 943 m_pcTDecBinIf->decodeBinEP( symbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 971 symbol++; 972 } 944 if (symbol) 945 { 946 m_pcTDecBinIf->decodeBinEP( symbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 947 symbol++; 948 } 973 949 #if NH_MV_ENC_DEC_TRAC 974 950 DTRACE_CU("mpm_idx", symbol) 975 951 #endif 976 intraPredMode = preds[symbol];977 }978 else979 {980 m_pcTDecBinIf->decodeBinsEP( symbol, 5 RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) );981 intraPredMode = symbol;952 intraPredMode = preds[symbol]; 953 } 954 else 955 { 956 m_pcTDecBinIf->decodeBinsEP( symbol, 5 RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 957 intraPredMode = symbol; 982 958 #if NH_MV_ENC_DEC_TRAC 983 959 DTRACE_CU("rem_intra_luma_pred_mode", symbol) 984 960 #endif 985 961 986 //postponed sorting of MPMs (only in remaining branch)987 if (preds[0] > preds[1])988 {989 std::swap(preds[0], preds[1]);990 }991 if (preds[0] > preds[2])992 {993 std::swap(preds[0], preds[2]);994 }995 if (preds[1] > preds[2])996 {997 std::swap(preds[1], preds[2]);998 }999 for ( UInt i = 0; i < NUM_MOST_PROBABLE_MODES; i++ )1000 {1001 intraPredMode += ( intraPredMode >= preds[i] );1002 }1003 }1004 pcCU->setIntraDirSubParts(CHANNEL_TYPE_LUMA, (UChar)intraPredMode, absPartIdx+partOffset*j, depth );1005 #if NH_3D _DMM962 //postponed sorting of MPMs (only in remaining branch) 963 if (preds[0] > preds[1]) 964 { 965 std::swap(preds[0], preds[1]); 966 } 967 if (preds[0] > preds[2]) 968 { 969 std::swap(preds[0], preds[2]); 970 } 971 if (preds[1] > preds[2]) 972 { 973 std::swap(preds[1], preds[2]); 974 } 975 for ( UInt i = 0; i < NUM_MOST_PROBABLE_MODES; i++ ) 976 { 977 intraPredMode += ( intraPredMode >= preds[i] ); 978 } 979 } 980 pcCU->setIntraDirSubParts(CHANNEL_TYPE_LUMA, (UChar)intraPredMode, absPartIdx+partOffset*j, depth ); 981 #if NH_3D 1006 982 } 1007 983 #endif … … 1679 1655 else 1680 1656 { 1681 beValid = pcCU->getSlice()->getPPS()->getSign HideFlag();1657 beValid = pcCU->getSlice()->getPPS()->getSignDataHidingEnabledFlag(); 1682 1658 } 1683 1659 … … 2269 2245 } 2270 2246 2271 #if NH_3D _ARP2247 #if NH_3D 2272 2248 Void TDecSbac::parseARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2273 2249 { … … 2289 2265 pcCU->setARPWSubParts( ( UChar )( uiW ) , uiAbsPartIdx, uiDepth ); 2290 2266 } 2291 #endif 2292 2293 #if NH_3D_IC 2267 2294 2268 /** parse illumination compensation flag 2295 2269 * \param pcCU … … 2317 2291 pcCU->setICFlagSubParts( uiSymbol ? true : false , uiAbsPartIdx, 0, uiDepth ); 2318 2292 } 2319 #endif 2320 2321 #if NH_3D_DMM || NH_3D_SDC_INTRA || NH_3D_SDC_INTER 2293 2322 2294 Void TDecSbac::parseDeltaDC( TComDataCU* pcCU, UInt absPartIdx, UInt depth ) 2323 2295 { 2324 #if NH_3D_SDC_INTRA || NH_3D_SDC_INTER2325 2296 if( !(pcCU->getSDCFlag( absPartIdx )) ) 2326 #endif 2327 #if NH_3D_DMM 2328 if( !(pcCU->isIntra( absPartIdx ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) )) ) 2329 #endif 2330 assert( 0 ); 2297 if( !(pcCU->isIntra( absPartIdx ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) )) ) 2298 assert( 0 ); 2331 2299 2332 2300 UInt symbol = 1; 2333 #if NH_3D_SDC_INTRA2334 2301 if( pcCU->isIntra( absPartIdx ) && pcCU->getSDCFlag( absPartIdx )) 2335 2302 { … … 2338 2305 assert( pcCU->getTransformIdx(absPartIdx) == 0 ); 2339 2306 assert( pcCU->getCbf(absPartIdx, COMPONENT_Y) == 1 ); 2340 } 2341 #endif 2342 UInt uiNumSegments = 1; 2343 #if NH_3D_DMM 2344 uiNumSegments = isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) ) ? 2 : 1; 2345 #endif 2307 } 2308 UInt uiNumSegments = isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) ) ? 2 : 1; 2346 2309 2347 2310 for( UInt segment = 0; segment < uiNumSegments; segment++ ) … … 2355 2318 if( pcCU->isIntra( absPartIdx ) ) 2356 2319 { 2357 #if NH_3D_SDC_INTRA2358 2320 if( pcCU->getSDCFlag( absPartIdx ) ) 2359 2321 { … … 2362 2324 else 2363 2325 { 2364 #endif2365 #if NH_3D_DMM2366 2326 pcCU->setDmmDeltaDC( getDmmType( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) ), segment, absPartIdx, valDeltaDC ); 2367 #endif 2368 #if NH_3D_SDC_INTRA 2369 } 2370 #endif 2371 } 2372 #if NH_3D_SDC_INTER 2327 } 2328 } 2373 2329 else 2374 2330 { 2375 2331 pcCU->setSDCSegmentDCOffset( valDeltaDC, segment, absPartIdx ); 2376 2332 } 2377 #endif2378 2333 } 2379 2334 } … … 2419 2374 return; 2420 2375 } 2421 #endif 2422 #if NH_3D_DMM 2376 2423 2377 Void TDecSbac::xParseIntraDepthMode( TComDataCU* pcCU, UInt absPartIdx, UInt depth ) 2424 2378 { … … 2488 2442 ruiTabIdx = uiIdx; 2489 2443 } 2490 #endif 2491 #if NH_3D_SDC_INTRA || NH_3D_SDC_INTER 2444 2492 2445 Void TDecSbac::parseSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2493 2446 { … … 2510 2463 } 2511 2464 2512 #endif2513 2514 #if NH_3D_DBBP2515 2465 Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2516 2466 {
Note: See TracChangeset for help on using the changeset viewer.