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


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

software implementation for JCTVC-Q0247

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

Legend:

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

    r779 r780  
    250250     break;
    251251#endif
     252#if Q0247_FRAME_FIELD_INFO
     253   case SEI::FRAME_FIELD_INFO:
     254     xWriteSEIFrameFieldInfo(*static_cast<const SEIFrameFieldInfo*>(&sei));
     255     break;
     256#endif
    252257#endif //SVC_EXTENSION
    253258  default:
     
    877882#endif
    878883
     884#if Q0247_FRAME_FIELD_INFO
     885Void SEIWriter::xWriteSEIFrameFieldInfo  (const SEIFrameFieldInfo &sei)
     886{
     887  WRITE_CODE( sei.m_ffinfo_picStruct , 4,             "ffinfo_pic_struct" );
     888  WRITE_CODE( sei.m_ffinfo_sourceScanType, 2,         "ffinfo_source_scan_type" );
     889  WRITE_FLAG( sei.m_ffinfo_duplicateFlag ? 1 : 0,     "ffinfo_duplicate_flag" );
     890  xWriteByteAlign();
     891}
     892#endif
     893
    879894#if O0164_MULTI_LAYER_HRD
    880895Void SEIWriter::xWriteSEIBspNesting(TComBitIf& bs, const SEIBspNesting &sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting &nestingSei)
  • branches/SHM-6-dev/source/Lib/TLibEncoder/SEIwrite.h

    r779 r780  
    9898Void xWriteSEITMVPConstraints (const SEITMVPConstrains &sei);
    9999#endif
     100#if Q0247_FRAME_FIELD_INFO
     101  Void xWriteSEIFrameFieldInfo  (const SEIFrameFieldInfo &sei);
     102#endif
    100103#if O0164_MULTI_LAYER_HRD
    101104  Void xWriteSEIBspNesting(TComBitIf& bs, const SEIBspNesting &sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting &nestingSei);
  • branches/SHM-6-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r779 r780  
    23372337   }
    23382338#endif
     2339#if Q0247_FRAME_FIELD_INFO
     2340    if(  pcSlice->getLayerId()> 0 &&
     2341     ( (m_pcCfg->getProgressiveSourceFlag() && m_pcCfg->getInterlacedSourceFlag()) || m_pcCfg->getFrameFieldInfoPresentFlag()))
     2342    {
     2343      OutputNALUnit nalu(NAL_UNIT_PREFIX_SEI);
     2344      SEIFrameFieldInfo seiFFInfo;
     2345      m_pcEntropyCoder->setEntropyCoder(m_pcCavlcCoder, pcSlice);
     2346      m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
     2347      seiFFInfo.m_ffinfo_picStruct = (isField && pcSlice->getPic()->isTopField())? 1 : isField? 2 : 0;
     2348#if   O0164_MULTI_LAYER_HRD
     2349      m_seiWriter.writeSEImessage( nalu.m_Bitstream, seiFFInfo, m_pcEncTop->getVPS(), pcSlice->getSPS() );
     2350#else
     2351      m_seiWriter.writeSEImessage( nalu.m_Bitstream, seiFFInfo, pcSlice->getSPS() );
     2352#endif
     2353      writeRBSPTrailingBits(nalu.m_Bitstream);
     2354      accessUnit.push_back(new NALUnitEBSP(nalu));
     2355    }
     2356#endif
    23392357
    23402358    if( ( m_pcCfg->getPictureTimingSEIEnabled() || m_pcCfg->getDecodingUnitInfoSEIEnabled() ) &&
Note: See TracChangeset for help on using the changeset viewer.