Changeset 1098 in 3DVCSoftware for branches/HTM-12.2-dev2-Samsung/source/Lib
- Timestamp:
- 4 Nov 2014, 02:10:27 (10 years ago)
- Location:
- branches/HTM-12.2-dev2-Samsung/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibCommon/TComDataCU.cpp
r1094 r1098 3891 3891 ) 3892 3892 { 3893 #if !SEC_A1_BASED_VSP_J0039 3893 3894 UInt uiAbsPartAddr = m_uiAbsIdxInLCU + uiAbsPartIdx; 3895 #endif 3894 3896 #if H_3D_IV_MERGE 3895 3897 //////////////////////////// … … 4008 4010 4009 4011 // above 4012 #if !SEC_A1_BASED_VSP_J0039 4010 4013 UInt uiAbovePartIdx = 0; 4011 4014 TComDataCU* pcCUAbove = 0; 4012 4015 pcCUAbove = getPUAbove( uiAbovePartIdx, uiPartIdxRT ); 4016 #endif 4013 4017 4014 4018 if (getAvailableFlagB1()) … … 4017 4021 #if H_3D_VSP 4018 4022 , 4023 #if SEC_A1_BASED_VSP_J0039 4024 false 4025 #else 4019 4026 ( ( ( getAddr() - pcCUAbove->getAddr() ) == 0) && (pcCUAbove->getVSPFlag(uiAbovePartIdx) != 0) 4020 4027 #if H_3D_IC … … 4029 4036 ) 4030 4037 #endif 4038 #endif 4031 4039 , false 4032 4040 ); … … 4035 4043 4036 4044 // above right 4045 #if !SEC_A1_BASED_VSP_J0039 4037 4046 UInt uiAboveRightPartIdx = 0; 4038 4047 TComDataCU* pcCUAboveRight = 0; 4039 4048 pcCUAboveRight = getPUAboveRight( uiAboveRightPartIdx, uiPartIdxRT ); 4049 #endif 4040 4050 4041 4051 if (getAvailableFlagB0()) … … 4044 4054 #if H_3D_VSP 4045 4055 , 4056 #if SEC_A1_BASED_VSP_J0039 4057 false 4058 #else 4046 4059 ( ( ( getAddr() - pcCUAboveRight->getAddr() ) == 0) && (pcCUAboveRight->getVSPFlag(uiAboveRightPartIdx) != 0) 4047 4060 #if H_3D_IC … … 4056 4069 ) 4057 4070 #endif 4071 #endif 4058 4072 , false 4059 4073 ); … … 4062 4076 4063 4077 // left bottom 4078 #if !SEC_A1_BASED_VSP_J0039 4064 4079 UInt uiLeftBottomPartIdx = 0; 4065 4080 TComDataCU* pcCULeftBottom = getPUBelowLeft( uiLeftBottomPartIdx, uiPartIdxLB ); 4081 #endif 4066 4082 4067 4083 if (getAvailableFlagA0()) … … 4070 4086 #if H_3D_VSP 4071 4087 , 4088 #if SEC_A1_BASED_VSP_J0039 4089 false 4090 #else 4072 4091 (pcCULeftBottom->getVSPFlag(uiLeftBottomPartIdx) != 0 4073 4092 #if H_3D_IC … … 4082 4101 ) 4083 4102 #endif 4103 #endif 4084 4104 , false 4085 4105 ); … … 4088 4108 4089 4109 // above left 4110 #if !SEC_A1_BASED_VSP_J0039 4090 4111 UInt uiAboveLeftPartIdx = 0; 4091 4112 TComDataCU* pcCUAboveLeft = 0; 4092 4113 pcCUAboveLeft = getPUAboveLeft( uiAboveLeftPartIdx, uiAbsPartAddr ); 4114 #endif 4093 4115 4094 4116 if (getAvailableFlagB2()) … … 4097 4119 #if H_3D_VSP 4098 4120 , 4121 #if SEC_A1_BASED_VSP_J0039 4122 false 4123 #else 4099 4124 ( ( ( getAddr() - pcCUAboveLeft->getAddr() ) == 0) && (pcCUAboveLeft->getVSPFlag(uiAboveLeftPartIdx) != 0) 4100 4125 #if H_3D_IC … … 4108 4133 #endif 4109 4134 ) 4135 #endif 4110 4136 #endif 4111 4137 , false … … 4486 4512 4487 4513 #if H_3D 4514 #if SEC_A1_BASED_VSP_J0039 4515 iCount += m_mergCands[MRG_A1].m_bAvailable + m_mergCands[MRG_B1].m_bAvailable; 4516 #else 4488 4517 iCount += m_mergCands[MRG_A1].m_bAvailable + m_mergCands[MRG_B1].m_bAvailable + m_mergCands[MRG_B0].m_bAvailable; 4518 #endif 4489 4519 #else 4490 4520 //left … … 4595 4625 #endif 4596 4626 4627 #if SEC_A1_BASED_VSP_J0039 4628 #if H_3D_VSP 4629 ///////////////////////////////////////////////// 4630 //////// VIEW SYNTHESIS PREDICTION (VSP) //////// 4631 ///////////////////////////////////////////////// 4632 if (iCount<getSlice()->getMaxNumMergeCand()) 4633 { 4634 if ( 4635 (!getAvailableFlagA1() || !(pcCULeft->getVSPFlag(uiLeftPartIdx) != 0)) && 4636 #if H_3D_IC 4637 !bICFlag && 4638 #endif 4639 #if H_3D_ARP 4640 !bARPFlag && 4641 #endif 4642 #if H_3D 4643 (nPSW + nPSH > 12) && 4644 #endif 4645 #if H_3D_DBBP 4646 !bDBBPFlag && 4647 #endif 4648 xAddVspCand( mrgCandIdx, &cDisInfo, iCount ) ) 4649 { 4650 return; 4651 } 4652 4653 // early termination 4654 if (iCount == getSlice()->getMaxNumMergeCand()) 4655 { 4656 return; 4657 } 4658 #endif 4659 #if H_3D_VSP 4660 } 4661 #endif 4662 4663 #if H_3D 4664 iCount += m_mergCands[MRG_B0].m_bAvailable; 4665 #endif 4666 #endif 4667 4668 4597 4669 #if H_3D_IV_MERGE 4598 4670 ///////////////////////////////////////////// … … 4648 4720 #endif // H_3D_IV_MERGE 4649 4721 4722 #if !SEC_A1_BASED_VSP_J0039 4650 4723 #if H_3D_VSP 4651 4724 ///////////////////////////////////////////////// … … 4681 4754 #if H_3D 4682 4755 } 4756 #endif 4683 4757 #endif 4684 4758 -
branches/HTM-12.2-dev2-Samsung/source/Lib/TLibCommon/TypeDef.h
r1094 r1098 155 155 // NTT_STORE_SPDV_VSP_G0148 Storing Sub-PU based DV for VSP 156 156 // Restricted bi-prediction for VSP 157 #define SEC_A1_BASED_VSP_J0039 1 // Removal of redundant VSP in Merge list 158 157 159 158 160 #define H_3D_IV_MERGE 1 // Inter-view motion merge candidate … … 257 259 258 260 #define H_3D_DDD 1 // Disparity derived depth coding 259 #define LGE_DDD_REMOVAL_J0042_J0030 1 // DDD removal261 #define LGE_DDD_REMOVAL_J0042_J0030 1 // DDD removal 260 262 261 263 #define H_3D_FCO 0 // Flexible coding order for 3D 262 264 #if H_3D_FCO 263 #define H_3D_FCO 1265 #define H_3D_FCO 1 264 266 #endif 265 267 … … 906 908 enum DefaultMergCandOrder 907 909 { 910 #if SEC_A1_BASED_VSP_J0039 911 MRG_T = 0, ///< MPI 912 MRG_D, ///< DDD 913 MRG_IVMC, ///< Temporal inter-view 914 MRG_A1, ///< Left 915 MRG_B1, ///< Above 916 MRG_VSP, ///< VSP 917 MRG_B0, ///< Above right 918 MRG_IVDC, ///< Disparity inter-view 919 MRG_A0, ///< Left bottom 920 MRG_B2, ///< Above left 921 MRG_IVSHIFT, ///< Shifted IVMC of Shifted IVDC. (These are mutually exclusive) 922 MRG_COL ///< Temporal co-located 923 #else 908 924 MRG_T = 0, ///< MPI 909 925 MRG_D, ///< DDD … … 918 934 MRG_IVSHIFT, ///< Shifted IVMC of Shifted IVDC. (These are mutually exclusive) 919 935 MRG_COL ///< Temporal co-located 936 #endif 920 937 }; 921 938 #endif
Note: See TracChangeset for help on using the changeset viewer.