Ignore:
Timestamp:
19 Nov 2012, 21:15:40 (12 years ago)
Author:
mitsubishi-htm
Message:

A second release, as planned

  • Migrate to HTM 4.1
  • Move VSP related switches to cfg file instead of #define in the source code
  • A few bug fixes
  • For VC project files, only VC9 file is updated

TODO

  • Migrate to HTM 5.0, to be used as anchor for CE1 toward Geneva meeting
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r166 r193  
    112112, m_iViewOrderIdx                 ( 0 )
    113113#endif
     114#if VSP_CFG
     115, m_uiNumVspRefPics               ( 0 )
     116#endif
    114117{
    115118  m_aiNumRefIdx[0] = m_aiNumRefIdx[1] = m_aiNumRefIdx[2] = 0;
     
    146149#if VSP_SLICE_HEADER
    147150  m_bVspFlag = false;
     151#if VSP_CFG
     152  memset( m_uiVspRefPos[0], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     153  memset( m_uiVspRefPos[1], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     154#else
     155  m_bVspDepthDisableFlag = false;
     156#endif
    148157#endif
    149158}
     
    195204#if VSP_SLICE_HEADER
    196205  m_bVspFlag = false;
     206#if VSP_CFG
     207  m_uiNumVspRefPics = 0;
     208  memset( m_uiVspRefPos[0], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     209  memset( m_uiVspRefPos[1], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     210#else
     211  m_bVspDepthDisableFlag = false;
     212#endif
    197213#endif
    198214
     
    544560  }
    545561
     562#if VSP_CFG
     563  UInt cIdxTmp;
     564  for( cIdx = 0, cIdxTmp = 0; cIdx <= num_ref_idx_l0_active_minus1; cIdx ++ )
     565#else
    546566  for( cIdx = 0; cIdx <= num_ref_idx_l0_active_minus1; cIdx ++ )
     567#endif
    547568  {
    548569#if VSP_N
     570#if VSP_CFG
     571    Int iVspRefPos = getVspRefPos(REF_PIC_LIST_0, 0);
     572    iVspRefPos = ( iVspRefPos > 0 ? iVspRefPos - 1 : -1 );
     573    if( pcVspPic && iVspRefPos != -1 && cIdx == (iVspRefPos >= num_ref_idx_l0_active_minus1 ? num_ref_idx_l0_active_minus1 : iVspRefPos) )
     574#else
    549575    if( pcVspPic && cIdx == num_ref_idx_l0_active_minus1 )
     576#endif
    550577    {
    551578      m_apcRefPicList[0][cIdx] = RefPicSetVspCurr[0];
     
    555582    }
    556583    else
     584    {
     585#if VSP_CFG
     586      m_apcRefPicList[0][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? refPicListTemp0[ m_RefPicListModification.getRefPicSetIdxL0(cIdxTmp) ] : refPicListTemp0[cIdxTmp];
     587      cIdxTmp++;
     588#else
    557589      m_apcRefPicList[0][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? refPicListTemp0[ m_RefPicListModification.getRefPicSetIdxL0(cIdx) ] : refPicListTemp0[cIdx];
     590#endif
     591    }
    558592#else
    559593    m_apcRefPicList[0][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? refPicListTemp0[ m_RefPicListModification.getRefPicSetIdxL0(cIdx) ] : refPicListTemp0[cIdx];
     
    567601  else
    568602  {
     603#if VSP_CFG
     604    for( cIdx = 0, cIdxTmp = 0; cIdx <= num_ref_idx_l1_active_minus1; cIdx ++ )
     605#else
    569606    for( cIdx = 0; cIdx <= num_ref_idx_l1_active_minus1; cIdx ++ )
     607#endif
    570608    {
    571609#if VSP_N
     610#if VSP_CFG
     611      Int iVspRefPos = getVspRefPos(REF_PIC_LIST_1, 0);
     612      iVspRefPos = ( iVspRefPos > 0 ? iVspRefPos - 1 : -1 );
     613      if( pcVspPic && iVspRefPos != -1 && cIdx == (iVspRefPos >= num_ref_idx_l1_active_minus1 ? num_ref_idx_l1_active_minus1 : iVspRefPos) )
     614#else
    572615      if( pcVspPic && cIdx == num_ref_idx_l1_active_minus1 )
     616#endif
    573617      {
    574618        m_apcRefPicList[1][cIdx] = RefPicSetVspCurr[0];
     
    578622      }
    579623      else
     624      {
     625#if VSP_CFG
     626        m_apcRefPicList[1][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ? refPicListTemp1[ m_RefPicListModification.getRefPicSetIdxL1(cIdxTmp) ] : refPicListTemp1[cIdxTmp];
     627        cIdxTmp++;
     628#else
    580629        m_apcRefPicList[1][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ? refPicListTemp1[ m_RefPicListModification.getRefPicSetIdxL1(cIdx) ] : refPicListTemp1[cIdx];
     630#endif
     631      }
    581632#else
    582633      m_apcRefPicList[1][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ? refPicListTemp1[ m_RefPicListModification.getRefPicSetIdxL1(cIdx) ] : refPicListTemp1[cIdx];
     
    15011552#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    15021553, m_bUseDMM                   (false)
     1554#endif
     1555#if OL_DEPTHLIMIT_A0044
     1556, m_bDepthPartitionLimiting   (false)
     1557#endif
     1558#if VSP_N
     1559, m_bVspPresentFlag           (false)
     1560#if VSP_CFG
     1561, m_bVspDepthPresentFlag      (false)
     1562#endif
    15031563#endif
    15041564{
Note: See TracChangeset for help on using the changeset viewer.