Changeset 593 in SHVCSoftware for branches/SHM-5.0-dev/source/Lib/TLibCommon/TComDataCU.h
- Timestamp:
- 2 Feb 2014, 04:51:29 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-5.0-dev/source/Lib/TLibCommon/TComDataCU.h
r540 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 55 55 //! \{ 56 56 57 #if !HM_CLEANUP_SAO58 // ====================================================================================================================59 // Non-deblocking in-loop filter processing block data structure60 // ====================================================================================================================61 62 /// Non-deblocking filter processing block border tag63 enum NDBFBlockBorderTag64 {65 SGU_L = 0,66 SGU_R,67 SGU_T,68 SGU_B,69 SGU_TL,70 SGU_TR,71 SGU_BL,72 SGU_BR,73 NUM_SGU_BORDER74 };75 76 /// Non-deblocking filter processing block information77 struct NDBFBlockInfo78 {79 Int tileID; //!< tile ID80 Int sliceID; //!< slice ID81 UInt startSU; //!< starting SU z-scan address in LCU82 UInt endSU; //!< ending SU z-scan address in LCU83 UInt widthSU; //!< number of SUs in width84 UInt heightSU; //!< number of SUs in height85 UInt posX; //!< top-left X coordinate in picture86 UInt posY; //!< top-left Y coordinate in picture87 UInt width; //!< number of pixels in width88 UInt height; //!< number of pixels in height89 Bool isBorderAvailable[NUM_SGU_BORDER]; //!< the border availabilities90 Bool allBordersAvailable;91 92 NDBFBlockInfo():tileID(0), sliceID(0), startSU(0), endSU(0) {} //!< constructor93 const NDBFBlockInfo& operator= (const NDBFBlockInfo& src); //!< "=" operator94 };95 #endif96 97 98 57 // ==================================================================================================================== 99 58 // Class definition … … 161 120 Pel* m_pcIPCMSampleCr; ///< PCM sample buffer (Cr) 162 121 163 #if !HM_CLEANUP_SAO164 Int* m_piSliceSUMap; ///< pointer of slice ID map165 std::vector<NDBFBlockInfo> m_vNDFBlock;166 #endif167 122 // ------------------------------------------------------------------------------------------------------------------- 168 123 // neighbour access variables … … 241 196 242 197 Void initCU ( TComPic* pcPic, UInt uiCUAddr ); 243 Void initEstData ( UInt uiDepth, Int qp );198 Void initEstData ( UInt uiDepth, Int qp, Bool bTransquantBypass ); 244 199 Void initSubCU ( TComDataCU* pcCU, UInt uiPartUnitIdx, UInt uiDepth, Int qp ); 245 200 Void setOutsideCUPart ( UInt uiAbsPartIdx, UInt uiDepth ); … … 392 347 Void setIPCMFlagSubParts (Bool bIpcmFlag, UInt uiAbsPartIdx, UInt uiDepth); 393 348 394 #if !HM_CLEANUP_SAO395 /// get slice ID for SU396 Int getSUSliceID (UInt uiIdx) {return m_piSliceSUMap[uiIdx]; }397 398 /// get the pointer of slice ID map399 Int* getSliceSUMap () {return m_piSliceSUMap; }400 401 /// set the pointer of slice ID map402 Void setSliceSUMap (Int *pi) {m_piSliceSUMap = pi; }403 404 std::vector<NDBFBlockInfo>* getNDBFilterBlocks() {return &m_vNDFBlock;}405 Void setNDBFilterBlockBorderAvailability(UInt numLCUInPicWidth, UInt numLCUInPicHeight, UInt numSUInLCUWidth, UInt numSUInLCUHeight, UInt picWidth, UInt picHeight406 ,std::vector<Bool>& LFCrossSliceBoundary407 ,Bool bTopTileBoundary, Bool bDownTileBoundary, Bool bLeftTileBoundary, Bool bRightTileBoundary408 ,Bool bIndependentTileBoundaryEnabled );409 #endif410 349 // ------------------------------------------------------------------------------------------------------------------- 411 350 // member functions for accessing partition information … … 442 381 443 382 Void compressMV (); 444 445 #if SVC_EXTENSION446 Void setLayerId (UInt layerId) { m_layerId = layerId; }447 UInt getLayerId () { return m_layerId; }448 #endif449 383 450 384 // ------------------------------------------------------------------------------------------------------------------- … … 490 424 Void deriveLeftBottomIdxGeneral ( UInt uiAbsPartIdx, UInt uiPartIdx, UInt& ruiPartIdxLB ); 491 425 426 492 427 // ------------------------------------------------------------------------------------------------------------------- 493 428 // member functions for modes … … 497 432 Bool isSkipped ( UInt uiPartIdx ); ///< SKIP (no residual) 498 433 Bool isBipredRestriction( UInt puIdx ); 499 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI500 Bool isInterLayerReference(UChar uhInterDir, TComMvField& cMvFieldL0, TComMvField& cMvFieldL1);501 #endif502 434 503 435 // ------------------------------------------------------------------------------------------------------------------- … … 525 457 526 458 #if SVC_EXTENSION 459 Void setLayerId (UInt layerId) { m_layerId = layerId; } 460 UInt getLayerId () { return m_layerId; } 461 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 462 Bool isInterLayerReference(UChar uhInterDir, TComMvField& cMvFieldL0, TComMvField& cMvFieldL1); 463 #endif 527 464 #if FAST_INTRA_SHVC 528 465 Int reduceSetOfIntraModes ( UInt uiAbsPartIdx, Int* uiIntraDirPred, Int &fullSetOfModes ); 529 466 #endif 530 531 467 #if REF_IDX_ME_ZEROMV 532 468 Bool xCheckZeroMVILRMerge(UChar uhInterDir, TComMvField& cMvFieldL0, TComMvField& cMvFieldL1); 533 469 Bool xCheckZeroMVILRMvdL1Zero(Int iRefList, Int iRefIdx, Int MvpIdx); 534 470 #endif 471 TComDataCU* getBaseColCU( UInt refLayerIdc, UInt uiCuAbsPartIdx, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping = 0 ); 472 TComDataCU* getBaseColCU( UInt refLayerIdc, UInt uiPelX, UInt uiPelY, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping = 0 ); 473 Void scaleBaseMV( UInt refLayerIdc, TComMvField& rcMvFieldEnhance, TComMvField& rcMvFieldBase ); 535 474 #endif 536 475 … … 546 485 UInt getCoefScanIdx(UInt uiAbsPartIdx, UInt uiWidth, Bool bIsLuma, Bool bIsIntra); 547 486 548 #if SVC_EXTENSION549 TComDataCU* getBaseColCU( UInt refLayerIdc, UInt uiCuAbsPartIdx, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping = 0 );550 TComDataCU* getBaseColCU( UInt refLayerIdc, UInt uiPelX, UInt uiPelY, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping = 0 );551 Void scaleBaseMV( UInt refLayerIdc, TComMvField& rcMvFieldEnhance, TComMvField& rcMvFieldBase );552 #endif553 487 }; 554 488
Note: See TracChangeset for help on using the changeset viewer.