Changeset 939 in 3DVCSoftware for branches/HTM-10.2-dev0/source/Lib/TLibCommon
- Timestamp:
- 22 Apr 2014, 17:08:54 (11 years ago)
- Location:
- branches/HTM-10.2-dev0/source/Lib/TLibCommon
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.2-dev0/source/Lib/TLibCommon/ContextTables.h
r936 r939 110 110 #define NUM_DMM1_DATA_CTX 1 ///< number of context models for DMM1 data 111 111 #endif 112 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135 113 #define NUM_ANGLE_FLAG_CTX 1 114 #else 112 115 #define NUM_ANGLE_FLAG_CTX 3 116 #endif 113 117 #endif 114 118 … … 368 372 }; 369 373 374 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135 375 static const UChar 376 INIT_ANGLE_FLAG[3][NUM_ANGLE_FLAG_CTX] = 377 { 378 { 154 }, 379 { 141 }, 380 { 155 }, 381 }; 382 #else 370 383 static const UChar 371 384 INIT_ANGLE_FLAG[3][NUM_ANGLE_FLAG_CTX] = … … 375 388 { 155, 170, 157 }, 376 389 }; 390 #endif 377 391 378 392 static const UChar -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r936 r939 610 610 memset( m_apSegmentDCOffset[1] + firstElement, 0, numElements * sizeof( *m_apSegmentDCOffset[1] ) ); 611 611 #endif 612 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108 613 m_apDmmPredictor[0] = 0; 614 m_apDmmPredictor[1] = 0; 615 #endif 612 616 #endif 613 617 #if H_3D_DBBP … … 784 788 m_apSegmentDCOffset[1][ui] = 0; 785 789 #endif 790 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108 791 m_apDmmPredictor[0] = 0; 792 m_apDmmPredictor[1] = 0; 793 #endif 786 794 #endif 787 795 #if H_3D_DBBP … … 898 906 memset( m_apSegmentDCOffset[0], 0, sizeof(Pel) * m_uiNumPartition ); 899 907 memset( m_apSegmentDCOffset[1], 0, sizeof(Pel) * m_uiNumPartition ); 908 #endif 909 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108 910 m_apDmmPredictor[0] = 0; 911 m_apDmmPredictor[1] = 0; 900 912 #endif 901 913 #endif … … 2389 2401 UInt TComDataCU::getCtxAngleFlag( UInt uiAbsPartIdx ) 2390 2402 { 2403 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135 2404 return 0; 2405 #else 2391 2406 TComDataCU* pcTempCU; 2392 2407 UInt uiTempPartIdx; … … 2402 2417 2403 2418 return uiCtx; 2419 #endif 2404 2420 } 2405 2421 #endif -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComDataCU.h
r936 r939 195 195 Bool* m_pbSDCFlag; 196 196 Pel* m_apSegmentDCOffset[2]; 197 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108 198 Pel m_apDmmPredictor[2]; 199 #endif 197 200 #endif 198 201 #endif … … 580 583 Pel getSDCSegmentDCOffset( UInt uiSeg, UInt uiPartIdx ) { return m_apSegmentDCOffset[uiSeg][uiPartIdx]; } 581 584 Void setSDCSegmentDCOffset( Pel pOffset, UInt uiSeg, UInt uiPartIdx) { m_apSegmentDCOffset[uiSeg][uiPartIdx] = pOffset; } 585 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108 586 Void setDmmPredictor ( Pel pOffset, UInt uiSeg) { m_apDmmPredictor[uiSeg] = pOffset; } 587 Pel getDmmPredictor ( UInt uiSeg) { return m_apDmmPredictor[uiSeg]; } 588 #endif 582 589 UInt getCtxSDCFlag ( UInt uiAbsPartIdx ); 583 590 UInt getCtxAngleFlag ( UInt uiAbsPartIdx ); -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComPrediction.cpp
r936 r939 500 500 Pel* pDst = piPred; 501 501 xAssignBiSegDCs( pDst, uiStride, biSegPattern, patternStride, segDC1, segDC2 ); 502 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108 503 pcCU->setDmmPredictor(segDC1, 0); 504 pcCU->setDmmPredictor(segDC2, 1); 505 #endif 502 506 503 507 #if H_3D_DIM_DMM … … 2324 2328 if (orgDC == false) 2325 2329 { 2330 #if !HS_DMM_SDC_PREDICTOR_UNIFY_H0108 2326 2331 if ( getDimType(uiIntraMode) == DMM1_IDX ) 2327 2332 { … … 2369 2374 } 2370 2375 else 2376 #endif 2371 2377 { 2372 2378 Pel* pLeftTop = pOrig; -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComRom.cpp
r872 r939 360 360 Char g_aucConvertToBit [ MAX_CU_SIZE+1 ]; 361 361 362 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 363 UInt g_aICEnableCANDIDATE[10] = { 0, }; 364 UInt g_aICEnableNUM[ 10 ] = { 0, }; 365 Int g_lastlayer=0; 366 #endif 362 367 #if ENC_DEC_TRACE 363 368 FILE* g_hTrace = NULL; -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComRom.h
r872 r939 189 189 extern Char g_aucConvertToBit [ MAX_CU_SIZE+1 ]; // from width to log2(width)-2 190 190 191 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 192 extern UInt g_aICEnableCANDIDATE[10]; 193 extern UInt g_aICEnableNUM[ 10 ]; //10 layers 194 extern Int g_lastlayer; 195 #endif 196 191 197 #ifndef ENC_DEC_TRACE 192 198 #define ENC_DEC_TRACE 0 -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComSlice.cpp
r884 r939 3220 3220 #endif 3221 3221 #if H_3D_IC 3222 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 3223 Void TComSlice::xSetApplyIC(Bool bUseLowLatencyICEnc) 3224 #else 3222 3225 Void TComSlice::xSetApplyIC() 3223 { 3226 #endif 3227 { 3228 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 3229 if(bUseLowLatencyICEnc) 3230 { 3231 Bool existInterViewRef=false; 3232 TComPic* pcCurrPic = getPic(); 3233 TComPic* pcRefPic = NULL; 3234 for ( Int i = 0; (i < getNumRefIdx( REF_PIC_LIST_0 )) && !existInterViewRef; i++ ) 3235 { 3236 pcRefPic = getRefPic( REF_PIC_LIST_0, i ); 3237 if ( pcRefPic != NULL ) 3238 { 3239 if ( pcCurrPic->getViewIndex() != pcRefPic->getViewIndex() ) 3240 { 3241 existInterViewRef = true; 3242 } 3243 } 3244 } 3245 3246 for ( Int i = 0; (i < getNumRefIdx( REF_PIC_LIST_1 )) && !existInterViewRef; i++ ) 3247 { 3248 pcRefPic = getRefPic( REF_PIC_LIST_1, i ); 3249 if ( pcRefPic != NULL ) 3250 { 3251 if ( pcCurrPic->getViewIndex() != pcRefPic->getViewIndex() ) 3252 { 3253 existInterViewRef = true; 3254 } 3255 } 3256 } 3257 3258 if(!existInterViewRef) 3259 { 3260 m_bApplyIC = false; 3261 } 3262 else 3263 { 3264 Int curLayer=getDepth(); 3265 if( curLayer>9) curLayer=9; // Max layer is 10 3266 3267 m_bApplyIC = true; 3268 Int refLayer = curLayer-1; 3269 if( (refLayer>=0) && (g_aICEnableCANDIDATE[refLayer]>0) ) 3270 { 3271 Double ratio=Double(g_aICEnableNUM[refLayer])/Double(g_aICEnableCANDIDATE[refLayer]); 3272 3273 if( ratio > MTK_LOW_LATENCY_IC_ENCODING_THRESHOLD_H0086) 3274 { 3275 m_bApplyIC=true; 3276 } 3277 else 3278 { 3279 m_bApplyIC=false; 3280 } 3281 } 3282 g_aICEnableNUM[curLayer]=0; 3283 g_aICEnableCANDIDATE[curLayer]=0; 3284 g_lastlayer=getDepth(); 3285 } 3286 } 3287 else 3288 { 3289 #endif 3224 3290 Int iMaxPelValue = ( 1 << g_bitDepthY ); 3225 3291 Int *aiRefOrgHist; … … 3295 3361 aiCurrHist = NULL; 3296 3362 aiRefOrgHist = NULL; 3363 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 3364 }//if(bUseLowLatencyICEnc) 3365 #endif 3297 3366 } 3298 3367 #endif -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComSlice.h
r884 r939 2179 2179 Bool getApplyIC() { return m_bApplyIC; } 2180 2180 Void xSetApplyIC(); 2181 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 2182 Void xSetApplyIC(Bool bUseLowLatencyICEnc); 2183 #endif 2181 2184 Void setIcSkipParseFlag( Bool b ) { m_icSkipParseFlag = b; } 2182 2185 Bool getIcSkipParseFlag() { return m_icSkipParseFlag; } -
branches/HTM-10.2-dev0/source/Lib/TLibCommon/TypeDef.h
r937 r939 120 120 // SEC_IC_ARP_SIG_G0072, Disabling IC when ARP is enabled, option 1 in JCT3V-G0072, part 2 in JCT3V-G0121 121 121 122 #define MTK_LOW_LATENCY_IC_ENCODING_H0086 1 // Low-latency IC encoding in JCT3V-H0086 123 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 124 #define MTK_LOW_LATENCY_IC_ENCODING_THRESHOLD_H0086 0.1 // Threshold for low-latency IC encoding in JCT3V-H0086 125 #endif 126 122 127 #if H_3D_NBDV 123 128 #define H_3D_NBDV_REF 1 // Depth oriented neighboring block disparity derivation … … 196 201 // HS_TSINGHUA_SDC_SPLIT_G0111 197 202 // QC_PKU_SDC_SPLIT_G0123 Intra SDC Split 198 199 203 #define MTK_DELTA_DC_FLAG_ONE_CONTEXT_H0084_H0100_H0113 1 // Use only one context for CABAC of delta_dc_flag as in JCTVC-H0084, JCTVC-H0100 and JCTVC-H0113 204 #define MTK_SDC_FLAG_FIX_H0095 1 // Remove conditional check of PCM flag based on SDC flag, JCTVC-H0095 205 206 207 #define MTK_DMM_SIMP_CODE_H0092 1 // Remove CABAC context for DMM1 mode coding 200 208 201 209 #define H_3D_INTER_SDC 1 // INTER SDC, Inter simplified depth coding … … 222 230 #define H_3D_FAST_TEXTURE_ENCODING 1 // Fast merge mode decision and early CU determination for texture component of dependent view, JCT3V-E0173 223 231 // MTK_FAST_TEXTURE_ENCODING_E0173 232 #define QC_IV_PRED_CONSTRAINT_H0137 1 // Constraint on inter-view (motion) prediction tools 224 233 #if H_3D_DIM 225 234 #define H_3D_FAST_DEPTH_INTRA 1 // Fast DMM and RBC Mode Selection … … 275 284 #define H_3D_DIM_DLT 1 // Depth Lookup Table 276 285 286 #define HS_DMM_SDC_PREDICTOR_UNIFY_H0108 1 // Unification of DMM and SDC predictor derivation 287 #define LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135 1 // Use only one context for CABAC of dim_not_present_flag 288 #define QC_SIMP_DELTADC_CODING_H0131 1 // Simplify detaDC entropy coding 277 289 #if H_3D_DIM_DLT 278 290 #define H_3D_DELTA_DLT 1
Note: See TracChangeset for help on using the changeset viewer.