Changeset 185 in SHVCSoftware for branches/SHM-2.0-dev/source/Lib/TLibEncoder


Ignore:
Timestamp:
12 May 2013, 01:23:02 (12 years ago)
Author:
qualcomm
Message:

Bug fix in JCTVC_M0458_INTERLAYER_RPS_SIG

Location:
branches/SHM-2.0-dev/source/Lib/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r181 r185  
    10281028        if(pcSlice->getNumILRRefIdx() > 1)
    10291029        {
     1030          Int numBits = 1;
     1031          while ((1 << numBits) < pcSlice->getNumILRRefIdx())
     1032          {
     1033            numBits++;
     1034          }
    10301035          if( !pcSlice->getVPS()->getMaxOneActiveRefLayerFlag())
    10311036          {
    1032             WRITE_UVLC(pcSlice->getNumInterLayerRefPics(),"num_inter_layer_ref_pics_minus1");                     
     1037            WRITE_CODE( numBits,pcSlice->getNumInterLayerRefPics(),"num_inter_layer_ref_pics_minus1");
    10331038          }       
    10341039          for(Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ )
    1035             WRITE_UVLC(pcSlice->getInterLayerPredLayerIdc(i),"inter_layer_pred_layer_idc[i]");     
     1040            WRITE_CODE( numBits,pcSlice->getInterLayerPredLayerIdc(i),"inter_layer_pred_layer_idc[i]");   
    10361041        }
    10371042      }
  • branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r176 r185  
    659659    if(m_layerId > 0)
    660660    {
     661#if JCTVC_M0458_INTERLAYER_RPS_SIG
     662      if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )
     663      {
     664        pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getActiveNumILRRefIdx());
     665        pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getActiveNumILRRefIdx());
     666      }
     667      else
     668      {
     669        pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumRefIdx(REF_PIC_LIST_0)+pcSlice->getActiveNumILRRefIdx());
     670        pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getActiveNumILRRefIdx());
     671      }
     672#else
    661673      if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )
    662674      {
     
    669681        pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getNumILRRefIdx());
    670682      }
     683#endif
    671684    }
    672685#endif
Note: See TracChangeset for help on using the changeset viewer.