Changeset 1013 in 3DVCSoftware
- Timestamp:
- 24 Jul 2014, 06:22:37 (10 years ago)
- Location:
- branches/HTM-11.2-dev3-Samsung
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibCommon/TComPrediction.cpp
r1001 r1013 739 739 Int uiMinDepth = MAX_INT; 740 740 Int uiMaxDepth = 0; 741 #if SEC_DBBP_DMM4_THRESHOLD_I0076 742 iSumDepth = pDepthPels[ 0 ]; 743 iSumDepth += pDepthPels[ uiWidth - 1 ]; 744 iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) ]; 745 iSumDepth += pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]; 746 747 uiMinDepth = pDepthPels[ 0 ]; 748 uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiWidth - 1 ]); 749 uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]); 750 uiMinDepth = std::min( uiMinDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]); 751 752 uiMaxDepth = pDepthPels[ 0 ]; 753 uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiWidth - 1 ]); 754 uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]); 755 uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]); 756 #else 741 757 for (Int y=0; y<uiHeight; y++) 742 758 { … … 759 775 pDepthPels += uiDepthStride; 760 776 } 777 #endif 761 778 762 779 // don't generate mask for blocks with small depth range (encoder decision) … … 767 784 768 785 AOF(uiWidth==uiHeight); 786 #if SEC_DBBP_DMM4_THRESHOLD_I0076 787 Int iMean = iSumDepth >> 2; 788 #else 769 789 Int iSizeInBits = g_aucConvertToBit[uiWidth]+2; 770 790 Int iMean = iSumDepth >> iSizeInBits*2; // iMean /= (uiWidth*uiHeight); 791 #endif 771 792 772 793 // start again for segmentation … … 2202 2223 // find contour for texture luma block 2203 2224 UInt iDC = 0; 2225 #if SEC_DBBP_DMM4_THRESHOLD_I0076 2226 iDC = piRefBlkY[ 0 ]; 2227 iDC += piRefBlkY[ uiWidth - 1 ]; 2228 iDC += piRefBlkY[ uiWidth * (uiHeight - 1) ]; 2229 iDC += piRefBlkY[ uiWidth * (uiHeight - 1) + uiWidth - 1 ]; 2230 iDC = iDC >> 2; 2231 #else 2204 2232 for( UInt k = 0; k < (uiWidth*uiHeight); k++ ) 2205 2233 { … … 2209 2237 Int cuMaxLog2Size = g_aucConvertToBit[g_uiMaxCUWidth]+2; // 2210 2238 iDC = iDC >> (cuMaxLog2Size - pcCU->getDepth(0))*2; // iDC /= (uiWidth*uiHeight); 2239 #endif 2211 2240 2212 2241 piRefBlkY = cTempYuv.getLumaAddr(); -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibCommon/TypeDef.h
r1001 r1013 236 236 // MTK_DBBP_SIGNALING_H0094 237 237 // H_3D_FIX_DBBP_IVMP Fix . Enable IVMP is always disabled, when DBBP is enabled. The original intention is to disable Sub-PU IVMP when DBBP is enabled, not to disable IVMP itself. 238 239 #define SEC_DBBP_DMM4_THRESHOLD_I0076 1 // Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076 238 240 239 241
Note: See TracChangeset for help on using the changeset viewer.