Changeset 779 in SHVCSoftware for branches/SHM-6-dev/source/Lib/TLibEncoder


Ignore:
Timestamp:
4 Jun 2014, 09:28:48 (11 years ago)
Author:
nokia
Message:

software implementation for JCTVC-Q0189

Location:
branches/SHM-6-dev/source/Lib/TLibEncoder
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibEncoder/SEIwrite.cpp

    r778 r779  
    245245     break;
    246246#endif
     247#if Q0189_TMVP_CONSTRAINTS
     248   case SEI::TMVP_CONSTRAINTS:
     249     xWriteSEITMVPConstraints(*static_cast<const SEITMVPConstrains*>(&sei));
     250     break;
     251#endif
    247252#endif //SVC_EXTENSION
    248253  default:
     
    863868#endif
    864869
     870#if Q0189_TMVP_CONSTRAINTS
     871Void SEIWriter::xWriteSEITMVPConstraints (const SEITMVPConstrains &sei)
     872{
     873  WRITE_UVLC( sei.prev_pics_not_used_flag ,    "prev_pics_not_used_flag"  );
     874  WRITE_UVLC( sei.no_intra_layer_col_pic_flag ,    "no_intra_layer_col_pic_flag"  );
     875  xWriteByteAlign();
     876}
     877#endif
     878
    865879#if O0164_MULTI_LAYER_HRD
    866880Void SEIWriter::xWriteSEIBspNesting(TComBitIf& bs, const SEIBspNesting &sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting &nestingSei)
  • branches/SHM-6-dev/source/Lib/TLibEncoder/SEIwrite.h

    r778 r779  
    9595  Void xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei);
    9696#endif
     97#if Q0189_TMVP_CONSTRAINTS
     98Void xWriteSEITMVPConstraints (const SEITMVPConstrains &sei);
     99#endif
    97100#if O0164_MULTI_LAYER_HRD
    98101  Void xWriteSEIBspNesting(TComBitIf& bs, const SEIBspNesting &sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting &nestingSei);
  • branches/SHM-6-dev/source/Lib/TLibEncoder/TEncCfg.h

    r776 r779  
    276276  Int       m_SOPDescriptionSEIEnabled;
    277277  Int       m_scalableNestingSEIEnabled;
     278#if Q0189_TMVP_CONSTRAINTS
     279  Int       m_TMVPConstraintsSEIEnabled;
     280#endif
    278281  //====== Weighted Prediction ========
    279282  Bool      m_useWeightedPred;       //< Use of Weighting Prediction (P_SLICE)
     
    733736  Int   getSOPDescriptionSEIEnabled()                     { return m_SOPDescriptionSEIEnabled; }
    734737  Void  setScalableNestingSEIEnabled(Int b)                { m_scalableNestingSEIEnabled = b; }
     738#if Q0189_TMVP_CONSTRAINTS
     739  void setTMVPConstraintsSEIEnabled(Int b)                { m_TMVPConstraintsSEIEnabled = b; }
     740#endif
    735741  Int   getScalableNestingSEIEnabled()                     { return m_scalableNestingSEIEnabled; }
     742#if Q0189_TMVP_CONSTRAINTS
     743  Int   getTMVPConstraintsSEIEnabled()                {  return m_TMVPConstraintsSEIEnabled; }
     744#endif
    736745  Void      setUseWP               ( Bool b )    { m_useWeightedPred   = b;    }
    737746  Void      setWPBiPred            ( Bool b )    { m_useWeightedBiPred = b;    }
  • branches/SHM-6-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r778 r779  
    23162316      writeSOP = false;
    23172317    }
     2318#if Q0189_TMVP_CONSTRAINTS
     2319   if( m_pcEncTop->getTMVPConstraintsSEIEnabled() == 1 &&
     2320      (m_pcEncTop->getTMVPModeId() == 1 || m_pcEncTop->getTMVPModeId() == 2) &&
     2321      pcSlice->getLayerId() >0 &&
     2322      (pcSlice->getNalUnitType() ==  NAL_UNIT_CODED_SLICE_IDR_W_RADL || pcSlice->getNalUnitType() ==  NAL_UNIT_CODED_SLICE_IDR_N_LP))
     2323   {
     2324      OutputNALUnit nalu(NAL_UNIT_PREFIX_SEI);
     2325      SEITMVPConstrains seiTMVPConstrains;
     2326      m_pcEntropyCoder->setEntropyCoder(m_pcCavlcCoder, pcSlice);
     2327      m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
     2328      seiTMVPConstrains.no_intra_layer_col_pic_flag = 1;
     2329      seiTMVPConstrains.prev_pics_not_used_flag = 1;
     2330#if   O0164_MULTI_LAYER_HRD
     2331      m_seiWriter.writeSEImessage( nalu.m_Bitstream, seiTMVPConstrains, m_pcEncTop->getVPS(), pcSlice->getSPS() );
     2332#else
     2333      m_seiWriter.writeSEImessage( nalu.m_Bitstream, seiTMVPConstrains, pcSlice->getSPS() );
     2334#endif
     2335      writeRBSPTrailingBits(nalu.m_Bitstream);
     2336      accessUnit.push_back(new NALUnitEBSP(nalu));
     2337   }
     2338#endif
    23182339
    23192340    if( ( m_pcCfg->getPictureTimingSEIEnabled() || m_pcCfg->getDecodingUnitInfoSEIEnabled() ) &&
Note: See TracChangeset for help on using the changeset viewer.