Changeset 56 in SHVCSoftware for branches/HM-10.0-dev-SHM/source/Lib
- Timestamp:
- 4 Mar 2013, 23:18:12 (12 years ago)
- Location:
- branches/HM-10.0-dev-SHM/source/Lib/TLibCommon
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HM-10.0-dev-SHM/source/Lib/TLibCommon/TComDataCU.cpp
r54 r56 2712 2712 pcCULeftBottom->isDiffMER(xP-1, yP+nPSH, xP, yP) && 2713 2713 #if SVC_MVP 2714 ( !pcColCU || pcColCU->isIntra( uiAbsPartAddrBase ) || !pcCULeftBottom->hasEqualMotion( uiLeftBottomPartIdx, puhInterDirNeighbours[0], &pcMvFieldNeighbours[0])) 2714 ( !pcColCU || pcColCU->isIntra( uiAbsPartAddrBase ) || !pcCULeftBottom->hasEqualMotion( uiLeftBottomPartIdx, puhInterDirNeighbours[0], &pcMvFieldNeighbours[0])) && 2715 2715 #endif 2716 2716 !pcCULeftBottom->isIntra( uiLeftBottomPartIdx ) ; … … 2756 2756 pcCUAboveLeft->isDiffMER(xP-1, yP-1, xP, yP) && 2757 2757 #if SVC_MVP 2758 ( !pcColCU || pcColCU->isIntra( uiAbsPartAddrBase ) || !pcCUAboveLeft->hasEqualMotion( uiAboveLeftPartIdx, puhInterDirNeighbours[0], &pcMvFieldNeighbours[0] )) 2758 ( !pcColCU || pcColCU->isIntra( uiAbsPartAddrBase ) || !pcCUAboveLeft->hasEqualMotion( uiAboveLeftPartIdx, puhInterDirNeighbours[0], &pcMvFieldNeighbours[0] )) && 2759 2759 #endif 2760 2760 !pcCUAboveLeft->isIntra( uiAboveLeftPartIdx ); -
branches/HM-10.0-dev-SHM/source/Lib/TLibCommon/TComUpsampleFilter.cpp
r54 r56 171 171 Int tempBufSizeRight = 0, tempBufSizeBottom = 0; 172 172 173 if ( pcBasePic->getPicCropRightOffset())174 { 175 tempBufSizeRight = pcBasePic->getPicCropRightOffset() * pcBasePic->getHeight();176 } 177 178 if( pcBasePic->getPicCropBottomOffset() )179 { 180 tempBufSizeBottom = pcBasePic->getPicCropBottomOffset() * pcBasePic->getWidth ();173 if( confBL.getWindowRightOffset()) 174 { 175 tempBufSizeRight = confBL.getWindowRightOffset() * pcBasePic->getHeight(); 176 } 177 178 if( confBL.getWindowBottomOffset() ) 179 { 180 tempBufSizeBottom = confBL.getWindowBottomOffset() * pcBasePic->getWidth (); 181 181 } 182 182 … … 241 241 for( i = 0; i < pcBasePic->getHeight(); i++ ) 242 242 { 243 memcpy(piDstY, piSrcY, sizeof(Pel) * pcBasePic->getPicCropRightOffset());243 memcpy(piDstY, piSrcY, sizeof(Pel) * confBL.getWindowRightOffset()); 244 244 piSrcY += iBStride; 245 piDstY += pcBasePic->getPicCropRightOffset();245 piDstY += confBL.getWindowRightOffset(); 246 246 } 247 247 248 if( pcBasePic->getPicCropRightOffset()>>1)248 if(confBL.getWindowRightOffset()>>1) 249 249 { 250 250 Int iBStrideChroma = (iBStride>>1); 251 251 piSrcU = piSrcBufU + (iBWidth>>1); 252 piDstU = tempBufRight + pcBasePic->getPicCropRightOffset() * pcBasePic->getHeight();252 piDstU = tempBufRight + confBL.getWindowRightOffset() * pcBasePic->getHeight(); 253 253 piSrcV = piSrcBufV + (iBWidth>>1); 254 piDstV = piDstU + ( pcBasePic->getPicCropRightOffset()>>1) * (pcBasePic->getHeight()>>1);254 piDstV = piDstU + (confBL.getWindowRightOffset()>>1) * (pcBasePic->getHeight()>>1); 255 255 256 256 for( i = 0; i < pcBasePic->getHeight()>>1; i++ ) 257 257 { 258 memcpy(piDstU, piSrcU, sizeof(Pel) * ( pcBasePic->getPicCropRightOffset()>>1));258 memcpy(piDstU, piSrcU, sizeof(Pel) * (confBL.getWindowRightOffset()>>1)); 259 259 piSrcU += iBStrideChroma; 260 piDstU += ( pcBasePic->getPicCropRightOffset()>>1);260 piDstU += (confBL.getWindowRightOffset()>>1); 261 261 262 memcpy(piDstV, piSrcV, sizeof(Pel) * ( pcBasePic->getPicCropRightOffset()>>1));262 memcpy(piDstV, piSrcV, sizeof(Pel) * (confBL.getWindowRightOffset()>>1)); 263 263 piSrcV += iBStrideChroma; 264 piDstV += ( pcBasePic->getPicCropRightOffset()>>1);264 piDstV += (confBL.getWindowRightOffset()>>1); 265 265 } 266 266 } … … 273 273 piSrcY = piSrcBufY + iBHeight * iBStride; 274 274 piDstY = tempBufBottom; 275 for( i = 0; i < pcBasePic->getPicCropBottomOffset(); i++ )275 for( i = 0; i < confBL.getWindowBottomOffset(); i++ ) 276 276 { 277 277 memcpy(piDstY, piSrcY, sizeof(Pel) * pcBasePic->getWidth()); … … 280 280 } 281 281 282 if( pcBasePic->getPicCropBottomOffset()>>1)282 if(confBL.getWindowBottomOffset()>>1) 283 283 { 284 284 Int iBStrideChroma = (iBStride>>1); 285 285 piSrcU = piSrcBufU + (iBHeight>>1) * iBStrideChroma; 286 piDstU = tempBufBottom + pcBasePic->getPicCropBottomOffset() * pcBasePic->getWidth();286 piDstU = tempBufBottom + confBL.getWindowBottomOffset() * pcBasePic->getWidth(); 287 287 piSrcV = piSrcBufV + (iBHeight>>1) * iBStrideChroma; 288 piDstV = piDstU + ( pcBasePic->getPicCropBottomOffset()>>1) * (pcBasePic->getWidth()>>1);288 piDstV = piDstU + (confBL.getWindowBottomOffset()>>1) * (pcBasePic->getWidth()>>1); 289 289 290 for( i = 0; i < pcBasePic->getPicCropBottomOffset()>>1; i++ )290 for( i = 0; i < confBL.getWindowBottomOffset()>>1; i++ ) 291 291 { 292 292 memcpy(piDstU, piSrcU, sizeof(Pel) * (pcBasePic->getWidth()>>1)); … … 514 514 { 515 515 // put the correct width back 516 pcBasePic->setWidth(pcBasePic->getWidth() +pcBasePic->getPicCropRightOffset());516 pcBasePic->setWidth(pcBasePic->getWidth() + confBL.getWindowRightOffset()); 517 517 } 518 518 if( tempBufSizeBottom ) 519 519 { 520 pcBasePic->setHeight(pcBasePic->getHeight() +pcBasePic->getPicCropBottomOffset());521 } 522 523 iBWidth = pcBasePic->getWidth () - pcBasePic->getPicCropLeftOffset() - pcBasePic->getPicCropRightOffset();524 iBHeight = pcBasePic->getHeight() - pcBasePic->getPicCropTopOffset() - pcBasePic->getPicCropBottomOffset();520 pcBasePic->setHeight(pcBasePic->getHeight() + confBL.getWindowBottomOffset()); 521 } 522 523 iBWidth = pcBasePic->getWidth () - confBL.getWindowLeftOffset() - confBL.getWindowRightOffset(); 524 iBHeight = pcBasePic->getHeight() - confBL.getWindowTopOffset() - confBL.getWindowBottomOffset(); 525 525 526 526 iBStride = pcBasePic->getStride(); … … 533 533 for( i = 0; i < pcBasePic->getHeight(); i++ ) 534 534 { 535 memcpy(piDstY, piSrcY, sizeof(Pel) * pcBasePic->getPicCropRightOffset());536 piSrcY += pcBasePic->getPicCropRightOffset();535 memcpy(piDstY, piSrcY, sizeof(Pel) * confBL.getWindowRightOffset() ); 536 piSrcY += confBL.getWindowRightOffset(); 537 537 piDstY += iBStride; 538 538 } 539 539 540 if( pcBasePic->getPicCropRightOffset()>>1)540 if(confBL.getWindowRightOffset()>>1) 541 541 { 542 542 Int iBStrideChroma = (iBStride>>1); 543 piSrcU = tempBufRight + pcBasePic->getPicCropRightOffset() * pcBasePic->getHeight();543 piSrcU = tempBufRight + confBL.getWindowRightOffset() * pcBasePic->getHeight(); 544 544 piDstU = piSrcBufU + (iBWidth>>1); 545 piSrcV = piSrcU + ( pcBasePic->getPicCropRightOffset()>>1) * (pcBasePic->getHeight()>>1);545 piSrcV = piSrcU + (confBL.getWindowRightOffset()>>1) * (pcBasePic->getHeight()>>1); 546 546 piDstV = piSrcBufV + (iBWidth>>1); 547 547 548 548 for( i = 0; i < pcBasePic->getHeight()>>1; i++ ) 549 549 { 550 memcpy(piDstU, piSrcU, sizeof(Pel) * ( pcBasePic->getPicCropRightOffset()>>1));551 piSrcU += ( pcBasePic->getPicCropRightOffset()>>1);550 memcpy(piDstU, piSrcU, sizeof(Pel) * (confBL.getWindowRightOffset()>>1)); 551 piSrcU += (confBL.getWindowRightOffset()>>1); 552 552 piDstU += iBStrideChroma; 553 553 554 memcpy(piDstV, piSrcV, sizeof(Pel) * ( pcBasePic->getPicCropRightOffset()>>1));555 piSrcV += ( pcBasePic->getPicCropRightOffset()>>1);554 memcpy(piDstV, piSrcV, sizeof(Pel) * (confBL.getWindowRightOffset()>>1)); 555 piSrcV += (confBL.getWindowRightOffset()>>1); 556 556 piDstV += iBStrideChroma; 557 557 } … … 563 563 piDstY = piSrcBufY + iBHeight * iBStride; 564 564 piSrcY = tempBufBottom; 565 for( i = 0; i < pcBasePic->getPicCropBottomOffset(); i++ )565 for( i = 0; i < confBL.getWindowBottomOffset(); i++ ) 566 566 { 567 567 memcpy(piDstY, piSrcY, sizeof(Pel) * pcBasePic->getWidth()); … … 570 570 } 571 571 572 if( pcBasePic->getPicCropBottomOffset()>>1)572 if(confBL.getWindowBottomOffset()>>1) 573 573 { 574 574 Int iBStrideChroma = (iBStride>>1); 575 piSrcU = tempBufBottom + pcBasePic->getPicCropBottomOffset() * pcBasePic->getWidth();575 piSrcU = tempBufBottom + confBL.getWindowBottomOffset() * pcBasePic->getWidth(); 576 576 piDstU = piSrcBufU + (iBHeight>>1) * iBStrideChroma; 577 piSrcV = piSrcU + ( pcBasePic->getPicCropBottomOffset()>>1) * (pcBasePic->getWidth()>>1);577 piSrcV = piSrcU + (confBL.getWindowBottomOffset()>>1) * (pcBasePic->getWidth()>>1); 578 578 piDstV = piSrcBufV + (iBHeight>>1) * iBStrideChroma; 579 579 580 for( i = 0; i < pcBasePic->getPicCropBottomOffset()>>1; i++ )580 for( i = 0; i < confBL.getWindowBottomOffset()>>1; i++ ) 581 581 { 582 582 memcpy(piDstU, piSrcU, sizeof(Pel) * (pcBasePic->getWidth()>>1)); -
branches/HM-10.0-dev-SHM/source/Lib/TLibCommon/TypeDef.h
r54 r56 79 79 80 80 #else 81 #define INTRA_BL 0///< inter-layer texture prediction81 #define INTRA_BL 1 ///< inter-layer texture prediction 82 82 83 83 #if INTRA_BL … … 439 439 MODE_INTER, ///< inter-prediction mode 440 440 MODE_INTRA, ///< intra-prediction mode 441 #if INTRA_BL 442 MODE_INTRA_BL, ///< inter-layer intra-prediction mode 443 #endif 441 444 MODE_NONE = 15 442 445 };
Note: See TracChangeset for help on using the changeset viewer.