Changeset 669 in SHVCSoftware


Ignore:
Timestamp:
11 Apr 2014, 20:14:16 (11 years ago)
Author:
seregin
Message:

fix picture marking for the NoClrasOutputFlag

Location:
branches/SHM-6-dev/source/Lib
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.cpp

    r668 r669  
    10151015 */
    10161016#if NO_CLRAS_OUTPUT_FLAG
     1017Void TComSlice::decodingRefreshMarking( TComList<TComPic*>& rcListPic, Bool noClrasOutputFlag )
     1018{
     1019  if( !isIRAP() )
     1020  {
     1021    return;
     1022  }
     1023
     1024  // When the current picture is an IRAP picture with nuh_layer_id equal to 0 and NoClrasOutputFlag is equal to 1,
     1025  // all reference pictures with any value of nuh_layer_id currently in the DPB (if any) are marked as "unused for reference".
     1026  if( m_layerId == 0 && noClrasOutputFlag )
     1027  {
     1028    Int pocCurr = getPOC();
     1029    TComPic* rpcPic;
     1030
     1031    // mark all pictures for all layers as not used for reference
     1032    TComList<TComPic*>::iterator        iterPic       = rcListPic.begin();
     1033    while( iterPic != rcListPic.end() )
     1034    {
     1035      if( rpcPic->getPOC() != pocCurr )
     1036      {
     1037        rpcPic->getSlice(0)->setReferenced(false);
     1038      }
     1039    }
     1040  }
     1041
     1042  // When the current picture is an IRAP picture with NoRaslOutputFlag equal to 1,
     1043  // all reference pictures with nuh_layer_id equal to currPicLayerId currently in the DPB (if any) are marked as "unused for reference".
     1044  if( m_noRaslOutputFlag )
     1045  {
     1046    Int pocCurr = getPOC();
     1047    TComPic* rpcPic;
     1048
     1049    // mark all pictures of a current layer as not used for reference
     1050    TComList<TComPic*>::iterator        iterPic       = rcListPic.begin();
     1051    while( iterPic != rcListPic.end() )
     1052    {
     1053      if( rpcPic->getPOC() != pocCurr && rpcPic->getLayerId() == m_layerId )
     1054      {
     1055        rpcPic->getSlice(0)->setReferenced(false);
     1056      }
     1057    }
     1058  }
     1059}
     1060
    10171061Void TComSlice::decodingRefreshMarking(Int& pocCRA, Bool& bRefreshPending, TComList<TComPic*>& rcListPic, Bool noClrasOutputFlag)
    10181062#else
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.h

    r652 r669  
    21352135  Void      checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, NalUnitType& associatedIRAPType, TComList<TComPic *>& rcListPic);
    21362136#if NO_CLRAS_OUTPUT_FLAG
     2137  Void      decodingRefreshMarking( TComList<TComPic*>& rcListPic, Bool noClrasOutputFlag );
    21372138  Void      decodingRefreshMarking(Int& pocCRA, Bool& bRefreshPending, TComList<TComPic*>& rcListPic, Bool noClrasOutputFlag);
    21382139#else
  • branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h

    r667 r669  
    272272#define HARMONIZE_GOP_FIRST_FIELD_COUPLE  1
    273273#define FIX_FIELD_DEPTH                 1
    274 #if !SVC_EXTENSION
    275274#define EFFICIENT_FIELD_IRAP            1
    276 #endif
    277275#define ALLOW_RECOVERY_POINT_AS_RAP     1
    278276#define BUGFIX_INTRAPERIOD 1
  • branches/SHM-6-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r666 r669  
    8989  m_layerInitializedFlag       = false;
    9090  m_firstPicInLayerDecodedFlag = false; 
    91   m_bRefreshPending            = false;
    9291#endif
    9392#if RESOLUTION_BASED_DPB
     
    10231022  }
    10241023
    1025   m_apcSlicePilot->decodingRefreshMarking(m_pocCRA, m_bRefreshPending, m_cListPic, getNoClrasOutputFlag());
     1024  m_apcSlicePilot->decodingRefreshMarking( m_cListPic, m_noClrasOutputFlag );
    10261025#endif
    10271026
  • branches/SHM-6-dev/source/Lib/TLibDecoder/TDecTop.h

    r666 r669  
    146146  Bool                    m_layerInitializedFlag;
    147147  Bool                    m_firstPicInLayerDecodedFlag;
    148   Bool                    m_bRefreshPending;
    149148#endif
    150149#if RESOLUTION_BASED_DPB
Note: See TracChangeset for help on using the changeset viewer.