Changeset 990 in 3DVCSoftware
- Timestamp:
- 15 Jul 2014, 03:22:01 (10 years ago)
- Location:
- branches/HTM-11.2-dev1-Samsung
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-11.2-dev1-Samsung/source/Lib/TLibCommon/ContextTables.h
r976 r990 432 432 static const UChar INIT_DBBP_FLAG[3][DBBP_NUM_FLAG_CTX] = 433 433 { 434 #if SEC_DBBP_EXPLICIT_SIG_I0077 435 { CNU }, 436 { CNU }, 437 { CNU }, 438 #else 434 439 { 161 }, 435 440 { 161 }, 436 441 { 161 }, 437 }; 438 #endif 439 440 #endif 442 #endif 443 }; 444 #endif 445 446 #endif -
branches/HTM-11.2-dev1-Samsung/source/Lib/TLibCommon/TypeDef.h
r989 r990 235 235 // H_3D_FIX_DBBP_IVMP Fix . Enable IVMP is always disabled, when DBBP is enabled. The original intention is to disable Sub-PU IVMP when DBBP is enabled, not to disable IVMP itself. 236 236 237 #define SEC_DBBP_EXPLICIT_SIG_I0077 1 // Remove the partition derivation and signal dbbp_flag only when the partion mode is 2NxN/Nx2N, JCT3V-I0077 237 238 238 239 #define H_3D_DDD 1 // Disparity derived depth coding -
branches/HTM-11.2-dev1-Samsung/source/Lib/TLibDecoder/TDecEntropy.cpp
r976 r990 139 139 140 140 #if H_3D_DBBP 141 141 #if SEC_DBBP_EXPLICIT_SIG_I0077 142 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) ) 143 #else 142 144 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ) 145 #endif 143 146 { 144 147 decodeDBBPFlag(pcCU, uiAbsPartIdx, uiDepth); 145 148 #if !SEC_DBBP_EXPLICIT_SIG_I0077 146 149 if( pcCU->getDBBPFlag(uiAbsPartIdx) ) 147 150 { … … 167 170 pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx+uiPUOffset, 1, uiDepth); 168 171 } 172 #endif 169 173 } 170 174 #endif -
branches/HTM-11.2-dev1-Samsung/source/Lib/TLibDecoder/TDecSbac.cpp
r976 r990 2138 2138 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) ); 2139 2139 2140 #if SEC_DBBP_EXPLICIT_SIG_I0077 2141 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx ); 2142 AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N ); 2143 UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxCUDepth() - uiDepth ) << 1 ) ) >> 4; 2144 pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx, 0, uiDepth); 2145 pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx+uiPUOffset, 1, uiDepth); 2146 #else 2140 2147 if( uiSymbol ) 2141 2148 { … … 2144 2151 pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx + 2*uiCurrPartNumQ, 1, uiDepth); 2145 2152 } 2153 #endif 2146 2154 } 2147 2155 #endif -
branches/HTM-11.2-dev1-Samsung/source/Lib/TLibEncoder/TEncEntropy.cpp
r976 r990 244 244 245 245 #if H_3D_DBBP 246 #if! SEC_DBBP_EXPLICIT_SIG_I0077 246 247 PartSize eVirtualPartSize = pcCU->getPartitionSize(uiAbsPartIdx); 247 248 if( pcCU->getDBBPFlag(uiAbsPartIdx) ) … … 253 254 } 254 255 #endif 256 #endif 255 257 256 258 m_pcEntropyCoderIf->codePartSize( pcCU, uiAbsPartIdx, uiDepth ); 257 259 258 260 #if H_3D_DBBP 261 #if SEC_DBBP_EXPLICIT_SIG_I0077 262 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) ) 263 #else 259 264 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ) 265 #endif 260 266 { 261 267 encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD); 262 268 #if !SEC_DBBP_EXPLICIT_SIG_I0077 263 269 if( pcCU->getDBBPFlag(uiAbsPartIdx) ) 264 270 { … … 266 272 pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth); 267 273 } 274 #endif 268 275 } 269 276 #endif -
branches/HTM-11.2-dev1-Samsung/source/Lib/TLibEncoder/TEncSbac.cpp
r976 r990 2343 2343 Void TEncSbac::codeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) 2344 2344 { 2345 #if SEC_DBBP_EXPLICIT_SIG_I0077 2346 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx ); 2347 AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N ); 2348 #endif 2345 2349 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ); 2346 2350 AOF( !pcCU->getSlice()->getIsDepth() );
Note: See TracChangeset for help on using the changeset viewer.