Ignore:
Timestamp:
26 Nov 2012, 18:35:20 (12 years ago)
Author:
qualcomm
Message:

JCT3V-B0046, MVHEVC codec;
Two bugs fixed for HTM:
1) encoder crash, see the macro 'BUG_FIX_HTM'
2) wrong place for '#endif' in TComPrediction.h

Location:
branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/NALwrite.cpp

    r77 r194  
    6464#endif
    6565
     66#if MVHEVC
     67  bsNALUHeader.write(nalu.m_layerId,        5); // when nal_ref_flag is signalled, 5 bits here. otherwise, 6 bits
     68  bsNALUHeader.write(nalu.m_temporalId + 1, 3); // temporal_id
     69#else
    6670#if VIDYO_VPS_INTEGRATION
    6771  bsNALUHeader.write(nalu.m_temporalId, 3); // temporal_id
     
    7983  case NAL_UNIT_CODED_SLICE_IDR:
    8084#if H0566_TLA
     85#if !QC_REM_IDV
    8186  case NAL_UNIT_CODED_SLICE_IDV:
     87#endif
    8288  case NAL_UNIT_CODED_SLICE_CRA:
    8389  case NAL_UNIT_CODED_SLICE_TLA:
     
    95101#endif
    96102#endif
    97  
     103#endif
    98104  out.write(bsNALUHeader.getByteStream(), bsNALUHeader.getByteStreamLength());
    99105
     
    196202}
    197203
     204#if !MVHEVC
    198205/**
    199206 * Copy NALU from naluSrc to naluDest
     
    222229  naluDest.m_Bitstream   = naluSrc.m_Bitstream;
    223230}
     231#endif
    224232
    225233//! \}
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/NALwrite.h

    r77 r194  
    6262    NalRefIdc nalRefIDC,
    6363#endif
    64 #if VIDYO_VPS_INTEGRATION
     64#if VIDYO_VPS_INTEGRATION|MVHEVC
    6565    unsigned layerId,
    6666#else
     
    7070    unsigned temporalID = 0)
    7171#if NAL_REF_FLAG
    72 #if VIDYO_VPS_INTEGRATION
     72#if VIDYO_VPS_INTEGRATION|MVHEVC
    7373  : NALUnit(nalUnitType, nalRefFlag, layerId, temporalID)
    7474#else
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncCavlc.cpp

    r189 r194  
    375375}
    376376
     377#if MVHEVC
     378Void TEncCavlc::codeVPS( TComVPS* pcVPS )
     379{
     380  WRITE_CODE( pcVPS->getVPSId(),               4,        "video_parameter_set_id"     );
     381  WRITE_FLAG( pcVPS->getTemporalNestingFlag() -1,        "temporal_id_nesting_flag"   );
     382  WRITE_CODE( 0,                 2,        "vps_reserved_zero_2bits"    );
     383  WRITE_CODE( pcVPS->getMaxLayers() - 1,       6,        "vps_max_layers_minus1"      );
     384  WRITE_CODE( pcVPS->getMaxTLayers() - 1,      3,        "vps_max_sub_layers_minus1"  );
     385  //to be determined
     386  //profile_tier_level( 1, vps_max_sub_layers_minus1 );
     387  //to be modified
     388  WRITE_CODE( 0,                              12,         "vps_extension_offset"      );
     389  for(UInt i=0; i <= pcVPS->getMaxTLayers()-1; i++)
     390  {
     391    WRITE_UVLC( pcVPS->getMaxDecPicBuffering(i),           "max_dec_pic_buffering[i]" );
     392    WRITE_UVLC( pcVPS->getNumReorderPics(i),               "num_reorder_pics[i]"      );
     393    WRITE_UVLC( pcVPS->getMaxLatencyIncrease(i),           "max_latency_increase[i]"  );
     394  }
     395  //!!!waste one bit: 3-view, 3; 2-view or more views: 1
     396  WRITE_UVLC(pcVPS->getNumHRDParameters(),                 "vps_num_hrd_parameters"   );
     397  assert(pcVPS->getNumHRDParameters()==0);
     398  for ( UInt i = 0; i < pcVPS->getNumHRDParameters(); i ++)
     399  {
     400   //   if( i > 0 ) 
     401    //{
     402    //  WRITE_UVLC (0, "op_num_layer_id_values_minus1[ opIdx ]");
     403    //  for( i = 0; i <= op_num_layer_id_values_minus1[ opIdx ]; i++ ) 
     404    //    WRITE_CODE(0, 6, "op_layer_id[ opIdx ][ i ]");
     405    //} 
     406    //hrd_parameters( i  = =  0, vps_max_sub_layers_minus1 ); 
     407  }
     408  WRITE_CODE( 1,      1,        "bit_equal_to_one" );
     409  //btye aligned
     410  m_pcBitIf->writeAlignOne();
     411
     412  if(pcVPS->getMaxLayers() == 3)
     413    pcVPS->setNumAddiLayerOperationPoints (pcVPS->getMaxLayers());    //may be configured
     414  else
     415    pcVPS->setNumAddiLayerOperationPoints (1);   
     416  pcVPS->setNumAddiProLevelSets         (1);
     417  WRITE_CODE( pcVPS->getNumAddiLayerOperationPoints(),         8,               "num_additional_layer_operation_points" );   
     418  WRITE_CODE( pcVPS->getNumAddiProLevelSets(),                 8,               "num_additional_profile_level_sets"     );   
     419  for(UInt i=0; i <= pcVPS->getMaxLayers()-1; i++)
     420  {
     421    WRITE_CODE( 0,         4,               "num_types_zero_4bits[i]" );   
     422    WRITE_CODE( 0,         4,               "type_zero_4bits[i]"      );   
     423    WRITE_CODE( pcVPS->getViewId(i),         8,               "view_id[i]" );   
     424    if(i)
     425    {
     426      WRITE_CODE( pcVPS->getNumDirectRefLayer(i), 6,  "num_direct_ref_layers[ i ]" );   
     427      for (UInt j = 0; j< pcVPS->getNumDirectRefLayer(i); j++)
     428      {
     429        WRITE_CODE( pcVPS->getDirectRefLayerId (i, j), 6,  "ref_layer_id[i][j]" );
     430      }
     431    }
     432  }
     433  for( UInt i=1; i<=pcVPS->getNumAddiProLevelSets(); i++)
     434  {
     435    //profile_tier_level
     436  }
     437  for( UInt i=1; i<= pcVPS->getNumAddiLayerOperationPoints(); i++)
     438  {   
     439    if(pcVPS->getMaxLayers() == 3)
     440    {
     441      pcVPS->setNumOpLayerIdMinus1((i < pcVPS->getNumAddiLayerOperationPoints() ? 1: 2), (i-1));
     442    }
     443    else if( i==1 )
     444    {
     445      assert(pcVPS->getNumAddiLayerOperationPoints()==1);
     446      pcVPS->setNumOpLayerIdMinus1(pcVPS->getMaxLayers()-1, (i-1));
     447    }
     448    WRITE_UVLC( pcVPS->getNumOpLayerIdMinus1(i-1),           "op_num_layer_id_values_minus1[ opIdx ]" );
     449    for(UInt j = 0; j <= pcVPS->getNumOpLayerIdMinus1(i-1); j++ )
     450    {
     451      if(pcVPS->getMaxLayers() == 3 && i== 2 && j==1)
     452        pcVPS->setNumOpLayerId (2, i-1, j);
     453      else
     454        pcVPS->setNumOpLayerId (j, i-1, j);
     455      WRITE_UVLC( pcVPS->getNumOpLayerId(i-1, j),           "op_layer_id[ opIdx ][ i ]" );
     456    }
     457    if (pcVPS->getNumAddiProLevelSets())
     458    {
     459      //profile_level_idx[ i ]
     460    }
     461  }
     462  return;
     463}
     464#else
    377465#if VIDYO_VPS_INTEGRATION
    378466Void TEncCavlc::codeVPS( TComVPS* pcVPS )
     
    419507}
    420508#endif
    421 
     509#endif
    422510#if HHI_MPI
    423511Void TEncCavlc::codeSPS( TComSPS* pcSPS, Bool bIsDepth )
     
    620708#endif
    621709  WRITE_FLAG( 1, "sps_extension_flag" );
    622 
     710#if !MVHEVC
    623711  WRITE_FLAG( (pcSPS->getNumberOfUsableInterViewRefs() > 0) ? 1 : 0, "interview_refs_present_flag" );
    624712  if( pcSPS->getNumberOfUsableInterViewRefs() > 0 )
     
    719807  }
    720808  WRITE_FLAG( 0, "sps_extension2_flag" );
     809#endif
    721810}
    722811
     
    795884  if (!bEntropySlice)
    796885  {
     886#if MVHEVC
     887    WRITE_UVLC( 0, "pic_parameter_set_id" );
     888#else
    797889    WRITE_UVLC( pcSlice->getPPS()->getPPSId(), "pic_parameter_set_id" );
     890#endif
    798891#if H0388
    799892    if( pcSlice->getPPS()->getOutputFlagPresentFlag() )
     
    802895    }
    803896#endif
     897#if QC_REM_IDV
     898    if(pcSlice->getNalUnitType()==NAL_UNIT_CODED_SLICE_IDR && pcSlice->getViewId() == 0)
     899#else
    804900    if(pcSlice->getNalUnitType()==NAL_UNIT_CODED_SLICE_IDR)
     901#endif
    805902    {
    806903      WRITE_UVLC( 0, "idr_pic_id" );
     
    810907    {
    811908      WRITE_CODE( (pcSlice->getPOC()-pcSlice->getLastIDR()+(1<<pcSlice->getSPS()->getBitsForPOC()))%(1<<pcSlice->getSPS()->getBitsForPOC()), pcSlice->getSPS()->getBitsForPOC(), "pic_order_cnt_lsb");
     909#if QC_REM_IDV
     910      if( pcSlice->getPOC() == 0 && !(pcSlice->getSPS()->getViewId() && (pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR || pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA)))
     911#else
    812912      if( pcSlice->getPOC() == 0 && pcSlice->getNalUnitType() != NAL_UNIT_CODED_SLICE_IDV )
     913#endif
    813914      {
    814915        TComReferencePictureSet* rps = pcSlice->getRPS();
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncCavlc.h

    r189 r194  
    114114  UInt  getCoeffCost          ()                { return  m_uiCoeffCost;  }
    115115 
    116 #if VIDYO_VPS_INTEGRATION
     116#if VIDYO_VPS_INTEGRATION|MVHEVC
    117117  Void  codeVPS                 ( TComVPS* pcVPS );
    118118#endif
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncCfg.h

    r189 r194  
    307307#endif
    308308
    309 #if VIDYO_VPS_INTEGRATION
     309#if VIDYO_VPS_INTEGRATION|MVHEVC
    310310  UInt     m_layerId;
    311311#endif
     
    820820  Int       getTSIG()                            { return m_signHidingThreshold; }
    821821#endif
    822 #if VIDYO_VPS_INTEGRATION
     822#if VIDYO_VPS_INTEGRATION |MVHEVC
    823823  Void      setLayerId             ( UInt layerId )   { m_layerId = layerId; }
    824824  UInt      getLayerId             ()               { return m_layerId; }
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncEntropy.cpp

    r189 r194  
    121121}
    122122
    123 #if VIDYO_VPS_INTEGRATION
     123#if VIDYO_VPS_INTEGRATION|MVHEVC
    124124Void TEncEntropy::encodeVPS( TComVPS* pcVPS )
    125125{
     
    129129#endif
    130130
    131 #if VIDYO_VPS_INTEGRATION
     131#if VIDYO_VPS_INTEGRATION|MVHEVC
    132132Void  codeVPS                 ( TComVPS* pcVPS );
    133133#endif
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncEntropy.h

    r189 r194  
    7676  virtual UInt  getCoeffCost          ()                = 0;
    7777
    78 #if VIDYO_VPS_INTEGRATION
     78#if VIDYO_VPS_INTEGRATION|MVHEVC
    7979  virtual Void  codeVPS                 ( TComVPS* pcVPS )                                      = 0;
    8080#endif
     
    242242 
    243243public:
    244 #if VIDYO_VPS_INTEGRATION
     244#if VIDYO_VPS_INTEGRATION|MVHEVC
    245245  Void encodeVPS               ( TComVPS* pcVPS);
    246246#endif
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncGOP.cpp

    r189 r194  
    246246
    247247      std::vector<TComAPS>& vAPS = m_pcEncTop->getAPS();
    248 #if VIDYO_VPS_INTEGRATION
     248#if VIDYO_VPS_INTEGRATION|MVHEVC
    249249    m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, uiPOCCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getEncTop()->getVPS(), m_pcEncTop->getSPS(), m_pcEncTop->getPPS() );
    250250#else
     
    298298      if( pcSlice->getSliceType() == B_SLICE )
    299299      {
    300         if( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_sliceType == 'P' ) { pcSlice->setSliceType( P_SLICE ); }
    301       }
     300#if QC_REM_IDV
     301      if( m_pcCfg->getGOPEntry(pcSlice->getSPS()->getViewId() && ((getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDR) || (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_CRA))? MAX_GOP : iGOPid ).m_sliceType == 'P' ) { pcSlice->setSliceType( P_SLICE ); }
     302#else
     303      if( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_sliceType == 'P' ) { pcSlice->setSliceType( P_SLICE ); }
     304#endif
     305    }
    302306
    303307      // Set the nal unit type
     
    332336#endif
    333337
     338#if !QC_REM_IDV
    334339      pcSlice->setNumRefIdx( REF_PIC_LIST_0, min( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
    335340      pcSlice->setNumRefIdx( REF_PIC_LIST_1, min( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
    336 
    337       TComRefPicListModification* refPicListModification = pcSlice->getRefPicListModification();
    338       refPicListModification->setRefPicListModificationFlagL0( false );
     341#else
     342
     343    Bool bNalRAP = ((getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_CRA) || (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDR)) && (pcSlice->getSPS()->getViewId())  ? 1: 0;
     344    pcSlice->setNumRefIdx( REF_PIC_LIST_0, min( m_pcCfg->getGOPEntry( bNalRAP ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
     345    pcSlice->setNumRefIdx( REF_PIC_LIST_1, min( m_pcCfg->getGOPEntry( bNalRAP ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
     346#endif
     347    TComRefPicListModification* refPicListModification = pcSlice->getRefPicListModification();
     348    refPicListModification->setRefPicListModificationFlagL0( false );
    339349#if !H0137_0138_LIST_MODIFICATION
    340350      refPicListModification->setNumberOfRefPicListModificationsL0(0);
     
    363373      if( pcSlice->getSliceType() == B_SLICE )
    364374      {
     375#if !QC_REM_IDV
    365376        if( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_sliceType == 'P' ) { pcSlice->setSliceType( P_SLICE ); }
     377#else
     378      Bool bRAP = ((getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_CRA) || (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDR)) && (pcSlice->getSPS()->getViewId())  ? 1: 0;
     379      if( m_pcCfg->getGOPEntry( bRAP ? MAX_GOP : iGOPid ).m_sliceType == 'P' ) { pcSlice->setSliceType( P_SLICE ); }
     380#endif
    366381      }
    367382     
     
    830845      if ( m_bSeqFirst )
    831846      {
    832 #if VIDYO_VPS_INTEGRATION
     847#if MVHEVC
     848      if(!m_pcEncTop->getLayerId())
     849      {
     850#endif
     851#if VIDYO_VPS_INTEGRATION|MVHEVC
    833852        {
    834853          OutputNALUnit nalu(NAL_UNIT_VPS, true, m_pcEncTop->getLayerId());
     
    840859#endif
    841860#if NAL_REF_FLAG
    842 #if VIDYO_VPS_INTEGRATION
     861#if VIDYO_VPS_INTEGRATION|MVHEVC
    843862        OutputNALUnit nalu(NAL_UNIT_SPS, true, m_pcEncTop->getLayerId());
    844863#else
     
    861880
    862881#if NAL_REF_FLAG
    863 #if VIDYO_VPS_INTEGRATION
     882#if VIDYO_VPS_INTEGRATION|MVHEVC
     883#if MVHEVC
    864884        nalu = NALUnit(NAL_UNIT_PPS, true, m_pcEncTop->getLayerId());
     885#else
     886        nalu = NALUnit(NAL_UNIT_PPS, true, m_pcEncTop->getLayerId());
     887#endif
    865888#else
    866889        nalu = NALUnit(NAL_UNIT_PPS, true, m_pcEncTop->getViewId(), m_pcEncTop->getIsDepth());
     
    873896        writeRBSPTrailingBits(nalu.m_Bitstream);
    874897        accessUnit.push_back(new NALUnitEBSP(nalu));
    875 
    876         m_bSeqFirst = false;
    877       }
     898#if MVHEVC
     899      }
     900#endif
     901      m_bSeqFirst = false;
     902    }
    878903
    879904      /* use the main bitstream buffer for storing the marshalled picture */
     
    9931018#if NAL_REF_FLAG
    9941019        OutputNALUnit nalu( pcSlice->getNalUnitType(), pcSlice->isReferenced(),
    995 #if !VIDYO_VPS_INTEGRATION
     1020#if !VIDYO_VPS_INTEGRATION &!MVHEVC
    9961021                           m_pcEncTop->getViewId(), m_pcEncTop->getIsDepth(), pcSlice->getTLayer() );
    9971022#else
     
    14691494          {
    14701495#if NAL_REF_FLAG
    1471 #if VIDYO_VPS_INTEGRATION
     1496#if VIDYO_VPS_INTEGRATION | MVHEVC
    14721497            OutputNALUnit nalu(NAL_UNIT_APS, true, m_pcEncTop->getLayerId());
    14731498#else
     
    15351560
    15361561#if NAL_REF_FLAG
    1537 #if VIDYO_VPS_INTEGRATION
     1562#if VIDYO_VPS_INTEGRATION | MVHEVC
    15381563        OutputNALUnit nalu(NAL_UNIT_SEI, false, m_pcEncTop->getLayerId());
    15391564#else
     
    19731998  case NAL_UNIT_CODED_SLICE: return "SLICE";
    19741999#if H0566_TLA
     2000#if !QC_REM_IDV
    19752001  case NAL_UNIT_CODED_SLICE_IDV: return "IDV";
     2002#endif
    19762003  case NAL_UNIT_CODED_SLICE_CRA: return "CRA";
    19772004  case NAL_UNIT_CODED_SLICE_TLA: return "TLA";
     
    21882215    if( bInterViewOnlySlice )
    21892216    {
     2217#if !QC_REM_IDV
    21902218      return NAL_UNIT_CODED_SLICE_IDV;
     2219#else
     2220      return NAL_UNIT_CODED_SLICE_IDR;
     2221#endif
    21912222    }
    21922223    else
     
    22012232      if( bInterViewOnlySlice )
    22022233      {
     2234#if !QC_REM_IDV
    22032235        return NAL_UNIT_CODED_SLICE_IDV;
     2236#else
     2237        return NAL_UNIT_CODED_SLICE_CRA;
     2238#endif
    22042239      }
    22052240      else
     
    22162251      if( bInterViewOnlySlice )
    22172252      {
     2253#if !QC_REM_IDV
    22182254        return NAL_UNIT_CODED_SLICE_IDV;
     2255#else
     2256        return NAL_UNIT_CODED_SLICE_IDR;
     2257#endif
    22192258      }
    22202259      else
     
    24542493
    24552494  // analyze inter-view modifications
     2495#if !QC_REM_IDV
    24562496  GOPEntryMvc gem = m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid );
     2497#else
     2498  Bool bRAP = ((getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDR) || (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_CRA)) && (pcSlice->getSPS()->getViewId()) ? 1:0;
     2499  GOPEntryMvc gem = m_pcCfg->getGOPEntry( bRAP ? MAX_GOP : iGOPid );
     2500#endif
    24572501  Int numL0Modifications = 0;
    24582502  Int numL1Modifications = 0;
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncSbac.cpp

    r189 r194  
    396396}
    397397
    398 #if VIDYO_VPS_INTEGRATION
     398#if VIDYO_VPS_INTEGRATION|MVHEVC
    399399Void TEncSbac::codeVPS( TComVPS* pcVPS )
    400400{
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncSbac.h

    r189 r194  
    9898  //--SBAC RD
    9999
    100 #if VIDYO_VPS_INTEGRATION
     100#if VIDYO_VPS_INTEGRATION|MVHEVC
    101101  Void  codeVPS                 ( TComVPS* pcVPS );
    102102#endif
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncSearch.cpp

    r189 r194  
    42844284  }
    42854285#endif
    4286 
     4286#if MVHEVC
     4287  m_pcRdCost->setMultiviewReg( 0 );
     4288#endif
    42874289  setWpScalingDistParam( pcCU, iRefIdxPred, eRefPicList );
    42884290  //  Do integer search
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncSlice.cpp

    r189 r194  
    162162 \param pPPS          PPS associated with the slice
    163163 */
    164 #if VIDYO_VPS_INTEGRATION
     164#if VIDYO_VPS_INTEGRATION|MVHEVC
    165165Void TEncSlice::initEncSlice( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS * pVPS, TComSPS* pSPS, TComPPS *pPPS )
    166166#else
     
    172172 
    173173  rpcSlice = pcPic->getSlice(0);
    174 #if VIDYO_VPS_INTEGRATION
     174#if VIDYO_VPS_INTEGRATION|MVHEVC
    175175  rpcSlice->setVPS( pVPS );
    176176#endif
     
    820820  UInt uiTileStartLCU = 0;
    821821  UInt uiTileLCUX     = 0;
    822 
     822#if !MVHEVC
    823823  Int iLastPosY = -1;
    824 
     824#endif
    825825  // for every CU in slice
    826826  UInt uiEncCUOrder;
     
    833833    TComDataCU*& pcCU = rpcPic->getCU( uiCUAddr );
    834834    pcCU->initCU( rpcPic, uiCUAddr );
    835 
     835#if !MVHEVC
    836836    if ( m_pcRdCost->getUseRenModel() )
    837837    {
     
    847847      }
    848848    }   
    849 
     849#endif
    850850    // inherit from TR if necessary, select substream to use.
    851851    if( m_pcCfg->getUseSBACRD() )
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncSlice.h

    r189 r194  
    110110 
    111111  /// preparation of slice encoding (reference marking, QP and lambda)
    112 #if VIDYO_VPS_INTEGRATION
     112#if VIDYO_VPS_INTEGRATION|MVHEVC
    113113  Void    initEncSlice        ( TComPic*  pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS* pVPS, TComSPS* pSPS, TComPPS *pPPS );
    114114#else
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibEncoder/TEncTop.cpp

    r189 r194  
    785785  else
    786786  {
     787#if MVHEVC
     788    m_cSPS.initMultiviewSPS   ( m_viewId);
     789#else
    787790    m_cSPS.initMultiviewSPS           ( m_viewId, m_iViewOrderIdx, m_uiCamParPrecision, m_bCamParInSliceHeader, m_aaiCodedScale, m_aaiCodedOffset );
     791#endif
    788792    if( m_viewId )
    789793    {
     
    993997Void TEncTop::selectReferencePictureSet(TComSlice* slice, Int POCCurr, Int GOPid,TComList<TComPic*>& listPic )
    994998{
     999#if QC_REM_IDV
     1000  if( (slice->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR ||slice->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA) && slice->getSPS()->getViewId() && POCCurr == 0 )
     1001#else
    9951002  if( slice->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDV && POCCurr == 0 )
     1003#endif
    9961004  {
    9971005    TComReferencePictureSet* rps = slice->getLocalRPS();
Note: See TracChangeset for help on using the changeset viewer.