- Timestamp:
- 4 Mar 2015, 02:11:05 (10 years ago)
- Location:
- branches/HTM-13.1-dev1-Samsung2/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.1-dev1-Samsung2/source/Lib/TLibCommon/TComDataCU.cpp
r1150 r1159 5977 5977 Bool TComDataCU::getNeighDepth ( UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index ) 5978 5978 { 5979 5979 #if NEIGHBORING_PIX_AVAILABILITY_FIX 5980 UInt uiPartIdxLT, uiPartIdxRT; 5981 this->deriveLeftRightTopIdxAdi( uiPartIdxLT, uiPartIdxRT, 0, 0 ); 5982 UInt uiMidPart, uiPartNeighbor; 5983 TComDataCU* pcCUNeighbor; 5984 Bool bDepAvail = false; 5985 Pel *pDepth = this->getPic()->getPicYuvRec()->getLumaAddr(); 5986 Int iDepStride = this->getPic()->getPicYuvRec()->getStride(); 5987 5988 Int xP, yP, nPSW, nPSH; 5989 this->getPartPosition( uiPartIdx, xP, yP, nPSW, nPSH ); 5990 5991 switch( index ) 5992 { 5993 case 0: // Mid Left 5994 uiMidPart = g_auiZscanToRaster[uiPartIdxLT] + (nPSH>>1) / this->getPic()->getMinCUHeight() * this->getPic()->getNumPartInWidth(); 5995 pcCUNeighbor = this->getPULeft( uiPartNeighbor, g_auiRasterToZscan[uiMidPart] ); 5996 if ( pcCUNeighbor ) 5997 { 5998 if( !this->getSlice()->getPPS()->getConstrainedIntraPred() ) 5999 { 6000 *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ]; 6001 bDepAvail = true; 6002 } 6003 else if ( pcCUNeighbor->getPredictionMode( uiPartNeighbor ) == MODE_INTRA ) 6004 { 6005 *pNeighDepth = pDepth[ (yP+(nPSH>>1)) * iDepStride + (xP-1) ]; 6006 bDepAvail = true; 6007 } 6008 } 6009 break; 6010 case 1: // Mid Above 6011 uiMidPart = g_auiZscanToRaster[uiPartIdxLT] + (nPSW>>1) / this->getPic()->getMinCUWidth(); 6012 pcCUNeighbor = this->getPUAbove( uiPartNeighbor, g_auiRasterToZscan[uiMidPart] ); 6013 if( pcCUNeighbor ) 6014 { 6015 if( !this->getSlice()->getPPS()->getConstrainedIntraPred() ) 6016 { 6017 *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ]; 6018 bDepAvail = true; 6019 } 6020 else if ( pcCUNeighbor->getPredictionMode( uiPartNeighbor ) == MODE_INTRA ) 6021 { 6022 *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP + (nPSW>>1)) ]; 6023 bDepAvail = true; 6024 } 6025 } 6026 break; 6027 default: 6028 break; 6029 } 6030 6031 return bDepAvail; 6032 #else 5980 6033 Bool bDepAvail = false; 5981 6034 Pel *pDepth = this->getPic()->getPicYuvRec()->getLumaAddr(); … … 6006 6059 } 6007 6060 return bDepAvail; 6061 #endif 6008 6062 } 6009 6063 #else -
branches/HTM-13.1-dev1-Samsung2/source/Lib/TLibCommon/TypeDef.h
r1153 r1159 81 81 #if H_3D 82 82 #define SEC_DEPTH_INTRA_SKIP_MODE_K0033 1 // Depth intra skip mode 83 #if SEC_DEPTH_INTRA_SKIP_MODE_K0033 84 #define NEIGHBORING_PIX_AVAILABILITY_FIX 1 85 #endif 86 83 87 84 88 #define H_3D_QTLPC 1 // OL_QTLIMIT_PREDCODING_B0068 //JCT3V-B0068
Note: See TracChangeset for help on using the changeset viewer.