Ignore:
Timestamp:
13 Jan 2014, 08:05:57 (11 years ago)
Author:
tech
Message:

Further fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r768 r769  
    937937
    938938  READ_FLAG( uiCode, "sps_extension_flag");
     939#if H_MV
    939940  pcSPS->setSpsExtensionFlag( uiCode );
    940941  if (pcSPS->getSpsExtensionFlag( ) )
    941   {
     942#else
     943  if (uiCode)
     944#endif
     945  {
     946#if H_MV
    942947    for (Int i = 0; i < PS_EX_T_MAX_NUM; i++)
    943948    {
     
    964969    if ( pcSPS->getSpsExtensionTypeFlag( PS_EX_T_ESC ))
    965970    {   
     971#endif
    966972        while ( xMoreRbspData() )
    967973        {
    968974          READ_FLAG( uiCode, "sps_extension_data_flag");
    969975        }
    970     }
     976#if H_MV
     977    }
     978#endif
    971979  }
    972980}
     
    10731081    }
    10741082  }
     1083#if H_MV
    10751084  pcVPS->deriveLayerSetLayerIdList();
     1085#endif
    10761086  TimingInfo *timingInfo = pcVPS->getTimingInfo();
    10771087  READ_FLAG(       uiCode, "vps_timing_info_present_flag");         timingInfo->setTimingInfoPresentFlag      (uiCode ? true : false);
     
    18901900
    18911901
     1902#if H_MV
    18921903    UInt slicePicOrderCntLsb = 0;
    18931904    Int iPOClsb = slicePicOrderCntLsb;  // Needed later
     
    19361947      rpcSlice->setPOC              ( 0 );
    19371948    }     
     1949#endif
    19381950
    19391951    if( rpcSlice->getIdrPicFlag() )
    19401952    {
     1953#if !H_MV
     1954      rpcSlice->setPOC(0);
     1955#endif
    19411956      TComReferencePictureSet* rps = rpcSlice->getLocalRPS();
    19421957      rps->setNumberOfNegativePictures(0);
     
    19511966    else
    19521967    {
     1968#if !H_MV
     1969      READ_CODE(sps->getBitsForPOC(), uiCode, "pic_order_cnt_lsb"); 
     1970      Int iPOClsb = uiCode;
     1971      Int iPrevPOC = rpcSlice->getPrevTid0POC();
     1972      Int iMaxPOClsb = 1<< sps->getBitsForPOC();
     1973      Int iPrevPOClsb = iPrevPOC & (iMaxPOClsb - 1);
     1974      Int iPrevPOCmsb = iPrevPOC-iPrevPOClsb;
     1975      Int iPOCmsb;
     1976      if( ( iPOClsb  <  iPrevPOClsb ) && ( ( iPrevPOClsb - iPOClsb )  >=  ( iMaxPOClsb / 2 ) ) )
     1977      {
     1978        iPOCmsb = iPrevPOCmsb + iMaxPOClsb;
     1979      }
     1980      else if( (iPOClsb  >  iPrevPOClsb )  && ( (iPOClsb - iPrevPOClsb )  >  ( iMaxPOClsb / 2 ) ) )
     1981      {
     1982        iPOCmsb = iPrevPOCmsb - iMaxPOClsb;
     1983      }
     1984      else
     1985      {
     1986        iPOCmsb = iPrevPOCmsb;
     1987      }
     1988      if ( rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_LP
     1989        || rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_RADL
     1990        || rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_N_LP )
     1991      {
     1992        // For BLA picture types, POCmsb is set to 0.
     1993        iPOCmsb = 0;
     1994      }
     1995      rpcSlice->setPOC              (iPOCmsb+iPOClsb);
     1996#endif
    19531997      TComReferencePictureSet* rps;
    19541998      rps = rpcSlice->getLocalRPS();
Note: See TracChangeset for help on using the changeset viewer.