Changeset 1228 in 3DVCSoftware
- Timestamp:
- 24 May 2015, 18:07:56 (10 years ago)
- Location:
- branches/HTM-14.1-update-dev4-RWTH/source/Lib
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibCommon/TComDataCU.cpp
r1222 r1228 975 975 #if H_3D_VSP 976 976 m_piVSPFlag[ui]=pcCU->m_piVSPFlag[uiPartOffset+ui]; 977 #endif 978 #if H_3D_VSP || NH_3D_DBBP 977 979 m_pDvInfo[ ui ] = pcCU->m_pDvInfo[uiPartOffset+ui]; 978 980 #endif … … 1237 1239 #if H_3D_VSP 1238 1240 m_piVSPFlag = pcCU->getVSPFlag() + uiAbsPartIdx; 1241 #endif 1242 #if H_3D_VSP || NH_3D_DBBP 1239 1243 m_pDvInfo = pcCU->getDvInfo() + uiAbsPartIdx; 1240 1244 #endif … … 1295 1299 #if H_3D_VSP 1296 1300 memcpy( m_piVSPFlag + uiOffset, pcCU->getVSPFlag(), sizeof( Char ) * uiNumPartition ); 1301 #endif 1302 #if H_3D_VSP || NH_3D_DBBP 1297 1303 memcpy( m_pDvInfo + uiOffset, pcCU->getDvInfo(), sizeof( *m_pDvInfo ) * uiNumPartition ); 1298 1304 #endif … … 1422 1428 #if H_3D_VSP 1423 1429 memcpy( rpcCU->getVSPFlag() + m_uiAbsIdxInLCU, m_piVSPFlag, sizeof( Char ) * m_uiNumPartition ); 1424 memcpy( rpcCU->getDvInfo() + m_uiAbsIdxInLCU, m_pDvInfo, sizeof( *m_pDvInfo ) * m_uiNumPartition ); 1430 #endif 1431 #if H_3D_VSP || NH_3D_DBBP 1432 memcpy( pCtu->getDvInfo() + m_absZIdxInCtu, m_pDvInfo, sizeof( *m_pDvInfo ) * m_uiNumPartition ); 1425 1433 #endif 1426 1434 #if H_3D_SPIVMP … … 2118 2126 2119 2127 // DBBP is a texture coding tool 2120 if( getSlice()->getIsDepth() ) 2121 { 2122 return NULL; 2123 } 2128 assert( !getSlice()->getIsDepth() ); 2129 2124 2130 #if H_3D_FCO 2125 2131 TComPic* depthPic = getSlice()->getIvPic(true, getSlice()->getViewIndex() ); … … 2507 2513 setSubPart<Char>( iVSPFlag, m_piVSPFlag, uiAbsPartIdx, uiDepth, uiPartIdx ); 2508 2514 } 2509 #if H_3D_VSP 2515 #endif 2516 #if H_3D_VSP || NH_3D_DBBP 2510 2517 template<typename T> 2511 2518 Void TComDataCU::setSubPartT( T uiParameter, T* puhBaseLCU, UInt uiCUAddr, UInt uiCUDepth, UInt uiPUIdx ) 2512 2519 { 2513 UInt uiCurrPartNumQ = (m_pcPic->getNumPart InCU() >> (2 * uiCUDepth)) >> 2;2520 UInt uiCurrPartNumQ = (m_pcPic->getNumPartitionsInCtu() >> (2 * uiCUDepth)) >> 2; 2514 2521 switch ( m_pePartSize[ uiCUAddr ] ) 2515 2522 { … … 2642 2649 2643 2650 } 2644 #endif2645 2651 #endif 2646 2652 … … 6131 6137 } 6132 6138 } 6133 #if H_3D_VSP 6139 #if H_3D_VSP || NH_3D_DBBP 6134 6140 Void TComDataCU::setDvInfoSubParts( DisInfo cDvInfo, UInt uiAbsPartIdx, UInt uiPUIdx, UInt uiDepth ) 6135 6141 { -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibCommon/TComDataCU.h
r1222 r1228 454 454 template <typename T> 455 455 Void setSubPart ( T bParameter, T* pbBaseCtu, UInt uiCUAddr, UInt uiCUDepth, UInt uiPUIdx ); 456 #if H_3D_VSP 456 #if H_3D_VSP || NH_3D_DBBP 457 457 template<typename T> 458 458 Void setSubPartT ( T uiParameter, T* puhBaseLCU, UInt uiCUAddr, UInt uiCUDepth, UInt uiPUIdx ); … … 482 482 #if NH_3D_NBDV 483 483 Void setDvInfoSubParts ( DisInfo cDvInfo, UInt uiAbsPartIdx, UInt uiDepth ); 484 #if H_3D_VSP || NH_3D_DBBP 484 485 Void setDvInfoSubParts ( DisInfo cDvInfo, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth); 486 #endif 485 487 DisInfo* getDvInfo () { return m_pDvInfo; } 486 488 DisInfo getDvInfo (UInt uiIdx) { return m_pDvInfo[uiIdx]; } -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecCu.cpp
r1222 r1228 302 302 if( pcCU->getSlice()->getVPS()->getIvMvPredFlag(pcCU->getSlice()->getLayerId()) ) 303 303 #else 304 #if NH_3D_DBBP 305 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() ) 306 #else 304 307 if (0) 308 #endif 305 309 #endif 306 310 #endif … … 878 882 879 883 pDBBPTmpData->auhInterDir[uiSegment] = pcCU->getInterDir(uiPartAddr); 884 assert( pDBBPTmpData->auhInterDir[uiSegment] == 1 || pDBBPTmpData->auhInterDir[uiSegment] == 2 ); // only uni-prediction allowed 880 885 881 886 for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ ) -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp
r1222 r1228 181 181 { 182 182 decodePUWise( pcCU, uiAbsPartIdx, uiDepth, pcSubCU ); 183 184 decodeDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );185 183 } 186 184 } … … 258 256 } 259 257 Int numValidMergeCand = 0; 260 Bool hasMergedCandList= false;258 Bool isMerged = false; 261 259 262 260 pcSubCU->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_0 ); 263 261 pcSubCU->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_1 ); 264 #if H_3D262 #if NH_3D 265 263 for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset ) 266 264 { … … 294 292 295 293 ////// Parse CUs extension syntax 296 decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth ); 294 #if NH_3D_DBBP 295 decodeDBBPFlag( pcCU, uiAbsPartIdx, uiDepth ); 296 #endif 297 //decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth ); 297 298 298 299 #if H_3D_ARP … … 610 611 } 611 612 612 #if H_3D613 #if NH_3D 613 614 Void TDecEntropy::decodeMVPIdxPU( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList ) 614 615 { -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecEntropy.h
r1222 r1228 145 145 Void decodeMvdPU ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList ); 146 146 Void decodeMVPIdxPU ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList ); 147 #if H_3D147 #if NH_3D 148 148 Void decodeMvsAMVP ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, 149 149 RefPicList eRefList ); -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibEncoder/TEncCu.cpp
r1222 r1228 596 596 if( rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) ) 597 597 #else 598 #if NH_3D_DBBP 599 if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() ) 600 #else 598 601 if (0) 602 #endif 599 603 #endif 600 604 #endif … … 659 663 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );//by Competition for inter_2Nx2N 660 664 #endif 661 #if H_3D_VSP 665 #if H_3D_VSP || NH_3D_DBBP 662 666 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 663 667 #endif … … 673 677 674 678 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 675 #if H_3D_VSP 679 #if H_3D_VSP || NH_3D_DBBP 676 680 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 677 681 #endif … … 690 694 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 691 695 #endif 692 #if H_3D_VSP 696 #if H_3D_VSP || NH_3D_DBBP 693 697 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 694 698 #endif … … 698 702 xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false ); 699 703 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 700 #if H_3D_VSP 704 #if H_3D_VSP || NH_3D_DBBP 701 705 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 702 706 #endif … … 780 784 #endif 781 785 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 782 #if H_3D_VSP 786 #if H_3D_VSP || NH_3D_DBBP 783 787 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 784 788 #endif … … 799 803 #endif 800 804 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 801 #if H_3D_VSP 805 #if H_3D_VSP || NH_3D_DBBP 802 806 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 803 807 #endif … … 822 826 823 827 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 824 #if H_3D_VSP 828 #if H_3D_VSP || NH_3D_DBBP 825 829 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 826 830 #endif … … 861 865 #endif 862 866 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 863 #if H_3D_VSP 867 #if H_3D_VSP || NH_3D_DBBP 864 868 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 865 869 #endif … … 882 886 883 887 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 884 #if H_3D_VSP 888 #if H_3D_VSP || NH_3D_DBBP 885 889 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 886 890 #endif … … 909 913 910 914 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 911 #if H_3D_VSP 915 #if H_3D_VSP || NH_3D_DBBP 912 916 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 913 917 #endif … … 929 933 #endif 930 934 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 931 #if H_3D_VSP 935 #if H_3D_VSP || NH_3D_DBBP 932 936 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 933 937 #endif … … 957 961 958 962 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 959 #if H_3D_VSP 963 #if H_3D_VSP || NH_3D_DBBP 960 964 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 961 965 #endif … … 977 981 #endif 978 982 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 979 #if H_3D_VSP 983 #if H_3D_VSP || NH_3D_DBBP 980 984 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 981 985 #endif … … 997 1001 #endif 998 1002 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 999 #if H_3D_VSP 1003 #if H_3D_VSP || NH_3D_DBBP 1000 1004 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1001 1005 #endif … … 1018 1022 #endif 1019 1023 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1020 #if H_3D_VSP 1024 #if H_3D_VSP || NH_3D_DBBP 1021 1025 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1022 1026 #endif … … 1034 1038 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnU ); 1035 1039 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1036 #if H_3D_VSP 1040 #if H_3D_VSP || NH_3D_DBBP 1037 1041 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1038 1042 #endif 1039 1043 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnD ); 1040 1044 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1041 #if H_3D_VSP 1045 #if H_3D_VSP || NH_3D_DBBP 1042 1046 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1043 1047 #endif … … 1049 1053 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nLx2N ); 1050 1054 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1051 #if H_3D_VSP 1055 #if H_3D_VSP || NH_3D_DBBP 1052 1056 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1053 1057 #endif 1054 1058 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nRx2N ); 1055 1059 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1056 #if H_3D_VSP 1060 #if H_3D_VSP || NH_3D_DBBP 1057 1061 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1058 1062 #endif … … 2544 2548 2545 2549 #if NH_3D_DBBP 2546 // Is this correct here, was under the macro SEC_DBBP_DISALLOW_8x8_I0078, however the function is related to Single Depth Mode2547 2550 if(uiWidth <= 8) 2548 2551 {
Note: See TracChangeset for help on using the changeset viewer.