Ignore:
Timestamp:
3 May 2013, 17:09:57 (12 years ago)
Author:
tech
Message:

Further minor cleanups.

Location:
branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/NALwrite.cpp

    r324 r367  
    5353  bsNALUHeader.write(0,1);                    // forbidden_zero_bit
    5454  bsNALUHeader.write(nalu.m_nalUnitType, 6);  // nal_unit_type
    55 #if H_MV
    56   bsNALUHeader.write(nalu.m_layerId, 6);      // layerId       
    57 #else
    5855  bsNALUHeader.write(nalu.m_reservedZero6Bits, 6);                   // nuh_reserved_zero_6bits
    59 #endif
    6056  bsNALUHeader.write(nalu.m_temporalId+1, 3); // nuh_temporal_id_plus1
    6157
     
    146142{
    147143  naluDest.m_nalUnitType = naluSrc.m_nalUnitType;
    148 #if H_MV
    149   naluDest.m_layerId  = naluSrc.m_layerId;
    150 #else
    151144  naluDest.m_reservedZero6Bits  = naluSrc.m_reservedZero6Bits;
    152 #endif
    153145  naluDest.m_temporalId  = naluSrc.m_temporalId;
    154146  naluDest.m_Bitstream   = naluSrc.m_Bitstream;
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/NALwrite.h

    r324 r367  
    5757    NalUnitType nalUnitType,
    5858    UInt temporalID = 0,
    59 #if H_MV
    60     Int layerId = 0)
    61 #else
    6259    UInt reserved_zero_6bits = 0)
    63 #endif
    64 #if H_MV
    65   : NALUnit(nalUnitType, temporalID, layerId)
    66 #else
    6760  : NALUnit(nalUnitType, temporalID, reserved_zero_6bits)
    68 #endif
    6961  , m_Bitstream()
    7062  {}
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncAnalyze.cpp

    r324 r367  
    3636*/
    3737
    38 #if !H_MV
    3938#include "TEncAnalyze.h"
    40 #endif
    4139
    4240//! \ingroup TLibEncoder
     
    4745//////////////////////////////////////////////////////////////////////
    4846
    49 #if !H_MV
    5047TEncAnalyze             m_gcAnalyzeAll;
    5148TEncAnalyze             m_gcAnalyzeI;
    5249TEncAnalyze             m_gcAnalyzeP;
    5350TEncAnalyze             m_gcAnalyzeB;
    54 #endif
    5551
    5652//! \}
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncAnalyze.h

    r324 r367  
    150150};
    151151
    152 #if !H_MV
    153152extern TEncAnalyze             m_gcAnalyzeAll;
    154153extern TEncAnalyze             m_gcAnalyzeI;
    155154extern TEncAnalyze             m_gcAnalyzeP;
    156155extern TEncAnalyze             m_gcAnalyzeB;
    157 #endif
    158156
    159157//! \}
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r366 r367  
    549549  }
    550550
    551 #if H_MV
    552   WRITE_FLAG( 1, "sps_extension_flag" );
    553 
    554   WRITE_FLAG( pcSPS->getInterViewMvVertConstraintFlag() ? 1 : 0, "inter_view_mv_vert_constraint_flag" );
    555 #else
    556551  WRITE_FLAG( 0, "sps_extension_flag" );
    557 #endif
    558552}
    559553
     
    562556  WRITE_CODE( pcVPS->getVPSId(),                    4,        "vps_video_parameter_set_id" );
    563557  WRITE_CODE( 3,                                    2,        "vps_reserved_three_2bits" );
    564 #if H_MV
    565   WRITE_CODE( pcVPS->getMaxLayers() - 1,            6,        "vps_max_layers_minus1" );
    566 #else
    567558  WRITE_CODE( 0,                                    6,        "vps_reserved_zero_6bits" );
    568 #endif
    569559  WRITE_CODE( pcVPS->getMaxTLayers() - 1,           3,        "vps_max_sub_layers_minus1" );
    570560  WRITE_FLAG( pcVPS->getTemporalNestingFlag(),                "vps_temporal_id_nesting_flag" );
    571561  assert (pcVPS->getMaxTLayers()>1||pcVPS->getTemporalNestingFlag());
    572 #if H_MV
    573   WRITE_CODE( 0xffff,                              16,        "vps_extension_offset" );
    574 #else
    575562  WRITE_CODE( 0xffff,                              16,        "vps_reserved_ffff_16bits" );
    576 #endif
    577563  codePTL( pcVPS->getPTL(), true, pcVPS->getMaxTLayers() - 1 );
    578564#if SIGNAL_BITRATE_PICRATE_IN_VPS
     
    597583
    598584  assert( pcVPS->getNumHrdParameters() <= MAX_VPS_NUM_HRD_PARAMETERS );
    599 #if H_MV
    600   assert( pcVPS->getMaxNuhLayerId() < MAX_VPS_NUH_LAYER_ID_PLUS1 );
    601   WRITE_CODE( pcVPS->getMaxNuhLayerId(), 6,                 "vps_max_nuh_layer_id" );
    602 #else
    603585  assert( pcVPS->getMaxNuhReservedZeroLayerId() < MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1 );
    604586  WRITE_CODE( pcVPS->getMaxNuhReservedZeroLayerId(), 6,     "vps_max_nuh_reserved_zero_layer_id" );
    605 #endif
    606587  pcVPS->setMaxOpSets(1);
    607588  WRITE_UVLC( pcVPS->getMaxOpSets() - 1,                    "vps_max_op_sets_minus1" );
     
    609590  {
    610591    // Operation point set
    611 #if H_MV
    612     for( UInt i = 0; i <= pcVPS->getMaxNuhLayerId(); i ++ )
    613 #else
    614592    for( UInt i = 0; i <= pcVPS->getMaxNuhReservedZeroLayerId(); i ++ )
    615 #endif
    616593    {
    617594      // Only applicable for version 1
     
    654631  }
    655632#endif
    656 #if H_MV
    657   WRITE_FLAG( 1,                                             "vps_extension_flag" );
    658 
    659   m_pcBitIf->writeAlignOne();                       
    660 
    661   WRITE_FLAG( pcVPS->getAvcBaseLayerFlag() ? 1 : 0,          "avc_base_layer_flag" );
    662   WRITE_FLAG( pcVPS->getSplittingFlag() ? 1 : 0,             "splitting_flag" );
    663  
    664   for( Int type = 0; type < MAX_NUM_SCALABILITY_TYPES; type++ )
    665   {
    666     WRITE_FLAG( pcVPS->getScalabilityMask( type ) ? 1 : 0,   "scalability_mask[i]" );
    667   }
    668 
    669   for( Int sIdx = 0; sIdx < pcVPS->getNumScalabilityTypes( ); sIdx++ )
    670   {
    671     WRITE_CODE( pcVPS->getDimensionIdLen( sIdx ) - 1 , 3,    "dimension_id_len_minus1[j]");   
    672   }
    673 
    674   WRITE_FLAG( pcVPS->getVpsNuhLayerIdPresentFlag() ? 1 : 0,  "vps_nuh_layer_id_present_flag");
    675 
    676   for( Int layer = 1; layer <= pcVPS->getMaxLayers() - 1; layer++ )
    677   {
    678     if (pcVPS->getVpsNuhLayerIdPresentFlag() )
    679       WRITE_CODE( pcVPS->getLayerIdInNuh( layer ), 6,          "layer_id_in_nuh[i]");
    680     for( Int sIdx = 0; sIdx < pcVPS->getNumScalabilityTypes() ; sIdx++ )
    681     {     
    682       WRITE_CODE( pcVPS->getDimensionId( layer, sIdx ), pcVPS->getDimensionIdLen( sIdx ), "dimension_id[i][j]");     
    683     }
    684   }
    685 
    686   for( Int layerSet = 1; layerSet <= pcVPS->getMaxOpSets() - 1; layerSet++ )
    687   {
    688     WRITE_FLAG( pcVPS->getVpsProfilePresentFlag( layerSet ) ? 1 : 0, "vps_profile_present_flag[lsIdx]" );
    689     if( pcVPS->getVpsProfilePresentFlag( layerSet ) == false )
    690     {
    691       WRITE_UVLC( pcVPS->getProfileLayerSetRefMinus1( layerSet ), "profile_layer_set_ref_minus1[lsIdx]" );
    692     }
    693     codePTL( pcVPS->getPTL( layerSet ), pcVPS->getVpsProfilePresentFlag( layerSet ), pcVPS->getMaxTLayers() - 1 );
    694   }
    695 
    696   WRITE_UVLC( pcVPS->getNumOutputLayerSets(),                "num_output_layer_sets" );
    697 
    698   for( Int layerSet = 0; layerSet < pcVPS->getNumOutputLayerSets(); layerSet++ )
    699   {
    700     WRITE_UVLC( pcVPS->getOutputLayerSetIdx( layerSet ),      "output_layer_set_idx[i]" );
    701     for( Int layer = 0; layer <= pcVPS->getMaxNuhLayerId(); layer++ )
    702     {
    703       if( pcVPS->getLayerIdIncludedFlag( pcVPS->getOutputLayerSetIdx( layerSet ), layer ) == true )
    704       {
    705         WRITE_FLAG( pcVPS->getOutputLayerFlag( layerSet, layer ) ? 1 : 0, "output_layer_flag" );
    706       }
    707     }
    708   }
    709 
    710   for( Int i = 1; i <= pcVPS->getMaxLayers() - 1; i++ )
    711   {
    712     for( Int j = 0; j < i; j++ )
    713     {
    714       WRITE_FLAG( pcVPS->getDirectDependencyFlag( i, j ),    "direct_dependency_flag[i][j]" );
    715     }
    716   }
    717   WRITE_FLAG( 0,                                             "vps_extension2_flag" );
    718 #else
    719633  WRITE_FLAG( 0,                     "vps_extension_flag" );
    720 #endif
    721634 
    722635  //future extensions here..
     
    10911004  for (Int i = 0; i < maxNumSubLayersMinus1; i++)
    10921005  {
    1093 #if !H_MV
    10941006    if(profilePresentFlag)
    10951007    {
    1096 #endif
    10971008      WRITE_FLAG( pcPTL->getSubLayerProfilePresentFlag(i), "sub_layer_profile_present_flag[i]" );
    1098 #if !H_MV
    1099     }
    1100 #endif
     1009    }
    11011010   
    11021011    WRITE_FLAG( pcPTL->getSubLayerLevelPresentFlag(i),   "sub_layer_level_present_flag[i]" );
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncCfg.h

    r364 r367  
    6969  Int m_numRefIdc;
    7070  Int m_refIdc[MAX_NUM_REF_PICS+1];
    71 #if H_MV
    72   Int m_numInterViewRefPics;
    73   Int m_interViewRefs    [MAX_NUM_REF_PICS];
    74   Int m_interViewRefPosL[2][MAX_NUM_REF_PICS]; 
    75 #endif
    7671  GOPEntry()
    7772  : m_POC(-1)
     
    8883  , m_deltaRPS(0)
    8984  , m_numRefIdc(0)
    90 #if H_MV
    91   , m_numInterViewRefPics(0)
    92 #endif
    9385  {
    9486    ::memset( m_referencePics, 0, sizeof(m_referencePics) );
    9587    ::memset( m_usedByCurrPic, 0, sizeof(m_usedByCurrPic) );
    9688    ::memset( m_refIdc,        0, sizeof(m_refIdc) );
    97 #if H_MV
    98     ::memset( m_interViewRefs,   0, sizeof(m_interViewRefs) );
    99     ::memset( m_interViewRefPosL[0], -1, sizeof(m_interViewRefPosL[0]) );    ::memset( m_interViewRefPosL[1], -1, sizeof(m_interViewRefPosL[1]) );
    100 #endif
    10189  }
    10290};
     
    139127  UInt      m_uiDecodingRefreshType;            ///< the type of decoding refresh employed for the random access.
    140128  Int       m_iGOPSize;
    141 #if H_MV
    142   GOPEntry  m_GOPList[MAX_GOP+1];
    143 #else
    144129  GOPEntry  m_GOPList[MAX_GOP];
    145 #endif
    146130  Int       m_extraRPSs;
    147131  Int       m_maxDecPicBuffering[MAX_TLAYER];
     
    353337  Bool      m_useStrongIntraSmoothing;                        ///< enable the use of strong intra smoothing (bi_linear interpolation) for 32x32 blocks when reference samples are flat.
    354338
    355 #if H_MV
    356   Int       m_layerId;
    357   Int       m_layerIdInVps;
    358   Int       m_viewId;
    359 #if H_3D
    360   Bool      m_isDepth;
    361 #endif
    362 #endif
    363339public:
    364340  TEncCfg()
    365341  : m_puiColumnWidth()
    366342  , m_puiRowHeight()
    367 #if H_MV
    368   , m_layerId(-1)
    369   , m_layerIdInVps(-1)
    370   , m_viewId(-1)
    371 #if H_3D
    372   , m_isDepth(false)
    373 #endif
    374 #endif
    375343  {}
    376344
     
    394362  Void      setFramesToBeEncoded            ( Int   i )      { m_framesToBeEncoded = i; }
    395363 
    396 #if H_MV
    397   Void      setLayerId                       ( Int layerId )      { m_layerId = layerId; }
    398   Int       getLayerId                       ()                   { return m_layerId;    }
    399   Int       getLayerIdInVps                  ()                   { return m_layerIdInVps; }
    400   Void      setLayerIdInVps                  ( Int layerIdInVps)  { m_layerIdInVps = layerIdInVps; }
    401   Void      setViewId                        ( Int viewId  )      { m_viewId  = viewId;  }
    402   Int       getViewId                        ()                   { return m_viewId;    }
    403 #if H_3D
    404   Void      setIsDepth                       ( Bool isDepth )   { m_isDepth = isDepth; }
    405   Bool      getIsDepth                       ()                 { return m_isDepth; }
    406 #endif
    407 #endif
    408364  //====== Coding Structure ========
    409365  Void      setIntraPeriod                  ( Int   i )      { m_uiIntraPeriod = (UInt)i; }
    410366  Void      setDecodingRefreshType          ( Int   i )      { m_uiDecodingRefreshType = (UInt)i; }
    411367  Void      setGOPSize                      ( Int   i )      { m_iGOPSize = i; }
    412 #if H_MV
    413   Void      setGopList                      ( GOPEntry*  GOPList ) {  for ( Int i = 0; i < MAX_GOP+1; i++ ) m_GOPList[i] = GOPList[i]; }
    414 #else
    415368  Void      setGopList                      ( GOPEntry*  GOPList ) {  for ( Int i = 0; i < MAX_GOP; i++ ) m_GOPList[i] = GOPList[i]; }
    416 #endif
    417369  Void      setExtraRPSs                    ( Int   i )      { m_extraRPSs = i; }
    418370  GOPEntry  getGOPEntry                     ( Int   i )      { return m_GOPList[i]; }
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r366 r367  
    100100#endif
    101101#endif
    102 #if H_MV
    103   m_layerId      = 0;
    104   m_viewId       = 0;
    105   m_pocLastCoded = -1;
    106 #if H_3D
    107   m_isDepth = false;
    108 #endif
    109 #endif
    110102  return;
    111103}
     
    147139  m_totalCoded         = 0;
    148140
    149 #if H_MV
    150   m_ivPicLists           = pcTEncTop->getIvPicLists();
    151   m_layerId              = pcTEncTop->getLayerId();
    152   m_viewId               = pcTEncTop->getViewId();
    153 #if H_3D
    154   m_isDepth              = pcTEncTop->getIsDepth();
    155 #endif
    156 #endif
    157141}
    158142
     
    358342// Public member functions
    359343// ====================================================================================================================
    360 #if H_MV
    361 Void TEncGOP::initGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP)
    362 {
    363   xInitGOP( iPOCLast, iNumPicRcvd, rcListPic, rcListPicYuvRecOut );
    364   m_iNumPicCoded = 0;
    365 }
    366 #endif
    367 #if H_MV
    368 Void TEncGOP::compressPicInGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP, Int iGOPid)
    369 #else
    370344Void TEncGOP::compressGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP)
    371 #endif
    372345{
    373346  TComPic*        pcPic;
     
    381354  TComOutputBitstream* pcSubstreamsOut = NULL;
    382355
    383 #if !H_MV
    384356  xInitGOP( iPOCLast, iNumPicRcvd, rcListPic, rcListPicYuvRecOut );
    385357 
    386358  m_iNumPicCoded = 0;
    387 #endif
    388359  SEIPictureTiming pictureTimingSEI;
    389360#if L0208_SOP_DESCRIPTION_SEI
     
    408379  UInt *accumNalsDU = NULL;
    409380  SEIDecodingUnitInfo decodingUnitInfoSEI;
    410 #if !H_MV
    411381  for ( Int iGOPid=0; iGOPid < m_iGopSize; iGOPid++ )
    412 #endif
    413382  {
    414383    UInt uiColDir = 1;
     
    469438    if(pocCurr>=m_pcCfg->getFramesToBeEncoded())
    470439    {
    471 #if H_MV
    472       delete pcBitstreamRedirect;
    473       return;
    474 #else
    475440      continue;
    476 #endif
    477441    }
    478442
     
    495459    pcSlice->setLastIDR(m_iLastIDR);
    496460    pcSlice->setSliceIdx(0);
    497 #if H_MV
    498     pcPic  ->setLayerId     ( getLayerId() );
    499     pcPic  ->setViewId      ( getViewId()  );
    500     pcSlice->setLayerId     ( getLayerId() );
    501     pcSlice->setViewId      ( getViewId()  );
    502     pcSlice->setVPS         ( m_pcEncTop->getVPS() );
    503 #if H_3D
    504     pcPic  ->setIsDepth( getIsDepth() );
    505     pcSlice->setIsDepth( getIsDepth() );
    506 #endif
    507 #endif
    508461    //set default slice level flag to the same as SPS level flag
    509462    pcSlice->setLFCrossSliceBoundaryFlag(  pcSlice->getPPS()->getLoopFilterAcrossSlicesEnabledFlag()  );
     
    543496    }
    544497
    545 #if H_MV
     498    if(pcSlice->getSliceType()==B_SLICE&&m_pcCfg->getGOPEntry(iGOPid).m_sliceType=='P')
     499    {
     500      pcSlice->setSliceType(P_SLICE);
     501    }
    546502    // Set the nal unit type
    547503    pcSlice->setNalUnitType(getNalUnitType(pocCurr, m_iLastIDR));
    548     if( pcSlice->getSliceType() == B_SLICE )
    549     {
    550       if( m_pcCfg->getGOPEntry( ( pcSlice->getRapPicFlag() && getLayerId() > 0 ) ? MAX_GOP : iGOPid ).m_sliceType == 'P' )
    551       {
    552         pcSlice->setSliceType( P_SLICE );
    553       }
    554     }
    555 #else
    556     if(pcSlice->getSliceType()==B_SLICE&&m_pcCfg->getGOPEntry(iGOPid).m_sliceType=='P')
    557     {
    558       pcSlice->setSliceType(P_SLICE);
    559     }
    560     // Set the nal unit type
    561     pcSlice->setNalUnitType(getNalUnitType(pocCurr, m_iLastIDR));
    562 #endif
    563504    if(pcSlice->getTemporalLayerNonReferenceFlag())
    564505    {
     
    648589    refPicListModification->setRefPicListModificationFlagL0(0);
    649590    refPicListModification->setRefPicListModificationFlagL1(0);
    650 #if H_MV
    651     pcSlice->createAndApplyIvReferencePictureSet( m_ivPicLists, m_refPicSetInterLayer );
    652     pcSlice->setNumRefIdx(REF_PIC_LIST_0,min(m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid ).m_numRefPicsActive,( pcSlice->getRPS()->getNumberOfPictures() + (Int) m_refPicSetInterLayer.size() ) ) );
    653     pcSlice->setNumRefIdx(REF_PIC_LIST_1,min(m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid ).m_numRefPicsActive,( pcSlice->getRPS()->getNumberOfPictures() + (Int) m_refPicSetInterLayer.size() ) ) );
    654     xSetRefPicListModificationsMvc( pcSlice, pocCurr, iGOPid );   
    655 #else
    656591    pcSlice->setNumRefIdx(REF_PIC_LIST_0,min(m_pcCfg->getGOPEntry(iGOPid).m_numRefPicsActive,pcSlice->getRPS()->getNumberOfPictures()));
    657592    pcSlice->setNumRefIdx(REF_PIC_LIST_1,min(m_pcCfg->getGOPEntry(iGOPid).m_numRefPicsActive,pcSlice->getRPS()->getNumberOfPictures()));
    658 #endif
    659593
    660594#if ADAPTIVE_QP_SELECTION
     
    663597
    664598    //  Set reference list
    665 #if H_MV   
    666     pcSlice->setRefPicList( rcListPic, m_refPicSetInterLayer );
    667 #else
    668599    pcSlice->setRefPicList ( rcListPic );
    669 #endif
    670600
    671601    //  Slice info. refinement
    672 #if H_MV
    673     if ( pcSlice->getSliceType() == B_SLICE )
    674     {
    675       if( m_pcCfg->getGOPEntry( ( pcSlice->getRapPicFlag() == true && getLayerId() > 0 ) ? MAX_GOP : iGOPid ).m_sliceType == 'P' )
    676       {
    677         pcSlice->setSliceType( P_SLICE );
    678       }
    679     }
    680 #else
    681602    if ( (pcSlice->getSliceType() == B_SLICE) && (pcSlice->getNumRefIdx(REF_PIC_LIST_1) == 0) )
    682603    {
    683604      pcSlice->setSliceType ( P_SLICE );
    684605    }
    685 #endif
    686606#if !L0034_COMBINED_LIST_CLEANUP
    687607    if (pcSlice->getSliceType() != B_SLICE || !pcSlice->getSPS()->getUseLComb())
     
    11001020    {
    11011021      OutputNALUnit nalu(NAL_UNIT_VPS);
    1102 #if H_MV
    1103       if( getLayerId() == 0 )
    1104       {
    1105 #endif
    11061022      m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
    11071023      m_pcEntropyCoder->encodeVPS(m_pcEncTop->getVPS());
     
    11121028#endif
    11131029
    1114 #if H_MV
    1115       }
    1116       nalu = NALUnit(NAL_UNIT_SPS, 0, getLayerId());
    1117 #else
    11181030      nalu = NALUnit(NAL_UNIT_SPS);
    1119 #endif
    11201031      m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
    11211032      if (m_bSeqFirst)
     
    11501061#endif
    11511062
    1152 #if H_MV
    1153       nalu = NALUnit(NAL_UNIT_PPS, 0, getLayerId());
    1154 #else
    11551063      nalu = NALUnit(NAL_UNIT_PPS);
    1156 #endif
    11571064      m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
    11581065      m_pcEntropyCoder->encodePPS(pcSlice->getPPS());
     
    14761383          m_pcEntropyCoder->resetEntropy      ();
    14771384          /* start slice NALunit */
    1478 #if H_MV
    1479           OutputNALUnit nalu( pcSlice->getNalUnitType(), pcSlice->getTLayer(), getLayerId() );
    1480 #else
    14811385          OutputNALUnit nalu( pcSlice->getNalUnitType(), pcSlice->getTLayer() );
    1482 #endif
    14831386          Bool sliceSegment = (!pcSlice->isNextSlice());
    14841387          if (!sliceSegment)
     
    17071610      }
    17081611
    1709 #if !H_3D
    17101612      pcPic->compressMotion();
    1711 #endif
    1712 #if H_MV
    1713       m_pocLastCoded = pcPic->getPOC();
    1714 #endif
    17151613      //-- For time output for each slice
    17161614      Double dEncTime = (Double)(clock()-iBeforeTime) / CLOCKS_PER_SEC;
     
    20231921
    20241922      pcPic->setReconMark   ( true );
    2025 #if H_MV
    2026       TComSlice::markIvRefPicsAsShortTerm( m_refPicSetInterLayer ); 
    2027       std::vector<Int> temp;
    2028       TComSlice::markIvRefPicsAsUnused   ( m_ivPicLists, temp, pcPic->getSlice(0)->getVPS(), m_layerId, pcPic->getPOC() );
    2029 #endif
    20301923      m_bFirst = false;
    20311924      m_iNumPicCoded++;
     
    20481941  if( accumNalsDU != NULL) delete accumNalsDU;
    20491942
    2050 #if !H_MV
    20511943  assert ( m_iNumPicCoded == iNumPicRcvd );
    2052 #endif
    20531944}
    20541945
    2055 #if !H_MV
    20561946Void TEncGOP::printOutSummary(UInt uiNumAllPicCoded)
    20571947{
     
    20891979  printf("\nRVM: %.3lf\n" , xCalculateRVM());
    20901980}
    2091 #endif
    20921981
    20931982Void TEncGOP::preLoopFilterPicAll( TComPic* pcPic, UInt64& ruiDist, UInt64& ruiBits )
     
    23652254
    23662255  //===== add PSNR =====
    2367 #if H_MV
    2368   m_pcEncTop->getAnalyzeAll()->addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2369 #else
    23702256  m_gcAnalyzeAll.addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2371 #endif
    23722257  TComSlice*  pcSlice = pcPic->getSlice(0);
    23732258  if (pcSlice->isIntra())
    23742259  {
    2375 #if H_MV
    2376     m_pcEncTop->getAnalyzeI()->addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2377 #else
    23782260    m_gcAnalyzeI.addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2379 #endif
    23802261  }
    23812262  if (pcSlice->isInterP())
    23822263  {
    2383 #if H_MV
    2384     m_pcEncTop->getAnalyzeP()->addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2385 #else
    23862264    m_gcAnalyzeP.addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2387 #endif
    23882265  }
    23892266  if (pcSlice->isInterB())
    23902267  {
    2391 #if H_MV
    2392     m_pcEncTop->getAnalyzeB()->addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2393 #else
    23942268    m_gcAnalyzeB.addResult (dYPSNR, dUPSNR, dVPSNR, (Double)uibits);
    2395 #endif
    23962269  }
    23972270
     
    24002273
    24012274#if ADAPTIVE_QP_SELECTION
    2402 #if H_MV
    2403   printf("Layer %3d   POC %4d TId: %1d ( %c-SLICE, nQP %d QP %d ) %10d bits",
    2404     pcSlice->getLayerId(),
    2405     pcSlice->getPOC(),
    2406     pcSlice->getTLayer(),
    2407     c,
    2408     pcSlice->getSliceQpBase(),
    2409     pcSlice->getSliceQp(),
    2410     uibits );
    2411 #else
    24122275  printf("POC %4d TId: %1d ( %c-SLICE, nQP %d QP %d ) %10d bits",
    24132276         pcSlice->getPOC(),
     
    24172280         pcSlice->getSliceQp(),
    24182281         uibits );
    2419 #endif
    2420 #else
    2421 #if H_MV
    2422   printf("Layer %3d   POC %4d TId: %1d ( %c-SLICE, QP %d ) %10d bits",
    2423     pcSlice->getLayerId(),
    2424     pcSlice->getPOC()-pcSlice->getLastIDR(),
    2425     pcSlice->getTLayer(),
    2426     c,
    2427     pcSlice->getSliceQp(),
    2428     uibits );
    24292282#else
    24302283  printf("POC %4d TId: %1d ( %c-SLICE, QP %d ) %10d bits",
     
    24342287         pcSlice->getSliceQp(),
    24352288         uibits );
    2436 #endif
    24372289
    24382290#endif
     
    24452297    for (Int iRefIndex = 0; iRefIndex < pcSlice->getNumRefIdx(RefPicList(iRefList)); iRefIndex++)
    24462298    {
    2447 #if H_MV
    2448       if( pcSlice->getLayerId() != pcSlice->getRefLayerId( RefPicList(iRefList), iRefIndex ) )
    2449       {
    2450         printf( "V%d ", pcSlice->getRefLayerId( RefPicList(iRefList), iRefIndex ) );
    2451       }
    2452       else
    2453       {
    2454 #endif
    24552299      printf ("%d ", pcSlice->getRefPOC(RefPicList(iRefList), iRefIndex)-pcSlice->getLastIDR());
    2456 #if H_MV
    2457       }
    2458 #endif
    24592300    }
    24602301    printf("]");
     
    28222663}
    28232664#endif
    2824 #if H_MV
    2825 Void TEncGOP::xSetRefPicListModificationsMvc( TComSlice* pcSlice, UInt uiPOCCurr, UInt iGOPid )
    2826 {
    2827   TComVPS* vps = pcSlice->getVPS();
    2828   Int layer    = pcSlice->getLayerIdInVps( );
    2829  
    2830   if( pcSlice->getSliceType() == I_SLICE || !(pcSlice->getPPS()->getListsModificationPresentFlag()) || vps->getNumDirectRefLayers( layer ) == 0 )
    2831   {
    2832     return;
    2833   }
    2834 
    2835   // analyze inter-view modifications
    2836   GOPEntry ge = m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && ( layer > 0) ) ? MAX_GOP : iGOPid );
    2837 
    2838   TComRefPicListModification* refPicListModification = pcSlice->getRefPicListModification();
    2839  
    2840   Int maxRefListSize  = pcSlice->getNumRpsCurrTempList();
    2841   Int numTemporalRefs = maxRefListSize - vps->getNumDirectRefLayers( layer );
    2842 
    2843 
    2844   for (Int li = 0; li < 2; li ++) // Loop over lists L0 and L1
    2845   {
    2846     Int numModifications = 0;
    2847    
    2848     for( Int k = 0; k < ge.m_numInterViewRefPics; k++ )
    2849     {
    2850       numModifications +=  ( ge.m_interViewRefPosL[li][k] >= 0 ) ? 1 : 0;
    2851     }
    2852 
    2853     // set inter-view modifications
    2854     if( (maxRefListSize > 1) && (numModifications > 0) )
    2855     {
    2856       refPicListModification->setRefPicListModificationFlagL( li, true );
    2857       Int tempList[16];
    2858       for( Int k = 0; k < 16; k++ ) { tempList[k] = -1; }
    2859 
    2860       Bool isModified = false;
    2861       for( Int k = 0; k < ge.m_numInterViewRefPics; k++ )
    2862       {
    2863         if( ge.m_interViewRefPosL[li][k] >= 0 )
    2864         {
    2865           Int orgIdx    = numTemporalRefs;
    2866           Int targetIdx = ge.m_interViewRefPosL[ li ][ k ];
    2867           for( Int idx = 0; idx < vps->getNumDirectRefLayers( layer ); idx++ )
    2868           {           
    2869             Int refLayer  = vps->getLayerIdInVps( vps->getRefLayerId( layer, idx ) );         
    2870             if( ( layer + ge.m_interViewRefs[ k ]) == refLayer )
    2871             {
    2872               tempList[ targetIdx ] = orgIdx;             
    2873               isModified = ( targetIdx != orgIdx  );
    2874             }
    2875             orgIdx++;
    2876           }
    2877         }
    2878       }
    2879       if( isModified )
    2880       {
    2881         Int temporalRefIdx = 0;
    2882         for( Int i = 0; i < pcSlice->getNumRefIdx( ( li == 0 ) ? REF_PIC_LIST_0 : REF_PIC_LIST_1 ); i++ )
    2883         {
    2884           if( tempList[i] >= 0 )
    2885           {
    2886             refPicListModification->setRefPicSetIdxL( li, i, tempList[i] );
    2887           }
    2888           else
    2889           {
    2890             refPicListModification->setRefPicSetIdxL( li, i, temporalRefIdx );
    2891             temporalRefIdx++;
    2892           }
    2893         }
    2894       }
    2895       else
    2896       {
    2897         refPicListModification->setRefPicListModificationFlagL( li, false );
    2898       }
    2899     }
    2900   }
    2901 }
    2902 #endif
    29032665//! \}
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncGOP.h

    r364 r367  
    9797  SEIWriter               m_seiWriter;
    9898 
    99 #if H_MV
    100   TComPicLists*           m_ivPicLists;
    101   std::vector<TComPic*>   m_refPicSetInterLayer;
    102 
    103   Int                     m_pocLastCoded;
    104   Int                     m_layerId; 
    105   Int                     m_viewId;
    106 #if H_3D
    107   Bool                    m_isDepth;
    108 #endif
    109 #endif
    11099  //--Adaptive Loop filter
    111100  TEncSampleAdaptiveOffset*  m_pcSAO;
     
    144133 
    145134  Void  init        ( TEncTop* pcTEncTop );
    146 #if H_MV
    147   Void  initGOP     ( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP);
    148   Void  compressPicInGOP ( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP, Int iGOPid );
    149 #else
    150135  Void  compressGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRec, std::list<AccessUnit>& accessUnitsInGOP );
    151 #endif
    152136  Void  xAttachSliceDataToNalUnit (OutputNALUnit& rNalu, TComOutputBitstream*& rpcBitstreamRedirect);
    153137
    154 #if H_MV
    155   Int       getPocLastCoded  ()                 { return m_pocLastCoded; } 
    156   Int       getLayerId       ()                 { return m_layerId;    } 
    157   Int       getViewId        ()                 { return m_viewId;    }
    158 #if H_3D
    159   Bool      getIsDepth       ()                 { return m_isDepth; }
    160 #endif
    161 #endif
    162138
    163139  Int   getGOPSize()          { return  m_iGopSize;  }
     
    165141  TComList<TComPic*>*   getListPic()      { return m_pcListPic; }
    166142 
    167 #if !H_MV
    168143  Void  printOutSummary      ( UInt uiNumAllPicCoded );
    169 #endif
    170144  Void  preLoopFilterPicAll  ( TComPic* pcPic, UInt64& ruiDist, UInt64& ruiBits );
    171145 
     
    211185#endif
    212186#endif
    213 #if H_MV
    214    Void  xSetRefPicListModificationsMvc( TComSlice* pcSlice, UInt uiPOCCurr, UInt iGOPid );
    215 #endif
    216187#if L0386_DB_METRIC
    217188  Void dblMetric( TComPic* pcPic, UInt uiNumSlices );
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncSlice.cpp

    r365 r367  
    219219 
    220220  // slice type
    221 #if H_MV
    222   SliceType eSliceTypeBaseView;
    223   if( pocLast == 0 || pocCurr % m_pcCfg->getIntraPeriod() == 0 || m_pcGOPEncoder->getGOPSize() == 0 )
    224   {
    225     eSliceTypeBaseView = I_SLICE;
    226   }
    227   else
    228   {
    229     eSliceTypeBaseView = B_SLICE;
    230   }
    231   SliceType eSliceType = eSliceTypeBaseView;
    232   if( eSliceTypeBaseView == I_SLICE && m_pcCfg->getGOPEntry(MAX_GOP).m_POC == 0 && m_pcCfg->getGOPEntry(MAX_GOP).m_sliceType != 'I' )
    233   {
    234     eSliceType = B_SLICE;
    235   }
    236 #else
    237221  SliceType eSliceType;
    238222 
     
    241225 
    242226  rpcSlice->setSliceType    ( eSliceType );
    243 #endif
    244227
    245228  // ------------------------------------------------------------------------------------------------------------------
     
    270253    if (!(( m_pcCfg->getMaxDeltaQP() == 0 ) && (dQP == -rpcSlice->getSPS()->getQpBDOffsetY() ) && (rpcSlice->getSPS()->getUseLossless())))
    271254    {
    272 #if H_MV
    273       dQP += m_pcCfg->getGOPEntry( (eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid ).m_QPOffset;
    274 #else
    275255      dQP += m_pcCfg->getGOPEntry(iGOPid).m_QPOffset;
    276 #endif
    277256    }
    278257  }
     
    317296#endif
    318297    // Case #1: I or P-slices (key-frame)
    319 #if H_MV
    320     Double dQPFactor;
    321     if( eSliceType != I_SLICE )
    322     {
    323       dQPFactor = m_pcCfg->getGOPEntry( (eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid ).m_QPFactor;
    324     }
    325     else
    326 #else
    327298    Double dQPFactor = m_pcCfg->getGOPEntry(iGOPid).m_QPFactor;
    328299    if ( eSliceType==I_SLICE )
    329 #endif
    330300    {
    331301      dQPFactor=0.57*dLambda_scale;
     
    362332  if( rpcSlice->getSliceType( ) != I_SLICE )
    363333  {
    364 #if H_MV
    365     dLambda *= m_pcCfg->getLambdaModifier( m_pcCfg->getGOPEntry((eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid).m_temporalId );
    366 #else
    367334    dLambda *= m_pcCfg->getLambdaModifier( m_pcCfg->getGOPEntry(iGOPid).m_temporalId );
    368 #endif
    369335  }
    370336
     
    405371#if HB_LAMBDA_FOR_LDC
    406372  // restore original slice type
    407 #if H_MV
    408   eSliceType = eSliceTypeBaseView;
    409   if( eSliceTypeBaseView == I_SLICE && m_pcCfg->getGOPEntry(MAX_GOP).m_POC == 0 && m_pcCfg->getGOPEntry(MAX_GOP).m_sliceType != 'I' )
    410   {
    411     eSliceType = B_SLICE;
    412   }
    413 #else
    414373  eSliceType = (pocLast == 0 || pocCurr % m_pcCfg->getIntraPeriod() == 0 || m_pcGOPEncoder->getGOPSize() == 0) ? I_SLICE : eSliceType;
    415 #endif
    416374
    417375  rpcSlice->setSliceType        ( eSliceType );
     
    431389  rpcSlice->setSliceQpDeltaCb   ( 0 );
    432390  rpcSlice->setSliceQpDeltaCr   ( 0 );
    433 #if H_MV
    434   rpcSlice->setNumRefIdx(REF_PIC_LIST_0,m_pcCfg->getGOPEntry( (eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid ).m_numRefPicsActive);
    435   rpcSlice->setNumRefIdx(REF_PIC_LIST_1,m_pcCfg->getGOPEntry( (eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid ).m_numRefPicsActive);
    436 #else
    437391  rpcSlice->setNumRefIdx(REF_PIC_LIST_0,m_pcCfg->getGOPEntry(iGOPid).m_numRefPicsActive);
    438392  rpcSlice->setNumRefIdx(REF_PIC_LIST_1,m_pcCfg->getGOPEntry(iGOPid).m_numRefPicsActive);
    439 #endif
    440393
    441394#if L0386_DB_METRIC
     
    458411      if ( !m_pcCfg->getLoopFilterOffsetInPPS() && eSliceType!=I_SLICE)
    459412      {
    460 #if H_MV
    461         rpcSlice->getPPS()->setDeblockingFilterBetaOffsetDiv2( m_pcCfg->getGOPEntry((eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid).m_betaOffsetDiv2 + m_pcCfg->getLoopFilterBetaOffset() );
    462         rpcSlice->getPPS()->setDeblockingFilterTcOffsetDiv2( m_pcCfg->getGOPEntry((eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid).m_tcOffsetDiv2 + m_pcCfg->getLoopFilterTcOffset() );
    463         rpcSlice->setDeblockingFilterBetaOffsetDiv2( m_pcCfg->getGOPEntry((eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid).m_betaOffsetDiv2 + m_pcCfg->getLoopFilterBetaOffset()  );
    464         rpcSlice->setDeblockingFilterTcOffsetDiv2( m_pcCfg->getGOPEntry((eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid).m_tcOffsetDiv2 + m_pcCfg->getLoopFilterTcOffset() );
    465 #else
    466413        rpcSlice->getPPS()->setDeblockingFilterBetaOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_betaOffsetDiv2 + m_pcCfg->getLoopFilterBetaOffset() );
    467414        rpcSlice->getPPS()->setDeblockingFilterTcOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_tcOffsetDiv2 + m_pcCfg->getLoopFilterTcOffset() );
    468415        rpcSlice->setDeblockingFilterBetaOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_betaOffsetDiv2 + m_pcCfg->getLoopFilterBetaOffset()  );
    469416        rpcSlice->setDeblockingFilterTcOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_tcOffsetDiv2 + m_pcCfg->getLoopFilterTcOffset() );
    470 #endif
    471417      }
    472418      else
     
    489435  rpcSlice->setDepth            ( depth );
    490436 
    491 #if H_MV
    492   pcPic->setTLayer( m_pcCfg->getGOPEntry( (eSliceTypeBaseView == I_SLICE) ? MAX_GOP : iGOPid ).m_temporalId );
    493 #else
    494437  pcPic->setTLayer( m_pcCfg->getGOPEntry(iGOPid).m_temporalId );
    495 #endif
    496438  if(eSliceType==I_SLICE)
    497439  {
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncTop.cpp

    r366 r367  
    4242#include "TLibCommon/ContextModel.h"
    4343#endif
    44 #if H_MV
    45 #include "../../App/TAppEncoder/TAppEncTop.h"
    46 #endif
    4744
    4845//! \ingroup TLibEncoder
     
    8178  m_pcBitCounters          = NULL;
    8279  m_pcRdCosts              = NULL;
    83 #if H_MV
    84   m_ivPicLists = NULL;
    85 #endif
    8680}
    8781
     
    9589Void TEncTop::create ()
    9690{
    97 #if !H_MV
    9891  // initialize global variables
    9992  initROM();
    100 #endif
    10193 
    10294  // create processing unit classes
     
    276268  delete[] m_pcRdCosts;
    277269 
    278 #if !H_MV
    279270    // destroy ROM
    280271  destroyROM();
    281 #endif
    282272
    283273  return;
     
    329319// ====================================================================================================================
    330320
    331 #if H_MV
    332 Void TEncTop::initNewPic( TComPicYuv* pcPicYuvOrg )
    333 {
    334   TComPic* pcPicCurr = NULL;
    335 
    336   // get original YUV
    337   xGetNewPicBuffer( pcPicCurr );
    338   pcPicYuvOrg->copyToPic( pcPicCurr->getPicYuvOrg() );
    339 
    340   // compute image characteristics
    341   if ( getUseAdaptiveQP() )
    342   {
    343     m_cPreanalyzer.xPreanalyze( dynamic_cast<TEncPic*>( pcPicCurr ) );
    344   }
    345 }
    346 #endif
    347321Void TEncTop::deletePicBuffer()
    348322{
     
    371345 \retval  iNumEncoded         number of encoded pictures
    372346 */
    373 #if H_MV
    374 Void TEncTop::encode(Bool flush, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded , Int gopId )
    375 {
    376 #else
    377347Void TEncTop::encode(Bool flush, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded )
    378348{
    379 #endif
    380 #if H_3D
    381   TComPic* picLastCoded = getPic( getGOPEncoder()->getPocLastCoded() );
    382   if( picLastCoded )
    383   {
    384     picLastCoded->compressMotion();
    385   }
    386 #endif
    387 #if H_MV
    388   if( gopId == 0)
    389   {
    390     m_cGOPEncoder.initGOP(m_iPOCLast, m_iNumPicRcvd, m_cListPic, rcListPicYuvRecOut, accessUnitsOut); 
    391 #else
    392349  if (pcPicYuvOrg) {
    393350    // get original YUV
     
    408365    return;
    409366  }
    410 #endif
    411367 
    412368#if RATE_CONTROL_LAMBDA_DOMAIN
     
    417373#endif
    418374
    419 #if H_MV
    420   }
    421   m_cGOPEncoder.compressPicInGOP(m_iPOCLast, m_iNumPicRcvd, m_cListPic, rcListPicYuvRecOut, accessUnitsOut, gopId );
    422 
    423   if( gopId + 1 == m_cGOPEncoder.getGOPSize() )
    424   {
    425 #else
    426375  // compress GOP
    427376  m_cGOPEncoder.compressGOP(m_iPOCLast, m_iNumPicRcvd, m_cListPic, rcListPicYuvRecOut, accessUnitsOut);
    428 #endif
    429377
    430378#if RATE_CONTROL_LAMBDA_DOMAIN
     
    438386  m_iNumPicRcvd       = 0;
    439387  m_uiNumAllPicCoded += iNumEncoded;
    440 #if H_MV
    441 }
    442 #endif
    443388}
    444389
     
    505450Void TEncTop::xInitSPS()
    506451{
    507 #if H_MV
    508   m_cSPS.setSPSId( getLayerIdInVps() );
    509 #endif
    510452  ProfileTierLevel& profileTierLevel = *m_cSPS.getPTL()->getGeneralPTL();
    511453  profileTierLevel.setLevelIdc(m_level);
     
    652594Void TEncTop::xInitPPS()
    653595{
    654 #if H_MV
    655   if( m_cVPS.getNumDirectRefLayers( getLayerIdInVps() ) > 0 )
    656   {
    657     m_cPPS.setListsModificationPresentFlag( true );
    658   }
    659   m_cPPS.setPPSId( getLayerIdInVps() );
    660   m_cPPS.setSPSId( getLayerIdInVps() );
    661 #endif
    662596  m_cPPS.setConstrainedIntraPred( m_bUseConstrainedIntraPred );
    663597  Bool bUseDQP = (getMaxCuDQPDepth() > 0)? true : false;
     
    963897Void TEncTop::selectReferencePictureSet(TComSlice* slice, Int POCCurr, Int GOPid )
    964898{
    965 #if H_MV
    966   if( slice->getRapPicFlag() == true && getLayerId() > 0 && POCCurr == 0 )
    967   {
    968     TComReferencePictureSet* rps = slice->getLocalRPS();
    969     rps->setNumberOfNegativePictures(0);
    970     rps->setNumberOfPositivePictures(0);
    971     rps->setNumberOfLongtermPictures(0);
    972     rps->setNumberOfPictures(0);
    973     slice->setRPS(rps);
    974   }
    975   else
    976   {
    977 #endif
    978899  slice->setRPSidx(GOPid);
    979900
     
    1003924  slice->setRPS(getSPS()->getRPSList()->getReferencePictureSet(slice->getRPSidx()));
    1004925  slice->getRPS()->setNumberOfPictures(slice->getRPS()->getNumberOfNegativePictures()+slice->getRPS()->getNumberOfPositivePictures());
    1005 #if H_MV
    1006   }
    1007 #endif
    1008926
    1009927}
     
    11201038  }
    11211039}
    1122 #if H_MV
    1123 Void TEncTop::printSummary( Int numAllPicCoded )
    1124 {
    1125   assert (numAllPicCoded == m_cAnalyzeAll.getNumPic());
    1126 
    1127   //--CFG_KDY
    1128   m_cAnalyzeAll.setFrmRate( getFrameRate() );
    1129   m_cAnalyzeI.setFrmRate( getFrameRate() );
    1130   m_cAnalyzeP.setFrmRate( getFrameRate() );
    1131   m_cAnalyzeB.setFrmRate( getFrameRate() );
    1132 
    1133   //-- all
    1134   printf( "\n\nSUMMARY ------------------------------------------- LayerId %2d\n", m_layerId );
    1135 
    1136   m_cAnalyzeAll.printOut('a');
    1137 
    1138   printf( "\n\nI Slices--------------------------------------------------------\n" );
    1139   m_cAnalyzeI.printOut('i');
    1140 
    1141   printf( "\n\nP Slices--------------------------------------------------------\n" );
    1142   m_cAnalyzeP.printOut('p');
    1143 
    1144   printf( "\n\nB Slices--------------------------------------------------------\n" );
    1145   m_cAnalyzeB.printOut('b');
    1146 
    1147 #if _SUMMARY_OUT_
    1148   m_cAnalyzeAll.printSummaryOut();
    1149 #endif
    1150 #if _SUMMARY_PIC_
    1151   m_cAnalyzeI.printSummary('I');
    1152   m_cAnalyzeP.printSummary('P');
    1153   m_cAnalyzeB.printSummary('B');
    1154 #endif
    1155 }
    1156 
    1157 Int TEncTop::getFrameId(Int iGOPid) 
    1158 {
    1159   if(m_iPOCLast == 0)
    1160   {
    1161     return(0 );
    1162   }
    1163   else
    1164   {
    1165     return m_iPOCLast -m_iNumPicRcvd+ getGOPEntry(iGOPid).m_POC ;
    1166   }
    1167 }
    1168 
    1169 TComPic* TEncTop::getPic( Int poc )
    1170 {
    1171   TComList<TComPic*>* listPic = getListPic();
    1172   TComPic* pcPic = NULL;
    1173   for(TComList<TComPic*>::iterator it=listPic->begin(); it!=listPic->end(); it++)
    1174   {
    1175     if( (*it)->getPOC() == poc )
    1176     {
    1177       pcPic = *it ;
    1178       break ;
    1179     }
    1180   }
    1181   return pcPic;
    1182 }
    1183 #endif
    11841040//! \}
  • branches/HTM-DEV-0.1-dev/source/Lib/TLibEncoder/TEncTop.h

    r364 r367  
    7474  TComList<TComPic*>      m_cListPic;                     ///< dynamic list of pictures
    7575 
    76 #if H_MV
    77   TComPicLists*           m_ivPicLists;                   ///< access to picture lists of other layers
    78 #endif
    7976  // encoder search
    8077  TEncSearch              m_cSearch;                      ///< encoder search class
     
    125122  TEncRateCtrl            m_cRateCtrl;                    ///< Rate control class
    126123 
    127 #if H_MV
    128   TEncAnalyze             m_cAnalyzeAll;
    129   TEncAnalyze             m_cAnalyzeI;
    130   TEncAnalyze             m_cAnalyzeP;
    131   TEncAnalyze             m_cAnalyzeB; 
    132 #endif
    133124protected:
    134125  Void  xGetNewPicBuffer  ( TComPic*& rpcPic );           ///< get picture buffer which will be processed
     
    146137  Void      destroy         ();
    147138  Void      init            ();
    148 #if H_MV 
    149   TComPicLists* getIvPicLists() { return m_ivPicLists; }
    150 #endif
    151139  Void      deletePicBuffer ();
    152140
    153141  Void      createWPPCoders(Int iNumSubstreams);
    154142 
    155 #if H_MV
    156   Void      initNewPic(TComPicYuv* pcPicYuvOrg);
    157 #endif
    158143  // -------------------------------------------------------------------------------------------------------------------
    159144  // member access functions
     
    192177#endif
    193178  TComScalingList*        getScalingList        () { return  &m_scalingList;         }
    194 #if H_MV
    195   TEncAnalyze*            getAnalyzeAll         () { return &m_cAnalyzeAll; }
    196   TEncAnalyze*            getAnalyzeI           () { return &m_cAnalyzeI;   }
    197   TEncAnalyze*            getAnalyzeP           () { return &m_cAnalyzeP;   }
    198   TEncAnalyze*            getAnalyzeB           () { return &m_cAnalyzeB;   }
    199 
    200   Int                     getNumAllPicCoded     () { return m_uiNumAllPicCoded; }
    201  
    202   Int                     getFrameId            (Int iGOPid);
    203  
    204   TComPic*                getPic                ( Int poc );
    205   Void                    setIvPicLists         ( TComPicLists* picLists) { m_ivPicLists = picLists; }
    206 #endif
    207179  // -------------------------------------------------------------------------------------------------------------------
    208180  // encoder function
     
    210182
    211183  /// encode several number of pictures until end-of-sequence
    212 #if H_MV
    213   Void encode( Bool bEos, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded  , Int gopId  ); 
    214 #else
    215184  Void encode( Bool bEos, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut,
    216185              std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded ); 
    217 #endif
    218186
    219 #if H_MV
    220   Void printSummary      ( Int numAllPicCoded );
    221 #else
    222187  void printSummary() { m_cGOPEncoder.printOutSummary (m_uiNumAllPicCoded); }
    223 #endif
    224188};
    225189
Note: See TracChangeset for help on using the changeset viewer.