Changeset 609 in SHVCSoftware for branches/SHM-5.1-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
7 Feb 2014, 21:34:19 (12 years ago)
Author:
seregin
Message:

merge SAO fix from SHM-5.0-dev

Location:
branches/SHM-5.1-dev/source
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.1-dev/source

  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecSbac.cpp

    r595 r609  
    13941394
    13951395Void TDecSbac::parseSAOBlkParam (SAOBlkParam& saoBlkParam
     1396#if SVC_EXTENSION
     1397                                , UInt* saoMaxOffsetQVal
     1398#endif
    13961399                                , Bool* sliceEnabled
    13971400                                , Bool leftMergeAvail
     
    14681471        for(Int i=0; i< 4; i++)
    14691472        {
     1473#if SVC_EXTENSION
     1474          parseSaoMaxUvlc(uiSymbol,  saoMaxOffsetQVal[compIdx] ); //sao_offset_abs
     1475#else
    14701476          parseSaoMaxUvlc(uiSymbol,  g_saoMaxOffsetQVal[compIdx] ); //sao_offset_abs
     1477#endif
    14711478          offset[i] = (Int)uiSymbol;
    14721479        }
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecSbac.h

    r595 r609  
    9090  Void  parseSaoTypeIdx           ( UInt&  ruiVal  );
    9191  Void  parseSaoUflc              ( UInt uiLength, UInt& ruiVal     );
     92
     93#if SVC_EXTENSION
     94  Void parseSAOBlkParam (SAOBlkParam& saoBlkParam, UInt* saoMaxOffsetQVal, Bool* sliceEnabled, Bool leftMergeAvail, Bool aboveMergeAvail );
     95#else
    9296  Void parseSAOBlkParam (SAOBlkParam& saoBlkParam, Bool* sliceEnabled, Bool leftMergeAvail, Bool aboveMergeAvail);
     97#endif
    9398  Void parseSaoSign(UInt& val);
    9499private:
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecSlice.cpp

    r595 r609  
    105105
    106106#if SVC_EXTENSION
    107 Void TDecSlice::init(TDecTop** ppcDecTop,TDecEntropy* pcEntropyDecoder, TDecCu* pcCuDecoder)
     107Void TDecSlice::init(TDecEntropy* pcEntropyDecoder, TDecCu* pcCuDecoder, UInt* saoMaxOffsetQVal)
    108108{
    109109  m_pcEntropyDecoder  = pcEntropyDecoder;
    110110  m_pcCuDecoder       = pcCuDecoder;
    111   m_ppcTDecTop        = ppcDecTop;
     111  m_saoMaxOffsetQVal  = saoMaxOffsetQVal;
    112112}
    113113#else
     
    347347          aboveMergeAvail = rpcPic->getSAOMergeAvailability(iCUAddr, iCUAddr-uiWidthInLCUs);
    348348        }
    349 
     349#if SVC_EXTENSION
     350        pcSbacDecoder->parseSAOBlkParam( saoblkParam, m_saoMaxOffsetQVal, sliceEnabled, leftMergeAvail, aboveMergeAvail);
     351#else
    350352        pcSbacDecoder->parseSAOBlkParam( saoblkParam, sliceEnabled, leftMergeAvail, aboveMergeAvail);
     353#endif
    351354      }
    352355      else
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecSlice.h

    r595 r609  
    7272  std::vector<TDecSbac*> CTXMem;
    7373#if SVC_EXTENSION
    74   TDecTop**       m_ppcTDecTop;
     74  UInt*           m_saoMaxOffsetQVal;
    7575#endif
    7676 
     
    8080 
    8181#if SVC_EXTENSION 
    82   Void  init              ( TDecTop** ppcDecTop, TDecEntropy* pcEntropyDecoder, TDecCu* pcMbDecoder );
     82  Void  init              ( TDecEntropy* pcEntropyDecoder, TDecCu* pcMbDecoder, UInt* saoMaxOffsetQVal );
    8383#else
    8484  Void  init              ( TDecEntropy* pcEntropyDecoder, TDecCu* pcMbDecoder );
     
    9191  Void      setCtxMem( TDecSbac* sb, Int b )   { CTXMem[b] = sb; }
    9292  Int       getCtxMemSize( )                   { return (Int)CTXMem.size(); }
    93 #if SVC_EXTENSION
    94   TDecTop*  getLayerDec   ( UInt LayerId )  { return m_ppcTDecTop[LayerId]; } 
    95 #endif
    9693};
    9794
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r595 r609  
    138138#if SVC_EXTENSION
    139139  m_cGopDecoder.init( m_ppcTDecTop, &m_cEntropyDecoder, &m_cSbacDecoder, &m_cBinCABAC, &m_cCavlcDecoder, &m_cSliceDecoder, &m_cLoopFilter, &m_cSAO);
    140   m_cSliceDecoder.init( m_ppcTDecTop, &m_cEntropyDecoder, &m_cCuDecoder );
     140  m_cSliceDecoder.init( &m_cEntropyDecoder, &m_cCuDecoder, m_cSAO.getSaoMaxOffsetQVal() );
    141141#else
    142142  m_cGopDecoder.init( &m_cEntropyDecoder, &m_cSbacDecoder, &m_cBinCABAC, &m_cCavlcDecoder, &m_cSliceDecoder, &m_cLoopFilter, &m_cSAO);
Note: See TracChangeset for help on using the changeset viewer.