Changeset 382 in 3DVCSoftware for branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder
- Timestamp:
- 7 May 2013, 10:29:53 (12 years ago)
- Location:
- branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.cpp
r332 r382 2426 2426 2427 2427 #if RWTH_SDC_DLT_B0036 2428 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 2428 2429 Void TDecCavlc::parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2429 2430 { … … 2434 2435 assert(0); 2435 2436 } 2437 #endif 2436 2438 Void TDecCavlc::parseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart ) 2437 2439 { -
branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.h
r332 r382 171 171 Void parseDFSvlc ( Int& riVal, const Char *pSymbolName ); 172 172 #if RWTH_SDC_DLT_B0036 173 Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 173 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 174 Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 174 175 Void parseSDCPredMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 176 #endif 175 177 Void parseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart ); 176 178 #endif -
branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder/TDecEntropy.cpp
r332 r382 117 117 m_pcEntropyDecoderIf->parsePredMode( pcCU, uiAbsPartIdx, uiDepth ); 118 118 119 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 119 120 #if RWTH_SDC_DLT_B0036 120 121 // if B-Slice, code SDC flag later … … 125 126 } 126 127 #endif 128 #endif 127 129 } 128 130 129 131 Void TDecEntropy::decodePartSize( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 130 132 { 133 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 131 134 #if RWTH_SDC_DLT_B0036 132 135 if( !pcCU->getSlice()->isInterB() && pcCU->isIntra(uiAbsPartIdx) && pcCU->getSDCFlag(uiAbsPartIdx) ) … … 137 140 } 138 141 #endif 142 #endif 139 143 140 144 m_pcEntropyDecoderIf->parsePartSize( pcCU, uiAbsPartIdx, uiDepth ); 141 145 146 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 142 147 #if RWTH_SDC_DLT_B0036 143 148 if( pcCU->getSlice()->isInterB() && pcCU->getSlice()->getSPS()->isDepth() && pcCU->isIntra(uiAbsPartIdx) ) … … 154 159 } 155 160 #endif 161 #endif 156 162 } 157 163 158 164 Void TDecEntropy::decodePredInfo ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU ) 159 165 { 166 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 160 167 #if RWTH_SDC_DLT_B0036 161 168 if( pcCU->getSDCFlag(uiAbsPartIdx) ) … … 164 171 return; 165 172 } 173 #endif 166 174 #endif 167 175 … … 178 186 decodeIntraDirModeLuma( pcCU, uiAbsPartIdx + uiPartOffset*2, uiDepth+1 ); 179 187 decodeIntraDirModeLuma( pcCU, uiAbsPartIdx + uiPartOffset*3, uiDepth+1 ); 188 #if PKU_QC_DEPTH_INTRA_UNI_D0195 189 if(!pcCU->getSDCFlag(uiAbsPartIdx)) 190 #endif 180 191 decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth ); 181 192 } … … 183 194 { 184 195 decodeIntraDirModeLuma ( pcCU, uiAbsPartIdx, uiDepth ); 196 #if PKU_QC_DEPTH_INTRA_UNI_D0195 197 if(!pcCU->getSDCFlag(uiAbsPartIdx)) 198 #endif 185 199 decodeIntraDirModeChroma( pcCU, uiAbsPartIdx, uiDepth ); 186 200 } … … 789 803 assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 ); 790 804 assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 ); 791 805 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 792 806 decodeSDCResidualData(pcCU, uiAbsPartIdx, uiDepth); 807 #endif 793 808 return; 794 809 } … … 847 862 848 863 #if RWTH_SDC_DLT_B0036 864 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 849 865 Void TDecEntropy::decodeSDCPredMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 850 866 { … … 861 877 m_pcEntropyDecoderIf->parseSDCFlag(pcCU, uiAbsPartIdx, uiDepth ); 862 878 } 863 879 #endif 864 880 Void TDecEntropy::decodeSDCResidualData( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 865 881 { -
branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder/TDecEntropy.h
r332 r382 137 137 138 138 #if RWTH_SDC_DLT_B0036 139 virtual Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 139 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 140 virtual Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 140 141 virtual Void parseSDCPredMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 142 #endif 141 143 virtual Void parseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart ) = 0; 142 144 #endif … … 232 234 233 235 #if RWTH_SDC_DLT_B0036 236 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 234 237 Void decodeSDCPredMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 235 238 Void decodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 239 #endif 236 240 Void decodeSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 237 241 #endif -
branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder/TDecSbac.cpp
r354 r382 95 95 , m_cSaoTypeIdxSCModel ( 1, 1, NUM_SAO_TYPE_IDX_CTX , m_contextModels + m_numContextModels, m_numContextModels) 96 96 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 97 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 97 98 , m_cDmmFlagSCModel ( 1, 1, NUM_DMM_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 98 99 , m_cDmmModeSCModel ( 1, 1, NUM_DMM_MODE_CTX , m_contextModels + m_numContextModels, m_numContextModels) 100 #endif 99 101 , m_cDmmDataSCModel ( 1, 1, NUM_DMM_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 100 102 #endif … … 106 108 #endif 107 109 #if RWTH_SDC_DLT_B0036 110 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 108 111 , m_cSDCFlagSCModel ( 1, 1, SDC_NUM_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 112 #else 113 , m_cDepthModeModel ( 1, 1, DEPTH_MODE_NUM_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 114 , m_cDmmDeltaFlagModel ( 1, 1, DMM_DELTA_NUM_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 115 #endif 109 116 , m_cSDCResidualFlagSCModel ( 1, 2, SDC_NUM_RESIDUAL_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 110 117 , m_cSDCResidualSignFlagSCModel ( 1, 2, SDC_NUM_SIGN_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) … … 200 207 m_uiLastDQpNonZero = 0; 201 208 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 209 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 202 210 m_cDmmFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM_FLAG ); 203 211 m_cDmmModeSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM_MODE ); 212 #endif 204 213 m_cDmmDataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM_DATA ); 205 214 #endif 206 215 #if RWTH_SDC_DLT_B0036 216 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 207 217 m_cSDCFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SDC_FLAG ); 218 #else 219 m_cDepthModeModel.initBuffer ( sliceType, qp, (UChar*)INIT_DEPTHMODE_FLAG ); 220 m_cDmmDeltaFlagModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMMDELTA_FLAG ); 221 #endif 208 222 m_cSDCResidualFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL_FLAG ); 209 223 m_cSDCResidualSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL ); … … 279 293 m_cCUTransSubdivFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_TRANS_SUBDIV_FLAG ); 280 294 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 295 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 281 296 m_cDmmFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM_FLAG ); 282 297 m_cDmmModeSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM_MODE ); 298 #endif 283 299 m_cDmmDataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM_DATA ); 284 300 #endif 285 301 #if RWTH_SDC_DLT_B0036 302 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 286 303 m_cSDCFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SDC_FLAG ); 304 #else 305 m_cDepthModeModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DEPTHMODE_FLAG ); 306 m_cDmmDeltaFlagModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMMDELTA_FLAG ); 307 #endif 287 308 m_cSDCResidualFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG ); 288 309 m_cSDCResidualSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL ); … … 869 890 pcCU->setPredModeSubParts( (PredMode)iPredMode, uiAbsPartIdx, uiDepth ); 870 891 } 871 892 #if PKU_QC_DEPTH_INTRA_UNI_D0195 893 Void TDecSbac::parseDepthIntraMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 894 { 895 UInt uiPuIdx = ( pcCU->getWidth(uiAbsPartIdx) == 64 )? 2 : ( ( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_NxN && pcCU->getWidth(uiAbsPartIdx) == 8 )? 0 : 1); 896 UInt uiDir = 0; 897 Bool bSDCFlag = 0; 898 UInt uiSymbol = 1; 899 UInt uiCode = 0 ; 900 UInt uiBinNum = 0; 901 UInt uiCtxDepthMode = 0; 902 if ( uiPuIdx ==2 ) 903 { 904 while(uiBinNum<2 && uiSymbol) 905 { 906 uiCtxDepthMode = uiPuIdx*3 + uiBinNum; 907 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 908 uiCode = (uiCode<<1)+uiSymbol; 909 uiBinNum++; 910 } 911 if (uiCode == 0) { uiDir = PLANAR_IDX; bSDCFlag = 1;} 912 else if (uiCode == 2) { uiDir = 0; bSDCFlag = 0;} 913 else if (uiCode == 3) { uiDir = DC_IDX; bSDCFlag = 1;} 914 } 915 else if ( uiPuIdx ==0 ) 916 { 917 while(uiBinNum<3 && uiSymbol) 918 { 919 uiCtxDepthMode = uiPuIdx*3 + ( uiBinNum >= 2? 2 : uiBinNum ); 920 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 921 uiCode = (uiCode<<1)+uiSymbol; 922 uiBinNum++; 923 } 924 if (uiCode == 0) { uiDir = 0; bSDCFlag = 0;} 925 else if (uiCode == 2) { uiDir = DMM_WEDGE_FULL_IDX; bSDCFlag = 0;} 926 else if (uiCode == 6) { uiDir = DMM_WEDGE_PREDTEX_IDX; bSDCFlag = 0;} 927 else if (uiCode == 7) { uiDir = EDGE_INTRA_IDX; bSDCFlag = 0;} 928 } 929 else 930 { 931 uiCtxDepthMode = uiPuIdx*3 ; 932 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 933 uiCode = (uiCode<<1)+uiSymbol; 934 if (!uiSymbol) 935 { 936 uiCtxDepthMode = uiPuIdx*3 + 1; 937 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 938 uiCode = (uiCode<<1)+uiSymbol; 939 if (uiSymbol) 940 { 941 uiCtxDepthMode = uiPuIdx*3 + 2; 942 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 943 uiCode = (uiCode<<1)+uiSymbol; 944 } 945 } 946 else 947 { 948 uiCtxDepthMode = uiPuIdx*3 + 1; 949 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 950 uiCode = (uiCode<<1)+uiSymbol; 951 if (!uiSymbol) 952 { 953 uiCtxDepthMode = uiPuIdx*3 + 2; 954 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 955 uiCode = (uiCode<<1)+uiSymbol; 956 } 957 else 958 { 959 uiBinNum = 0; 960 while( uiSymbol && uiBinNum<3 ) 961 { 962 uiCtxDepthMode = uiPuIdx*3 + 2; 963 m_pcTDecBinIf->decodeBin(uiSymbol,m_cDepthModeModel.get(0,0,uiCtxDepthMode)); 964 uiCode = (uiCode<<1)+uiSymbol; 965 uiBinNum++; 966 } 967 } 968 } 969 if (uiCode == 0) { uiDir = PLANAR_IDX; bSDCFlag = 1;} 970 else if (uiCode == 2) { uiDir = 5; bSDCFlag = 0;} 971 else if (uiCode == 3) { uiDir = DMM_WEDGE_FULL_IDX; bSDCFlag = 1;} 972 else if (uiCode == 4) { uiDir = DMM_WEDGE_FULL_IDX; bSDCFlag = 0;} 973 else if (uiCode == 5) { uiDir = DMM_CONTOUR_PREDTEX_IDX; bSDCFlag = 0;} 974 else if (uiCode == 6) { uiDir = DMM_WEDGE_PREDTEX_IDX; bSDCFlag = 0;} 975 else if (uiCode == 14) { uiDir = DC_IDX; bSDCFlag = 1;} 976 else if (uiCode == 31) { uiDir = DMM_WEDGE_PREDDIR_IDX; bSDCFlag = 0;} 977 else if (uiCode == 30) { uiDir = EDGE_INTRA_IDX; bSDCFlag = 0;} 978 } 979 pcCU->setLumaIntraDirSubParts( (UChar)uiDir, uiAbsPartIdx, uiDepth ); 980 pcCU->setSDCFlagSubParts(bSDCFlag, uiAbsPartIdx, 0, uiDepth); 981 } 982 Void TDecSbac::parseDepthModelingTable ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 983 { 984 parseDepthIntraMode(pcCU,uiAbsPartIdx,uiDepth); 985 986 UInt uiDir = pcCU->getLumaIntraDir(uiAbsPartIdx); 987 Bool bSdcFlag = pcCU->getSDCAvailable(uiAbsPartIdx) && pcCU->getSDCFlag(uiAbsPartIdx); 988 Bool bDmmFlag = (uiDir >= NUM_INTRA_MODE && uiDir < EDGE_INTRA_IDX &&(!bSdcFlag))? 1:0; 989 if (uiDir >= NUM_INTRA_MODE && uiDir < EDGE_INTRA_IDX)//DMM modes and SDC DMM1 990 { 991 if( uiDir == DMM_WEDGE_FULL_IDX ) { xParseWedgeFullInfo ( pcCU, uiAbsPartIdx, uiDepth ); } 992 else if( uiDir == DMM_WEDGE_PREDTEX_IDX ) { xParseWedgePredTexInfo ( pcCU, uiAbsPartIdx, uiDepth ); } 993 else if( uiDir == DMM_WEDGE_PREDDIR_IDX ) { xParseWedgePredDirInfo ( pcCU, uiAbsPartIdx, uiDepth ); } 994 } 995 else if(uiDir >= EDGE_INTRA_IDX)//CCM mode 996 { 997 xParseEdgeIntraInfo( pcCU, uiAbsPartIdx, uiDepth ); 998 } 999 1000 UInt uiSymbol; 1001 if (bDmmFlag) 1002 { 1003 if (bDmmFlag) 1004 { 1005 m_pcTDecBinIf->decodeBin( uiSymbol , m_cDmmDeltaFlagModel.get(0, 0, 0) ); 1006 uiDir += uiSymbol; 1007 } 1008 if (uiSymbol) 1009 { 1010 UInt uiDC; 1011 Int iDC = 0,iDC1 = 0,iDC2 = 0; 1012 for ( Int i = 0; i <2; i++ ) 1013 { 1014 xReadExGolombLevel( uiDC, m_cDmmDataSCModel.get(0, 0, 1) ); 1015 iDC = uiDC; 1016 if ( uiDC ) 1017 { 1018 UInt uiSign; 1019 m_pcTDecBinIf->decodeBinEP( uiSign ); 1020 if ( uiSign ) 1021 { 1022 iDC = -iDC; 1023 } 1024 } 1025 if ( i == 0 ) { iDC1 = iDC; } 1026 else { iDC2 = iDC; } 1027 } 1028 1029 if( uiDir == DMM_WEDGE_FULL_D_IDX ) 1030 { 1031 pcCU->setWedgeFullDeltaDC1SubParts( iDC1, uiAbsPartIdx, uiDepth ); 1032 pcCU->setWedgeFullDeltaDC2SubParts( iDC2, uiAbsPartIdx, uiDepth ); 1033 } 1034 else if( uiDir == DMM_WEDGE_PREDDIR_D_IDX ) 1035 { 1036 pcCU->setWedgePredDirDeltaDC1SubParts( iDC1, uiAbsPartIdx, uiDepth ); 1037 pcCU->setWedgePredDirDeltaDC2SubParts( iDC2, uiAbsPartIdx, uiDepth ); 1038 } 1039 else if( uiDir == DMM_WEDGE_PREDTEX_D_IDX) 1040 { 1041 pcCU->setWedgePredTexDeltaDC1SubParts( iDC1, uiAbsPartIdx, uiDepth ); 1042 pcCU->setWedgePredTexDeltaDC2SubParts( iDC2, uiAbsPartIdx, uiDepth ); 1043 } 1044 else if (uiDir== DMM_CONTOUR_PREDTEX_D_IDX ) 1045 { 1046 pcCU->setContourPredTexDeltaDC1SubParts( iDC1, uiAbsPartIdx, uiDepth ); 1047 pcCU->setContourPredTexDeltaDC2SubParts( iDC2, uiAbsPartIdx, uiDepth ); 1048 } 1049 } 1050 } 1051 else if (uiDir >= EDGE_INTRA_IDX) 1052 { 1053 m_pcTDecBinIf->decodeBin( uiSymbol, m_cEdgeIntraDeltaDCSCModel.get(0, 0, 0) ); 1054 if( uiSymbol ) 1055 { 1056 uiDir = EDGE_INTRA_DELTA_IDX; 1057 Int iDeltaDC = 0,iDeltaDC0 = 0,iDeltaDC1 = 0; 1058 for (Int i = 0; i<2; i++) 1059 { 1060 xReadExGolombLevel( (UInt &) iDeltaDC, m_cEdgeIntraDeltaDCSCModel.get(0, 0, 1) ); 1061 if( iDeltaDC != 0 ) 1062 { 1063 UInt uiSign; 1064 m_pcTDecBinIf->decodeBinEP( uiSign ); 1065 if ( uiSign ) 1066 { 1067 iDeltaDC = -iDeltaDC; 1068 } 1069 } 1070 if ( i == 0 ) { iDeltaDC0 = iDeltaDC; } 1071 else { iDeltaDC1 = iDeltaDC; } 1072 } 1073 1074 pcCU->setEdgeDeltaDC0( uiAbsPartIdx, iDeltaDC0 ); 1075 pcCU->setEdgeDeltaDC1( uiAbsPartIdx, iDeltaDC1 ); 1076 } 1077 } 1078 else if(bSdcFlag)//SDC mode 1079 { 1080 assert(pcCU->getPartitionSize(uiAbsPartIdx)!=SIZE_NxN); 1081 pcCU->setTrIdxSubParts(0, uiAbsPartIdx, uiDepth); 1082 pcCU->setCbfSubParts(1, 1, 1, uiAbsPartIdx, uiDepth); 1083 1084 UInt uiNumSegments = ( uiDir == DC_IDX || uiDir == PLANAR_IDX )? 1 : 2; 1085 for (int uiSeg=0; uiSeg<uiNumSegments; uiSeg++) 1086 { 1087 parseSDCResidualData(pcCU, uiAbsPartIdx, uiDepth, uiSeg); 1088 } 1089 } 1090 1091 pcCU->setLumaIntraDirSubParts( (UChar)uiDir, uiAbsPartIdx, uiDepth ); 1092 } 1093 #endif 872 1094 Void TDecSbac::parseIntraDirLumaAng ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 873 1095 { 874 1096 UInt uiSymbol; 875 1097 Int intraPredMode; 876 1098 #if PKU_QC_DEPTH_INTRA_UNI_D0195 1099 if (pcCU->getSlice()->getSPS()->isDepth()) 1100 { 1101 parseDepthModelingTable(pcCU, uiAbsPartIdx, uiDepth); 1102 } 1103 if (pcCU->getLumaIntraDir(uiAbsPartIdx)<NUM_INTRA_MODE && !pcCU->getSDCFlag(uiAbsPartIdx)) 1104 { 1105 #else 877 1106 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 878 1107 UInt uiFlag = 0; … … 928 1157 } 929 1158 #endif 930 1159 #endif 931 1160 Int uiPreds[3] = {-1, -1, -1}; 932 1161 Int uiPredNum = pcCU->getIntraDirLumaPredictor(uiAbsPartIdx, uiPreds); 1162 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 933 1163 #if LGE_EDGE_INTRA_A0070 934 1164 UInt uiCheckBit = 0; 935 1165 #endif 1166 #endif 936 1167 937 1168 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUIntraPredSCModel.get( 0, 0, 0) ); … … 953 1184 954 1185 m_pcTDecBinIf->decodeBinsEP( uiSymbol, 5 ); 1186 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 955 1187 #if LGE_EDGE_INTRA_A0070 956 1188 if (bCodeEdgeIntra) … … 964 1196 } 965 1197 #endif 1198 #endif 966 1199 intraPredMode = uiSymbol; 967 1200 … … 979 1212 std::swap(uiPreds[1], uiPreds[2]); 980 1213 } 1214 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 981 1215 #if LGE_EDGE_INTRA_A0070 982 1216 if ( intraPredMode != EDGE_INTRA_IDX) 983 1217 { 1218 #endif 984 1219 #endif 985 1220 for ( Int i = 0; i < uiPredNum; i++ ) … … 987 1222 intraPredMode += ( intraPredMode >= uiPreds[i] ); 988 1223 } 1224 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 989 1225 #if LGE_EDGE_INTRA_A0070 990 1226 } 991 1227 #endif 992 } 993 1228 #endif 1229 } 1230 1231 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 994 1232 #if LGE_EDGE_INTRA_A0070 995 1233 if( intraPredMode == EDGE_INTRA_IDX ) … … 1035 1273 } 1036 1274 #endif 1037 1038 1275 pcCU->setLumaIntraDirSubParts( (UChar)intraPredMode, uiAbsPartIdx, uiDepth ); 1276 #else 1277 pcCU->setLumaIntraDirSubParts( (UChar)intraPredMode, uiAbsPartIdx, uiDepth ); 1278 } 1279 #endif 1039 1280 } 1040 1281 … … 2335 2576 2336 2577 #if RWTH_SDC_DLT_B0036 2578 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 2337 2579 Void TDecSbac::parseSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2338 2580 { … … 2388 2630 pcCU->setLumaIntraDirSubParts((UChar)intraPredMode, uiAbsPartIdx, uiDepth); 2389 2631 } 2632 #endif 2390 2633 2391 2634 Void TDecSbac::parseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiSegment ) -
branches/HTM-6.2-dev3-Qualcomm/source/Lib/TLibDecoder/TDecSbac.h
r332 r382 120 120 121 121 #if RWTH_SDC_DLT_B0036 122 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 122 123 Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 123 124 Void parseSDCPredMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 125 #endif 124 126 Void parseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart ); 125 127 #endif … … 178 180 Void parsePartSize ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 179 181 Void parsePredMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 180 182 #if PKU_QC_DEPTH_INTRA_UNI_D0195 183 Void parseDepthIntraMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 184 Void parseDepthModelingTable( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 185 #endif 181 186 Void parseIntraDirLumaAng( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 182 187 … … 253 258 254 259 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 260 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 255 261 ContextModel3DBuffer m_cDmmFlagSCModel; 256 262 ContextModel3DBuffer m_cDmmModeSCModel; 263 #endif 257 264 ContextModel3DBuffer m_cDmmDataSCModel; 258 265 #endif … … 265 272 266 273 #if RWTH_SDC_DLT_B0036 274 #if !PKU_QC_DEPTH_INTRA_UNI_D0195 267 275 ContextModel3DBuffer m_cSDCFlagSCModel; 276 #else 277 ContextModel3DBuffer m_cDepthModeModel; 278 ContextModel3DBuffer m_cDmmDeltaFlagModel; 279 #endif 268 280 269 281 ContextModel3DBuffer m_cSDCResidualFlagSCModel;
Note: See TracChangeset for help on using the changeset viewer.