Changeset 602 in SHVCSoftware for branches/SHM-5.1-dev


Ignore:
Timestamp:
7 Feb 2014, 14:37:05 (11 years ago)
Author:
nokia
Message:

JCTVC-P0300: updated design for alt_output_layer_flag

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

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.1-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r597 r602  
    13271327#endif
    13281328
     1329#if P0300_ALT_OUTPUT_LAYER_FLAG
     1330  for (Int k = 0; k < MAX_VPS_LAYER_SETS_PLUS1; k++)
     1331  {
     1332    vps->setAltOuputLayerFlag( k, m_altOutputLayerFlag );
     1333  }
     1334#else
    13291335#if O0153_ALT_OUTPUT_LAYER_FLAG
    13301336  vps->setAltOuputLayerFlag( m_altOutputLayerFlag );
     1337#endif
    13311338#endif
    13321339
  • branches/SHM-5.1-dev/source/Lib/TLibCommon/TComSlice.h

    r595 r602  
    624624  Int         m_avgPicRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    625625#endif
     626#if P0300_ALT_OUTPUT_LAYER_FLAG
     627  Bool       m_altOutputLayerFlag[MAX_VPS_LAYER_SETS_PLUS1];
     628#else
    626629#if O0153_ALT_OUTPUT_LAYER_FLAG
    627630  Bool       m_altOutputLayerFlag;
     631#endif
    628632#endif
    629633#if REPN_FORMAT_IN_VPS
     
    975979  Void setAvgPicRate(Int i, Int j, Int x)   { m_avgPicRate[i][j] = x;    }
    976980#endif
     981#if P0300_ALT_OUTPUT_LAYER_FLAG
     982  Bool   getAltOuputLayerFlag(Int idx)         { return m_altOutputLayerFlag[idx]; }
     983  Void   setAltOuputLayerFlag(Int idx, Bool x) { m_altOutputLayerFlag[idx] = x;    }
     984#else
    977985#if O0153_ALT_OUTPUT_LAYER_FLAG
    978986  Bool   getAltOuputLayerFlag()             { return m_altOutputLayerFlag; }
    979987  Void   setAltOuputLayerFlag(Bool x)       { m_altOutputLayerFlag = x;    }
     988#endif
    980989#endif
    981990#if REPN_FORMAT_IN_VPS
  • branches/SHM-5.1-dev/source/Lib/TLibCommon/TypeDef.h

    r595 r602  
    216216
    217217#define O0153_ALT_OUTPUT_LAYER_FLAG      1      ///< JCTVC-O0153: alt output layer flag
     218#define P0300_ALT_OUTPUT_LAYER_FLAG      1      ///< JCTVC-P0300: alt output layer flag
    218219
    219220#define VPS_DPB_SIZE_TABLE               1      ///< JCTVC-O0217: DPB operations: signaling DPB-related parameters
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r595 r602  
    970970  UInt uiCode;
    971971  // ... More syntax elements to be parsed here
     972#if P0300_ALT_OUTPUT_LAYER_FLAG
     973  Int NumOutputLayersInOutputLayerSet[MAX_VPS_LAYER_SETS_PLUS1];
     974  Int OlsHighestOutputLayerId[MAX_VPS_LAYER_SETS_PLUS1];
     975#endif
    972976#if VPS_EXTN_MASK_AND_DIM_INFO
    973977  UInt numScalabilityTypes = 0, i = 0, j = 0;
     
    12691273    }
    12701274    READ_CODE( numBits, uiCode, "profile_level_tier_idx[i]" );     vps->setProfileLevelTierIdx(i, uiCode);
     1275#if P0300_ALT_OUTPUT_LAYER_FLAG
     1276    NumOutputLayersInOutputLayerSet[i] = 0;
     1277    Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx(i);
     1278    for (j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++)
     1279    {
     1280      NumOutputLayersInOutputLayerSet[i] += vps->getOutputLayerFlag(i, j);
     1281      if (vps->getOutputLayerFlag(i, j))
     1282      {
     1283        OlsHighestOutputLayerId[i] = vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j);
     1284      }
     1285    }
     1286    if (NumOutputLayersInOutputLayerSet[i] == 1 && vps->getNumDirectRefLayers(OlsHighestOutputLayerId[i]) > 0)
     1287    {
     1288      READ_FLAG(uiCode, "alt_output_layer_flag[i]");
     1289      vps->setAltOuputLayerFlag(i, uiCode ? true : false);
     1290    }
     1291#endif
    12711292  }
    12721293#else
     
    13541375#endif
    13551376
     1377#if !P0300_ALT_OUTPUT_LAYER_FLAG
    13561378#if O0153_ALT_OUTPUT_LAYER_FLAG
    13571379  if( vps->getMaxLayers() > 1 )
     
    13601382    vps->setAltOuputLayerFlag( uiCode ? true : false );
    13611383  }
     1384#endif
    13621385#endif
    13631386
  • branches/SHM-5.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r595 r602  
    776776{
    777777  // ... More syntax elements to be written here
     778#if P0300_ALT_OUTPUT_LAYER_FLAG
     779  Int NumOutputLayersInOutputLayerSet[MAX_VPS_LAYER_SETS_PLUS1];
     780  Int OlsHighestOutputLayerId[MAX_VPS_LAYER_SETS_PLUS1];
     781#endif
    778782#if VPS_EXTN_MASK_AND_DIM_INFO
    779783  UInt i = 0, j = 0;
     
    10041008    }
    10051009    WRITE_CODE( vps->getProfileLevelTierIdx(i), numBits, "profile_level_tier_idx[i]" );     
    1006   }
    1007 
     1010#if P0300_ALT_OUTPUT_LAYER_FLAG
     1011    NumOutputLayersInOutputLayerSet[i] = 0;
     1012    Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx(i);
     1013    for (j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++)
     1014    {
     1015      NumOutputLayersInOutputLayerSet[i] += vps->getOutputLayerFlag(i, j);
     1016      if (vps->getOutputLayerFlag(i, j))
     1017      {
     1018        OlsHighestOutputLayerId[i] = vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j);
     1019      }
     1020    }
     1021    if (NumOutputLayersInOutputLayerSet[i] == 1 && vps->getNumDirectRefLayers(OlsHighestOutputLayerId[i]) > 0)
     1022    {
     1023      WRITE_FLAG(vps->getAltOuputLayerFlag(i), "alt_output_layer_flag[i]");
     1024    }
     1025#endif
     1026  }
     1027
     1028#if !P0300_ALT_OUTPUT_LAYER_FLAG
    10081029#if O0153_ALT_OUTPUT_LAYER_FLAG
    10091030  if( vps->getMaxLayers() > 1 )
     
    10111032    WRITE_FLAG( vps->getAltOuputLayerFlag(), "alt_output_layer_flag" );   
    10121033  }
     1034#endif
    10131035#endif
    10141036
Note: See TracChangeset for help on using the changeset viewer.