- Timestamp:
- 9 Nov 2012, 10:29:21 (12 years ago)
- Location:
- branches/HTM-4.1-dev1-Intel/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-4.1-dev1-Intel/source/Lib/TLibCommon/TypeDef.h
r169 r171 131 131 132 132 #define HHI_MPI 1 // motion parameter inheritance from texture picture for depth map coding 133 #if HHI_MPI 134 #define FIX_MPI_B0065 1 //JCT3V-B0065, fix the MPI bug when RQT is off 135 #endif 133 136 #define HHI_MPI_MERGE_POS 0 134 137 #define HHI_FULL_PEL_DEPTH_MAP_MV_ACC 1 // full-pel mv accuracy for depth maps -
branches/HTM-4.1-dev1-Intel/source/Lib/TLibDecoder/TDecCu.cpp
r100 r171 620 620 { 621 621 #if HHI_MPI 622 #if FIX_MPI_B0065 623 if( pcCU->getTextureModeDepth( 0 ) != -1 ) 624 { 625 TComDataCU *pcTextureCU = pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() ); 626 if( uiDepth == pcTextureCU->getDepth(uiAbsPartIdx)) 627 { 628 PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx); 629 pcCU->setPartSizeSubParts( partSize, 0, uiDepth ); 630 } 631 else 632 { 633 pcCU->setPartSizeSubParts( SIZE_NxN, 0, uiDepth ); 634 } 635 } 636 #else 622 637 if( pcCU->getTextureModeDepth( 0 ) != -1 ) 623 638 pcCU->setPartSizeSubParts( SIZE_NxN, 0, uiDepth ); 639 #endif 624 640 #endif 625 641 -
branches/HTM-4.1-dev1-Intel/source/Lib/TLibDecoder/TDecEntropy.cpp
r154 r171 934 934 #endif // !UNIFIED_TRANSFORM_TREE 935 935 } 936 937 #if FIX_MPI_B0065 938 if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N && pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1 ) 939 { 940 TComDataCU *pcTextureCU = pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() ); 941 if( uiDepth == pcTextureCU->getDepth(uiAbsPartIdx)) 942 { 943 PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx); 944 pcCU->setPartSizeSubParts( partSize, uiAbsPartIdx, uiDepth ); 945 } 946 else 947 { 948 pcCU->setPartSizeSubParts( SIZE_NxN, uiAbsPartIdx, uiDepth ); 949 } 950 } 951 #endif 952 936 953 #if UNIFIED_TRANSFORM_TREE 937 954 xDecodeTransform( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, 0, temp, temp1, temp2, bCodeDQP ); … … 939 956 xDecodeCoeff( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, uiLumaTrMode, bCodeDQP ); 940 957 #endif // UNIFIED_TRANSFORM_TREE 958 959 #if FIX_MPI_B0065 960 if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) != SIZE_2Nx2N && pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1 ) 961 { 962 pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth ); 963 } 964 #endif 941 965 } 942 966 -
branches/HTM-4.1-dev1-Intel/source/Lib/TLibEncoder/TEncCu.cpp
r126 r171 3059 3059 rpcTempCU->setTextureModeDepthSubParts( uhTextureModeDepth, 0, uhDepth ); 3060 3060 rpcTempCU->copyTextureMotionDataFrom( pcTextureCU, uhDepth, rpcTempCU->getZorderIdxInCU() ); 3061 #if FIX_MPI_B0065 3062 UInt uiAbsPartIdx = rpcTempCU->getZorderIdxInCU(); 3063 if( rpcTempCU->getDepth(0) > pcTextureCU->getDepth(uiAbsPartIdx)) 3064 { 3065 rpcTempCU->setPartSizeSubParts( SIZE_NxN, 0, uhDepth ); 3066 } 3067 else 3068 { 3069 PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx); 3070 rpcTempCU->setPartSizeSubParts( partSize, 0, uhDepth ); 3071 } 3072 #else 3061 3073 rpcTempCU->setPartSizeSubParts( SIZE_NxN, 0, uhDepth ); 3074 #endif 3062 3075 for( UInt ui = 0; ui < rpcTempCU->getTotalNumPart(); ui++ ) 3063 3076 { -
branches/HTM-4.1-dev1-Intel/source/Lib/TLibEncoder/TEncEntropy.cpp
r77 r171 1655 1655 #endif 1656 1656 } 1657 1657 1658 #if FIX_MPI_B0065 1659 if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N && pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1 ) 1660 { 1661 TComDataCU *pcTextureCU = pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() ); 1662 if( uiDepth == pcTextureCU->getDepth(uiAbsPartIdx)) 1663 { 1664 PartSize partSize = pcTextureCU->getPartitionSize(uiAbsPartIdx); 1665 pcCU->setPartSizeSubParts( partSize, uiAbsPartIdx, uiDepth ); 1666 } 1667 else 1668 { 1669 pcCU->setPartSizeSubParts( SIZE_NxN, uiAbsPartIdx, uiDepth ); 1670 } 1671 } 1672 #endif 1673 1658 1674 #if UNIFIED_TRANSFORM_TREE 1659 1675 UInt temp = 0; … … 1664 1680 xEncodeCoeff( pcCU, uiLumaOffset, uiChromaOffset, uiAbsPartIdx, uiDepth, uiWidth, uiHeight, 0, uiLumaTrMode, bCodeDQP ); 1665 1681 #endif // UNIFIED_TRANSFORM_TREE 1682 1683 #if FIX_MPI_B0065 1684 if( pcCU->getPredictionMode(uiAbsPartIdx) == MODE_INTER && pcCU->getMergeFlag( uiAbsPartIdx ) && pcCU->getMergeIndex( uiAbsPartIdx ) == 0 && pcCU->getPartitionSize(uiAbsPartIdx) != SIZE_2Nx2N && pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1 ) 1685 { 1686 pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth ); 1687 } 1688 #endif 1666 1689 } 1667 1690
Note: See TracChangeset for help on using the changeset viewer.