Changeset 1600 in SHVCSoftware
- Timestamp:
- 30 Nov 2017, 18:22:35 (7 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComDataCU.cpp
r1574 r1600 2329 2329 if ( getSlice()->getEnableTMVPFlag() ) 2330 2330 { 2331 #if SVC_EXTENSION 2332 TComPic* colPic = m_pcSlice->getRefPic( RefPicList( getSlice()->isInterB() ? 1 - getSlice()->getColFromL0Flag() : 0 ), getSlice()->getColRefIdx() ); 2333 Bool replaceWithILRP = colPic->isILR( m_pcPic->getLayerId() ) && ( m_pcPic->getMinCUWidth() > 16 || m_pcPic->getMinCUHeight() > 16 ); 2334 #endif 2331 2335 //>> MTK colocated-RightBottom 2332 2336 UInt uiPartIdxRB; … … 2348 2352 ( uiAbsPartIdxTmp / numPartInCtuWidth < numPartInCtuHeight - 1 ) ) // is not at the last row of CTU 2349 2353 { 2354 #if SVC_EXTENSION 2355 if( replaceWithILRP ) 2356 { 2357 UInt brILRPIdx = xDeriveRightBottomIdxForILRP( uiPUIdx, colPic ); 2358 uiAbsPartAddr = colPic->getRasterToZscanILRP()[brILRPIdx + colPic->getNumPartInCtuWidth() + 1]; 2359 } 2360 else 2361 #endif 2350 2362 uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + numPartInCtuWidth + 1 ]; 2351 2363 ctuRsAddr = getCtuRsAddr(); … … 2357 2369 else if ( uiAbsPartIdxTmp / numPartInCtuWidth < numPartInCtuHeight - 1 ) // is not at the last row of CTU But is last column of CTU 2358 2370 { 2371 #if SVC_EXTENSION 2372 if( replaceWithILRP ) 2373 { 2374 UInt brILRPIdx = xDeriveRightBottomIdxForILRP( uiPUIdx, colPic ); 2375 uiAbsPartAddr = colPic->getRasterToZscanILRP()[brILRPIdx + 1]; 2376 } 2377 else 2378 #endif 2359 2379 uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + 1 ]; 2360 2380 ctuRsAddr = getCtuRsAddr() + 1; … … 2372 2392 Int dir = 0; 2373 2393 UInt uiArrayAddr = iCount; 2394 #if SVC_EXTENSION 2395 if( replaceWithILRP ) 2396 { 2397 uiPartIdxCenter = xDeriveCenterIdxForILRP( uiPUIdx, colPic ); 2398 } 2399 else 2400 #endif 2374 2401 xDeriveCenterIdx( uiPUIdx, uiPartIdxCenter ); 2375 2402 bExistMV = ctuRsAddr >= 0 && xGetColMVP( REF_PIC_LIST_0, ctuRsAddr, uiAbsPartAddr, cColMv, iRefIdx ); … … 2667 2694 UInt absPartIdx; 2668 2695 2696 #if SVC_EXTENSION 2697 TComPic* colPic = m_pcSlice->getRefPic( RefPicList( getSlice()->isInterB() ? 1 - getSlice()->getColFromL0Flag() : 0 ), getSlice()->getColRefIdx()); 2698 Bool replaceWithILRP = colPic->isILR( m_pcPic->getLayerId() ) && ( m_pcPic->getMinCUWidth() > 16 || m_pcPic->getMinCUHeight() > 16 ); 2699 #endif 2700 2669 2701 deriveRightBottomIdx( partIdx, partIdxRB ); 2670 2702 UInt absPartAddr = m_absZIdxInCtu + partAddr; … … 2679 2711 ( absPartIdx / numPartInCtuWidth < numPartInCtuHeight - 1 ) ) // is not at the last row of CTU 2680 2712 { 2713 #if SVC_EXTENSION 2714 if( replaceWithILRP ) 2715 { 2716 UInt brILRPIdx = xDeriveRightBottomIdxForILRP( partIdx, colPic ); 2717 absPartAddr = colPic->getRasterToZscanILRP()[brILRPIdx + colPic->getNumPartInCtuWidth() + 1]; 2718 } 2719 else 2720 #endif 2681 2721 absPartAddr = g_auiRasterToZscan[ absPartIdx + numPartInCtuWidth + 1 ]; 2682 2722 ctuRsAddr = getCtuRsAddr(); … … 2688 2728 else if ( absPartIdx / numPartInCtuWidth < numPartInCtuHeight - 1 ) // is not at the last row of CTU But is last column of CTU 2689 2729 { 2730 #if SVC_EXTENSION 2731 if( replaceWithILRP ) 2732 { 2733 UInt brILRPIdx = xDeriveRightBottomIdxForILRP( partIdx, colPic ); 2734 absPartAddr = colPic->getRasterToZscanILRP()[brILRPIdx + 1]; 2735 } 2736 else 2737 #endif 2690 2738 absPartAddr = g_auiRasterToZscan[ absPartIdx + 1 ]; 2691 2739 ctuRsAddr = getCtuRsAddr() + 1; … … 2703 2751 { 2704 2752 UInt uiPartIdxCenter; 2753 #if SVC_EXTENSION 2754 if( replaceWithILRP ) 2755 { 2756 uiPartIdxCenter = xDeriveCenterIdxForILRP( partIdx, colPic ); 2757 } 2758 else 2759 #endif 2705 2760 xDeriveCenterIdx( partIdx, uiPartIdxCenter ); 2706 2761 if (xGetColMVP( eRefPicList, getCtuRsAddr(), uiPartIdxCenter, cColMv, refIdx_Col )) … … 3407 3462 #endif 3408 3463 3464 // Inter-layer reference picture has a motion field for each 16x16 block, however if the current picture has a min CU size greater than 16x16 then the motion field has to be calculated based on 16x16 accuracy 3465 UInt TComDataCU::xDeriveRightBottomIdxForILRP( UInt partIdx, TComPic* refILP ) const 3466 { 3467 // convert m_absZIdxInCtu to the ILRP z-index 3468 UInt pelX = m_uiCUPelX + g_auiRasterToPelX[g_auiZscanToRaster[m_absZIdxInCtu]]; 3469 UInt pelY = m_uiCUPelY + g_auiRasterToPelY[g_auiZscanToRaster[m_absZIdxInCtu]]; 3470 3471 UInt maxCUHeight = refILP->getSlice( 0 )->getSPS()->getMaxCUHeight(); 3472 UInt maxCUWidth = refILP->getSlice( 0 )->getSPS()->getMaxCUWidth(); 3473 UInt minUnitSize = refILP->getMinCUWidth(); 3474 3475 UInt absZIdxInCtu = ( pelY - ( pelY / maxCUHeight )*maxCUHeight ) / minUnitSize * refILP->getNumPartInCtuWidth() + ( pelX - ( pelX / maxCUWidth )*maxCUWidth ) / minUnitSize; 3476 absZIdxInCtu = refILP->getRasterToZscanILRP()[absZIdxInCtu]; 3477 3478 UInt partIdxBR = refILP->getRasterToZscanILRP()[refILP->getZscanToRasterILRP()[absZIdxInCtu] + ( ( ( m_puhHeight[0] / refILP->getMinCUHeight() ) >> 1 ) - 1 )*refILP->getNumPartInCtuWidth() + m_puhWidth[0] / refILP->getMinCUWidth() - 1]; 3479 3480 Int numPartitionsInCtu = refILP->getNumPartitionsInCtu(); 3481 3482 switch( m_pePartSize[0] ) 3483 { 3484 case SIZE_2Nx2N: 3485 partIdxBR += numPartitionsInCtu >> 1; 3486 break; 3487 case SIZE_2NxN: 3488 partIdxBR += ( partIdx == 0 ) ? 0 : numPartitionsInCtu >> 1; 3489 break; 3490 case SIZE_Nx2N: 3491 partIdxBR += ( partIdx == 0 ) ? numPartitionsInCtu >> 2 : ( numPartitionsInCtu >> 1 ); 3492 break; 3493 case SIZE_NxN: 3494 partIdxBR += ( numPartitionsInCtu >> 2 ) * ( partIdx - 1 ); 3495 break; 3496 case SIZE_2NxnU: 3497 partIdxBR += ( partIdx == 0 ) ? -( Int(numPartitionsInCtu) >> 3 ) : numPartitionsInCtu >> 1; 3498 break; 3499 case SIZE_2NxnD: 3500 partIdxBR += ( partIdx == 0 ) ? ( numPartitionsInCtu >> 2 ) + ( numPartitionsInCtu >> 3 ) : numPartitionsInCtu >> 1; 3501 break; 3502 case SIZE_nLx2N: 3503 partIdxBR += ( partIdx == 0 ) ? ( numPartitionsInCtu >> 3 ) + ( numPartitionsInCtu >> 4 ) : numPartitionsInCtu >> 1; 3504 break; 3505 case SIZE_nRx2N: 3506 partIdxBR += ( partIdx == 0 ) ? ( numPartitionsInCtu >> 2 ) + ( numPartitionsInCtu >> 3 ) + ( numPartitionsInCtu >> 4 ) : numPartitionsInCtu >> 1; 3507 break; 3508 default: 3509 assert( 0 ); 3510 break; 3511 } 3512 3513 partIdxBR = refILP->getZscanToRasterILRP()[absZIdxInCtu + partIdxBR]; 3514 3515 return partIdxBR; 3516 } 3517 3518 // Inter-layer reference picture has a motion field for each 16x16 block, however if the current picture has a min CU size greater than 16x16 then the motion field has to be calculated based on 16x16 accuracy 3519 UInt TComDataCU::xDeriveCenterIdxForILRP( UInt partIdx, TComPic* refILP ) const 3520 { 3521 UInt partAddr; 3522 Int partWidth; 3523 Int partHeight; 3524 3525 UInt numPartitionsInCtu = refILP->getNumPartitionsInCtu(); 3526 3527 switch( m_pePartSize[0] ) 3528 { 3529 case SIZE_2NxN: 3530 partWidth = m_puhWidth[0]; partHeight = m_puhHeight[0] >> 1; partAddr = ( partIdx == 0 ) ? 0 : numPartitionsInCtu >> 1; 3531 break; 3532 case SIZE_Nx2N: 3533 partWidth = m_puhWidth[0] >> 1; partHeight = m_puhHeight[0]; partAddr = ( partIdx == 0 ) ? 0 : numPartitionsInCtu >> 2; 3534 break; 3535 case SIZE_NxN: 3536 partWidth = m_puhWidth[0] >> 1; partHeight = m_puhHeight[0] >> 1; partAddr = ( numPartitionsInCtu >> 2 ) * partIdx; 3537 break; 3538 case SIZE_2NxnU: 3539 partWidth = m_puhWidth[0]; 3540 partHeight = ( partIdx == 0 ) ? m_puhHeight[0] >> 2 : ( m_puhHeight[0] >> 2 ) + ( m_puhHeight[0] >> 1 ); 3541 partAddr = ( partIdx == 0 ) ? 0 : numPartitionsInCtu >> 3; 3542 break; 3543 case SIZE_2NxnD: 3544 partWidth = m_puhWidth[0]; 3545 partHeight = ( partIdx == 0 ) ? ( m_puhHeight[0] >> 2 ) + ( m_puhHeight[0] >> 1 ) : m_puhHeight[0] >> 2; 3546 partAddr = ( partIdx == 0 ) ? 0 : ( numPartitionsInCtu >> 1 ) + ( numPartitionsInCtu >> 3 ); 3547 break; 3548 case SIZE_nLx2N: 3549 partWidth = ( partIdx == 0 ) ? m_puhWidth[0] >> 2 : ( m_puhWidth[0] >> 2 ) + ( m_puhWidth[0] >> 1 ); 3550 partHeight = m_puhHeight[0]; 3551 partAddr = ( partIdx == 0 ) ? 0 : numPartitionsInCtu >> 4; 3552 break; 3553 case SIZE_nRx2N: 3554 partWidth = ( partIdx == 0 ) ? ( m_puhWidth[0] >> 2 ) + ( m_puhWidth[0] >> 1 ) : m_puhWidth[0] >> 2; 3555 partHeight = m_puhHeight[0]; 3556 partAddr = ( partIdx == 0 ) ? 0 : ( numPartitionsInCtu >> 2 ) + ( numPartitionsInCtu >> 4 ); 3557 break; 3558 default: 3559 assert( m_pePartSize[0] == SIZE_2Nx2N ); 3560 partWidth = m_puhWidth[0]; partHeight = m_puhHeight[0]; partAddr = 0; 3561 break; 3562 } 3563 3564 // convert m_absZIdxInCtu to the ILRP z-index 3565 UInt pelX = m_uiCUPelX + g_auiRasterToPelX[g_auiZscanToRaster[m_absZIdxInCtu]]; 3566 UInt pelY = m_uiCUPelY + g_auiRasterToPelY[g_auiZscanToRaster[m_absZIdxInCtu]]; 3567 3568 UInt maxCUHeight = refILP->getSlice( 0 )->getSPS()->getMaxCUHeight(); 3569 UInt maxCUWidth = refILP->getSlice( 0 )->getSPS()->getMaxCUWidth(); 3570 UInt minUnitSize = refILP->getMinCUWidth(); 3571 3572 UInt absZIdxInCtu = ( pelY - ( pelY / maxCUHeight )*maxCUHeight ) / minUnitSize * refILP->getNumPartInCtuWidth() + ( pelX - ( pelX / maxCUWidth )*maxCUWidth ) / minUnitSize; 3573 absZIdxInCtu = refILP->getRasterToZscanILRP()[absZIdxInCtu]; 3574 3575 UInt partIdxCenter = absZIdxInCtu + partAddr; // partition origin. 3576 3577 partIdxCenter = refILP->getRasterToZscanILRP()[refILP->getZscanToRasterILRP()[partIdxCenter] 3578 + ( partHeight / refILP->getMinCUHeight() ) / 2 * refILP->getNumPartInCtuWidth() 3579 + ( partWidth / refILP->getMinCUWidth() ) / 2]; 3580 3581 return partIdxCenter; 3582 } 3583 3409 3584 #endif //SVC_EXTENSION 3410 3585 //! \} -
branches/SHM-dev/source/Lib/TLibCommon/TComDataCU.h
r1573 r1600 171 171 Void xDeriveCenterIdx ( UInt uiPartIdx, UInt& ruiPartIdxCenter ) const; 172 172 173 #if SVC_EXTENSION 174 UInt xDeriveRightBottomIdxForILRP ( UInt partIdx, TComPic* refILP ) const; 175 UInt xDeriveCenterIdxForILRP ( UInt partIdx, TComPic* refILP ) const; 176 #endif 177 173 178 public: 174 179 TComDataCU(); -
branches/SHM-dev/source/Lib/TLibCommon/TComPic.cpp
r1578 r1600 79 79 #if SVC_EXTENSION 80 80 #if REDUCED_ENCODER_MEMORY 81 Void TComPic::create( const TComSPS &sps, const TComPPS &pps, const Bool bCreateEncoderSourcePicYuv, const Bool bCreateForImmediateReconstruction, const UInt layerId )82 #else 83 Void TComPic::create( const TComSPS &sps, const TComPPS &pps, const Bool bIsVirtual, const UInt layerId )81 Void TComPic::create( const TComSPS &sps, const TComPPS &pps, const Bool bCreateEncoderSourcePicYuv, const Bool bCreateForImmediateReconstruction, const UInt layerId, const Bool isILRP ) 82 #else 83 Void TComPic::create( const TComSPS &sps, const TComPPS &pps, const Bool bIsVirtual, const UInt layerId, const Bool isILRP ) 84 84 #endif 85 85 { … … 91 91 const UInt uiMaxCuWidth = sps.getMaxCUWidth(); 92 92 const UInt uiMaxCuHeight = sps.getMaxCUHeight(); 93 #if SVC_EXTENSION 94 UInt maxDepth = 0; 95 if( isILRP ) 96 { 97 while( ( uiMaxCuWidth >> maxDepth ) > 16 ) 98 { 99 maxDepth++; 100 } 101 } 102 103 const UInt uiMaxDepth = ( ( uiMaxCuWidth >> sps.getMaxTotalCUDepth() ) > 16 && isILRP ) ? maxDepth : sps.getMaxTotalCUDepth(); 104 105 if( isILRP ) 106 { 107 m_maxILRPdepth = uiMaxDepth; 108 109 UInt* piTmp = &m_auiZscanToRaster[0]; 110 initZscanToRaster( m_maxILRPdepth + 1, 1, 0, piTmp ); 111 initRasterToZscan( uiMaxCuWidth, uiMaxCuHeight, m_maxILRPdepth + 1, m_auiZscanToRaster, m_auiRasterToZscan ); 112 initRasterToPelXY( uiMaxCuWidth, uiMaxCuHeight, m_maxILRPdepth + 1, m_auiRasterToPelX, m_auiRasterToPelY ); 113 } 114 #else 93 115 const UInt uiMaxDepth = sps.getMaxTotalCUDepth(); 116 #endif 94 117 const Window& conformanceWindow = sps.getConformanceWindow(); 95 118 … … 485 508 { 486 509 const TComSPS *sps = getSlice(0)->getSPS(); 487 const UInt uiMaxDepth = sps->getMaxTotalCUDepth();510 const UInt uiMaxDepth = m_maxILRPdepth; 488 511 const UInt numPartitions = 1<<(uiMaxDepth<<1); 489 512 const UInt widthMinPU = sps->getMaxCUWidth() / (1<<uiMaxDepth); … … 502 525 { 503 526 //pixel position of each unit in up-sampled layer 504 UInt pelX = pcCUDes->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[absPartIdx] ];505 UInt pelY = pcCUDes->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[absPartIdx] ];527 UInt pelX = pcCUDes->getCUPelX() + m_auiRasterToPelX[ m_auiZscanToRaster[absPartIdx] ]; 528 UInt pelY = pcCUDes->getCUPelY() + m_auiRasterToPelY[ m_auiZscanToRaster[absPartIdx] ]; 506 529 UInt baseCUAddr, baseAbsPartIdx; 507 530 … … 558 581 Void TComPic::initUpsampledMvField() 559 582 { 560 const TComSPS *sps = getSlice(0)->getSPS(); 561 const UInt uiMaxDepth = sps->getMaxTotalCUDepth(); 583 const UInt uiMaxDepth = m_maxILRPdepth; 562 584 const UInt numPartitions = 1<<(uiMaxDepth<<1); 563 585 -
branches/SHM-dev/source/Lib/TLibCommon/TComPic.h
r1574 r1600 87 87 #if SVC_EXTENSION 88 88 UInt m_layerId; // Layer ID 89 UInt m_maxILRPdepth; // max depth for ILRP 90 UInt m_auiZscanToRaster[MAX_NUM_PART_IDXS_IN_CTU_WIDTH*MAX_NUM_PART_IDXS_IN_CTU_WIDTH]; // for ILRP 91 UInt m_auiRasterToZscan[MAX_NUM_PART_IDXS_IN_CTU_WIDTH*MAX_NUM_PART_IDXS_IN_CTU_WIDTH]; // for ILRP 92 UInt m_auiRasterToPelX[MAX_NUM_PART_IDXS_IN_CTU_WIDTH*MAX_NUM_PART_IDXS_IN_CTU_WIDTH]; // for ILRP 93 UInt m_auiRasterToPelY[MAX_NUM_PART_IDXS_IN_CTU_WIDTH*MAX_NUM_PART_IDXS_IN_CTU_WIDTH]; // for ILRP 89 94 Bool m_requireResampling[MAX_LAYERS]; // whether current layer requires resampling 90 95 TComPicYuv* m_pcFullPelBaseRec[MAX_LAYERS]; // upsampled base layer recontruction for difference domain inter prediction … … 103 108 #if REDUCED_ENCODER_MEMORY 104 109 #if SVC_EXTENSION 105 Void create( const TComSPS &sps, const TComPPS &pps, const Bool bCreateEncoderSourcePicYuv, const Bool bCreateForImmediateReconstruction, const UInt layerId );110 Void create( const TComSPS &sps, const TComPPS &pps, const Bool bCreateEncoderSourcePicYuv, const Bool bCreateForImmediateReconstruction, const UInt layerId, const Bool isILRP = false ); 106 111 #else 107 112 Void create( const TComSPS &sps, const TComPPS &pps, const Bool bCreateEncoderSourcePicYuv, const Bool bCreateForImmediateReconstruction ); … … 114 119 #else 115 120 #if SVC_EXTENSION 116 Void create( const TComSPS &sps, const TComPPS &pps, const Bool bIsVirtual /*= false*/, const UInt layerId );121 Void create( const TComSPS &sps, const TComPPS &pps, const Bool bIsVirtual /*= false*/, const UInt layerId, const Bool isILRP = false ); 117 122 #else 118 123 Void create( const TComSPS &sps, const TComPPS &pps, const Bool bIsVirtual /*= false*/ ); … … 231 236 Bool isCurrAu() const { return m_currAuFlag; } 232 237 Void setCurrAuFlag(Bool x) { m_currAuFlag = x; } 238 239 UInt* getZscanToRasterILRP() { return m_auiZscanToRaster; } 240 UInt* getRasterToZscanILRP() { return m_auiRasterToZscan; } 233 241 #endif //SVC_EXTENSION 234 242 };// END CLASS DEFINITION TComPic -
branches/SHM-dev/source/Lib/TLibCommon/TComRom.cpp
r1550 r1600 378 378 } 379 379 380 uiTempY[0] = 0; 380 381 for ( i = 1; i < uiNumPartInWidth*uiNumPartInHeight; i++ ) 381 382 { … … 732 733 #endif 733 734 735 #if SVC_EXTENSION 736 Void initRasterToZscan( UInt uiMaxCUWidth, UInt uiMaxCUHeight, UInt uiMaxDepth, UInt* inZscanToRaster, UInt* outRasterToZscan ) 737 { 738 UInt uiMinCUWidth = uiMaxCUWidth >> ( uiMaxDepth - 1 ); 739 UInt uiMinCUHeight = uiMaxCUHeight >> ( uiMaxDepth - 1 ); 740 741 UInt uiNumPartInWidth = (UInt)uiMaxCUWidth / uiMinCUWidth; 742 UInt uiNumPartInHeight = (UInt)uiMaxCUHeight / uiMinCUHeight; 743 744 for( UInt i = 0; i < uiNumPartInWidth*uiNumPartInHeight; i++ ) 745 { 746 outRasterToZscan[inZscanToRaster[i]] = i; 747 } 748 } 749 750 Void initRasterToPelXY( UInt uiMaxCUWidth, UInt uiMaxCUHeight, UInt uiMaxDepth, UInt* outRasterToPelX, UInt* outRasterToPelY ) 751 { 752 UInt i; 753 754 UInt* uiTempX = outRasterToPelX; 755 UInt* uiTempY = outRasterToPelY; 756 757 UInt uiMinCUWidth = uiMaxCUWidth >> ( uiMaxDepth - 1 ); 758 UInt uiMinCUHeight = uiMaxCUHeight >> ( uiMaxDepth - 1 ); 759 760 UInt uiNumPartInWidth = uiMaxCUWidth / uiMinCUWidth; 761 UInt uiNumPartInHeight = uiMaxCUHeight / uiMinCUHeight; 762 763 uiTempX[0] = 0; uiTempX++; 764 for( i = 1; i < uiNumPartInWidth; i++ ) 765 { 766 uiTempX[0] = uiTempX[-1] + uiMinCUWidth; uiTempX++; 767 } 768 for( i = 1; i < uiNumPartInHeight; i++ ) 769 { 770 memcpy( uiTempX, uiTempX - uiNumPartInWidth, sizeof( *uiTempX )*uiNumPartInWidth ); 771 uiTempX += uiNumPartInWidth; 772 } 773 774 uiTempY[0] = 0; 775 for( i = 1; i < uiNumPartInWidth*uiNumPartInHeight; i++ ) 776 { 777 uiTempY[i] = ( i / uiNumPartInWidth ) * uiMinCUWidth; 778 } 779 } 780 #endif 781 734 782 //! \} -
branches/SHM-dev/source/Lib/TLibCommon/TComRom.h
r1550 r1600 178 178 #endif 179 179 180 #if SVC_EXTENSION 181 Void initRasterToZscan( UInt uiMaxCUWidth, UInt uiMaxCUHeight, UInt uiMaxDepth, UInt* inZscanToRaster, UInt* outRasterToZscan ); 182 Void initRasterToPelXY( UInt uiMaxCUWidth, UInt uiMaxCUHeight, UInt uiMaxDepth, UInt* outRasterToPelX, UInt* outRasterToPelY ); 183 #endif 184 180 185 //! \} 181 186 -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1585 r1600 99 99 #define ENCODER_FAST_MODE 1 ///< JCTVC-L0174: enable encoder fast mode. TestMethod 1 is enabled by setting to 1 and TestMethod 2 is enable by setting to 2. By default it is set to 1. 100 100 #define HIGHER_LAYER_IRAP_SKIP_FLAG 1 ///< JCTVC-O0199: Indication that higher layer IRAP picture uses skip blocks only 101 #define LAYER_CTB 0///< enable layer-specific CTB structure101 #define LAYER_CTB 1 ///< enable layer-specific CTB structure 102 102 103 103 /// SEI messages ------------------------- -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1578 r1600 2298 2298 2299 2299 #if REDUCED_ENCODER_MEMORY 2300 m_cIlpPic[j]->create(*sps, *pps, false, true, m_layerId );2301 #else 2302 m_cIlpPic[j]->create(*sps, *pps, true, m_layerId );2300 m_cIlpPic[j]->create(*sps, *pps, false, true, m_layerId, true); 2301 #else 2302 m_cIlpPic[j]->create(*sps, *pps, true, m_layerId, true); 2303 2303 #endif 2304 2304 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp
r1578 r1600 1758 1758 m_cIlpPic[j] = new TComPic; 1759 1759 #if REDUCED_ENCODER_MEMORY 1760 m_cIlpPic[j]->create(m_cSPS, m_cPPS, false, true, m_layerId );1760 m_cIlpPic[j]->create(m_cSPS, m_cPPS, false, true, m_layerId, true); 1761 1761 #else 1762 m_cIlpPic[j]->create(m_cSPS, m_cPPS, true, m_layerId );1762 m_cIlpPic[j]->create(m_cSPS, m_cPPS, true, m_layerId, true); 1763 1763 #endif 1764 1764 for (Int i=0; i<m_cIlpPic[j]->getPicSym()->getNumberOfCtusInFrame(); i++)
Note: See TracChangeset for help on using the changeset viewer.