Changeset 288 in SHVCSoftware for branches/SHM-2.1-dev/source/Lib/TLibEncoder
- Timestamp:
- 12 Jun 2013, 03:37:28 (12 years ago)
- Location:
- branches/SHM-2.1-dev/source/Lib/TLibEncoder
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r282 r288 584 584 #endif 585 585 { 586 Window scaledWindow = pcSPS->getScaledRefLayerWindow(); 587 WRITE_SVLC( scaledWindow.getWindowLeftOffset() >> 1, "scaled_ref_layer_left_offset" ); 588 WRITE_SVLC( scaledWindow.getWindowTopOffset() >> 1, "scaled_ref_layer_top_offset" ); 589 WRITE_SVLC( scaledWindow.getWindowRightOffset() >> 1, "scaled_ref_layer_right_offset" ); 590 WRITE_SVLC( scaledWindow.getWindowBottomOffset() >> 1, "scaled_ref_layer_bottom_offset" ); 586 WRITE_UVLC( pcSPS->getNumScaledRefLayerOffsets(), "num_scaled_ref_layer_offsets" ); 587 for(Int i = 0; i < pcSPS->getNumScaledRefLayerOffsets(); i++) 588 { 589 Window scaledWindow = pcSPS->getScaledRefLayerWindow(i); 590 WRITE_SVLC( scaledWindow.getWindowLeftOffset() >> 1, "scaled_ref_layer_left_offset" ); 591 WRITE_SVLC( scaledWindow.getWindowTopOffset() >> 1, "scaled_ref_layer_top_offset" ); 592 WRITE_SVLC( scaledWindow.getWindowRightOffset() >> 1, "scaled_ref_layer_right_offset" ); 593 WRITE_SVLC( scaledWindow.getWindowBottomOffset() >> 1, "scaled_ref_layer_bottom_offset" ); 594 } 591 595 } 592 596 #endif -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r282 r288 547 547 #if SIMPLIFIED_MV_POS_SCALING 548 548 #if SCALED_REF_LAYER_OFFSETS 549 const Window &scalEL = m_pcEncTop->getScaledRefLayerWindow( );549 const Window &scalEL = m_pcEncTop->getScaledRefLayerWindow(refLayerIdc); 550 550 551 551 Int widthBL = pcSlice->getBaseColPic(refLayerIdc)->getPicYuvRec()->getWidth(); … … 575 575 { 576 576 #if SCALED_REF_LAYER_OFFSETS 577 m_pcPredSearch->upsampleBasePic( refLayerIdc, pcPic->getFullPelBaseRec(refLayerIdc), pcSlice->getBaseColPic(refLayerIdc)->getPicYuvRec(), pcPic->getPicYuvRec(), pcSlice->getSPS()->getScaledRefLayerWindow( ) );577 m_pcPredSearch->upsampleBasePic( refLayerIdc, pcPic->getFullPelBaseRec(refLayerIdc), pcSlice->getBaseColPic(refLayerIdc)->getPicYuvRec(), pcPic->getPicYuvRec(), pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc) ); 578 578 #else 579 579 m_pcPredSearch->upsampleBasePic( refLayerIdc, pcPic->getFullPelBaseRec(refLayerIdc), pcSlice->getBaseColPic(refLayerIdc)->getPicYuvRec(), pcPic->getPicYuvRec() ); -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncTop.cpp
r282 r288 89 89 m_bMFMEnabledFlag = false; 90 90 #endif 91 #if SCALED_REF_LAYER_OFFSETS 92 m_numScaledRefLayerOffsets = 0; 93 #endif 91 94 } 92 95 … … 509 512 for(UInt i = 0; i < m_cVPS.getNumDirectRefLayers( m_layerId ); i++ ) 510 513 { 511 const Window scalEL = getSPS()->getScaledRefLayerWindow( );514 const Window scalEL = getSPS()->getScaledRefLayerWindow(i); 512 515 Bool zeroOffsets = ( scalEL.getWindowLeftOffset() == 0 && scalEL.getWindowRightOffset() == 0 && scalEL.getWindowTopOffset() == 0 && scalEL.getWindowBottomOffset() == 0 ); 513 516 … … 546 549 for(UInt i = 0; i < m_cVPS.getNumDirectRefLayers( m_layerId ); i++ ) 547 550 { 548 const Window scalEL = getSPS()->getScaledRefLayerWindow( );551 const Window scalEL = getSPS()->getScaledRefLayerWindow(i); 549 552 Bool zeroOffsets = ( scalEL.getWindowLeftOffset() == 0 && scalEL.getWindowRightOffset() == 0 && scalEL.getWindowTopOffset() == 0 && scalEL.getWindowBottomOffset() == 0 ); 550 553 … … 599 602 #endif 600 603 #if SCALED_REF_LAYER_OFFSETS 601 m_cSPS.getScaledRefLayerWindow() = m_scaledRefLayerWindow; 604 m_cSPS.setNumScaledRefLayerOffsets(m_numScaledRefLayerOffsets); 605 for(Int i = 0; i < m_cSPS.getNumScaledRefLayerOffsets(); i++) 606 { 607 m_cSPS.getScaledRefLayerWindow(i) = m_scaledRefLayerWindow[i]; 608 } 602 609 #endif 603 610 ProfileTierLevel& profileTierLevel = *m_cSPS.getPTL()->getGeneralPTL(); -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncTop.h
r250 r288 140 140 #endif 141 141 #if SCALED_REF_LAYER_OFFSETS 142 Window m_scaledRefLayerWindow; 142 UInt m_numScaledRefLayerOffsets; 143 Window m_scaledRefLayerWindow[MAX_LAYERS]; 143 144 #endif 144 145 protected: … … 207 208 #endif 208 209 #if SCALED_REF_LAYER_OFFSETS 209 Window& getScaledRefLayerWindow() { return m_scaledRefLayerWindow; } 210 Void setNumScaledRefLayerOffsets(Int x) { m_numScaledRefLayerOffsets = x; } 211 UInt getNumScaledRefLayerOffsets() { return m_numScaledRefLayerOffsets; } 212 Window& getScaledRefLayerWindow(Int x) { return m_scaledRefLayerWindow[x]; } 210 213 #endif 211 214
Note: See TracChangeset for help on using the changeset viewer.