Changeset 1106 in 3DVCSoftware for branches/HTM-12.2-dev2-HHI/source


Ignore:
Timestamp:
6 Nov 2014, 20:29:09 (10 years ago)
Author:
tech
Message:
  • HHI_TOOL_PARAMETERS_I2_J0107: Tool parameters moved to SPS and combined with dependency flags
  • Related update of cfg files.
Location:
branches/HTM-12.2-dev2-HHI/source
Files:
31 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncCfg.cpp

    r1104 r1106  
    377377  ("DepthFlag",             m_depthFlag          , std::vector<Int>(1,0), "Depth Flag")
    378378#if H_3D_DIM
     379#if !HHI_TOOL_PARAMETERS_I2_J0107
    379380  ("DMM",                   m_useDMM,           true,  "Depth intra model modes")
    380381  ("IVP",                   m_useIVP,           true,  "intra-view prediction")
    381382  ("SDC",                   m_useSDC,           true,  "Simplified depth coding")
     383#endif
    382384  ("DLT",                   m_useDLT,           true,  "Depth lookup table")
    383385#endif
    384386#if H_3D
     387#if !HHI_TOOL_PARAMETERS_I2_J0107
    385388  ("SingleDepthMode",    m_useSingleDepthMode, true, "Single depth mode")                         
     389#endif
    386390#endif
    387391#endif
     
    534538  ("DeblockingFilterMetric",         m_DeblockingFilterMetric,         false )
    535539
     540#if !HHI_TOOL_PARAMETERS_I2_J0107
    536541#if H_3D_ARP
    537542  ("AdvMultiviewResPred",      m_uiUseAdvResPred,           (UInt)1, "Usage of Advanced Residual Prediction" )
     
    541546  ("SubPUMPILog2Size", m_iSubPUMPILog2Size, (Int)3, "Sub-PU MPI size index: 2^n")
    542547#endif
     548#endif
    543549#if H_3D_IC
    544550  ("IlluCompEnable",           m_abUseIC, true, "Enable illumination compensation")
    545551  ("IlluCompLowLatencyEnc",    m_bUseLowLatencyICEnc, false, "Enable low-latency illumination compensation encoding")
    546552#endif
     553#if !HHI_TOOL_PARAMETERS_I2_J0107
    547554#if H_3D_INTER_SDC
    548555  ("InterSDC",                 m_bDepthInterSDCFlag,        true, "Enable depth inter SDC")
     
    553560#if H_3D_IV_MERGE
    554561  ("MPI",                      m_bMPIFlag,        true, "Enable MPI")
     562#endif
    555563#endif
    556564  // Coding tools
     
    793801
    794802#endif //HHI_VSO
     803#if HHI_TOOL_PARAMETERS_I2_J0107
     804  ("QTL",                             m_bUseQTL                 , true          , "Use depth quad tree limitation (encoder only)" )
     805#else
    795806#if H_3D_QTLPC
    796807  ("LimQtPredFlag",                   m_bLimQtPredFlag          , true          , "Use Predictive Coding with QTL" )
     
    808819#if H_3D
    809820  ("IvMvScaling",                     m_ivMvScalingFlag      ,  true            , "inter view motion vector scaling" )   
     821#endif
     822#endif
     823
     824#if HHI_TOOL_PARAMETERS_I2_J0107
     825  ("IvMvPredFlag"          , m_ivMvPredFlag          , std::vector< Bool >(2,true)                    , "Inter-view motion prediction"              )
     826  ("IvMvScalingFlag"       , m_ivMvScalingFlag       , std::vector< Bool >(2,true)                    , "Inter-view motion vector scaling"          )
     827  ("Log2SubPbSizeMinus3"   , m_log2SubPbSizeMinus3   , 0                                              , "Log2 minus 3 of sub Pb size"               )
     828  ("IvResPredFlag"         , m_ivResPredFlag         , true                                           , "Inter-view residual prediction"            )
     829  ("DepthRefinementFlag"   , m_depthRefinementFlag   , true                                           , "Depth to refine disparity"                 )
     830  ("ViewSynthesisPredFlag" , m_viewSynthesisPredFlag , true                                           , "View synthesis prediction"                 )
     831  ("DepthBasedBlkPartFlag" , m_depthBasedBlkPartFlag , true                                           , "Depth base block partitioning"             )
     832  ("MpiFlag"               , m_mpiFlag               , true                                           , "Motion inheritance from texture to depth"  )
     833  ("Log2MpiSubPbSizeMinus3", m_log2MpiSubPbSizeMinus3, 0                                              , "Log2 minus 3 of sub Pb size for MPI"       )
     834  ("IntraContourFlag"      , m_intraContourFlag      , true                                           , "Intra contour mode"                        )
     835  ("IntraWedgeFlag"        , m_intraWedgeFlag        , true                                           , "Intra wedge mode and segmental depth DCs"  )
     836  ("IntraSdcFlag"          , m_intraSdcFlag          , true                                           , "Intra depth DCs"                           )
     837  ("QtPredFlag"            , m_qtPredFlag            , true                                           , "Quad tree prediction from texture to depth")
     838  ("InterSdcFlag"          , m_interSdcFlag          , true                                           , "Inter depth DCs"                           )
     839  ("IntraSingleFlag"       , m_intraSingleFlag       , true                                           , "Intra single mode"                         )
    810840#endif
    811841#endif //H_3D
     
    16501680
    16511681#if H_3D_ARP
     1682#if !HHI_TOOL_PARAMETERS_I2_J0107
    16521683  xConfirmPara( ( 0 != m_uiUseAdvResPred ) &&  ( 1 != m_uiUseAdvResPred ), "UseAdvResPred must be 0 or 1." );
    16531684#endif
     1685#endif
    16541686#if H_3D_SPIVMP
     1687#if HHI_TOOL_PARAMETERS_I2_J0107
     1688  xConfirmPara( m_log2SubPbSizeMinus3 < 0,                                        "Log2SubPbSizeMinus3 must be equal to 0 or greater.");
     1689  xConfirmPara( m_log2SubPbSizeMinus3 > 3,                                        "Log2SubPbSizeMinus3 must be equal to 3 or smaller.");
     1690  xConfirmPara( (1<< ( m_log2SubPbSizeMinus3 + 3) ) > m_uiMaxCUWidth,              "Log2SubPbSizeMinus3 must be  equal to log2(maxCUSize)-3 or smaller.");
     1691 
     1692  xConfirmPara( m_log2MpiSubPbSizeMinus3 < 0,                                        "Log2MpiSubPbSizeMinus3 must be equal to 0 or greater.");
     1693  xConfirmPara( m_log2MpiSubPbSizeMinus3 > 3,                                        "Log2MpiSubPbSizeMinus3 must be equal to 3 or smaller.");
     1694  xConfirmPara( (1<< (m_log2MpiSubPbSizeMinus3 + 3)) > m_uiMaxCUWidth,               "Log2MpiSubPbSizeMinus3 must be equal to log2(maxCUSize)-3 or smaller.");
     1695#else
    16551696  xConfirmPara( m_iSubPULog2Size < 3,                                        "SubPULog2Size must be 3 or greater.");
    16561697  xConfirmPara( m_iSubPULog2Size > 6,                                        "SubPULog2Size must be 6 or smaller.");
     
    16601701  xConfirmPara( m_iSubPUMPILog2Size > 6,                                        "SubPUMPILog2Size must be 6 or smaller.");
    16611702  xConfirmPara( ( 1 << m_iSubPUMPILog2Size ) > m_uiMaxCUWidth,                  "SubPUMPILog2Size must be log2(maxCUSize) or smaller.");
     1703#endif
    16621704#endif
    16631705#if ADAPTIVE_QP_SELECTION
     
    26062648  printf("WVSO:%d ", m_bUseWVSO ); 
    26072649#endif
     2650
     2651#if HHI_TOOL_PARAMETERS_I2_J0107
     2652  printf( "QTL:%d "                  , m_bUseQTL);
     2653  printf( "IlluCompEnable:%d "       , m_abUseIC);
     2654  printf( "IlluCompLowLatencyEnc:%d ",  m_bUseLowLatencyICEnc);
     2655  printf( "DLT:%d ", m_useDLT );
     2656
     2657
     2658  printf( "IvMvPred:%d %d "    , m_ivMvPredFlag[0], m_ivMvPredFlag[1] );
     2659  printf( "IvMvScaling:%d %d "    , m_ivMvScalingFlag[0], m_ivMvScalingFlag[1] );
     2660
     2661  printf( "Log2SubPbSizeMinus3:%d "    , m_log2SubPbSizeMinus3            );
     2662  printf( "IvResPred:%d "              , m_ivResPredFlag          ? 1 : 0 );
     2663  printf( "DepthRefinement:%d "        , m_depthRefinementFlag    ? 1 : 0 );
     2664  printf( "ViewSynthesisPred:%d "      , m_viewSynthesisPredFlag  ? 1 : 0 );
     2665  printf( "DepthBasedBlkPart:%d "      , m_depthBasedBlkPartFlag  ? 1 : 0 );
     2666  printf( "Mpi:%d "                    , m_mpiFlag                ? 1 : 0 );
     2667  printf( "Log2MpiSubPbSizeMinus3:%d " , m_log2MpiSubPbSizeMinus3         );
     2668  printf( "IntraContour:%d "           , m_intraContourFlag       ? 1 : 0 );
     2669  printf( "IntraWedge:%d "             , m_intraWedgeFlag         ? 1 : 0 );
     2670  printf( "IntraSdc:%d "               , m_intraSdcFlag           ? 1 : 0 );
     2671  printf( "QtPred:%d "                 , m_qtPredFlag             ? 1 : 0 );
     2672  printf( "InterSdc:%d "               , m_interSdcFlag           ? 1 : 0 );
     2673  printf( "IntraSingle:%d "            , m_intraSingleFlag        ? 1 : 0 );
     2674
     2675#else
    26082676#if H_3D_QTLPC
    26092677  printf("LimQtPredFlag:%d ", m_bLimQtPredFlag ? 1 : 0);
    26102678  printf("QTL:%d ", m_bUseQTL);
    26112679#endif
    2612 #if H_3D_IV_MERGE
     2680#if H_3D_IV_MERGE 
    26132681  printf("IvMvPred:%d %d", m_ivMvPredFlag[0] ? 1 : 0, m_ivMvPredFlag[1] ? 1 : 0);
    26142682#if H_3D_SPIVMP
     
    26512719  printf( "MPI:%d ", m_bMPIFlag ? 1 : 0 );
    26522720#endif
     2721#endif
     2722
    26532723  printf("\n\n"); 
    26542724
  • branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncCfg.h

    r1084 r1106  
    132132  Bool m_higherLayerIrapSkipFlag;
    133133
    134 
     134#if !HHI_TOOL_PARAMETERS_I2_J0107
    135135#if H_3D_IV_MERGE
    136136  vector<Bool>           m_ivMvPredFlag;                      ///< Interview motion vector prediction
     137
    137138#if H_3D_SPIVMP
    138139  Int                    m_iSubPULog2Size;                   
     
    147148  UInt                   m_uiARPStepNum;
    148149#endif
     150#endif
     151
    149152#if H_3D_IC
    150153  Bool   m_abUseIC;
    151154  Bool   m_bUseLowLatencyICEnc;
    152155#endif
     156
     157#if !HHI_TOOL_PARAMETERS_I2_J0107
    153158#if H_3D_NBDV_REF
    154159  Bool m_depthRefinementFlag; 
     
    159164#if H_3D
    160165  Bool m_ivMvScalingFlag;
     166#endif
    161167#endif
    162168#endif
     
    486492#endif
    487493#if H_3D_DIM
     494#if !HHI_TOOL_PARAMETERS_I2_J0107
    488495  Bool      m_useDMM;                                        ///< flag for using DMM
    489496  Bool      m_useIVP;
    490497  Bool      m_useSDC;                                        ///< flag for using SDC
     498#endif
    491499  Bool      m_useDLT;                                        ///< flag for using DLT
    492500#endif
     501#if !HHI_TOOL_PARAMETERS_I2_J0107
    493502#if H_3D_SINGLE_DEPTH
    494503  Bool     m_useSingleDepthMode;                          ///< flag for using single depth mode
    495504#endif
     505#endif
    496506#if H_3D_QTLPC
    497507  Bool      m_bUseQTL;                                        ///< flag for using depth QuadTree Limitation
    498508#endif
     509#if !HHI_TOOL_PARAMETERS_I2_J0107
    499510#if H_3D_INTER_SDC
    500511  Bool m_bDepthInterSDCFlag;                                ///< flag for inter SDC of depth map coding
     
    506517  Bool m_bMPIFlag;                                           ///< flag for MPI of depth map coding
    507518#endif
     519#endif
     520
     521#if HHI_TOOL_PARAMETERS_I2_J0107
     522  std::vector< Bool >    m_ivMvPredFlag;
     523  std::vector< Bool >    m_ivMvScalingFlag;
     524  Int                    m_log2SubPbSizeMinus3;
     525  Bool                   m_ivResPredFlag;
     526  Bool                   m_depthRefinementFlag;
     527  Bool                   m_viewSynthesisPredFlag;
     528  Bool                   m_depthBasedBlkPartFlag;
     529  Bool                   m_mpiFlag;
     530  Int                    m_log2MpiSubPbSizeMinus3;
     531  Bool                   m_intraContourFlag;
     532  Bool                   m_intraWedgeFlag;
     533  Bool                   m_intraSdcFlag;
     534  Bool                   m_qtPredFlag;
     535  Bool                   m_interSdcFlag;
     536  Bool                   m_intraSingleFlag;
     537#endif
     538
    508539#endif
    509540  // internal member functions
  • branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncTop.cpp

    r1104 r1106  
    140140  xSetVPSVUI               ( vps );
    141141#if H_3D
     142#if !HHI_TOOL_PARAMETERS_I2_J0107
    142143  xSetVPSExtension2        ( vps );
     144#endif
    143145  m_ivPicLists.setVPS      ( &vps );
    144146  xDeriveDltArray          ( vps, dlt );
     
    173175    vps.printPTL();
    174176  }
     177
     178#if HHI_TOOL_PARAMETERS_I2_J0107
     179#if H_3D
     180  // Set 3d tool parameters
     181
     182  for (Int d = 0; d < 2; d++)
     183  { 
     184    m_sps3dExtension.setIvMvPredFlag          ( d, m_ivMvPredFlag[d]       );
     185    m_sps3dExtension.setIvMvScalingFlag       ( d, m_ivMvScalingFlag[d]    );
     186    if (d == 0 )
     187    {   
     188      m_sps3dExtension.setLog2SubPbSizeMinus3   ( d, m_log2SubPbSizeMinus3   );
     189      m_sps3dExtension.setIvResPredFlag         ( d, m_ivResPredFlag         );
     190      m_sps3dExtension.setDepthRefinementFlag   ( d, m_depthRefinementFlag   );
     191      m_sps3dExtension.setViewSynthesisPredFlag ( d, m_viewSynthesisPredFlag );
     192      m_sps3dExtension.setDepthBasedBlkPartFlag ( d, m_depthBasedBlkPartFlag );
     193    }
     194    else
     195    {   
     196      m_sps3dExtension.setMpiFlag               ( d, m_mpiFlag               );
     197      m_sps3dExtension.setLog2MpiSubPbSizeMinus3( d, m_log2MpiSubPbSizeMinus3);
     198      m_sps3dExtension.setIntraContourFlag      ( d, m_intraContourFlag      );
     199      m_sps3dExtension.setIntraSdcWedgeFlag     ( d, m_intraSdcFlag || m_intraWedgeFlag     );
     200      m_sps3dExtension.setQtPredFlag            ( d, m_qtPredFlag            );
     201      m_sps3dExtension.setInterSdcFlag          ( d, m_interSdcFlag          );
     202      m_sps3dExtension.setIntraSingleFlag       ( d, m_intraSingleFlag       ); 
     203    }
     204  }
     205#endif
     206#endif
    175207
    176208  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
     
    216248    m_cTEncTop.setDWeight                      ( isDepth ? m_iDWeight             : 0     );
    217249#endif // H_3D_VSO
     250#if !HHI_TOOL_PARAMETERS_I2_J0107
    218251#if H_3D_SPIVMP
    219252    m_cTEncTop.setSubPULog2Size                 (( isDepth || 0==layerIdInVps ) ? 0 : m_iSubPULog2Size   );
    220253    m_cTEncTop.setSubPUMPILog2Size              ( !isDepth ? 0 : m_iSubPUMPILog2Size   );
    221254#endif
     255#endif
    222256#if H_3D_IC
    223257    m_cTEncTop.setUseIC                        ( vps.getViewIndex( layerId ) == 0 || isDepth ? false : m_abUseIC );
    224258    m_cTEncTop.setUseICLowLatencyEnc           ( m_bUseLowLatencyICEnc );
    225259#endif
    226   //========== Depth intra modes ==========
     260
     261   
     262#if HHI_TOOL_PARAMETERS_I2_J0107
     263    m_cTEncTop.setUseDMM                       ( isDepth ? m_intraWedgeFlag   : false );
     264    m_cTEncTop.setUseSDC                       ( isDepth ? m_intraSdcFlag     : false );
     265    m_cTEncTop.setUseDLT                       ( isDepth ? m_useDLT   : false );
     266    m_cTEncTop.setUseQTL                       ( isDepth ? m_bUseQTL  : false );
     267#else
     268//========== Depth intra modes ==========
    227269#if H_3D_DIM
    228270    m_cTEncTop.setUseDMM                       ( isDepth ? m_useDMM               : false );
     271#if !HHI_TOOL_PARAMETERS_I2_J0107
    229272#if H_3D_FCO
    230273    m_cTEncTop.setUseIVP                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP               : false );
     
    232275    m_cTEncTop.setUseIVP                       ( isDepth ? m_useIVP               : false );
    233276#endif
     277#endif
    234278    m_cTEncTop.setUseSDC                       ( isDepth ? m_useSDC               : false );
     279#endif
     280
    235281    m_cTEncTop.setUseDLT                       ( isDepth ? m_useDLT               : false );
    236 #endif
     282
    237283#if H_3D_SINGLE_DEPTH
    238284    m_cTEncTop.setUseSingleDepthMode           ( isDepth ? m_useSingleDepthMode   : false );
     
    254300    m_cTEncTop.setUseMPI                       ( isDepth ? m_bMPIFlag    : false );
    255301#endif
     302#endif
     303#endif
     304
     305
     306#if HHI_TOOL_PARAMETERS_I2_J0107
     307  m_cTEncTop.setSps3dExtension                 ( m_sps3dExtension );
    256308#endif
    257309#endif // H_3D
     
    14361488        else
    14371489        {       
     1490#if HHI_TOOL_PARAMETERS_I2_J0107
     1491          if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) )
     1492#else
    14381493          if( m_depthFlag[ curLayerIdInVps ] && ( m_bMPIFlag || m_bLimQtPredFlag || m_useIVP  ) )
     1494#endif
    14391495          {         
    14401496            Int nuhLayerIdTex = vps.getLayerIdInNuh( vps.getViewIndex( curLayerIdInNuh ), false );
     
    14441500            }
    14451501          }
    1446 
     1502#if HHI_TOOL_PARAMETERS_I2_J0107
     1503          if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0  && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_depthBasedBlkPartFlag ) )
     1504#else
    14471505          if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0  && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_bUseDBBP) )
     1506#endif
    14481507          { 
    14491508            Int maxPresentTid =-1;
     
    21482207
    21492208#if H_3D
     2209#if HHI_TOOL_PARAMETERS_I2_J0107
     2210#else
    21502211Void TAppEncTop::xSetVPSExtension2( TComVPS& vps )
    21512212{
     
    22302291  } 
    22312292}
     2293#endif
    22322294
    22332295Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt )
  • branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncTop.h

    r1084 r1106  
    9292#if H_3D
    9393  TComDLT                    m_dlt;                         ///< dlt
     94#if HHI_TOOL_PARAMETERS_I2_J0107
     95  TComSps3dExtension         m_sps3dExtension;              ///< Currently all layers share the same sps 3D Extension 
     96#endif
    9497#endif
    9598
     
    146149#endif
    147150#if H_3D
     151#if !HHI_TOOL_PARAMETERS_I2_J0107
    148152  Void xSetVPSExtension2( TComVPS& vps );
     153#endif
    149154  Void xDeriveDltArray( TComVPS& vps, TComDLT& dlt );
    150155#endif
  • branches/HTM-12.2-dev2-HHI/source/Lib/TAppCommon/TAppComCamPara.cpp

    r655 r1106  
    12031203  m_uiCamParsCodedPrecision = uiCodedCamParsPrecision;
    12041204  m_iLog2Precision          = iLog2Precision;
     1205#if !HHI_TOOL_PARAMETERS_I2_J0107
    12051206#if HHI_INTERVIEW_SKIP
    12061207  m_iCurrentFrameId         = 0 ;
     1208#endif
    12071209#endif
    12081210
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComDataCU.cpp

    r1098 r1106  
    24252425    Bool depthRefineFlag = false;
    24262426#if H_3D_NBDV_REF
     2427#if HHI_TOOL_PARAMETERS_I2_J0107
     2428    depthRefineFlag = m_pcSlice->getDepthRefinementFlag(  );
     2429#else
    24272430    depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );
     2431#endif
    24282432#endif // H_3D_NBDV_REF
    24292433   
     
    33363340inline Bool TComDataCU::xAddVspCand( Int mrgCandIdx, DisInfo* pDInfo, Int& iCount)
    33373341{
     3342#if HHI_TOOL_PARAMETERS_I2_J0107
     3343  if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getViewSynthesisPredFlag( ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1)
     3344#else
    33383345  if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1)
     3346#endif
    33393347  {
    33403348    return false;
     
    39503958  deriveLeftBottomIdxGeneral  ( uiAbsPartIdx, uiPUIdx, uiPartIdxLB );
    39513959#if H_3D
     3960#if HHI_TOOL_PARAMETERS_I2_J0107
     3961  Bool bMPIFlag   = getSlice()->getMpiFlag();
     3962#else
    39523963  Bool bMPIFlag   = getSlice()->getVPS()->getMPIFlag( getSlice()->getLayerIdInVps() );
     3964#endif
    39533965  Bool bIsDepth = getSlice()->getIsDepth();
    39543966#endif
     
    44294441  Int    ivCandDir   [4] = {0, 0, 0, 0};
    44304442
     4443#if HHI_TOOL_PARAMETERS_I2_J0107
     4444  Bool ivMvPredFlag   = getSlice()->getIvMvPredFlag();
     4445#else
    44314446  Bool ivMvPredFlag   = getSlice()->getVPS()->getIvMvPredFlag( getSlice()->getLayerIdInVps() );
     4447#endif
    44324448
    44334449  ivMvPredFlag &= (nPSW + nPSH > 12);
     
    60006016    iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId );
    60016017
     6018#if HHI_TOOL_PARAMETERS_I2_J0107
     6019    if ( iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) )
     6020#else
    60026021    if ( iScale != 4096 && m_pcSlice->getVPS()->getIvMvScalingFlag(getSlice()->getLayerIdInVps()) )
     6022#endif
    60036023    {
    60046024      rcMv = cColMv.scaleMv( iScale );
     
    61886208      Int iViewIdx = getSlice()->getDefaultRefViewIdx();
    61896209      pDisp->m_aVIdxCan = iViewIdx;
     6210#if HHI_TOOL_PARAMETERS_I2_J0107
     6211      Int iDisp     = getSlice()->getDepthToDisparityB( iViewIdx )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ];
     6212#else
    61906213      Int iDisp     = getSlice()->getDepthToDisparityB( iViewIdx )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ];
     6214#endif
    61916215
    61926216      cMv.setHor(iDisp);
     
    63016325  }
    63026326#if H_3D_NBDV_REF
     6327#if HHI_TOOL_PARAMETERS_I2_J0107
     6328  if( !m_pcSlice->getDepthRefinementFlag( ) )
     6329#else
    63036330  if( !m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ) )
     6331#endif
    63046332  {
    63056333    bDepthRefine = false;
     
    68046832  Bool depthRefineFlag = false;
    68056833#if H_3D_NBDV_REF
     6834#if HHI_TOOL_PARAMETERS_I2_J0107
     6835  depthRefineFlag = m_pcSlice->getDepthRefinementFlag( );
     6836#else
    68066837  depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );
     6838#endif
    68076839#endif // H_3D_NBDV_REF
    68086840
     
    68626894Void TComDataCU::getSPPara(Int iPUWidth, Int iPUHeight, Int& iNumSP, Int& iNumSPInOneLine, Int& iSPWidth, Int& iSPHeight)
    68636895{
     6896#if HHI_TOOL_PARAMETERS_I2_J0107
     6897  Int iSubPUSize = ( getSlice()->getIsDepth() ? getSlice()->getMpiSubPbSize() : getSlice()->getSubPbSize() );
     6898#else
    68646899  Int iSubPUSize = 1<<getSlice()->getVPS()->getSubPULog2Size(getSlice()->getLayerId());
    68656900  if( getSlice()->getIsDepth() )
     
    68676902    iSubPUSize = 1<<getSlice()->getVPS()->getSubPUMPILog2Size(getSlice()->getLayerId());
    68686903  }
     6904#endif
    68696905
    68706906  iNumSPInOneLine = iPUWidth/iSubPUSize;
     
    69456981  Bool depthRefineFlag = false;
    69466982#if H_3D_NBDV_REF
     6983#if HHI_TOOL_PARAMETERS_I2_J0107
     6984  depthRefineFlag = m_pcSlice->getDepthRefinementFlag( );
     6985#else
    69476986  depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );
     6987#endif
    69486988#endif // H_3D_NBDV_REF
    69496989
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.cpp

    r1104 r1106  
    19591959#if H_3D
    19601960    m_viewIndex         [i] = -1;
     1961#if !HHI_TOOL_PARAMETERS_I2_J0107
    19611962    m_vpsDepthModesFlag [i] = false;
    19621963    m_ivMvScalingFlag[i] = true;
    19631964    m_bIVPFlag [i]      = false;
     1965#endif
    19641966#endif
    19651967
     
    19851987    }
    19861988#if H_3D_ARP
     1989#if !HHI_TOOL_PARAMETERS_I2_J0107
    19871990    m_uiUseAdvResPred[i]  = 0;
    19881991    m_uiARPStepNum[i]     = 1;
    19891992#endif
     1993#endif
    19901994  }
    19911995  m_vpsVUI = new TComVPSVUI;
    19921996  m_dpbSize = new TComDpbSize;
    19931997
     1998#if !HHI_TOOL_PARAMETERS_I2_J0107
    19941999#if H_3D
    19952000  for( Int i = 0; i < MAX_NUM_LAYERS; i++ )
     
    20242029  } 
    20252030#endif
     2031#endif
     2032
    20262033#endif
    20272034}
     
    37763783{
    37773784  Bool tempRefPicInListsFlag = false;
     3785#if HHI_TOOL_PARAMETERS_I2_J0107
     3786  if( !getIvResPredFlag() || this->isIRAP())
     3787#else
    37783788  if(!getVPS()->getUseAdvRP(getLayerId()) || this->isIRAP())
     3789#endif
    37793790  {
    37803791    m_nARPStepNum = 0;
     
    38093820    tempRefPicInListsFlag = getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0;
    38103821#endif
     3822#if HHI_TOOL_PARAMETERS_I2_J0107
     3823    m_nARPStepNum = tempRefPicInListsFlag ?  H_3D_ARP_WFNR : 0;
     3824#else
    38113825    m_nARPStepNum = tempRefPicInListsFlag ? getVPS()->getARPStepNum(getLayerId()) : 0;
     3826#endif
    38123827  }
    38133828
     
    39944009
    39954010#if H_3D_VSP
     4011#if HHI_TOOL_PARAMETERS_I2_J0107
     4012  setupLUT = setupLUT || getViewSynthesisPredFlag( );
     4013#else
    39964014  setupLUT = setupLUT || getVPS()->getViewSynthesisPredFlag( layerIdInVPS);
    39974015#endif
     4016#endif
    39984017
    39994018#if H_3D_NBDV_REF
     4019#if HHI_TOOL_PARAMETERS_I2_J0107
     4020  setupLUT = setupLUT || getDepthRefinementFlag( );
     4021#else
    40004022  setupLUT = setupLUT || getVPS()->getDepthRefinementFlag( layerIdInVPS );
     4023#endif
    40014024#endif
    40024025
    40034026#if H_3D_IV_MERGE
     4027#if HHI_TOOL_PARAMETERS_I2_J0107
     4028  setupLUT = setupLUT || getIvMvPredFlag() && getIsDepth() ;
     4029#else
    40044030  setupLUT = setupLUT || ( getVPS()->getIvMvPredFlag(layerIdInVPS ) && getIsDepth() );
     4031#endif
    40054032#endif
    40064033
     
    41834210#endif
    41844211#endif
     4212
     4213#if HHI_TOOL_PARAMETERS_I2_J0107
     4214#if H_3D
     4215
     4216Void TComSlice::init3dToolParameters()
     4217{
     4218  Bool depthFlag = getIsDepth();
     4219
     4220  Bool depthOfRefViewsAvailFlag = false;
     4221  Bool textOfCurViewAvailFlag = false;
     4222
     4223  TComVPS* vps = getVPS();
     4224
     4225  if( !depthFlag )
     4226  {
     4227    depthOfRefViewsAvailFlag = true;
     4228    for( Int i = 0; i <= vps->getNumRefListLayers( getLayerId() ) - 1; i++)
     4229    {
     4230      Bool curDepthAvailableFlag = false;   
     4231      for (Int j = 0; j <= vps->getMaxLayersMinus1(); j++ )
     4232      {
     4233        if ( vps->getDirectDependencyFlag( vps->getLayerIdInVps( getLayerId() ), j )
     4234          && vps->getVpsDepthFlag        ( vps->getLayerIdInNuh( j ) ) == 1
     4235          && vps->getViewOrderIdx( vps->getLayerIdInNuh( j ) ) == vps->getViewOrderIdx( vps->getIdRefListLayer( getLayerId(), i ) )
     4236          && vps->getDependencyId( vps->getLayerIdInNuh( j ) ) == 0
     4237          && vps->getAuxId       ( vps->getLayerIdInNuh( j ) ) == 0
     4238          )
     4239        {
     4240          curDepthAvailableFlag = true;
     4241        }
     4242      }
     4243      if ( !curDepthAvailableFlag )
     4244      {
     4245        depthOfRefViewsAvailFlag = false;
     4246      }   
     4247    }
     4248  }
     4249  else
     4250  {
     4251    for (Int j = 0; j <= vps->getMaxLayersMinus1(); j++ )
     4252    {
     4253      if ( vps->getDirectDependencyFlag( vps->getLayerIdInVps( getLayerId() ), j )
     4254        && vps->getVpsDepthFlag( vps->getLayerIdInNuh( j ) ) == 0
     4255        && vps->getViewOrderIdx( vps->getLayerIdInNuh( j ) ) == getViewIndex()
     4256        && vps->getDependencyId( vps->getLayerIdInNuh( j ) ) == 0
     4257        && vps->getAuxId       ( vps->getLayerIdInNuh( j ) ) == 0
     4258        )
     4259      {       
     4260        textOfCurViewAvailFlag = true;
     4261      }
     4262    }
     4263  }
     4264
     4265  Bool lidG0  = ( getLayerId() > 0 );
     4266  Bool nRLLG0 =  ( getVPS()->getNumRefListLayers( getLayerId() ) > 0 );     
     4267
     4268  TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension();
     4269
     4270  m_ivMvPredFlag           = sps3dExt->getIvMvPredFlag         ( depthFlag ) && lidG0 && nRLLG0                           ;                             
     4271  m_ivMvScalingFlag        = sps3dExt->getIvMvScalingFlag      ( depthFlag ) && lidG0                                    ;                             
     4272  m_ivResPredFlag          = sps3dExt->getIvResPredFlag        ( depthFlag ) && lidG0 && nRLLG0                           ;                               
     4273  m_depthRefinementFlag    = sps3dExt->getDepthRefinementFlag  ( depthFlag ) && lidG0           && depthOfRefViewsAvailFlag;                           
     4274  m_viewSynthesisPredFlag  = sps3dExt->getViewSynthesisPredFlag( depthFlag ) && lidG0 && nRLLG0 && depthOfRefViewsAvailFlag;                         
     4275  m_depthBasedBlkPartFlag  = sps3dExt->getDepthBasedBlkPartFlag( depthFlag ) && lidG0           && depthOfRefViewsAvailFlag;                         
     4276  m_mpiFlag                = sps3dExt->getMpiFlag              ( depthFlag ) && lidG0           &&   textOfCurViewAvailFlag;
     4277  m_intraContourFlag       = sps3dExt->getIntraContourFlag     ( depthFlag ) && lidG0           &&   textOfCurViewAvailFlag;
     4278  m_intraSdcWedgeFlag      = sps3dExt->getIntraSdcWedgeFlag    ( depthFlag ) && lidG0                                     ;                         
     4279  m_qtPredFlag             = sps3dExt->getQtPredFlag           ( depthFlag ) && lidG0           &&   textOfCurViewAvailFlag;
     4280  m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag ) && lidG0                                    ;                               
     4281  m_intraSingleFlag        = sps3dExt->getIntraSingleFlag      ( depthFlag ) && lidG0                                    ;                         
     4282
     4283  m_subPbSize              = lidG0 ? ( 1 << ( sps3dExt->getLog2SubPbSizeMinus3   ( depthFlag ) + 3 ) ) : getSPS()->getMaxCUWidth(); 
     4284  m_mpiSubPbSize           = 1 << ( sps3dExt->getLog2MpiSubPbSizeMinus3( depthFlag ) + 3 );
     4285
     4286#if H_3D_OUTPUT_ACTIVE_TOOLS
     4287  std::cout << "Layer:                  :" << getLayerId()             << std::endl;
     4288  std::cout << "DepthFlag:              :" << getIsDepth()             << std::endl;
     4289  std::cout << "ViewOrderIdx:           :" << getViewIndex()           << std::endl;
     4290  std::cout << "DepthOfRefViewsAvailFlag:" << depthOfRefViewsAvailFlag << std::endl;
     4291  std::cout << "TextOfCurViewAvailFlag  :" << textOfCurViewAvailFlag   << std::endl;
     4292 
     4293  std::cout << "ivMvPredFlag            :" << m_ivMvPredFlag           << std::endl;
     4294  std::cout << "ivMvScalingFlag         :" << m_ivMvScalingFlag        << std::endl;
     4295  std::cout << "ivResPredFlag           :" << m_ivResPredFlag          << std::endl;
     4296  std::cout << "depthRefinementFlag     :" << m_depthRefinementFlag    << std::endl;
     4297  std::cout << "viewSynthesisPredFlag   :" << m_viewSynthesisPredFlag  << std::endl;
     4298  std::cout << "depthBasedBlkPartFlag   :" << m_depthBasedBlkPartFlag  << std::endl;
     4299  std::cout << "mpiFlag                 :" << m_mpiFlag                << std::endl;
     4300  std::cout << "intraContourFlag        :" << m_intraContourFlag       << std::endl;
     4301  std::cout << "intraSdcWedgeFlag       :" << m_intraSdcWedgeFlag      << std::endl;
     4302  std::cout << "qtPredFlag              :" << m_qtPredFlag             << std::endl;
     4303  std::cout << "interSdcFlag            :" << m_interSdcFlag           << std::endl;
     4304  std::cout << "intraSingleFlag         :" << m_intraSingleFlag        << std::endl;   
     4305  std::cout << "subPbSize               :" << m_subPbSize              << std::endl;
     4306  std::cout << "mpiSubPbSize            :" << m_mpiSubPbSize           << std::endl;
     4307#endif
     4308}
     4309#endif
     4310#endif
     4311
    41854312
    41864313/** get scaling matrix from RefMatrixID
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.h

    r1103 r1106  
    916916  Void        xSetRefLayerFlags( Int currLayerId );
    917917  // VPS EXTENSION 2 SYNTAX ELEMENTS
     918#if !HHI_TOOL_PARAMETERS_I2_J0107
    918919#if H_3D_ARP
    919920  UInt        m_uiUseAdvResPred          [MAX_NUM_LAYERS   ];
     
    941942  Bool        m_bIVPFlag                 [MAX_NUM_LAYERS   ];
    942943#endif
     944#endif
    943945#if H_3D
    944946  UInt        m_uiCamParPrecision;
     
    948950  Int         ***m_aaaiCodedOffset;
    949951#endif
     952#if !HHI_TOOL_PARAMETERS_I2_J0107
    950953#if H_3D_INTER_SDC
    951954  Bool        m_bInterSDCFlag[MAX_NUM_LAYERS   ];
     
    956959#if H_3D_IV_MERGE
    957960  Bool        m_bMPIFlag[MAX_NUM_LAYERS   ];
     961#endif
    958962#endif
    959963
     
    13001304#if H_3D 
    13011305  Int     getDepthId      ( Int layerIdInNuh)                             { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPTH_ID ); }
     1306#if HHI_TOOL_PARAMETERS_I2_J0107
     1307  Bool    getVpsDepthFlag( Int layerIdInNuh)                              { return (getDepthId( layerIdInNuh ) > 0);  }
     1308  Int     getViewOrderIdx( Int layerIdInNuh)                              { return getViewIndex( layerIdInNuh ); };   
     1309#endif
    13021310  Int     getLayerIdInNuh( Int viewIndex, Bool depthFlag );   
    13031311
     1312#if !HHI_TOOL_PARAMETERS_I2_J0107
    13041313#if H_3D_ARP
    13051314  UInt    getUseAdvRP  ( Int layerIdInVps )                                { return m_uiUseAdvResPred[layerIdInVps];    }
     
    13071316  Void    setUseAdvRP  ( Int layerIdInVps, UInt val )                      { m_uiUseAdvResPred[layerIdInVps] = val;     }
    13081317  Void    setARPStepNum( Int layerIdInVps, UInt val )                      { m_uiARPStepNum[layerIdInVps]    = val;     }
     1318#endif
    13091319#endif
    13101320
     
    13221332  Int* getInvCodedOffset     ( Int viewIndex )  { return m_aaaiCodedOffset[viewIndex][1]; }
    13231333
     1334#if !HHI_TOOL_PARAMETERS_I2_J0107
    13241335#if H_3D_IV_MERGE
    13251336  Void    setIvMvPredFlag     ( Int layerIdInVps, Bool val )  { m_ivMvPredFlag[ layerIdInVps ] = val; }
     
    13661377#endif
    13671378#endif 
     1379#endif
    13681380#endif
    13691381};
     
    16311643};
    16321644
     1645#if HHI_TOOL_PARAMETERS_I2_J0107
     1646#if H_3D
     1647class TComSps3dExtension
     1648{
     1649public:
     1650  TComSps3dExtension()
     1651  {
     1652    for (Int d = 0; d < 2; d++)
     1653    {
     1654      m_ivMvPredFlag          [d] = false;
     1655      m_ivMvScalingFlag       [d] = false;
     1656      m_log2SubPbSizeMinus3   [d] = 3;
     1657      m_ivResPredFlag         [d] = false;
     1658      m_depthRefinementFlag   [d] = false;
     1659      m_viewSynthesisPredFlag [d] = false;
     1660      m_depthBasedBlkPartFlag [d] = false;
     1661      m_mpiFlag               [d] = false;
     1662      m_log2MpiSubPbSizeMinus3[d] = 3;
     1663      m_intraContourFlag      [d] = false;
     1664      m_intraSdcWedgeFlag     [d] = false;
     1665      m_qtPredFlag            [d] = false;
     1666      m_interSdcFlag          [d] = false;
     1667      m_intraSingleFlag       [d] = false;   
     1668    }
     1669  }
     1670
     1671  Void setIvMvPredFlag( Int d, Bool flag ) { m_ivMvPredFlag[d] = flag; }
     1672  Bool getIvMvPredFlag( Int d ) { return m_ivMvPredFlag[d]; }
     1673
     1674  Void setIvMvScalingFlag( Int d, Bool flag ) { m_ivMvScalingFlag[d] = flag; }
     1675  Bool getIvMvScalingFlag( Int d ) { return m_ivMvScalingFlag[d]; }
     1676
     1677  Void setLog2SubPbSizeMinus3( Int d, Int  val ) { m_log2SubPbSizeMinus3[d] = val; }
     1678  Int  getLog2SubPbSizeMinus3( Int d ) { return m_log2SubPbSizeMinus3[d]; }
     1679
     1680  Void setIvResPredFlag( Int d, Bool flag ) { m_ivResPredFlag[d] = flag; }
     1681  Bool getIvResPredFlag( Int d ) { return m_ivResPredFlag[d]; }
     1682
     1683  Void setDepthRefinementFlag( Int d, Bool flag ) { m_depthRefinementFlag[d] = flag; }
     1684  Bool getDepthRefinementFlag( Int d ) { return m_depthRefinementFlag[d]; }
     1685
     1686  Void setViewSynthesisPredFlag( Int d, Bool flag ) { m_viewSynthesisPredFlag[d] = flag; }
     1687  Bool getViewSynthesisPredFlag( Int d ) { return m_viewSynthesisPredFlag[d]; }
     1688
     1689  Void setDepthBasedBlkPartFlag( Int d, Bool flag ) { m_depthBasedBlkPartFlag[d] = flag; }
     1690  Bool getDepthBasedBlkPartFlag( Int d ) { return m_depthBasedBlkPartFlag[d]; }
     1691
     1692  Void setMpiFlag( Int d, Bool flag ) { m_mpiFlag[d] = flag; }
     1693  Bool getMpiFlag( Int d ) { return m_mpiFlag[d]; }
     1694
     1695  Void setLog2MpiSubPbSizeMinus3( Int d, Int  val ) { m_log2MpiSubPbSizeMinus3[d] = val; }
     1696  Int  getLog2MpiSubPbSizeMinus3( Int d ) { return m_log2MpiSubPbSizeMinus3[d]; }
     1697
     1698  Void setIntraContourFlag( Int d, Bool flag ) { m_intraContourFlag[d] = flag; }
     1699  Bool getIntraContourFlag( Int d ) { return m_intraContourFlag[d]; }
     1700
     1701  Void setIntraSdcWedgeFlag( Int d, Bool flag ) { m_intraSdcWedgeFlag[d] = flag; }
     1702  Bool getIntraSdcWedgeFlag( Int d ) { return m_intraSdcWedgeFlag[d]; }
     1703
     1704  Void setQtPredFlag( Int d, Bool flag ) { m_qtPredFlag[d] = flag; }
     1705  Bool getQtPredFlag( Int d ) { return m_qtPredFlag[d]; }
     1706
     1707  Void setInterSdcFlag( Int d, Bool flag ) { m_interSdcFlag[d] = flag; }
     1708  Bool getInterSdcFlag( Int d ) { return m_interSdcFlag[d]; }
     1709
     1710  Void setIntraSingleFlag( Int d, Bool flag ) { m_intraSingleFlag[d] = flag; }
     1711  Bool getIntraSingleFlag( Int d ) { return m_intraSingleFlag[d]; }
     1712
     1713private:
     1714
     1715  Bool        m_ivMvPredFlag          [2];
     1716  Bool        m_ivMvScalingFlag       [2];
     1717  Int         m_log2SubPbSizeMinus3   [2];
     1718  Bool        m_ivResPredFlag         [2];
     1719  Bool        m_depthRefinementFlag   [2];
     1720  Bool        m_viewSynthesisPredFlag [2];
     1721  Bool        m_depthBasedBlkPartFlag [2];
     1722  Bool        m_mpiFlag               [2];
     1723  Int         m_log2MpiSubPbSizeMinus3[2];
     1724  Bool        m_intraContourFlag      [2];
     1725  Bool        m_intraSdcWedgeFlag     [2];
     1726  Bool        m_qtPredFlag            [2];
     1727  Bool        m_interSdcFlag          [2];
     1728  Bool        m_intraSingleFlag       [2]; 
     1729};
     1730
     1731#endif
     1732#endif
     1733
    16331734/// SPS class
    16341735class TComSPS
     
    17301831#endif
    17311832#if H_3D
     1833#if HHI_TOOL_PARAMETERS_I2_J0107
     1834  TComSps3dExtension m_sps3dExtension;
     1835#endif
    17321836  UInt        m_uiCamParPrecision;
    17331837  Bool        m_bCamParInSliceHeader;
     
    19032007  Void setSpsRepFormatIdx( Int  val )          { m_spsRepFormatIdx = val; }
    19042008  Int  getSpsRepFormatIdx(  )                  { return m_spsRepFormatIdx; }
    1905   // SPS Extension
     2009 
     2010// SPS Extension
    19062011  Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; }
    19072012  Bool getInterViewMvVertConstraintFlag()         { return m_interViewMvVertConstraintFlag;}
     2013
     2014#if HHI_TOOL_PARAMETERS_I2_J0107
     2015#if H_3D
     2016  Void setSps3dExtension ( TComSps3dExtension& sps3dExtension ) { m_sps3dExtension = sps3dExtension; }
     2017  TComSps3dExtension* getSps3dExtension ( )                     { return &m_sps3dExtension; }
     2018#endif
     2019#endif
    19082020
    19092021  // Inference
     
    23782490  Int       m_iDefaultRefViewIdx;
    23792491  Bool      m_bDefaultRefViewIdxAvailableFlag;
     2492#endif
     2493
     2494#if HHI_TOOL_PARAMETERS_I2_J0107
     2495  Bool m_ivMvPredFlag         ;
     2496  Bool m_ivMvScalingFlag      ;
     2497  Bool m_ivResPredFlag        ;
     2498  Bool m_depthRefinementFlag  ;
     2499  Bool m_viewSynthesisPredFlag;
     2500  Bool m_depthBasedBlkPartFlag;
     2501  Bool m_mpiFlag              ;
     2502  Bool m_intraContourFlag     ;
     2503  Bool m_intraSdcWedgeFlag    ;
     2504  Bool m_qtPredFlag           ;
     2505  Bool m_interSdcFlag         ;
     2506  Bool m_intraSingleFlag      ;
     2507
     2508  Int  m_mpiSubPbSize         ;
     2509  Int  m_subPbSize            ;
    23802510#endif
    23812511public:
     
    26892819  Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; };
    26902820  Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; };
     2821#if !HHI_TOOL_PARAMETERS_I2_J0107
    26912822  Bool getVpsDepthModesFlag  ()  { return getVPS()->getVpsDepthModesFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }
    26922823  Bool getIVPFlag       ()  { return getVPS()->getIVPFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }
     2824#endif
    26932825#endif
    26942826#if H_3D_IC
     
    27942926  TComPic* getPicFromRefPicSetInterLayer( Int setIdc, Int layerId );
    27952927
     2928
     2929#if HHI_TOOL_PARAMETERS_I2_J0107
     2930#if H_3D
     2931  // 3D-HEVC tool parameters
     2932  Void init3dToolParameters();   
     2933  Bool getIvMvPredFlag           ( ) { return m_ivMvPredFlag           ; };
     2934  Bool getIvMvScalingFlag        ( ) { return m_ivMvScalingFlag        ; };
     2935  Bool getIvResPredFlag          ( ) { return m_ivResPredFlag          ; };
     2936  Bool getDepthRefinementFlag    ( ) { return m_depthRefinementFlag    ; };
     2937  Bool getViewSynthesisPredFlag  ( ) { return m_viewSynthesisPredFlag  ; };
     2938  Bool getDepthBasedBlkPartFlag  ( ) { return m_depthBasedBlkPartFlag  ; };
     2939  Bool getMpiFlag                ( ) { return m_mpiFlag                ; };
     2940  Bool getIntraContourFlag       ( ) { return m_intraContourFlag       ; };
     2941  Bool getIntraSdcWedgeFlag      ( ) { return m_intraSdcWedgeFlag      ; };
     2942  Bool getQtPredFlag             ( ) { return m_qtPredFlag             ; };
     2943  Bool getInterSdcFlag           ( ) { return m_interSdcFlag           ; };
     2944  Bool getIntraSingleFlag        ( ) { return m_intraSingleFlag        ; };
     2945
     2946  Int  getMpiSubPbSize           ( ) { return m_mpiSubPbSize           ; };
     2947  Int  getSubPbSize              ( ) { return m_subPbSize              ; };
     2948#endif
     2949#endif
     2950
     2951
    27962952  // Inference
    27972953  Bool inferPocMsbValPresentFlag(); 
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TypeDef.h

    r1104 r1106  
    296296#if H_3D
    297297#define HHI_DEPENDENCY_SIGNALLING_I1_J0107     1
     298#define HHI_TOOL_PARAMETERS_I2_J0107           1
    298299#endif
    299300#define H_MV_FIX_REF_LAYER_PIC_FLAG            1
    300 
     301#define H_3D_OUTPUT_ACTIVE_TOOLS               0
    301302
    302303///// ***** SINGLE DEPTH MODE *********
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1103 r1106  
    721721}
    722722
     723#if HHI_TOOL_PARAMETERS_I2_J0107
     724Void TDecCavlc::parseSPS(TComSPS* pcSPS)
     725#else
    723726#if H_3D
    724727Void TDecCavlc::parseSPS(TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    725728#else
    726729Void TDecCavlc::parseSPS(TComSPS* pcSPS)
     730#endif
    727731#endif
    728732{
     
    993997  if ( pcSPS->getSps3dExtensionFlag() )
    994998  {
     999#if HHI_TOOL_PARAMETERS_I2_J0107
     1000    parseSPS3dExtension( pcSPS );
     1001#else
    9951002    parseSPSExtension2( pcSPS, viewIndex, depthFlag  );
     1003#endif
    9961004  }
    9971005
     
    10201028
    10211029#if H_3D
     1030#if HHI_TOOL_PARAMETERS_I2_J0107
     1031Void TDecCavlc::parseSPS3dExtension( TComSPS* pcSPS )
     1032{
     1033  TComSps3dExtension* sps3dExt = pcSPS->getSps3dExtension();
     1034  UInt uiCode;
     1035  for( Int d = 0; d  <=  1; d++ )
     1036  {
     1037    READ_FLAG( uiCode, "iv_mv_pred_flag" ); sps3dExt->setIvMvPredFlag( d, uiCode == 1 );
     1038    READ_FLAG( uiCode, "iv_mv_scaling_flag" ); sps3dExt->setIvMvScalingFlag( d, uiCode == 1 );
     1039    if( d  ==  0 )
     1040    {
     1041      READ_UVLC( uiCode, "log2_sub_pb_size_minus3" ); sps3dExt->setLog2SubPbSizeMinus3( d, uiCode );
     1042      READ_FLAG( uiCode, "iv_res_pred_flag" ); sps3dExt->setIvResPredFlag( d, uiCode == 1 );
     1043      READ_FLAG( uiCode, "depth_refinement_flag" ); sps3dExt->setDepthRefinementFlag( d, uiCode == 1 );
     1044      READ_FLAG( uiCode, "view_synthesis_pred_flag" ); sps3dExt->setViewSynthesisPredFlag( d, uiCode == 1 );
     1045      READ_FLAG( uiCode, "depth_based_blk_part_flag" ); sps3dExt->setDepthBasedBlkPartFlag( d, uiCode == 1 );
     1046    }
     1047    else
     1048    {
     1049      READ_FLAG( uiCode, "mpi_flag" ); sps3dExt->setMpiFlag( d, uiCode == 1 );
     1050      READ_UVLC( uiCode, "log2_mpi_sub_pb_size_minus3" ); sps3dExt->setLog2MpiSubPbSizeMinus3( d, uiCode );
     1051      READ_FLAG( uiCode, "intra_contour_flag" ); sps3dExt->setIntraContourFlag( d, uiCode == 1 );
     1052      READ_FLAG( uiCode, "intra_sdc_wedge_flag" ); sps3dExt->setIntraSdcWedgeFlag( d, uiCode == 1 );
     1053      READ_FLAG( uiCode, "qt_pred_flag" ); sps3dExt->setQtPredFlag( d, uiCode == 1 );
     1054      READ_FLAG( uiCode, "inter_sdc_flag" ); sps3dExt->setInterSdcFlag( d, uiCode == 1 );
     1055      READ_FLAG( uiCode, "intra_single_flag" ); sps3dExt->setIntraSingleFlag( d, uiCode == 1 );
     1056    }
     1057  }
     1058}
     1059#else
    10221060Void TDecCavlc::parseSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    10231061{
    10241062
    10251063}
     1064#endif
    10261065#endif
    10271066
     
    18411880{
    18421881  UInt uiCode;
     1882
     1883#if !HHI_TOOL_PARAMETERS_I2_J0107
    18431884  for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    18441885  {
     
    19061947    }
    19071948  }
     1949#endif
    19081950
    19091951  UInt uiCamParPrecision = 0;
     
    19942036#endif
    19952037  rpcSlice->setSPS(sps);
     2038#if HHI_TOOL_PARAMETERS_I2_J0107
     2039#if H_3D
     2040  rpcSlice->init3dToolParameters();
     2041#endif
     2042#endif
    19962043  rpcSlice->setPPS(pps);
    19972044  if( pps->getDependentSliceSegmentsEnabledFlag() && ( !firstSliceSegmentInPic ))
     
    25992646      READ_UVLC( uiCode, "five_minus_max_num_merge_cand");
    26002647#if H_3D_IV_MERGE
     2648#if HHI_TOOL_PARAMETERS_I2_J0107
     2649      rpcSlice->setMaxNumMergeCand(( ( rpcSlice->getMpiFlag() || rpcSlice->getIvMvPredFlag() ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode);
     2650#else
    26012651      if(rpcSlice->getIsDepth())
    26022652      {
     
    26102660        rpcSlice->setMaxNumMergeCand(( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode);
    26112661      }
     2662#endif
    26122663
    26132664#else
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCAVLC.h

    r1084 r1106  
    9191#if H_3D
    9292  Void  parseVPSExtension2  ( TComVPS* pcVPS );
     93#if HHI_TOOL_PARAMETERS_I2_J0107
     94  Void  parseSPS3dExtension ( TComSPS* pcSPS );
     95  Void  parseSPS            ( TComSPS* pcSPS );
     96#else
    9397  Void  parseSPSExtension2  ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
    9498  Void  parseSPS            ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
     99#endif 
    95100#else
    96101  Void  parseSPS            ( TComSPS* pcSPS );
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCu.cpp

    r1094 r1106  
    315315  {
    316316#if H_3D_ARP && H_3D_IV_MERGE
     317#if HHI_TOOL_PARAMETERS_I2_J0107
     318    if( pcCU->getSlice()->getIvResPredFlag() || pcCU->getSlice()->getIvMvPredFlag() )
     319#else
    317320    if( pcCU->getSlice()->getVPS()->getUseAdvRP( pcCU->getSlice()->getLayerId() ) || pcCU->getSlice()->getVPS()->getIvMvPredFlag( pcCU->getSlice()->getLayerId() ))
     321#endif
    318322#else
    319323#if H_3D_ARP
     
    345349#endif
    346350#if H_3D_NBDV_REF
     351#if HHI_TOOL_PARAMETERS_I2_J0107
     352      if( pcCU->getSlice()->getDepthBasedBlkPartFlag() )  //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.
     353#else
    347354      if(pcCU->getSlice()->getVPS()->getDepthRefinementFlag( pcCU->getSlice()->getLayerIdInVps() ))  //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.
     355#endif
    348356      {
    349357        DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true);
     
    10641072    }
    10651073  }
    1066  
     1074
    10671075  TextType  eText             = ( uiChromaId > 0 ? TEXT_CHROMA_V : TEXT_CHROMA_U );
    10681076  UInt      uiWidth           = pcCU     ->getWidth   ( 0 ) >> ( uiTrDepth + 1 );
     
    10721080  Pel*      piPred            = ( uiChromaId > 0 ? pcPredYuv->getCrAddr( uiAbsPartIdx ) : pcPredYuv->getCbAddr( uiAbsPartIdx ) );
    10731081  Pel*      piResi            = ( uiChromaId > 0 ? pcResiYuv->getCrAddr( uiAbsPartIdx ) : pcResiYuv->getCbAddr( uiAbsPartIdx ) );
    1074  
     1082
    10751083  UInt      uiNumCoeffInc     = ( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() * pcCU->getSlice()->getSPS()->getMaxCUHeight() ) >> ( pcCU->getSlice()->getSPS()->getMaxCUDepth() << 1 ) ) >> 2;
    10761084  TCoeff*   pcCoeff           = ( uiChromaId > 0 ? pcCU->getCoeffCr() : pcCU->getCoeffCb() ) + ( uiNumCoeffInc * uiAbsPartIdx );
    1077  
     1085
    10781086  UInt      uiChromaPredMode  = pcCU->getChromaIntraDir( 0 );
    1079  
     1087
    10801088  UInt      uiZOrder          = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
    10811089  Pel*      piRecIPred        = ( uiChromaId > 0 ? pcCU->getPic()->getPicYuvRec()->getCrAddr( pcCU->getAddr(), uiZOrder ) : pcCU->getPic()->getPicYuvRec()->getCbAddr( pcCU->getAddr(), uiZOrder ) );
     
    10881096
    10891097  pcCU->getPattern()->initAdiPatternChroma( pcCU, uiAbsPartIdx, uiTrDepth,
    1090                                            m_pcPrediction->getPredicBuf       (),
    1091                                            m_pcPrediction->getPredicBufWidth  (),
    1092                                            m_pcPrediction->getPredicBufHeight (),
    1093                                            bAboveAvail, bLeftAvail );
     1098    m_pcPrediction->getPredicBuf       (),
     1099    m_pcPrediction->getPredicBufWidth  (),
     1100    m_pcPrediction->getPredicBufHeight (),
     1101    bAboveAvail, bLeftAvail );
    10941102  Int* pPatChroma   = ( uiChromaId > 0 ? pcCU->getPattern()->getAdiCrBuf( uiWidth, uiHeight, m_pcPrediction->getPredicBuf() ) : pcCU->getPattern()->getAdiCbBuf( uiWidth, uiHeight, m_pcPrediction->getPredicBuf() ) );
    1095  
     1103
    10961104  //===== get prediction signal =====
    10971105  {
     
    11081116  if ( pcCU->getCbf( uiAbsPartIdx, eText, uiTrDepth ) )
    11091117  {
    1110   //===== inverse transform =====
    1111   Int curChromaQpOffset;
    1112   if(eText == TEXT_CHROMA_U)
    1113   {
    1114     curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCbQpOffset() + pcCU->getSlice()->getSliceQpDeltaCb();
    1115   }
    1116   else
    1117   {
    1118     curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr();
    1119   }
    1120   m_pcTrQuant->setQPforQuant  ( pcCU->getQP(0), eText, pcCU->getSlice()->getSPS()->getQpBDOffsetC(), curChromaQpOffset );
    1121 
    1122   Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)eText];
     1118    //===== inverse transform =====
     1119    Int curChromaQpOffset;
     1120    if(eText == TEXT_CHROMA_U)
     1121    {
     1122      curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCbQpOffset() + pcCU->getSlice()->getSliceQpDeltaCb();
     1123    }
     1124    else
     1125    {
     1126      curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr();
     1127    }
     1128    m_pcTrQuant->setQPforQuant  ( pcCU->getQP(0), eText, pcCU->getSlice()->getSPS()->getQpBDOffsetC(), curChromaQpOffset );
     1129
     1130    Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)eText];
    11231131    assert(scalingListType < SCALING_LIST_NUM);
    1124   m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), eText, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkipChroma );
    1125 
    1126   //===== reconstruction =====
    1127   Pel* pPred      = piPred;
    1128   Pel* pResi      = piResi;
    1129   Pel* pReco      = piReco;
    1130   Pel* pRecIPred  = piRecIPred;
    1131   for( UInt uiY = 0; uiY < uiHeight; uiY++ )
    1132   {
    1133     for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    1134     {
    1135       pReco    [ uiX ] = ClipC( pPred[ uiX ] + pResi[ uiX ] );
    1136       pRecIPred[ uiX ] = pReco[ uiX ];
    1137     }
    1138     pPred     += uiStride;
    1139     pResi     += uiStride;
    1140     pReco     += uiStride;
    1141     pRecIPred += uiRecIPredStride;
    1142   }
    1143 }
     1132    m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), eText, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkipChroma );
     1133
     1134    //===== reconstruction =====
     1135    Pel* pPred      = piPred;
     1136    Pel* pResi      = piResi;
     1137    Pel* pReco      = piReco;
     1138    Pel* pRecIPred  = piRecIPred;
     1139    for( UInt uiY = 0; uiY < uiHeight; uiY++ )
     1140    {
     1141      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
     1142      {
     1143        pReco    [ uiX ] = ClipC( pPred[ uiX ] + pResi[ uiX ] );
     1144        pRecIPred[ uiX ] = pReco[ uiX ];
     1145      }
     1146      pPred     += uiStride;
     1147      pResi     += uiStride;
     1148      pReco     += uiStride;
     1149      pRecIPred += uiRecIPredStride;
     1150    }
     1151  }
    11441152  else
    11451153  {
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1100 r1106  
    153153#if H_3D_DBBP
    154154#if SEC_DBBP_VIEW_REF_CHECK_J0037
    155   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     155  #if HHI_TOOL_PARAMETERS_I2_J0107
     156if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     157#else
     158if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     159#endif
    156160#else
    157161  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 )
     
    833837  pcCU->setSDCFlagSubParts( false, uiAbsPartIdx, uiDepth );
    834838
     839#if HHI_TOOL_PARAMETERS_I2_J0107
     840  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) ||
     841    ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) )
     842#else
    835843  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ||
    836844    ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) )
     845#endif
    837846  {
    838847    return;
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecEntropy.h

    r1084 r1106  
    6666
    6767  virtual Void  parseVPS                  ( TComVPS* pcVPS )                       = 0;
     68#if HHI_TOOL_PARAMETERS_I2_J0107
     69  virtual Void  parseSPS                  ( TComSPS* pcSPS )                                      = 0;
     70#else
    6871#if H_3D
    6972  virtual Void  parseSPS                  ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag  )                    = 0;
    7073#else
    7174  virtual Void  parseSPS                  ( TComSPS* pcSPS )                                      = 0;
     75#endif
    7276#endif
    7377#if H_3D
     
    157161  Void    resetEntropy                ( TComSlice* p)           { m_pcEntropyDecoderIf->resetEntropy(p);                    }
    158162  Void    decodeVPS                   ( TComVPS* pcVPS ) { m_pcEntropyDecoderIf->parseVPS(pcVPS); }
     163#if HHI_TOOL_PARAMETERS_I2_J0107
     164  Void    decodeSPS                   ( TComSPS* pcSPS     )    { m_pcEntropyDecoderIf->parseSPS(pcSPS);                    }
     165#else
    159166#if H_3D
    160167  Void    decodeSPS                   ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )    { m_pcEntropyDecoderIf->parseSPS(pcSPS, viewIndex, depthFlag );                    }
    161168#else
    162169  Void    decodeSPS                   ( TComSPS* pcSPS     )    { m_pcEntropyDecoderIf->parseSPS(pcSPS);                    }
     170#endif
    163171#endif
    164172#if H_3D
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecSbac.cpp

    r1084 r1106  
    703703
    704704  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     705#if HHI_TOOL_PARAMETERS_I2_J0107
     706  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
     707#else
    705708  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     709#endif
    706710  TComPic *pcTexture      = pcCU->getSlice()->getTexturePic();
    707711  Bool bDepthMapDetect    = (pcTexture != NULL);
     
    757761  Bool bParsePartSize    = true;
    758762  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     763#if HHI_TOOL_PARAMETERS_I2_J0107
     764  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
     765#else
    759766  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     767#endif
    760768  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    761769  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    982990  {
    983991#if H_3D_DIM
     992#if HHI_TOOL_PARAMETERS_I2_J0107
     993    if( pcCU->getSlice()->getIntraSdcWedgeFlag() || pcCU->getSlice()->getIntraContourFlag() )
     994#else
    984995    if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() )
     996#endif
    985997    {
    986998      parseIntraDepth( pcCU, absPartIdx+partOffset*j, depth );
     
    11241136  if( uiIsDimMode )
    11251137  {
     1138#if HHI_TOOL_PARAMETERS_I2_J0107
     1139    if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag() )
     1140#else
    11261141    if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag() )
     1142#endif
    11271143    {
    11281144      m_pcTDecBinIf->decodeBin( uiSymbol, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
     
    11361152      }
    11371153    }
     1154#if HHI_TOOL_PARAMETERS_I2_J0107
     1155    else if ( pcCU->getSlice()->getIntraSdcWedgeFlag() )
     1156#else
    11381157    else if ( pcCU->getSlice()->getVpsDepthModesFlag() )
     1158#endif
    11391159    {
    11401160      pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth );
    11411161    }
     1162#if HHI_TOOL_PARAMETERS_I2_J0107
     1163    else if( pcCU->getSlice()->getIntraContourFlag() )
     1164#else
    11421165    else if( pcCU->getSlice()->getIVPFlag() )
     1166#endif
    11431167    {
    11441168      pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth );
     
    21202144Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    21212145{
     2146#if HHI_TOOL_PARAMETERS_I2_J0107
     2147  AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() );
     2148#else
    21222149  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
     2150#endif
    21232151  AOF( !pcCU->getSlice()->getIsDepth() );
    21242152 
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecSbac.h

    r1084 r1106  
    7676  Void  setBitstream              ( TComInputBitstream* p  ) { m_pcBitstream = p; m_pcTDecBinIf->init( p ); }
    7777  Void  parseVPS                  ( TComVPS* /*pcVPS*/ ) {}
     78#if HHI_TOOL_PARAMETERS_I2_J0107
     79  Void  parseSPS                  ( TComSPS* /*pcSPS*/ ) {}
     80#else
    7881#if H_3D
    7982  Void  parseSPS                  ( TComSPS* /*pcSPS*/ , Int /*viewIndex*/, Bool /*depthFlag*/ ) {}
    8083#else
    8184  Void  parseSPS                  ( TComSPS* /*pcSPS*/ ) {}
     85#endif
    8286#endif
    8387#if H_3D
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecTop.cpp

    r1100 r1106  
    726726
    727727#endif
     728#if HHI_TOOL_PARAMETERS_I2_J0107
     729#if H_3D
     730  m_apcSlicePilot->init3dToolParameters();
     731#endif
     732#endif
    728733  pps->setSPS(sps);
    729734  pps->setNumSubstreams(pps->getEntropyCodingSyncEnabledFlag() ? ((sps->getPicHeightInLumaSamples() + sps->getMaxCUHeight() - 1) / sps->getMaxCUHeight()) * (pps->getNumTileColumnsMinus1() + 1) : 1);
     
    12391244  TComVPS* vps = m_parameterSetManagerDecoder.getPrefetchedVPS( 0 );
    12401245  assert( vps != 0 );
     1246#if HHI_TOOL_PARAMETERS_I2_J0107
     1247  m_cEntropyDecoder.decodeSPS( sps );
     1248#else
    12411249  m_cEntropyDecoder.decodeSPS( sps, vps->getViewIndex( m_layerId ), ( vps->getDepthId( m_layerId ) == 1 ) );
     1250#endif
    12421251#else
    12431252  m_cEntropyDecoder.decodeSPS( sps );
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1103 r1106  
    638638}
    639639
     640#if HHI_TOOL_PARAMETERS_I2_J0107
     641Void TEncCavlc::codeSPS( TComSPS* pcSPS )
     642#else
    640643#if H_3D
    641644Void TEncCavlc::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    642645#else
    643646Void TEncCavlc::codeSPS( TComSPS* pcSPS )
     647#endif
    644648#endif
    645649{
     
    842846  if ( pcSPS->getSps3dExtensionFlag() )
    843847  {
     848#if HHI_TOOL_PARAMETERS_I2_J0107
     849    codeSPS3dExtension( pcSPS );
     850#else
    844851    codeSPSExtension2( pcSPS, viewIndex, depthFlag  );
     852#endif
    845853  }
    846854
     
    868876
    869877#if H_3D
     878#if HHI_TOOL_PARAMETERS_I2_J0107
     879Void TEncCavlc::codeSPS3dExtension( TComSPS* pcSPS )
     880{
     881  TComSps3dExtension* sps3dExt = pcSPS->getSps3dExtension();
     882  for( Int d = 0; d  <=  1; d++ )
     883  {
     884    WRITE_FLAG( sps3dExt->getIvMvPredFlag( d ) ? 1 : 0 , "iv_mv_pred_flag" );
     885    WRITE_FLAG( sps3dExt->getIvMvScalingFlag( d ) ? 1 : 0 , "iv_mv_scaling_flag" );
     886    if( d  ==  0 )
     887    {
     888      WRITE_UVLC( sps3dExt->getLog2SubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" );
     889      WRITE_FLAG( sps3dExt->getIvResPredFlag( d ) ? 1 : 0 , "iv_res_pred_flag" );
     890      WRITE_FLAG( sps3dExt->getDepthRefinementFlag( d ) ? 1 : 0 , "depth_refinement_flag" );
     891      WRITE_FLAG( sps3dExt->getViewSynthesisPredFlag( d ) ? 1 : 0 , "view_synthesis_pred_flag" );
     892      WRITE_FLAG( sps3dExt->getDepthBasedBlkPartFlag( d ) ? 1 : 0 , "depth_based_blk_part_flag" );
     893    }
     894    else
     895    {
     896      WRITE_FLAG( sps3dExt->getMpiFlag( d ) ? 1 : 0 , "mpi_flag" );
     897      WRITE_UVLC( sps3dExt->getLog2MpiSubPbSizeMinus3( d ), "log2_mpi_sub_pb_size_minus3" );
     898      WRITE_FLAG( sps3dExt->getIntraContourFlag( d ) ? 1 : 0 , "intra_contour_flag" );
     899      WRITE_FLAG( sps3dExt->getIntraSdcWedgeFlag( d ) ? 1 : 0 , "intra_sdc_wedge_flag" );
     900      WRITE_FLAG( sps3dExt->getQtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" );
     901      WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" );
     902      WRITE_FLAG( sps3dExt->getIntraSingleFlag( d ) ? 1 : 0 , "intra_single_flag" );
     903    }
     904  }
     905}
     906#else
    870907Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    871908{
    872909
    873910}
     911#endif
    874912#endif
    875913
     
    15771615Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS )
    15781616{
     1617#if !HHI_TOOL_PARAMETERS_I2_J0107
    15791618  for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    15801619  {
     
    16221661    } 
    16231662  }
     1663#endif
    16241664  WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
    16251665  for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
     
    20882128    {
    20892129#if H_3D_IV_MERGE
     2130#if HHI_TOOL_PARAMETERS_I2_J0107
     2131      WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
     2132#else
    20902133      if(pcSlice->getIsDepth())
    20912134      {
     
    20992142        WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
    21002143      }
     2144#endif
    21012145#else
    21022146      WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCavlc.h

    r1084 r1106  
    100100#if H_3D
    101101  Void  codeVPSExtension2       ( TComVPS* pcVPS );
     102#if HHI_TOOL_PARAMETERS_I2_J0107
     103  Void  codeSPS3dExtension      ( TComSPS* pcSPS );
     104  Void  codeSPS                 ( TComSPS* pcSPS );
     105#else
    102106  Void  codeSPSExtension2       ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag  );
    103107  Void  codeSPS                 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
     108#endif
    104109#else
    105110  Void  codeSPS                 ( TComSPS* pcSPS );
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCfg.h

    r1084 r1106  
    392392  Double    m_dDispCoeff;
    393393#endif
     394#if !HHI_TOOL_PARAMETERS_I2_J0107
    394395#if H_3D_ARP
    395396  UInt      m_uiUseAdvResPred;
     
    400401  Int      m_iSubPUMPILog2Size;
    401402#endif
     403#endif
    402404#if H_3D_IC
    403405  Bool      m_bUseIC;
    404406  Bool      m_bUseICLowLatencyEnc;
    405407#endif
     408#if !HHI_TOOL_PARAMETERS_I2_J0107
    406409#if H_3D_INTER_SDC
    407410  bool      m_bInterSDC;
     
    409412#if H_3D_DBBP
    410413  Bool      m_bUseDBBP;
     414#endif
    411415#endif
    412416  //====== Depth Intra Modes ======
    413417#if H_3D_DIM
    414418  Bool      m_useDMM;
     419#if !HHI_TOOL_PARAMETERS_I2_J0107
    415420  Bool      m_useIVP;
     421#endif
    416422  Bool      m_useSDC;
    417423  Bool      m_useDLT;
    418424#endif
     425#if !HHI_TOOL_PARAMETERS_I2_J0107
    419426#if H_3D_SINGLE_DEPTH
    420427  Bool      m_useSingleDepthMode;
    421428#endif
     429
    422430#if H_3D_IV_MERGE
    423431  Bool      m_useMPI;
     432#endif
    424433#endif
    425434#if H_3D_QTLPC
     
    497506  Void      setMaxTempLayer                 ( Int maxTempLayer )            { m_maxTempLayer = maxTempLayer;      }
    498507
     508#if !HHI_TOOL_PARAMETERS_I2_J0107
    499509#if H_3D_ARP
    500510  UInt       getUseAdvRP                    ( )              { return m_uiUseAdvResPred; }
     
    510520  Void       setSubPUMPILog2Size            (Int u)          { m_iSubPUMPILog2Size = u;   }     
    511521#endif
     522#endif
    512523#if H_3D_IC
    513524  Void       setUseIC                       ( Bool bVal )    { m_bUseIC = bVal; }
     
    516527  Bool       getUseICLowLatencyEnc          ()               { return m_bUseICLowLatencyEnc; }
    517528#endif
     529#if !HHI_TOOL_PARAMETERS_I2_J0107
    518530#if H_3D_INTER_SDC
    519531  Void       setInterSDCEnable              ( Bool bVal )    { m_bInterSDC = bVal; }
     
    523535  Void       setUseDBBP                     ( Bool  b )      { m_bUseDBBP   = b; }
    524536  Bool       getUseDBBP()                                    { return m_bUseDBBP;     }
     537#endif
    525538#endif
    526539  //======== Transform =============
     
    932945  Void setFrameOnlyConstraintFlag(Bool b) { m_frameOnlyConstraintFlag = b; }
    933946#if H_3D
     947
     948  // Only flags that are not in the SPS3dExtension should go here.
    934949  /// 3D Tools
    935950
     
    976991  Bool      getUseDMM                       ()        { return m_useDMM; }
    977992  Void      setUseDMM                       ( Bool b) { m_useDMM = b;    }
     993#if !HHI_TOOL_PARAMETERS_I2_J0107
    978994  Bool      getUseIVP                       ()        { return m_useIVP; }
    979995  Void      setUseIVP                       ( Bool b) { m_useIVP = b;    }
     996#endif
    980997  Bool      getUseSDC                       ()        { return m_useSDC; }
    981998  Void      setUseSDC                       ( Bool b) { m_useSDC = b;    }
     999
    9821000  Bool      getUseDLT                       ()        { return m_useDLT; }
    9831001  Void      setUseDLT                       ( Bool b) { m_useDLT = b;    }
    9841002#endif
     1003#if !HHI_TOOL_PARAMETERS_I2_J0107
    9851004#if H_3D_SINGLE_DEPTH
    9861005  Void       setUseSingleDepthMode          ( Bool bVal )    { m_useSingleDepthMode = bVal; }
    9871006  Bool       getUseSingleDepthMode          ()               { return m_useSingleDepthMode; }
    9881007#endif
     1008#endif
    9891009#if H_3D_QTLPC
    9901010  Void      setUseQTL                       ( Bool b ) { m_bUseQTL = b;    }
    9911011  Bool      getUseQTL                       ()         { return m_bUseQTL; }
    9921012#endif
     1013#if !HHI_TOOL_PARAMETERS_I2_J0107
    9931014#if H_3D_IV_MERGE
    9941015  Void      setUseMPI                       ( Bool b ) { m_useMPI = b;    }
    9951016  Bool      getUseMPI                       ()         { return m_useMPI; }
    9961017#endif
     1018#endif
    9971019#endif // H_3D
    9981020};
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCu.cpp

    r1100 r1106  
    410410#if H_3D_QTLPC
    411411  TComVPS *vps            = pcPic->getSlice(0)->getVPS();
     412#if HHI_TOOL_PARAMETERS_I2_J0107
     413  Bool  bLimQtPredFalg    = pcPic->getSlice(0)->getQtPredFlag();
     414#else
    412415  Bool  bLimQtPredFalg    = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId());
     416#endif
    413417  TComPic *pcTexture      = rpcBestCU->getSlice()->getTexturePic();
    414418
     
    566570      {
    567571#if H_3D_ARP && H_3D_IV_MERGE
     572#if HHI_TOOL_PARAMETERS_I2_J0107
     573        if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() )
     574#else
    568575        if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) || rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) )
     576#endif
    569577#else
    570578#if H_3D_ARP
     
    590598#endif
    591599#if H_3D_NBDV_REF
     600#if HHI_TOOL_PARAMETERS_I2_J0107
     601          if( rpcTempCU->getSlice()->getDepthRefinementFlag() )
     602#else
    592603          if(rpcTempCU->getSlice()->getVPS()->getDepthRefinementFlag( rpcTempCU->getSlice()->getLayerIdInVps()))
     604#endif
    593605            DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true);
    594606          else
     
    673685#if H_3D_DBBP
    674686#if SEC_DBBP_VIEW_REF_CHECK_J0037
     687#if HHI_TOOL_PARAMETERS_I2_J0107
     688          if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     689#else
    675690          if( m_pcEncCfg->getUseDBBP() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     691#endif
    676692#else
    677693          if( m_pcEncCfg->getUseDBBP() )
     
    20322048          xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth);
    20332049#if H_3D_INTER_SDC
     2050#if HHI_TOOL_PARAMETERS_I2_J0107
     2051          if( rpcTempCU->getSlice()->getInterSdcFlag() && !uiNoResidual )
     2052#else
    20342053          if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual )
     2054#endif
    20352055          {
    20362056            Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE};
     
    21042124      {
    21052125#if H_3D_INTER_SDC
     2126#if HHI_TOOL_PARAMETERS_I2_J0107
     2127        if( rpcTempCU->getSlice()->getInterSdcFlag() )
     2128#else
    21062129        if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) )
     2130#endif
    21072131        {
    21082132          bestIsSkip = !rpcBestCU->getSDCFlag( 0 ) && ( rpcBestCU->getQtRootCbf(0) == 0 );
     
    21912215  for( Int nARPW = 0; nARPW <= nARPWMax; nARPW++ )
    21922216  {
     2217#if HHI_TOOL_PARAMETERS_I2_J0107
     2218    if( !bFirstTime && rpcTempCU->getSlice()->getIvResPredFlag() )
     2219#else
    21932220    if( bFirstTime == false && rpcTempCU->getSlice()->getVPS()->getUseAdvRP( iLayerId ) )
     2221#endif
    21942222    {
    21952223      rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0),bTransquantBypassFlag );     
     
    22972325  xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth);
    22982326#if H_3D_INTER_SDC
     2327#if HHI_TOOL_PARAMETERS_I2_J0107
     2328  if( rpcTempCU->getSlice()->getInterSdcFlag() && ePartSize == SIZE_2Nx2N)
     2329#else
    22992330  if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && ePartSize == SIZE_2Nx2N)
     2331#endif
    23002332  {
    23012333    Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE};
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncEntropy.cpp

    r1100 r1106  
    7878}
    7979
     80#if HHI_TOOL_PARAMETERS_I2_J0107
     81Void TEncEntropy::encodeSPS( TComSPS* pcSPS )
     82{
     83  m_pcEntropyCoderIf->codeSPS( pcSPS );
     84  return;
     85}
     86#else
    8087#if H_3D
    8188Void TEncEntropy::encodeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
     
    9097  return;
    9198}
     99#endif
    92100#endif
    93101
     
    269277#if H_3D_DBBP
    270278#if SEC_DBBP_VIEW_REF_CHECK_J0037
     279#if HHI_TOOL_PARAMETERS_I2_J0107
     280  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     281#else
    271282  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     283#endif
    272284#else
    273285  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 )
     
    784796Void TEncEntropy::encodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    785797{
     798#if HHI_TOOL_PARAMETERS_I2_J0107
     799  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) ||
     800    ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) )
     801#else
    786802  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ||
    787803    ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) )
     804#endif
    788805  {
    789806    return;
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncEntropy.h

    r1084 r1106  
    6969
    7070  virtual Void  codeVPS                 ( TComVPS* pcVPS )                                      = 0;
     71#if HHI_TOOL_PARAMETERS_I2_J0107
     72  virtual Void  codeSPS                 ( TComSPS* pcSPS )                                      = 0;
     73#else
    7174#if !H_3D
    7275  virtual Void  codeSPS                 ( TComSPS* pcSPS )                                      = 0;
    7376#else
    7477  virtual Void  codeSPS                 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )       = 0;
     78#endif
    7579#endif
    7680  virtual Void  codePPS                 ( TComPPS* pcPPS )                                      = 0;
     
    165169  Void encodeVPS               ( TComVPS* pcVPS);
    166170  // SPS
     171#if HHI_TOOL_PARAMETERS_I2_J0107
     172  Void encodeSPS               ( TComSPS* pcSPS );
     173#else
    167174#if H_3D
    168175  Void encodeSPS               ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
    169176#else
    170177  Void encodeSPS               ( TComSPS* pcSPS );
     178#endif
    171179#endif
    172180  Void encodePPS               ( TComPPS* pcPPS );
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncGOP.cpp

    r1103 r1106  
    958958#endif
    959959#if H_3D_SINGLE_DEPTH
     960#if HHI_TOOL_PARAMETERS_I2_J0107
     961    pcSlice->setApplySingleDepthMode( pcSlice->getIntraSingleFlag() );
     962#else
    960963    TEncTop* pcEncTop = (TEncTop*) m_pcCfg;
    961964    bool enableSingleDepthMode=false;
     
    968971    }
    969972    pcSlice->setApplySingleDepthMode(enableSingleDepthMode);
     973#endif
    970974#endif   
    971975#if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037
     
    14331437        pcSlice->getSPS()->getVuiParameters()->setHrdParametersPresentFlag( true );
    14341438      }
     1439#if HHI_TOOL_PARAMETERS_I2_J0107
     1440      m_pcEntropyCoder->encodeSPS(pcSlice->getSPS());
     1441#else
    14351442#if !H_3D
    14361443      m_pcEntropyCoder->encodeSPS(pcSlice->getSPS());
    14371444#else
    14381445      m_pcEntropyCoder->encodeSPS(pcSlice->getSPS(), pcSlice->getViewIndex(), pcSlice->getIsDepth() );
     1446#endif
    14391447#endif
    14401448      writeRBSPTrailingBits(nalu.m_Bitstream);
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSbac.cpp

    r1084 r1106  
    255255      curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
    256256#if H_3D_DIM
     257#if HHI_TOOL_PARAMETERS_I2_J0107
     258    if( m_pcSlice->getIntraSdcWedgeFlag() || m_pcSlice->getIntraContourFlag() )
     259#else
    257260    if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() )
     261#endif
    258262    {
    259263      curCost += m_cDepthIntraModeSCModel.calcCost    ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE );
     
    346350}
    347351
     352#if HHI_TOOL_PARAMETERS_I2_J0107
     353Void TEncSbac::codeSPS( TComSPS* pcSPS )
     354#else
    348355#if H_3D
    349356Void TEncSbac::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    350357#else
    351358Void TEncSbac::codeSPS( TComSPS* pcSPS )
     359#endif
    352360#endif
    353361{
     
    626634#if H_3D_QTLPC
    627635  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     636#if HHI_TOOL_PARAMETERS_I2_J0107
     637  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
     638#else
    628639  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     640#endif
    629641  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    630642  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    9991011
    10001012  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     1013#if HHI_TOOL_PARAMETERS_I2_J0107
     1014  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
     1015#else
    10011016  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     1017#endif
    10021018  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    10031019  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    10601076    dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j );
    10611077#if H_3D_DIM
     1078#if HHI_TOOL_PARAMETERS_I2_J0107
     1079    if( pcCU->getSlice()->getIntraSdcWedgeFlag() ||  pcCU->getSlice()->getIntraContourFlag() )
     1080#else
    10621081    if( pcCU->getSlice()->getVpsDepthModesFlag() ||  pcCU->getSlice()->getIVPFlag() )
     1082#endif
    10631083    {
    10641084      codeIntraDepth( pcCU, absPartIdx+partOffset*j );
     
    12061226    }
    12071227    //mode coding
     1228#if HHI_TOOL_PARAMETERS_I2_J0107
     1229    if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag())
     1230#else
    12081231    if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag())
     1232#endif
    12091233    {
    12101234      m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
     
    23052329  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    23062330  AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N );
     2331#if HHI_TOOL_PARAMETERS_I2_J0107
     2332  AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() );
     2333#else
    23072334  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
     2335#endif
    23082336  AOF( !pcCU->getSlice()->getIsDepth() );
    23092337 
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSbac.h

    r1084 r1106  
    9494
    9595  Void  codeVPS                 ( TComVPS* pcVPS );
     96#if HHI_TOOL_PARAMETERS_I2_J0107
     97  Void  codeSPS                 ( TComSPS* pcSPS     );
     98#else
    9699#if !H_3D
    97100  Void  codeSPS                 ( TComSPS* pcSPS     );
    98101#else
    99102  Void  codeSPS                 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
     103#endif
    100104#endif
    101105  Void  codePPS                 ( TComPPS* pcPPS     );
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSearch.cpp

    r1094 r1106  
    31173117    }
    31183118#endif
    3119 
     3119   
    31203120#if H_3D_DIM
    31213121    //===== determine set of depth intra modes to be tested =====
    31223122    if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight )
    31233123    {
     3124#if HHI_TOOL_PARAMETERS_I2_J0107
     3125      if( bOnlyIVP && pcCU->getSlice()->getIntraContourFlag() )
     3126#else
    31243127      if( bOnlyIVP && m_pcEncCfg->getUseIVP() )
     3128#endif
    31253129      {
    31263130        TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight );
     
    31443148
    31453149#if H_3D_DIM_DMM
     3150#if HHI_TOOL_PARAMETERS_I2_J0107
     3151      if( ( ( m_pcEncCfg->getUseDMM() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() )  || pcCU->getSlice()->getIntraContourFlag() )
     3152#else
    31463153      if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() )
     3154#endif
    31473155#if H_3D_FAST_DEPTH_INTRA
    31483156         && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold)
     
    31513159      {
    31523160        UInt uiStart, uiEnd;
     3161#if HHI_TOOL_PARAMETERS_I2_J0107
     3162        if( ( m_pcEncCfg->getUseDMM() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() ) &&  pcCU->getSlice()->getIntraContourFlag() )
     3163#else
    31533164        if( m_pcEncCfg->getUseDMM() &&  m_pcEncCfg->getUseIVP() )
     3165#endif
    31543166        {
    31553167          uiStart = 0;
    31563168          uiEnd   = 2;
    31573169        }
     3170#if HHI_TOOL_PARAMETERS_I2_J0107
     3171        else if( ( m_pcEncCfg->getUseDMM() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() ) )
     3172#else
    31583173        else if( m_pcEncCfg->getUseDMM() )
     3174#endif
    31593175        {
    31603176          uiStart = 0;
    31613177          uiEnd   = 1;
    31623178        }
     3179#if HHI_TOOL_PARAMETERS_I2_J0107
     3180        else if( pcCU->getSlice()->getIntraContourFlag() )
     3181#else
    31633182        else if( m_pcEncCfg->getUseIVP() )
     3183#endif
    31643184        {
    31653185          uiStart = 1;
     
    32993319#if H_3D_DIM_SDC
    33003320#if H_3D_FAST_INTRA_SDC
    3301       Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);
     3321      Bool bTestSDC = ( ( m_pcEncCfg->getUseSDC() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);
    33023322#else
    33033323      Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) );
     
    53195339#endif
    53205340#if H_3D_INTER_SDC
     5341#if HHI_TOOL_PARAMETERS_I2_J0107 
     5342   pcPatternKey->setSDCMRSADFlag( pcCU->getSlice()->getInterSdcFlag() );
     5343#else
    53215344  if ( pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) )
    53225345  {
     
    53275350    pcPatternKey->setSDCMRSADFlag( false );
    53285351  }
     5352#endif
    53295353#endif
    53305354
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSlice.cpp

    r1100 r1106  
    215215  rpcSlice->setPicOutputFlag( true );
    216216  rpcSlice->setPOC( pocCurr );
     217#if HHI_TOOL_PARAMETERS_I2_J0107
     218#if H_3D
     219  rpcSlice->init3dToolParameters();
     220#endif
     221#endif
    217222#if H_3D_IC
    218223  rpcSlice->setApplyIC( false );
     
    608613  rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() );
    609614#if H_3D_IV_MERGE
     615#if HHI_TOOL_PARAMETERS_I2_J0107
     616  rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) ) ? 1 : 0 ));
     617#else
    610618  if(rpcSlice->getIsDepth())
    611619  {
     
    616624    rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) );
    617625  }
     626#endif
    618627#else
    619628  rpcSlice->setMaxNumMergeCand        ( m_pcCfg->getMaxNumMergeCand()        );
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncTop.cpp

    r1103 r1106  
    534534Void TEncTop::encode(Bool flush, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded, bool isTff, Int gopId )
    535535{
    536   assert( 0 ); // Field coding and multiview need to be furhter harmonized.
     536  assert( 0 ); // Field coding and multiview need to be further harmonized.
    537537}
    538538#else
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncTop.h

    r1084 r1106  
    270270  Void                    setIvPicLists         ( TComPicLists* picLists) { m_ivPicLists = picLists; }
    271271#endif
     272#if HHI_TOOL_PARAMETERS_I2_J0107
     273#if H_3D
     274  Void                    setSps3dExtension     ( TComSps3dExtension sps3dExtension ) { m_cSPS.setSps3dExtension( sps3dExtension );  };
     275#endif
     276#endif
    272277#if H_3D_IC
    273278  Void                    setICEnableCandidate         ( Int* ICEnableCandidate) { m_aICEnableCandidate = ICEnableCandidate; }
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibExtractor/TExtrTop.cpp

    r655 r1106  
    7474#if H_3D
    7575     Int layerIdInVPS = m_cVPS.getLayerIdInVps( uiLayerId );
     76#if HHI_TOOL_PARAMETERS_I2_J0107
     77     m_cEntropyDecoder   .decodeSPS( &cSPS );
     78#else
    7679     m_cEntropyDecoder   .decodeSPS( &cSPS, m_cVPS.getViewIndex( layerIdInVPS ), ( m_cVPS.getDepthId( layerIdInVPS ) == 1 ) );
     80#endif
    7781#else
    7882     m_cEntropyDecoder   .decodeSPS( &cSPS );
Note: See TracChangeset for help on using the changeset viewer.