Changeset 939 in 3DVCSoftware for branches/HTM-10.2-dev0/source/Lib/TLibEncoder
- Timestamp:
- 22 Apr 2014, 17:08:54 (11 years ago)
- Location:
- branches/HTM-10.2-dev0/source/Lib/TLibEncoder
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncCfg.h
r884 r939 401 401 #if H_3D_IC 402 402 Bool m_bUseIC; 403 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 404 Bool m_bUseICLowLatencyEnc; 405 #endif 403 406 #endif 404 407 #if H_3D_INTER_SDC … … 511 514 Void setUseIC ( Bool bVal ) { m_bUseIC = bVal; } 512 515 Bool getUseIC () { return m_bUseIC; } 516 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 517 Void setUseICLowLatencyEnc ( Bool bVal ) { m_bUseICLowLatencyEnc = bVal; } 518 Bool getUseICLowLatencyEnc () { return m_bUseICLowLatencyEnc; } 519 #endif 513 520 #endif 514 521 #if H_3D_INTER_SDC -
branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp
r936 r939 163 163 uiAbsPartIdx = 0; 164 164 } 165 165 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 166 else 167 { 168 g_aICEnableCANDIDATE[pcCU->getSlice()->getDepth()]++; 169 if(pcCU->getICFlag(uiAbsPartIdx)) 170 { 171 g_aICEnableNUM[pcCU->getSlice()->getDepth()]++; 172 } 173 } 174 #endif 166 175 if( pcCU->isICFlagRequired( uiAbsPartIdx ) ) 167 176 m_pcEntropyCoderIf->codeICFlag( pcCU, uiAbsPartIdx ); … … 281 290 return; 282 291 } 292 #if !MTK_SDC_FLAG_FIX_H0095 283 293 #if H_3D_DIM_SDC 284 294 if( pcCU->getSDCFlag(uiAbsPartIdx) ) … … 286 296 return; 287 297 } 298 #endif 288 299 #endif 289 300 -
branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncSbac.cpp
r936 r939 93 93 , m_cDdcDataSCModel ( 1, 1, NUM_DDC_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 94 94 , m_cAngleFlagSCModel ( 1, 1, NUM_ANGLE_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 95 #if H_3D_DIM_DMM 95 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 96 96 , m_cDmm1DataSCModel ( 1, 1, NUM_DMM1_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 97 97 #endif … … 169 169 m_cDdcDataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DDC_DATA ); 170 170 m_cAngleFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG ); 171 #if H_3D_DIM_DMM 171 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 172 172 m_cDmm1DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA ); 173 173 #endif … … 255 255 curCost += m_cDdcDataSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DDC_DATA ); 256 256 curCost += m_cAngleFlagSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_ANGLE_FLAG ); 257 #if H_3D_DIM_DMM 257 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 258 258 curCost += m_cDmm1DataSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DMM1_DATA ); 259 259 #endif … … 319 319 m_cDdcDataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DDC_DATA ); 320 320 m_cAngleFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG ); 321 #if H_3D_DIM_DMM 321 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 322 322 m_cDmm1DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA ); 323 323 #endif … … 482 482 m_pcBinIf->encodeBin( 1, rcSCModel ); 483 483 UInt uiCount = 0; 484 #if QC_SIMP_DELTADC_CODING_H0131 485 Bool bNoExGo = ( uiSymbol < 3 ); 486 487 while( --uiSymbol && ++uiCount < 3 ) 488 #else 484 489 Bool bNoExGo = (uiSymbol < 13); 485 490 486 491 while( --uiSymbol && ++uiCount < 13 ) 492 #endif 487 493 { 488 494 m_pcBinIf->encodeBin( 1, rcSCModel ); … … 520 526 for ( Int i = 0; i < iNumBit; i++ ) 521 527 { 528 #if MTK_DMM_SIMP_CODE_H0092 529 m_pcBinIf->encodeBinEP( ( uiTabIdx >> i ) & 1 ); 530 #else 522 531 m_pcBinIf->encodeBin( ( uiTabIdx >> i ) & 1, m_cDmm1DataSCModel.get(0, 0, 0) ); 532 #endif 523 533 } 524 534 } … … 1233 1243 if( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() >> pcCU->getDepth( absPartIdx ) ) < 64 ) //DMM and HEVC intra modes are both allowed 1234 1244 { 1245 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135 1246 m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, 0 ) ); 1247 #else 1235 1248 m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, pcCU->getCtxAngleFlag( absPartIdx ) ) ); 1249 #endif 1236 1250 } 1237 1251 if( isDimMode( dir ) ) … … 2313 2327 dimDeltaDC = isDimDeltaDC( dir ); 2314 2328 } 2315 2329 #if MTK_DELTA_DC_FLAG_ONE_CONTEXT_H0084_H0100_H0113 2330 m_pcBinIf->encodeBin( dimDeltaDC, m_cDdcFlagSCModel.get( 0, 0, 0 ) ); 2331 #else 2316 2332 m_pcBinIf->encodeBin( dimDeltaDC, m_cDdcFlagSCModel.get( 0, 0, uiNumSegments-1 ) ); 2333 #endif 2317 2334 } 2318 2335 else //all-zero inter SDC is not allowed -
branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncSbac.h
r884 r939 258 258 ContextModel3DBuffer m_cDdcDataSCModel; 259 259 ContextModel3DBuffer m_cAngleFlagSCModel; 260 #if H_3D_DIM_DMM 260 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 261 261 ContextModel3DBuffer m_cDmm1DataSCModel; 262 262 #endif -
branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r937 r939 1989 1989 // get DC prediction for each segment 1990 1990 Pel apDCPredValues[2]; 1991 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108 1992 if ( getDimType( uiLumaPredMode ) == DMM1_IDX || getDimType( uiLumaPredMode ) == DMM4_IDX ) 1993 { 1994 apDCPredValues[0] = pcCU->getDmmPredictor( 0 ); 1995 apDCPredValues[1] = pcCU->getDmmPredictor( 1 ); 1996 } 1997 else 1998 #endif 1991 1999 analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode ); 1992 2000 -
branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncSlice.cpp
r872 r939 866 866 ) 867 867 { 868 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 869 pcSlice ->xSetApplyIC(pcEncTop->getUseICLowLatencyEnc()); 870 #else 868 871 pcSlice ->xSetApplyIC(); 872 #endif 869 873 if ( pcSlice->getApplyIC() ) 870 874 {
Note: See TracChangeset for help on using the changeset viewer.