Changeset 443 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecSlice.cpp


Ignore:
Timestamp:
26 May 2013, 15:41:34 (12 years ago)
Author:
tech
Message:
  • Reintegrated branch 6.2-dev0 rev. 442.
  • Changed version number.
  • Added coding results.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibDecoder/TDecSlice.cpp

    r296 r443  
    286286    g_bJustDoIt = g_bEncDecTraceEnable;
    287287#endif
     288#if LGE_SAO_MIGRATION_D0091
     289    if ( pcSlice->getSPS()->getUseSAO() && (pcSlice->getSaoEnabledFlag()||pcSlice->getSaoEnabledFlagChroma()) )
     290    {
     291        SAOParam *saoParam =  pcSlice->getAPS()->getSaoParam();
     292        saoParam->bSaoFlag[0] = pcSlice->getSaoEnabledFlag();
     293    if (iCUAddr == iStartCUAddr)
     294    {
     295        saoParam->bSaoFlag[1] = pcSlice->getSaoEnabledFlagChroma();
     296    }
     297    Int numCuInWidth     = saoParam->numCuInWidth;
     298    Int cuAddrInSlice = iCUAddr - rpcPic->getPicSym()->getCUOrderMap(pcSlice->getSliceCurStartCUAddr()/rpcPic->getNumPartInCU());
     299    Int cuAddrUpInSlice  = cuAddrInSlice - numCuInWidth;
     300    Int rx = iCUAddr % numCuInWidth;
     301    Int ry = iCUAddr / numCuInWidth;
     302    Int allowMergeLeft = 1;
     303    Int allowMergeUp   = 1;
     304    if (rx!=0)
     305    {
     306        if (rpcPic->getPicSym()->getTileIdxMap(iCUAddr-1) != rpcPic->getPicSym()->getTileIdxMap(iCUAddr))
     307        {
     308            allowMergeLeft = 0;
     309        }
     310    }
     311    if (ry!=0)
     312    {
     313        if (rpcPic->getPicSym()->getTileIdxMap(iCUAddr-numCuInWidth) != rpcPic->getPicSym()->getTileIdxMap(iCUAddr))
     314        {
     315        allowMergeUp = 0;
     316        }
     317    }
     318    pcSbacDecoder->parseSaoOneLcuInterleaving(rx, ry, saoParam,pcCU, cuAddrInSlice, cuAddrUpInSlice, allowMergeLeft, allowMergeUp);
     319    }
     320#else
    288321    if ( pcSlice->getSPS()->getUseSAO() && pcSlice->getSaoInterleavingFlag() && pcSlice->getSaoEnabledFlag() )
    289322    {
     
    301334      pcSbacDecoder->parseSaoOneLcuInterleaving(rx, ry, pcSlice->getAPS()->getSaoParam(),pcCU, cuAddrInSlice, cuAddrUpInSlice, pcSlice->getSPS()->getLFCrossSliceBoundaryFlag() );
    302335    }
     336#endif
    303337
    304338    m_pcCuDecoder->decodeCU     ( pcCU, uiIsLast );
Note: See TracChangeset for help on using the changeset viewer.