Changeset 589 in 3DVCSoftware
- Timestamp:
- 22 Aug 2013, 13:02:16 (11 years ago)
- Location:
- branches/HTM-DEV-2.0-dev3-KWU
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev3-KWU/source/Lib/TLibCommon/TComPrediction.cpp
r583 r589 2589 2589 } 2590 2590 #endif 2591 2591 2592 #if H_3D_DIM_SDC 2592 Void TComPrediction::analyzeSegmentsSDC( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride ) 2593 Void TComPrediction::analyzeSegmentsSDC( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride 2594 #if KWU_SDC_SIMPLE_DC_E0117 2595 ,UInt uiIntraMode 2596 ,Bool orgDC 2597 #endif 2598 ) 2593 2599 { 2594 2600 Int iSumDepth[2]; … … 2596 2602 Int iSumPix[2]; 2597 2603 memset(iSumPix, 0, sizeof(Int)*2); 2598 2604 2605 #if KWU_SDC_SIMPLE_DC_E0117 2606 if (orgDC == false) 2607 { 2608 if ( getDimType(uiIntraMode) == DMM1_IDX ) 2609 { 2610 UChar ucSegmentLT = pMask[0]; 2611 UChar ucSegmentRT = pMask[uiSize-1]; 2612 UChar ucSegmentLB = pMask[uiMaskStride * (uiSize-1)]; 2613 UChar ucSegmentRB = pMask[uiMaskStride * (uiSize-1) + (uiSize-1)]; 2614 2615 rpSegMeans[ucSegmentLT] = pOrig[0]; 2616 rpSegMeans[ucSegmentRT] = pOrig[uiSize-1]; 2617 rpSegMeans[ucSegmentLB] = pOrig[uiStride * (uiSize-1) ]; 2618 rpSegMeans[ucSegmentRB] = pOrig[uiStride * (uiSize-1) + (uiSize-1) ]; 2619 } 2620 else if (uiIntraMode == PLANAR_IDX) 2621 { 2622 Pel* pLeftTop = pOrig; 2623 Pel* pRightTop = pOrig + (uiSize-1); 2624 Pel* pLeftBottom = (pOrig+ (uiStride*(uiSize-1))); 2625 Pel* pRightBottom = (pOrig+ (uiStride*(uiSize-1)) + (uiSize-1)); 2626 2627 rpSegMeans[0] = (*pLeftTop + *pRightTop + *pLeftBottom + *pRightBottom + 2)>>2; 2628 } 2629 return; 2630 } 2631 #endif 2632 2599 2633 Int subSamplePix; 2600 2634 if ( uiSize == 64 || uiSize == 32 ) -
branches/HTM-DEV-2.0-dev3-KWU/source/Lib/TLibCommon/TComPrediction.h
r531 r589 174 174 Void predIntraLumaDepth ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiIntraMode, Pel* piPred, UInt uiStride, Int iWidth, Int iHeight, Bool bFastEnc = false ); 175 175 #if H_3D_DIM_SDC 176 Void analyzeSegmentsSDC ( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride ); 176 Void analyzeSegmentsSDC ( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride 177 #if KWU_SDC_SIMPLE_DC_E0117 178 ,UInt uiIntraMode 179 ,Bool orgDC=false 180 #endif 181 ); 177 182 #endif 178 183 #endif -
branches/HTM-DEV-2.0-dev3-KWU/source/Lib/TLibCommon/TypeDef.h
r573 r589 180 180 // HHI_DEPTH_INTRA_SEARCH_RAU_C0160 181 181 // LG_ZEROINTRADEPTHRESI_A0087 182 #define KWU_SDC_SIMPLE_DC_E0117 1 // Simplified DC calculation for SDC 182 183 #define SCU_HS_DMM4_REMOVE_DIV_E0242 1 // DMM4 Division Removal 183 184 #define SCU_HS_FAST_DEPTH_INTRA_E0238 1 // Fast DMM and RBC Mode Selection -
branches/HTM-DEV-2.0-dev3-KWU/source/Lib/TLibDecoder/TDecCu.cpp
r531 r589 794 794 // get DC prediction for each segment 795 795 Pel apDCPredValues[2]; 796 #if KWU_SDC_SIMPLE_DC_E0117 797 m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode); 798 #else 796 799 m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride); 800 #endif 797 801 798 802 // reconstruct residual based on mask + DC residuals -
branches/HTM-DEV-2.0-dev3-KWU/source/Lib/TLibEncoder/TEncSearch.cpp
r583 r589 1891 1891 // get DC prediction for each segment 1892 1892 Pel apDCPredValues[2]; 1893 #if KWU_SDC_SIMPLE_DC_E0117 1894 analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode ); 1895 #else 1893 1896 analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride ); 1897 #endif 1894 1898 1895 1899 // get original DC for each segment 1896 1900 Pel apDCOrigValues[2]; 1901 #if KWU_SDC_SIMPLE_DC_E0117 1902 analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode, true ); 1903 #else 1897 1904 analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride ); 1905 #endif 1898 1906 1899 1907 for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
Note: See TracChangeset for help on using the changeset viewer.