Changeset 820 in 3DVCSoftware
- Timestamp:
- 5 Feb 2014, 09:54:12 (11 years ago)
- Location:
- branches/HTM-9.3-dev1-RWTH/source/Lib
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibCommon/TComPrediction.cpp
r816 r820 625 625 626 626 Int iSizeInBits = g_aucConvertToBit[uiSize] - g_aucConvertToBit[iSubSample]; // respect sub-sampling factor 627 Int iMean = iSumDepth >> iSizeInBits*2; // iMean /= (uiWidth*uiHeight); 628 AOF( iMean == iSumDepth/((uiSize/iSubSample)*(uiSize/iSubSample) ) ); 629 AOF( iMean >= 0 && iMean < 256); 627 Int iMean = iSumDepth >> iSizeInBits*2; // iMean /= (uiSize*uiSize); 630 628 631 629 // start again for segmentation … … 648 646 // decide which segment this pixel belongs to 649 647 Int ucSegment = (Int)(depthPel>iMean); 650 AOF( ucSegment == 0 || ucSegment == 1 );651 648 652 649 // Matched Filter to find optimal (conventional) partitioning … … 718 715 Bool TComPrediction::getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask ) 719 716 { 720 AOF( uiWidth == uiHeight );721 722 717 // segmentation of texture block --> mask IDs 723 718 Pel* pDepthBlockStart = pDepthPels; … … 748 743 return false; 749 744 745 AOF(uiWidth==uiHeight); 750 746 Int iSizeInBits = g_aucConvertToBit[uiWidth]+2; 751 747 Int iMean = iSumDepth >> iSizeInBits*2; // iMean /= (uiWidth*uiHeight); 752 AOF( iMean == iSumDepth/(uiWidth*uiHeight) );753 AOF( iMean >= 0 && iMean < 256);754 748 755 749 // start again for segmentation … … 768 762 // decide which segment this pixel belongs to 769 763 Int ucSegment = (Int)(depthPel>iMean); 770 AOF( ucSegment == 0 || ucSegment == 1 );771 764 772 765 if( bInvertMask ) -
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.cpp
r819 r820 753 753 AOF(!pcCU->getSlice()->isIntra()); 754 754 PartSize ePartSize = pcCU->getPartitionSize( 0 ); 755 AOF( uiAbsPartIdx == pcCU->getZorderIdxInCU() );756 755 757 756 // get collocated depth block … … 762 761 763 762 // compute mask by segmenting depth block 764 AOF( pcCU->getWidth(0) == m_ppcYuvReco[uiDepth]->getWidth() );765 763 Bool pMask[MAX_CU_SIZE*MAX_CU_SIZE]; 766 764 Bool bValidMask = m_pcPrediction->getSegmentMaskFromDepth(pDepthPels, uiDepthStride, pcCU->getWidth(0), pcCU->getHeight(0), pMask); -
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp
r819 r820 161 161 162 162 pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth); 163 AOF( pcCU->getPartitionSize(uiAbsPartIdx) == eVirtualPartSize );164 163 } 165 164 } -
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.cpp
r816 r820 2153 2153 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) ); 2154 2154 2155 DTRACE_CABAC_VL( g_nSymbolCounter++ );2156 DTRACE_CABAC_T( "\tDBBPFlag" );2157 DTRACE_CABAC_T( "\tuiCtxDBBP: ");2158 DTRACE_CABAC_V( uiCtxDBBPFlag );2159 DTRACE_CABAC_T( "\tuiSymbol: ");2160 DTRACE_CABAC_V( uiSymbol );2161 DTRACE_CABAC_T( "\n");2162 2163 2155 if( uiSymbol ) 2164 2156 { -
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibEncoder/TEncCu.cpp
r819 r820 2363 2363 { 2364 2364 UChar ucSegment = (UChar)pMask[x]; 2365 assert( ucSegment < 2 );2365 AOF( ucSegment < 2 ); 2366 2366 2367 2367 piDst[x] = (ucSegment==uiValidSegment)?piSrc[x]:DBBP_INVALID_SHORT; … … 2387 2387 { 2388 2388 UChar ucSegment = (UChar)pMask[x*2]; 2389 assert( ucSegment < 2 );2389 AOF( ucSegment < 2 ); 2390 2390 2391 2391 piDstU[x] = (ucSegment==uiValidSegment)?piSrcU[x]:DBBP_INVALID_SHORT; … … 2405 2405 AOF( !rpcTempCU->getSlice()->getIsDepth() ); 2406 2406 2407 2408 2407 UChar uhDepth = rpcTempCU->getDepth( 0 ); 2409 2408 … … 2425 2424 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); 2426 2425 2427 // get coded and reconstructed depth view2426 // fetch virtual depth block 2428 2427 UInt uiDepthStride = 0; 2429 2428 Pel* pDepthPels = rpcTempCU->getVirtualDepthBlock(0, uiWidth, uiHeight, uiDepthStride); … … 2486 2485 } 2487 2486 2487 // store final motion/disparity information in each PU using derived partitioning 2488 2488 rpcTempCU->setDepthSubParts( uhDepth, 0 ); 2489 2489 rpcTempCU->setPartSizeSubParts ( eVirtualPartSize, 0, uhDepth ); -
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibEncoder/TEncEntropy.cpp
r816 r820 245 245 if( pcCU->getDBBPFlag(uiAbsPartIdx) ) 246 246 { 247 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ); 248 247 249 // temporarily change partition size for DBBP blocks 248 250 pcCU->setPartSizeSubParts(RWTH_DBBP_PACK_MODE, uiAbsPartIdx, uiDepth); -
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibEncoder/TEncSbac.cpp
r816 r820 1240 1240 m_pcBinIf->encodeBin( uiInterDir == 2 ? 1 : 0, *( pCtx + uiCtx ) ); 1241 1241 } 1242 #if H_3D_DBBP1243 else1244 {1245 // only uni-prediction is allowed for DBBP1246 AOF( uiInterDir == 0 || uiInterDir == 1 );1247 }1248 #endif1249 1242 if (uiInterDir < 2) 1250 1243 { -
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibEncoder/TEncSearch.cpp
r819 r820 4657 4657 } 4658 4658 4659 // update thesevalues to virtual partition size4659 // update values to virtual partition size 4660 4660 pcCU->getPartIndexAndSize( uiPartIdx, uiPartAddr, iRoiWidth, iRoiHeight ); 4661 4661 } … … 4667 4667 if( pcCU->getDBBPFlag(0) ) 4668 4668 { 4669 // res et to 2Nx2N for motion search4669 // restore 2Nx2N partitioning for motion estimation 4670 4670 uiPartIdx = 0; 4671 4671 AOF( pcCU->getPartitionSize(0) == pDBBPTmpData->eVirtualPartSize );
Note: See TracChangeset for help on using the changeset viewer.