Ignore:
Timestamp:
20 Jul 2015, 14:13:33 (9 years ago)
Author:
tech
Message:

Upgrade to HM-16.6.

Location:
branches/HTM-14.1-update-dev1/source/Lib/TLibDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev1/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1279 r1287  
    23492349#endif
    23502350      TComReferencePictureSet* rps = pcSlice->getLocalRPS();
    2351       rps->setNumberOfNegativePictures(0);
    2352       rps->setNumberOfPositivePictures(0);
    2353       rps->setNumberOfLongtermPictures(0);
    2354       rps->setNumberOfPictures(0);
     2351      (*rps)=TComReferencePictureSet();
    23552352      pcSlice->setRPS(rps);
    23562353#if NH_MV
     
    23912388      TComReferencePictureSet* rps;
    23922389      rps = pcSlice->getLocalRPS();
     2390      (*rps)=TComReferencePictureSet();
     2391
    23932392      pcSlice->setRPS(rps);
    23942393      READ_FLAG( uiCode, "short_term_ref_pic_set_sps_flag" );
     
    25282527        // In the case of BLA picture types, rps data is read from slice header but ignored
    25292528        rps = pcSlice->getLocalRPS();
    2530         rps->setNumberOfNegativePictures(0);
    2531         rps->setNumberOfPositivePictures(0);
    2532         rps->setNumberOfLongtermPictures(0);
    2533         rps->setNumberOfPictures(0);
     2529        (*rps)=TComReferencePictureSet();
    25342530        pcSlice->setRPS(rps);
    25352531      }
  • branches/HTM-14.1-update-dev1/source/Lib/TLibDecoder/TDecCu.cpp

    r1279 r1287  
    8585#endif
    8686
    87   UInt uiNumPartitions;
    8887  for ( UInt ui = 0; ui < m_uiMaxDepth-1; ui++ )
    8988  {
    90     uiNumPartitions = 1<<( ( m_uiMaxDepth - ui - 1 )<<1 );
     89    UInt uiNumPartitions = 1<<( ( m_uiMaxDepth - ui - 1 )<<1 );
    9190    UInt uiWidth  = uiMaxWidth  >> ui;
    9291    UInt uiHeight = uiMaxHeight >> ui;
     92
     93    // The following arrays (m_ppcYuvResi, m_ppcYuvReco and m_ppcCU) are only required for CU depths
     94    // although data is allocated for all possible depths of the CU/TU tree except the last.
     95    // Since the TU tree will always include at least one additional depth greater than the CU tree,
     96    // there will be enough entries for these arrays.
     97    // (Section 7.4.3.2: "The CVS shall not contain data that result in (Log2MinTrafoSize) MinTbLog2SizeY
     98    //                    greater than or equal to MinCbLog2SizeY")
     99    // TODO: tidy the array allocation given the above comment.
    93100
    94101    m_ppcYuvResi[ui] = new TComYuv;    m_ppcYuvResi[ui]->create( uiWidth, uiHeight, chromaFormatIDC );
     
    778785  {
    779786    const Bool bUseFilteredPredictions=TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, VER_IDX, uiWidth, uiHeight, chFmt, pcCU->getSlice()->getSPS()->getSpsRangeExtension().getIntraSmoothingDisabledFlag());
    780     m_pcPrediction->initIntraPatternChType( rTu, bAboveAvail, bLeftAvail, COMPONENT_Y, bUseFilteredPredictions  DEBUG_STRING_PASS_INTO(sTemp) );
    781     m_pcPrediction->predIntraAng( COMPONENT_Y,   VER_IDX, 0 /* Decoder does not have an original image */, 0, piReco, uiStride, rTu, bAboveAvail, bLeftAvail, bUseFilteredPredictions );
     787    m_pcPrediction->initIntraPatternChType( rTu, COMPONENT_Y, bUseFilteredPredictions  DEBUG_STRING_PASS_INTO(sTemp) );
     788    m_pcPrediction->predIntraAng( COMPONENT_Y,   VER_IDX, 0 /* Decoder does not have an original image */, 0, piReco, uiStride, rTu, bUseFilteredPredictions );
    782789  }
    783790  else if ( pcCU->getDISType(uiAbsPartIdx) == 1 )
    784791  {
    785792    const Bool bUseFilteredPredictions=TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, HOR_IDX, uiWidth, uiHeight, chFmt, pcCU->getSlice()->getSPS()->getSpsRangeExtension().getIntraSmoothingDisabledFlag());
    786     m_pcPrediction->initIntraPatternChType( rTu, bAboveAvail, bLeftAvail, COMPONENT_Y, bUseFilteredPredictions  DEBUG_STRING_PASS_INTO(sTemp) );
    787     m_pcPrediction->predIntraAng( COMPONENT_Y,   HOR_IDX, 0 /* Decoder does not have an original image */, 0, piReco, uiStride, rTu, bAboveAvail, bLeftAvail, bUseFilteredPredictions );
     793    m_pcPrediction->initIntraPatternChType( rTu, COMPONENT_Y, bUseFilteredPredictions  DEBUG_STRING_PASS_INTO(sTemp) );
     794    m_pcPrediction->predIntraAng( COMPONENT_Y,   HOR_IDX, 0 /* Decoder does not have an original image */, 0, piReco, uiStride, rTu, bUseFilteredPredictions );
    788795  }
    789796  else if ( pcCU->getDISType(uiAbsPartIdx) == 2 )
     
    10311038
    10321039  //===== init availability pattern =====
    1033   Bool  bAboveAvail = false;
    1034   Bool  bLeftAvail  = false;
    1035 
    10361040  const Bool bUseFilteredPredictions=TComPrediction::filteringIntraReferenceSamples(compID, uiChFinalMode, uiWidth, uiHeight, chFmt, pcCU->getSlice()->getSPS()->getSpsRangeExtension().getIntraSmoothingDisabledFlag());
    10371041
     
    10411045
    10421046  DEBUG_STRING_NEW(sTemp)
    1043   m_pcPrediction->initIntraPatternChType( rTu, bAboveAvail, bLeftAvail, compID, bUseFilteredPredictions  DEBUG_STRING_PASS_INTO(sTemp) );
     1047  m_pcPrediction->initIntraPatternChType( rTu, compID, bUseFilteredPredictions  DEBUG_STRING_PASS_INTO(sTemp) );
    10441048
    10451049
     
    10531057  {
    10541058#endif
    1055   m_pcPrediction->predIntraAng( compID,   uiChFinalMode, 0 /* Decoder does not have an original image */, 0, piPred, uiStride, rTu, bAboveAvail, bLeftAvail, bUseFilteredPredictions );
     1059  m_pcPrediction->predIntraAng( compID,   uiChFinalMode, 0 /* Decoder does not have an original image */, 0, piPred, uiStride, rTu, bUseFilteredPredictions );
    10561060#if NH_3D_DMM
    10571061  }
     
    12691273    TComTURecurse tuRecurseWithPU(tuRecurseCU, false, TComTU::DONT_SPLIT);
    12701274
    1271     Bool bAboveAvail = false;
    1272     Bool bLeftAvail  = false;
    1273     m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, false DEBUG_STRING_PASS_INTO(sTemp) );
     1275    m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, COMPONENT_Y, false DEBUG_STRING_PASS_INTO(sTemp) );
    12741276
    12751277    // get partition
     
    13211323     
    13221324      //===== init pattern for luma prediction =====
    1323       Bool bAboveAvail = false;
    1324       Bool bLeftAvail  = false;
    13251325     
    1326       m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, bUseFilter  DEBUG_STRING_PASS_INTO(sTemp) );
     1326      m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, COMPONENT_Y, bUseFilter  DEBUG_STRING_PASS_INTO(sTemp) );
    13271327     
    1328       m_pcPrediction->predIntraAng( COMPONENT_Y, uiLumaPredMode, NULL, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter );
     1328      m_pcPrediction->predIntraAng( COMPONENT_Y, uiLumaPredMode, NULL, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bUseFilter );
    13291329     
    13301330      // copy for prediction of next part
Note: See TracChangeset for help on using the changeset viewer.