Changeset 1380 in 3DVCSoftware


Ignore:
Timestamp:
11 Nov 2015, 20:47:01 (8 years ago)
Author:
tech
Message:

Further clean ups.

Location:
branches/HTM-15.2-dev
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-15.2-dev/cfg/3D-HEVC/baseCfg_2view+depth.cfg

    r1313 r1380  
    215215IvMvScalingFlag                     : 1                # Interview motion vector scaling
    216216Log2SubPbSizeMinus3                 : 0                # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3
    217 Log2MpiSubPbSizeMinus3              : 3                # Log2 of sub-PU size for MPI (3...6)
     217Log2MpiSubPbSizeMinus3              : 0                # Log2 of sub-PU size for MPI (3...6)
    218218DepthBasedBlkPartFlag               : 1                # Depth-based Block Partitioning
    219219
  • branches/HTM-15.2-dev/cfg/MV-HEVC/NonCTC/gopCfg_IBP_3view.cfg

    r1066 r1380  
    1515#======== VPS / Output layer sets ================
    1616DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    17 OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     17OutputLayerSetIdx             : 2 2          # Indices of layer sets used to derive additional output layer sets
    1818LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    1919LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
     
    2929ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
    3030ProfileTierLevelIdx_2         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    31 ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     31ProfileTierLevelIdx_3         : 1 2 -1                     # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    3232ProfileTierLevelIdx_4         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    3333
  • branches/HTM-15.2-dev/cfg/MV-HEVC/NonCTC/gopCfg_IPB_on_IRAP_3view.cfg

    r1066 r1380  
    55LayerIdsInSet_0               : 0            # Indices in VPS of layers in layer set 0
    66LayerIdsInSet_1               : 0 1          # Indices in VPS of layers in layer set 1
    7 LayerIdsInSet_2               : 0 2          # Indices in VPS of layers in layer set 2
    8 LayerIdsInSet_3               : 0 1 2        # Indices in VPS of layers in layer set 3
     7LayerIdsInSet_2               : 0 1 2        # Indices in VPS of layers in layer set 2
    98
    109#======== VPS / Output layer sets ================
    1110DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    12 OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     11OutputLayerSetIdx             : 2 2          # Indices of layer sets used to derive additional output layer sets
    1312LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    1413LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
     
    2322ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
    2423ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
    25 ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    26 ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    27 ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
    28 ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     24ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
     25ProfileTierLevelIdx_4         : 1 2 -1                     # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     26ProfileTierLevelIdx_5         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
    2927
    3028
  • branches/HTM-15.2-dev/cfg/MV-HEVC/NonCTC/gopCfg_PIP_on_IRAP_3view.cfg

    r1066 r1380  
    1010#======== VPS / Output layer sets ================
    1111DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    12 OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     12OutputLayerSetIdx             : 3 3          # Indices of layer sets used to derive additional output layer sets
    1313LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    1414LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
     
    2525ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    2626ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    27 ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
    28 ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     27ProfileTierLevelIdx_4         : 1 2 -1                     # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     28ProfileTierLevelIdx_5         : 1 -1 2                     # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
    2929
    3030
  • branches/HTM-15.2-dev/cfg/MV-HEVC/NonCTC/layerwise_startup_IBP_3view.cfg

    r1084 r1380  
    1515#======== VPS / Output layer sets ================
    1616DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    17 OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     17OutputLayerSetIdx             : 2 2          # Indices of layer sets used to derive additional output layer sets
    1818LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    1919LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
     
    3535ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
    3636ProfileTierLevelIdx_2         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    37 ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
     37ProfileTierLevelIdx_3         : 1 2 -1                     # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    3838ProfileTierLevelIdx_4         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    3939
  • branches/HTM-15.2-dev/cfg/MV-HEVC/baseCfg_2view.cfg

    r1313 r1380  
    3131DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    3232
    33 OutputLayerSetIdx             : 1            # Indices of layer sets used to derive additional output layer sets
    34 LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    35 
    3633#======== VPS / PTLI ================
    3734Profile                       : main main multiview-main   # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m)
     
    4239ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
    4340ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
    44 ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    4541
    4642#======== VPS / Dependencies ================
  • branches/HTM-15.2-dev/cfg/MV-HEVC/baseCfg_3view.cfg

    r1313 r1380  
    3535DefaultTargetOutputLayerIdc   : 0            # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
    3636
    37 OutputLayerSetIdx             : 1 2          # Indices of layer sets used to derive additional output layer sets
     37OutputLayerSetIdx             : 3 3          # Indices of layer sets used to derive additional output layer sets
    3838LayerIdsInAddOutputLayerSet_0 : 1            # Indices in VPS of output layers in additional output layer set 0
    3939LayerIdsInAddOutputLayerSet_1 : 2            # Indices in VPS of output layers in additional output layer set 1
     
    4949ProfileTierLevelIdx_2         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
    5050ProfileTierLevelIdx_3         : 1 2 2                      # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
    51 ProfileTierLevelIdx_4         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
    52 ProfileTierLevelIdx_5         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
     51ProfileTierLevelIdx_4         : 1 2 -1                     # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)
     52ProfileTierLevelIdx_5         : 1 -1 2                     # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary)
    5353
    5454#======== VPS / Dependencies ================
  • branches/HTM-15.2-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r1374 r1380  
    806806#endif
    807807#if NH_MV
    808   ("NumberOfLayers",        m_numberOfLayers     , 1,                     "Number of layers")
    809 #if !NH_3D
    810   ("ScalabilityMask",       m_scalabilityMask    , 2                    , "Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary")   
    811 #else
    812   ("ScalabilityMask",       m_scalabilityMask    , 3                    , "Scalability Mask, 1: Texture 3: Texture + Depth ")   
     808  ("NumberOfLayers",                 m_numberOfLayers     , 1,                     "Number of layers")
     809#if !NH_3D                           
     810  ("ScalabilityMask",                m_scalabilityMask    , 2                    , "Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary")   
     811#else                               
     812  ("ScalabilityMask",                m_scalabilityMask    , 3                    , "Scalability Mask, 1: Texture 3: Texture + Depth ")   
    813813#endif 
    814   ("DimensionIdLen",        m_dimensionIdLen     , cfg_dimensionLength  , "Number of bits used to store dimensions Id")
     814  ("DimensionIdLen",                 m_dimensionIdLen     , cfg_dimensionLength  , "Number of bits used to store dimensions Id")
    815815  ("ViewOrderIndex",                 m_viewOrderIndex              , IntAry1d(1,0),                                 "View Order Index per layer")
    816816  ("ViewId",                         m_viewId                      , IntAry1d(1,0),                                 "View Id per View Order Index")
     
    821821  ("TargetEncLayerIdList",           m_targetEncLayerIdList        , IntAry1d(0,0),                                 "LayerIds in Nuh to be encoded") 
    822822  ("LayerIdInNuh",                   m_layerIdInNuh                , IntAry1d(1,0),                                 "LayerId in Nuh") 
    823   ("SplittingFlag",         m_splittingFlag       , false                , "Splitting Flag")   
     823  ("SplittingFlag",                  m_splittingFlag               , false,                                        "Splitting Flag")   
    824824
    825825  // Layer Sets + Output Layer Sets + Profile Tier Level
    826   ("VpsNumLayerSets",       m_vpsNumLayerSets    , 1                    , "Number of layer sets")   
    827   ("LayerIdsInSet_%d"              , m_layerIdsInSets              , IntAry1d(1,0) , MAX_VPS_OP_SETS_PLUS1      ,   "LayerIds of Layer set") 
    828   ("NumAddLayerSets"     , m_numAddLayerSets     , 0                                              , "NumAddLayerSets     ")
     826  ("VpsNumLayerSets"               , m_vpsNumLayerSets             , 1                                          ,  "Number of layer sets")   
     827  ("LayerIdsInSet_%d"              , m_layerIdxInVpsInSets         , IntAry1d(1,0) , MAX_VPS_OP_SETS_PLUS1      ,   "Layer indices in VPS of layers in layer set") 
     828  ("NumAddLayerSets"               , m_numAddLayerSets             , 0 ,                                            "NumAddLayerSets     ")
    829829  ("HighestLayerIdxPlus1_%d"       , m_highestLayerIdxPlus1        , IntAry1d(0,0) , MAX_VPS_NUM_ADD_LAYER_SETS ,   "HighestLayerIdxPlus1")
    830   ("DefaultTargetOutputLayerIdc"     , m_defaultOutputLayerIdc     , 0, "Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet")
     830  ("DefaultTargetOutputLayerIdc"   , m_defaultOutputLayerIdc       , 0 ,                                            "Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet")
    831831  ("OutputLayerSetIdx"             , m_outputLayerSetIdx           , IntAry1d(0,0)                              ,   "Indices of layer sets used as additional output layer sets")
    832832  ("LayerIdsInAddOutputLayerSet_%d", m_layerIdsInAddOutputLayerSet , IntAry1d(0,0) , MAX_VPS_ADD_OUTPUT_LAYER_SETS, "Indices in VPS of output layers in additional output layer set") 
     
    23662366    if (lsIdx == 0)
    23672367    {
    2368       xConfirmPara( m_layerIdsInSets[lsIdx].size() != 1 || m_layerIdsInSets[lsIdx][0] != 0 , "0-th layer shall only include layer 0. ");
    2369     }
    2370     for ( Int i = 0; i < m_layerIdsInSets[lsIdx].size(); i++ )
    2371     {
    2372       xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx][i] >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than 0 and less than MAX_NUM_LAYER_IDS" );
     2368      xConfirmPara( m_layerIdxInVpsInSets[lsIdx].size() != 1 || m_layerIdxInVpsInSets[lsIdx][0] != 0 , "0-th layer shall only include layer 0. ");
     2369    }
     2370    for ( Int i = 0; i < m_layerIdxInVpsInSets[lsIdx].size(); i++ )
     2371    {
     2372      xConfirmPara( m_layerIdxInVpsInSets[lsIdx][i] < 0 || m_layerIdxInVpsInSets[lsIdx][i] >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than 0 and less than MAX_NUM_LAYER_IDS" );
    23732373    }
    23742374  }
     
    24032403      {
    24042404        Bool inLayerSetFlag = false;
    2405         for (Int j = 0; j < m_layerIdsInSets[ lsIdx].size(); j++ )
     2405        for (Int j = 0; j < m_layerIdxInVpsInSets[ lsIdx].size(); j++ )
    24062406        {
    2407           if ( m_layerIdsInSets[ lsIdx ][ j ] == m_layerIdsInDefOutputLayerSet[ lsIdx ][ i ] )
     2407          if ( m_layerIdxInVpsInSets[ lsIdx ][ j ] == m_layerIdsInDefOutputLayerSet[ lsIdx ][ i ] )
    24082408          {
    24092409            inLayerSetFlag = true;
  • branches/HTM-15.2-dev/source/App/TAppEncoder/TAppEncCfg.h

    r1374 r1380  
    9191// layer sets   
    9292  Int                    m_vpsNumLayerSets;                   ///< Number of layer sets
    93   IntAry2d m_layerIdsInSets;           ///< LayerIds in vps of layer set
     93  IntAry2d m_layerIdxInVpsInSets;           ///< LayerIds in vps of layer set
    9494  Int                    m_numAddLayerSets;                    ///< Number of additional layer sets
    9595  IntAry2d m_highestLayerIdxPlus1;      ///< HighestLayerIdxPlus1 for each additional layer set and each independent layer (value with index 0 will be ignored)
  • branches/HTM-15.2-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r1374 r1380  
    188188  for (Int d = 0; d < 2; d++)
    189189  { 
    190     m_sps3dExtension.setIvMvPredFlag          ( d, m_ivMvPredFlag[d]       );
    191     m_sps3dExtension.setIvMvScalingFlag       ( d, m_ivMvScalingFlag[d]    );
     190    m_sps3dExtension.setIvDiMcEnabledFlag          ( d, m_ivMvPredFlag[d]       );
     191    m_sps3dExtension.setIvMvScalEnabledFlag       ( d, m_ivMvScalingFlag[d]    );
    192192    if (d == 0 )
    193193    {   
    194       m_sps3dExtension.setLog2SubPbSizeMinus3   ( d, m_log2SubPbSizeMinus3   );
    195       m_sps3dExtension.setIvResPredFlag         ( d, m_ivResPredFlag         );
    196       m_sps3dExtension.setDepthRefinementFlag   ( d, m_depthRefinementFlag   );
    197       m_sps3dExtension.setViewSynthesisPredFlag ( d, m_viewSynthesisPredFlag );
    198       m_sps3dExtension.setDepthBasedBlkPartFlag ( d, m_depthBasedBlkPartFlag );
     194      m_sps3dExtension.setLog2IvmcSubPbSizeMinus3   ( d, m_log2SubPbSizeMinus3   );
     195      m_sps3dExtension.setIvResPredEnabledFlag         ( d, m_ivResPredFlag         );
     196      m_sps3dExtension.setDepthRefEnabledFlag   ( d, m_depthRefinementFlag   );
     197      m_sps3dExtension.setVspMcEnabledFlag ( d, m_viewSynthesisPredFlag );
     198      m_sps3dExtension.setDbbpEnabledFlag ( d, m_depthBasedBlkPartFlag );
    199199    }
    200200    else
    201201    {   
    202       m_sps3dExtension.setMpiFlag               ( d, m_mpiFlag               );
    203       m_sps3dExtension.setLog2MpiSubPbSizeMinus3( d, m_log2MpiSubPbSizeMinus3);
    204       m_sps3dExtension.setIntraContourFlag      ( d, m_intraContourFlag      );
    205       m_sps3dExtension.setIntraSdcWedgeFlag     ( d, m_intraSdcFlag || m_intraWedgeFlag     );
    206       m_sps3dExtension.setQtPredFlag            ( d, m_qtPredFlag            );
    207       m_sps3dExtension.setInterSdcFlag          ( d, m_interSdcFlag          );
    208       m_sps3dExtension.setDepthIntraSkipFlag    ( d, m_depthIntraSkipFlag    ); 
     202      m_sps3dExtension.setTexMcEnabledFlag               ( d, m_mpiFlag               );
     203      m_sps3dExtension.setLog2TexmcSubPbSizeMinus3( d, m_log2MpiSubPbSizeMinus3);
     204      m_sps3dExtension.setIntraContourEnabledFlag      ( d, m_intraContourFlag      );
     205      m_sps3dExtension.setIntraDcOnlyWedgeEnabledFlag     ( d, m_intraSdcFlag || m_intraWedgeFlag     );
     206      m_sps3dExtension.setCqtCuPartPredEnabledFlag            ( d, m_qtPredFlag            );
     207      m_sps3dExtension.setInterDcOnlyEnabledFlag          ( d, m_interSdcFlag          );
     208      m_sps3dExtension.setSkipIntraEnabledFlag    ( d, m_depthIntraSkipFlag    ); 
    209209    }
    210210  }
     
    20712071      vps.setLayerIdIncludedFlag( false, lsIdx, layerId );
    20722072    }
    2073     for ( Int i = 0; i < m_layerIdsInSets[lsIdx].size(); i++)
     2073    for ( Int i = 0; i < m_layerIdxInVpsInSets[lsIdx].size(); i++)
    20742074    {       
    2075       vps.setLayerIdIncludedFlag( true, lsIdx, vps.getLayerIdInNuh( m_layerIdsInSets[lsIdx][i] ) );
     2075      vps.setLayerIdIncludedFlag( true, lsIdx, vps.getLayerIdInNuh( m_layerIdxInVpsInSets[lsIdx][i] ) );
    20762076    }
    20772077  }
  • branches/HTM-15.2-dev/source/Lib/TLibCommon/TComDataCU.cpp

    r1374 r1380  
    51015101
    51025102  //// ******* Get disparity from left block ******* /////
     5103#if NH_3D_FIX_TICKET_91
     5104    pcTmpCU = getPULeft(uiIdx, uiPartIdxLB);
     5105#else
    51035106  pcTmpCU = getPULeft(uiIdx, uiPartIdxLB, true, false);
     5107#endif
    51045108  bCheckMcpDv = true;
    51055109  if ( xCheckSpatialNBDV( pcTmpCU, uiIdx, pDInfo, bCheckMcpDv, &cIDVInfo, DVFROM_LEFT
  • branches/HTM-15.2-dev/source/Lib/TLibCommon/TComSlice.cpp

    r1374 r1380  
    19231923  for ( Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++)
    19241924  {
     1925#if !NH_3D_FIX_TICKET_107
    19251926    m_layerSetIdxForOlsMinus1[i]  = -1;
     1927#endif
    19261928    for ( Int j = 0; j < MAX_VPS_NUH_LAYER_ID_PLUS1; j++)
    19271929    {
     
    43184320  const TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension();
    43194321
    4320   m_ivMvPredFlag           = sps3dExt->getIvMvPredFlag         ( depthFlag ) && nRLLG0                       ;                             
    4321   m_ivMvScalingFlag        = sps3dExt->getIvMvScalingFlag      ( depthFlag )                                 ;                             
    4322   m_ivResPredFlag          = sps3dExt->getIvResPredFlag        ( depthFlag ) && nRLLG0                       ;                               
    4323   m_depthRefinementFlag    = sps3dExt->getDepthRefinementFlag  ( depthFlag )           && getInCompPredFlag() && m_cpAvailableFlag;
    4324   m_viewSynthesisPredFlag  = sps3dExt->getViewSynthesisPredFlag( depthFlag ) && nRLLG0 && getInCompPredFlag() && m_cpAvailableFlag;
    4325   m_depthBasedBlkPartFlag  = sps3dExt->getDepthBasedBlkPartFlag( depthFlag )           && getInCompPredFlag();                         
    4326   m_mpiFlag                = sps3dExt->getMpiFlag              ( depthFlag )           && getInCompPredFlag();
    4327   m_intraContourFlag       = sps3dExt->getIntraContourFlag     ( depthFlag )           && getInCompPredFlag();
    4328   m_intraSdcWedgeFlag      = sps3dExt->getIntraSdcWedgeFlag    ( depthFlag )                                 ;                         
    4329   m_qtPredFlag             = sps3dExt->getQtPredFlag           ( depthFlag )           && getInCompPredFlag();
    4330   m_interSdcFlag           = sps3dExt->getInterSdcFlag         ( depthFlag )                                 ; 
    4331   m_depthIntraSkipFlag     = sps3dExt->getDepthIntraSkipFlag   ( depthFlag )                                 ;                         
    4332 
    4333   m_subPbSize              =  1 << ( sps3dExt->getLog2SubPbSizeMinus3  ( depthFlag ) + 3 ); 
    4334   m_mpiSubPbSize           =  1 << ( sps3dExt->getLog2MpiSubPbSizeMinus3( depthFlag ) + 3 );
     4322  m_ivMvPredFlag           = sps3dExt->getIvDiMcEnabledFlag          ( depthFlag ) && nRLLG0                       ;                             
     4323  m_ivMvScalingFlag        = sps3dExt->getIvMvScalEnabledFlag        ( depthFlag )                                 ;                             
     4324  m_ivResPredFlag          = sps3dExt->getIvResPredEnabledFlag       ( depthFlag ) && nRLLG0                       ;                               
     4325  m_depthRefinementFlag    = sps3dExt->getDepthRefEnabledFlag        ( depthFlag )           && getInCompPredFlag() && m_cpAvailableFlag;
     4326  m_viewSynthesisPredFlag  = sps3dExt->getVspMcEnabledFlag           ( depthFlag ) && nRLLG0 && getInCompPredFlag() && m_cpAvailableFlag;
     4327  m_depthBasedBlkPartFlag  = sps3dExt->getDbbpEnabledFlag            ( depthFlag )           && getInCompPredFlag();                         
     4328  m_mpiFlag                = sps3dExt->getTexMcEnabledFlag           ( depthFlag )           && getInCompPredFlag();
     4329  m_intraContourFlag       = sps3dExt->getIntraContourEnabledFlag    ( depthFlag )           && getInCompPredFlag();
     4330  m_intraSdcWedgeFlag      = sps3dExt->getIntraDcOnlyWedgeEnabledFlag( depthFlag )                                 ;                         
     4331  m_qtPredFlag             = sps3dExt->getCqtCuPartPredEnabledFlag   ( depthFlag )           && getInCompPredFlag();
     4332  m_interSdcFlag           = sps3dExt->getInterDcOnlyEnabledFlag     ( depthFlag )                                 ; 
     4333  m_depthIntraSkipFlag     = sps3dExt->getSkipIntraEnabledFlag       ( depthFlag )                                 ;                         
     4334
     4335  m_subPbSize              =  1 << ( sps3dExt->getLog2IvmcSubPbSizeMinus3 ( depthFlag ) + 3 ); 
     4336  m_mpiSubPbSize           =  1 << ( sps3dExt->getLog2TexmcSubPbSizeMinus3( depthFlag ) + 3 );
    43354337
    43364338
     
    44134415    if( !getIsDepth() )
    44144416    {
    4415       m_inCmpPredAvailFlag = sps3dExt->getViewSynthesisPredFlag( getIsDepth() ) ||
    4416         sps3dExt->getDepthBasedBlkPartFlag( getIsDepth() ) ||
    4417         sps3dExt->getDepthRefinementFlag  ( getIsDepth() );                           
     4417      m_inCmpPredAvailFlag = sps3dExt->getVspMcEnabledFlag( getIsDepth() ) ||
     4418        sps3dExt->getDbbpEnabledFlag( getIsDepth() ) ||
     4419        sps3dExt->getDepthRefEnabledFlag  ( getIsDepth() );                           
    44184420    }
    44194421    else
    44204422    {
    4421       m_inCmpPredAvailFlag = sps3dExt->getIntraContourFlag( getIsDepth() ) ||
    4422         sps3dExt->getQtPredFlag( getIsDepth() ) ||
    4423         sps3dExt->getMpiFlag( getIsDepth() );                                 
     4423      m_inCmpPredAvailFlag = sps3dExt->getIntraContourEnabledFlag( getIsDepth() ) ||
     4424        sps3dExt->getCqtCuPartPredEnabledFlag( getIsDepth() ) ||
     4425        sps3dExt->getTexMcEnabledFlag( getIsDepth() );                                 
    44244426    }
    44254427  }
  • branches/HTM-15.2-dev/source/Lib/TLibCommon/TComSlice.h

    r1373 r1380  
    18111811    for (Int d = 0; d < 2; d++)
    18121812    {
    1813       m_ivMvPredFlag          [d] = false;
    1814       m_ivMvScalingFlag       [d] = false;
    1815       m_log2SubPbSizeMinus3   [d] = 3;
    1816       m_ivResPredFlag         [d] = false;
    1817       m_depthRefinementFlag   [d] = false;
    1818       m_viewSynthesisPredFlag [d] = false;
    1819       m_depthBasedBlkPartFlag [d] = false;
    1820       m_mpiFlag               [d] = false;
    1821       m_log2MpiSubPbSizeMinus3[d] = 3;
    1822       m_intraContourFlag      [d] = false;
    1823       m_intraSdcWedgeFlag     [d] = false;
    1824       m_qtPredFlag            [d] = false;
    1825       m_interSdcFlag          [d] = false;
    1826       m_depthIntraSkipFlag    [d] = false;   
     1813      m_ivDiMcEnabledFlag          [d] = false;
     1814      m_ivMvScalEnabledFlag       [d] = false;
     1815      m_log2IvmcSubPbSizeMinus3   [d] = 3;
     1816      m_ivResPredEnabledFlag         [d] = false;
     1817      m_depthRefEnabledFlag   [d] = false;
     1818      m_vspMcEnabledFlag [d] = false;
     1819      m_dbbpEnabledFlag [d] = false;
     1820      m_texMcEnabledFlag               [d] = false;
     1821      m_log2TexmcSubPbSizeMinus3[d] = 3;
     1822      m_intraContourEnabledFlag      [d] = false;
     1823      m_intraDcOnlyWedgeEnabledFlag     [d] = false;
     1824      m_cqtCuPartPredEnabledFlag            [d] = false;
     1825      m_interDcOnlyEnabledFlag          [d] = false;
     1826      m_skipIntraEnabledFlag    [d] = false;   
    18271827    }
    18281828  }
    18291829
    1830   Void          setIvMvPredFlag( Int d, Bool flag )         { m_ivMvPredFlag[d] = flag;             }
    1831   Bool          getIvMvPredFlag( Int d ) const              { return m_ivMvPredFlag[d];             }
    1832 
    1833   Void          setIvMvScalingFlag( Int d, Bool flag )      { m_ivMvScalingFlag[d] = flag;          }
    1834   Bool          getIvMvScalingFlag( Int d ) const           { return m_ivMvScalingFlag[d];          }
    1835 
    1836   Void          setLog2SubPbSizeMinus3( Int d, Int  val )   { m_log2SubPbSizeMinus3[d] = val;       }
    1837   Int           getLog2SubPbSizeMinus3( Int d ) const       { return m_log2SubPbSizeMinus3[d];      }
    1838 
    1839   Void          setIvResPredFlag( Int d, Bool flag )        { m_ivResPredFlag[d] = flag;            }
    1840   Bool          getIvResPredFlag( Int d ) const             { return m_ivResPredFlag[d];            }
    1841 
    1842   Void          setDepthRefinementFlag( Int d, Bool flag )  { m_depthRefinementFlag[d] = flag;      }
    1843   Bool          getDepthRefinementFlag( Int d ) const       { return m_depthRefinementFlag[d];      }
    1844 
    1845   Void          setViewSynthesisPredFlag( Int d, Bool flag ) { m_viewSynthesisPredFlag[d] = flag;   }
    1846   Bool          getViewSynthesisPredFlag( Int d ) const     { return m_viewSynthesisPredFlag[d];    }
    1847 
    1848   Void          setDepthBasedBlkPartFlag( Int d, Bool flag ) { m_depthBasedBlkPartFlag[d] = flag;   }
    1849   Bool          getDepthBasedBlkPartFlag( Int d ) const     { return m_depthBasedBlkPartFlag[d];    }
    1850 
    1851   Void          setMpiFlag( Int d, Bool flag )              { m_mpiFlag[d] = flag;                  }
    1852   Bool          getMpiFlag( Int d ) const                   { return m_mpiFlag[d];                  }
    1853 
    1854   Void          setLog2MpiSubPbSizeMinus3( Int d, Int  val ) { m_log2MpiSubPbSizeMinus3[d] = val;   }
    1855   Int           getLog2MpiSubPbSizeMinus3( Int d ) const    { return m_log2MpiSubPbSizeMinus3[d];   }
    1856 
    1857   Void          setIntraContourFlag( Int d, Bool flag )     { m_intraContourFlag[d] = flag;         }
    1858   Bool          getIntraContourFlag( Int d ) const          { return m_intraContourFlag[d];         }
    1859 
    1860   Void          setIntraSdcWedgeFlag( Int d, Bool flag )    { m_intraSdcWedgeFlag[d] = flag;        }
    1861   Bool          getIntraSdcWedgeFlag( Int d ) const         { return m_intraSdcWedgeFlag[d];        }
    1862 
    1863   Void          setQtPredFlag( Int d, Bool flag )           { m_qtPredFlag[d] = flag;               }
    1864   Bool          getQtPredFlag( Int d ) const                { return m_qtPredFlag[d];               }
    1865 
    1866   Void          setInterSdcFlag( Int d, Bool flag )         { m_interSdcFlag[d] = flag;             }
    1867   Bool          getInterSdcFlag( Int d ) const              { return m_interSdcFlag[d];             }
    1868 
    1869   Void          setDepthIntraSkipFlag( Int d, Bool flag )   { m_depthIntraSkipFlag[d] = flag;       }
    1870   Bool          getDepthIntraSkipFlag( Int d ) const        { return m_depthIntraSkipFlag[d];       }
     1830  Void          setIvDiMcEnabledFlag( Int d, Bool flag )        { m_ivDiMcEnabledFlag[d] = flag;             }
     1831  Bool          getIvDiMcEnabledFlag( Int d ) const             { return m_ivDiMcEnabledFlag[d];             }
     1832
     1833  Void          setIvMvScalEnabledFlag( Int d, Bool flag )      { m_ivMvScalEnabledFlag[d] = flag;          }
     1834  Bool          getIvMvScalEnabledFlag( Int d ) const           { return m_ivMvScalEnabledFlag[d];          }
     1835
     1836  Void          setLog2IvmcSubPbSizeMinus3( Int d, Int  val )   { m_log2IvmcSubPbSizeMinus3[d] = val;       }
     1837  Int           getLog2IvmcSubPbSizeMinus3( Int d ) const       { return m_log2IvmcSubPbSizeMinus3[d];      }
     1838
     1839  Void          setIvResPredEnabledFlag( Int d, Bool flag )     { m_ivResPredEnabledFlag[d] = flag;            }
     1840  Bool          getIvResPredEnabledFlag( Int d ) const          { return m_ivResPredEnabledFlag[d];            }
     1841
     1842  Void          setDepthRefEnabledFlag( Int d, Bool flag )      { m_depthRefEnabledFlag[d] = flag;      }
     1843  Bool          getDepthRefEnabledFlag( Int d ) const           { return m_depthRefEnabledFlag[d];      }
     1844
     1845  Void          setVspMcEnabledFlag( Int d, Bool flag )         { m_vspMcEnabledFlag[d] = flag;   }
     1846  Bool          getVspMcEnabledFlag( Int d ) const              { return m_vspMcEnabledFlag[d];    }
     1847
     1848  Void          setDbbpEnabledFlag( Int d, Bool flag )          { m_dbbpEnabledFlag[d] = flag;   }
     1849  Bool          getDbbpEnabledFlag( Int d ) const               { return m_dbbpEnabledFlag[d];    }
     1850
     1851  Void          setTexMcEnabledFlag( Int d, Bool flag )         { m_texMcEnabledFlag[d] = flag;                  }
     1852  Bool          getTexMcEnabledFlag( Int d ) const              { return m_texMcEnabledFlag[d];                  }
     1853
     1854  Void          setLog2TexmcSubPbSizeMinus3( Int d, Int  val )  { m_log2TexmcSubPbSizeMinus3[d] = val;   }
     1855  Int           getLog2TexmcSubPbSizeMinus3( Int d ) const      { return m_log2TexmcSubPbSizeMinus3[d];   }
     1856
     1857  Void          setIntraContourEnabledFlag( Int d, Bool flag )  { m_intraContourEnabledFlag[d] = flag;         }
     1858  Bool          getIntraContourEnabledFlag( Int d ) const       { return m_intraContourEnabledFlag[d];         }
     1859
     1860  Void          setIntraDcOnlyWedgeEnabledFlag( Int d, Bool flag ) { m_intraDcOnlyWedgeEnabledFlag[d] = flag;        }
     1861  Bool          getIntraDcOnlyWedgeEnabledFlag( Int d ) const      { return m_intraDcOnlyWedgeEnabledFlag[d];        }
     1862
     1863  Void          setCqtCuPartPredEnabledFlag( Int d, Bool flag )    { m_cqtCuPartPredEnabledFlag[d] = flag;               }
     1864  Bool          getCqtCuPartPredEnabledFlag( Int d ) const         { return m_cqtCuPartPredEnabledFlag[d];               }
     1865
     1866  Void          setInterDcOnlyEnabledFlag( Int d, Bool flag )      { m_interDcOnlyEnabledFlag[d] = flag;             }
     1867  Bool          getInterDcOnlyEnabledFlag( Int d ) const           { return m_interDcOnlyEnabledFlag[d];             }
     1868
     1869  Void          setSkipIntraEnabledFlag( Int d, Bool flag )        { m_skipIntraEnabledFlag[d] = flag;       }
     1870  Bool          getSkipIntraEnabledFlag( Int d ) const             { return m_skipIntraEnabledFlag[d];       }
    18711871private:
    18721872
    1873   Bool        m_ivMvPredFlag          [2];
    1874   Bool        m_ivMvScalingFlag       [2];
    1875   Int         m_log2SubPbSizeMinus3   [2];
    1876   Bool        m_ivResPredFlag         [2];
    1877   Bool        m_depthRefinementFlag   [2];
    1878   Bool        m_viewSynthesisPredFlag [2];
    1879   Bool        m_depthBasedBlkPartFlag [2];
    1880   Bool        m_mpiFlag               [2];
    1881   Int         m_log2MpiSubPbSizeMinus3[2];
    1882   Bool        m_intraContourFlag      [2];
    1883   Bool        m_intraSdcWedgeFlag     [2];
    1884   Bool        m_qtPredFlag            [2];
    1885   Bool        m_interSdcFlag          [2];
    1886   Bool        m_depthIntraSkipFlag    [2]; 
     1873  Bool        m_ivDiMcEnabledFlag          [2];
     1874  Bool        m_ivMvScalEnabledFlag        [2];
     1875  Int         m_log2IvmcSubPbSizeMinus3    [2];
     1876  Bool        m_ivResPredEnabledFlag       [2];
     1877  Bool        m_depthRefEnabledFlag        [2];
     1878  Bool        m_vspMcEnabledFlag          [2];
     1879  Bool        m_dbbpEnabledFlag            [2];
     1880  Bool        m_texMcEnabledFlag           [2];
     1881  Int         m_log2TexmcSubPbSizeMinus3   [2];
     1882  Bool        m_intraContourEnabledFlag    [2];
     1883  Bool        m_intraDcOnlyWedgeEnabledFlag[2];
     1884  Bool        m_cqtCuPartPredEnabledFlag   [2];
     1885  Bool        m_interDcOnlyEnabledFlag     [2];
     1886  Bool        m_skipIntraEnabledFlag       [2]; 
    18871887};
    18881888
  • branches/HTM-15.2-dev/source/Lib/TLibCommon/TypeDef.h

    r1374 r1380  
    5353*/
    5454#ifndef HEVC_EXT
    55 #define HEVC_EXT                    2
     55#define HEVC_EXT                    1
    5656#endif
    5757#if ( HEVC_EXT < 0 )||( HEVC_EXT > 2 )
     
    6464/////////////////////////////////////////////////////////////////////////////////////////
    6565#if NH_MV
    66 
    67 // Things that needs to be fixed in the Specification:
     66// Recent bug fixes
     67#define NH_3D_FIX_TICKET_107                     1 // Clean up.
     68#define NH_3D_FIX_TICKET_91                      1 // NBDV availability in case of tiles.
     69// Things that needs to be fixed also in the Specification ...
    6870#define NH_MV_FIX_NO_REF_PICS_CHECK               1 // !!SPEC!!
    6971#define NH_MV_FIX_INIT_NUM_ACTIVE_REF_LAYER_PICS  1 // Derivation of NumActiveRefLayerPIcs. !!SPEC!!
    7072#define NH_MV_FIX_NUM_POC_TOTAL_CUR               1 // Derivation of NumPocTotalCur for IDR pictures. !!SPEC!!
    71 
    7273// To be done
    7374#define NH_MV_HLS_PTL_LIMITS                       0
     
    278279                                              // HHI_CAM_PARA_K0052
    279280                                              // H_3D_DIRECT_DEP_TYPE
    280 
    281281#endif // NH_3D
    282 
    283282#if NH_MV
    284283////////////////////////
    285284/// Consider Removal
    286285////////////////////////
    287 
    288286// Rate Control
    289287#define KWU_FIX_URQ                       0
    290288#define KWU_RC_VIEWRC_E0227               0  ///< JCT3V-E0227, view-wise target bitrate allocation
    291289#define KWU_RC_MADPRED_E0227              0  ///< JCT3V-E0227, inter-view MAD prediction
    292 
    293290#define NH_MV_HLS_PTL_LIMITS               0
    294 
    295291#if NH_3D
    296292// Unclear Fix
     
    333329#define DBBP_INVALID_SHORT                (-4)
    334330#endif
    335 
    336331/////////////////////////////////////////////////////////////////////////////////////////
    337332///////////////////////////////////   HM RELATED DEFINES ////////////////////////////////
     
    488483typedef std::vector< std::string > StringAry1d;
    489484typedef std::vector< StringAry1d > StringAry2d;
    490 
    491485typedef std::vector< Int >        IntAry1d;
    492486typedef std::vector< IntAry1d >   IntAry2d;
     
    494488typedef std::vector< IntAry3d >   IntAry4d;
    495489typedef std::vector< IntAry4d >   IntAry5d;
    496 
    497490typedef std::vector< Bool >        BoolAry1d;
    498491typedef std::vector< BoolAry1d >   BoolAry2d;
  • branches/HTM-15.2-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1374 r1380  
    11651165    if ( pcSPS->getSpsRangeExtensionsFlag() )
    11661166    {
    1167               TComSPSRExt &spsRangeExtension = pcSPS->getSpsRangeExtension();
    1168               READ_FLAG( uiCode, "transform_skip_rotation_enabled_flag");     spsRangeExtension.setTransformSkipRotationEnabledFlag(uiCode != 0);
    1169               READ_FLAG( uiCode, "transform_skip_context_enabled_flag");      spsRangeExtension.setTransformSkipContextEnabledFlag (uiCode != 0);
    1170               READ_FLAG( uiCode, "implicit_rdpcm_enabled_flag");              spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_IMPLICIT, (uiCode != 0));
    1171               READ_FLAG( uiCode, "explicit_rdpcm_enabled_flag");              spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_EXPLICIT, (uiCode != 0));
    1172               READ_FLAG( uiCode, "extended_precision_processing_flag");       spsRangeExtension.setExtendedPrecisionProcessingFlag (uiCode != 0);
    1173               READ_FLAG( uiCode, "intra_smoothing_disabled_flag");            spsRangeExtension.setIntraSmoothingDisabledFlag      (uiCode != 0);
    1174               READ_FLAG( uiCode, "high_precision_offsets_enabled_flag");      spsRangeExtension.setHighPrecisionOffsetsEnabledFlag (uiCode != 0);
    1175               READ_FLAG( uiCode, "persistent_rice_adaptation_enabled_flag");  spsRangeExtension.setPersistentRiceAdaptationEnabledFlag (uiCode != 0);
    1176               READ_FLAG( uiCode, "cabac_bypass_alignment_enabled_flag");      spsRangeExtension.setCabacBypassAlignmentEnabledFlag  (uiCode != 0);
     1167      TComSPSRExt &spsRangeExtension = pcSPS->getSpsRangeExtension();
     1168      READ_FLAG( uiCode, "transform_skip_rotation_enabled_flag");     spsRangeExtension.setTransformSkipRotationEnabledFlag(uiCode != 0);
     1169      READ_FLAG( uiCode, "transform_skip_context_enabled_flag");      spsRangeExtension.setTransformSkipContextEnabledFlag (uiCode != 0);
     1170      READ_FLAG( uiCode, "implicit_rdpcm_enabled_flag");              spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_IMPLICIT, (uiCode != 0));
     1171      READ_FLAG( uiCode, "explicit_rdpcm_enabled_flag");              spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_EXPLICIT, (uiCode != 0));
     1172      READ_FLAG( uiCode, "extended_precision_processing_flag");       spsRangeExtension.setExtendedPrecisionProcessingFlag (uiCode != 0);
     1173      READ_FLAG( uiCode, "intra_smoothing_disabled_flag");            spsRangeExtension.setIntraSmoothingDisabledFlag      (uiCode != 0);
     1174      READ_FLAG( uiCode, "high_precision_offsets_enabled_flag");      spsRangeExtension.setHighPrecisionOffsetsEnabledFlag (uiCode != 0);
     1175      READ_FLAG( uiCode, "persistent_rice_adaptation_enabled_flag");  spsRangeExtension.setPersistentRiceAdaptationEnabledFlag (uiCode != 0);
     1176      READ_FLAG( uiCode, "cabac_bypass_alignment_enabled_flag");      spsRangeExtension.setCabacBypassAlignmentEnabledFlag  (uiCode != 0);
    11771177    }
    11781178
     
    12771277  for( Int d = 0; d  <=  1; d++ )
    12781278  {
    1279     READ_FLAG( uiCode, "iv_mv_pred_flag" ); sps3dExt.setIvMvPredFlag( d, uiCode == 1 );
    1280     READ_FLAG( uiCode, "iv_mv_scaling_flag" ); sps3dExt.setIvMvScalingFlag( d, uiCode == 1 );
     1279    READ_FLAG( uiCode, "iv_di_mc_enabled_flag" );              sps3dExt.setIvDiMcEnabledFlag( d, uiCode == 1 );
     1280    READ_FLAG( uiCode, "iv_mv_scal_enabled_flag" );            sps3dExt.setIvMvScalEnabledFlag( d, uiCode == 1 );
    12811281    if( d  ==  0 )
    12821282    {
    1283       READ_UVLC( uiCode, "log2_sub_pb_size_minus3" ); sps3dExt.setLog2SubPbSizeMinus3( d, uiCode );
    1284       READ_FLAG( uiCode, "iv_res_pred_flag" ); sps3dExt.setIvResPredFlag( d, uiCode == 1 );
    1285       READ_FLAG( uiCode, "depth_refinement_flag" ); sps3dExt.setDepthRefinementFlag( d, uiCode == 1 );
    1286       READ_FLAG( uiCode, "view_synthesis_pred_flag" ); sps3dExt.setViewSynthesisPredFlag( d, uiCode == 1 );
    1287       READ_FLAG( uiCode, "depth_based_blk_part_flag" ); sps3dExt.setDepthBasedBlkPartFlag( d, uiCode == 1 );
     1283      READ_UVLC( uiCode, "log2_sub_pb_size_minus3" );          sps3dExt.setLog2IvmcSubPbSizeMinus3( d, uiCode );
     1284      READ_FLAG( uiCode, "iv_res_pred_enabled_flag" );         sps3dExt.setIvResPredEnabledFlag( d, uiCode == 1 );
     1285      READ_FLAG( uiCode, "depth_ref_enabled_flag" );           sps3dExt.setDepthRefEnabledFlag( d, uiCode == 1 );
     1286      READ_FLAG( uiCode, "vsp_mc_enabled_flag" );              sps3dExt.setVspMcEnabledFlag( d, uiCode == 1 );
     1287      READ_FLAG( uiCode, "dbbp_enabled_flag" );                sps3dExt.setDbbpEnabledFlag( d, uiCode == 1 );
    12881288    }
    12891289    else
    12901290    {
    1291       READ_FLAG( uiCode, "mpi_flag" ); sps3dExt.setMpiFlag( d, uiCode == 1 );
    1292       READ_UVLC( uiCode, "log2_mpi_sub_pb_size_minus3" ); sps3dExt.setLog2MpiSubPbSizeMinus3( d, uiCode );
    1293       READ_FLAG( uiCode, "intra_contour_flag" ); sps3dExt.setIntraContourFlag( d, uiCode == 1 );
    1294       READ_FLAG( uiCode, "intra_sdc_wedge_flag" ); sps3dExt.setIntraSdcWedgeFlag( d, uiCode == 1 );
    1295       READ_FLAG( uiCode, "qt_pred_flag" ); sps3dExt.setQtPredFlag( d, uiCode == 1 );
    1296       READ_FLAG( uiCode, "inter_sdc_flag" ); sps3dExt.setInterSdcFlag( d, uiCode == 1 );
    1297       READ_FLAG( uiCode, "intra_skip_flag" ); sps3dExt.setDepthIntraSkipFlag( d, uiCode == 1 );
     1291      READ_FLAG( uiCode, "tex_mc_enabled_flag" );              sps3dExt.setTexMcEnabledFlag( d, uiCode == 1 );
     1292      READ_UVLC( uiCode, "log2_texmc_sub_pb_size_minus3" );    sps3dExt.setLog2TexmcSubPbSizeMinus3( d, uiCode );
     1293      READ_FLAG( uiCode, "intra_contour_enabled_flag" );       sps3dExt.setIntraContourEnabledFlag( d, uiCode == 1 );
     1294      READ_FLAG( uiCode, "intra_dc_only_wedge_enabled_flag" ); sps3dExt.setIntraDcOnlyWedgeEnabledFlag( d, uiCode == 1 );
     1295      READ_FLAG( uiCode, "cqt_cu_part_pred_enabled_flag" );    sps3dExt.setCqtCuPartPredEnabledFlag( d, uiCode == 1 );
     1296      READ_FLAG( uiCode, "inter_dc_only_enabled_flag" );       sps3dExt.setInterDcOnlyEnabledFlag( d, uiCode == 1 );
     1297      READ_FLAG( uiCode, "skip_intra_enabled_flag" );          sps3dExt.setSkipIntraEnabledFlag( d, uiCode == 1 );
    12981298    }
    12991299  }
  • branches/HTM-15.2-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1374 r1380  
    349349    if ( pcPPS->getPpsRangeExtensionsFlag() )
    350350    {
    351               const TComPPSRExt &ppsRangeExtension = pcPPS->getPpsRangeExtension();
    352               if (pcPPS->getUseTransformSkip())
    353               {
    354                 WRITE_UVLC( ppsRangeExtension.getLog2MaxTransformSkipBlockSize()-2,            "log2_max_transform_skip_block_size_minus2");
    355               }
    356 
    357               WRITE_FLAG((ppsRangeExtension.getCrossComponentPredictionEnabledFlag() ? 1 : 0), "cross_component_prediction_enabled_flag" );
    358 
    359               WRITE_FLAG(UInt(ppsRangeExtension.getChromaQpOffsetListEnabledFlag()),           "chroma_qp_offset_list_enabled_flag" );
    360               if (ppsRangeExtension.getChromaQpOffsetListEnabledFlag())
    361               {
    362                 WRITE_UVLC(ppsRangeExtension.getDiffCuChromaQpOffsetDepth(),                   "diff_cu_chroma_qp_offset_depth");
    363                 WRITE_UVLC(ppsRangeExtension.getChromaQpOffsetListLen() - 1,                   "chroma_qp_offset_list_len_minus1");
    364                 /* skip zero index */
    365                 for (Int cuChromaQpOffsetIdx = 0; cuChromaQpOffsetIdx < ppsRangeExtension.getChromaQpOffsetListLen(); cuChromaQpOffsetIdx++)
    366                 {
    367                   WRITE_SVLC(ppsRangeExtension.getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CbOffset,     "cb_qp_offset_list[i]");
    368                   WRITE_SVLC(ppsRangeExtension.getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CrOffset,     "cr_qp_offset_list[i]");
    369                 }
    370               }
    371 
    372               WRITE_UVLC( ppsRangeExtension.getLog2SaoOffsetScale(CHANNEL_TYPE_LUMA),           "log2_sao_offset_scale_luma"   );
    373               WRITE_UVLC( ppsRangeExtension.getLog2SaoOffsetScale(CHANNEL_TYPE_CHROMA),         "log2_sao_offset_scale_chroma" );
     351      const TComPPSRExt &ppsRangeExtension = pcPPS->getPpsRangeExtension();
     352      if (pcPPS->getUseTransformSkip())
     353      {
     354        WRITE_UVLC( ppsRangeExtension.getLog2MaxTransformSkipBlockSize()-2,            "log2_max_transform_skip_block_size_minus2");
     355      }
     356
     357      WRITE_FLAG((ppsRangeExtension.getCrossComponentPredictionEnabledFlag() ? 1 : 0), "cross_component_prediction_enabled_flag" );
     358
     359      WRITE_FLAG(UInt(ppsRangeExtension.getChromaQpOffsetListEnabledFlag()),           "chroma_qp_offset_list_enabled_flag" );
     360      if (ppsRangeExtension.getChromaQpOffsetListEnabledFlag())
     361      {
     362        WRITE_UVLC(ppsRangeExtension.getDiffCuChromaQpOffsetDepth(),                   "diff_cu_chroma_qp_offset_depth");
     363        WRITE_UVLC(ppsRangeExtension.getChromaQpOffsetListLen() - 1,                   "chroma_qp_offset_list_len_minus1");
     364        /* skip zero index */
     365        for (Int cuChromaQpOffsetIdx = 0; cuChromaQpOffsetIdx < ppsRangeExtension.getChromaQpOffsetListLen(); cuChromaQpOffsetIdx++)
     366        {
     367          WRITE_SVLC(ppsRangeExtension.getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CbOffset,     "cb_qp_offset_list[i]");
     368          WRITE_SVLC(ppsRangeExtension.getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CrOffset,     "cr_qp_offset_list[i]");
     369        }
     370      }
     371
     372      WRITE_UVLC( ppsRangeExtension.getLog2SaoOffsetScale(CHANNEL_TYPE_LUMA),           "log2_sao_offset_scale_luma"   );
     373      WRITE_UVLC( ppsRangeExtension.getLog2SaoOffsetScale(CHANNEL_TYPE_CHROMA),         "log2_sao_offset_scale_chroma" );
    374374    }
    375375
     
    990990  for( Int d = 0; d  <=  1; d++ )
    991991  {
    992     WRITE_FLAG( sps3dExt->getIvMvPredFlag( d ) ? 1 : 0 , "iv_mv_pred_flag" );
    993     WRITE_FLAG( sps3dExt->getIvMvScalingFlag( d ) ? 1 : 0 , "iv_mv_scaling_flag" );
     992    WRITE_FLAG( sps3dExt->getIvDiMcEnabledFlag( d ) ? 1 : 0 , "iv_di_mc_enabled_flag" );
     993    WRITE_FLAG( sps3dExt->getIvMvScalEnabledFlag( d ) ? 1 : 0 , "iv_mv_scal_enabled_flag" );
    994994    if( d  ==  0 )
    995995    {
    996       WRITE_UVLC( sps3dExt->getLog2SubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" );
    997       WRITE_FLAG( sps3dExt->getIvResPredFlag( d ) ? 1 : 0 , "iv_res_pred_flag" );
    998       WRITE_FLAG( sps3dExt->getDepthRefinementFlag( d ) ? 1 : 0 , "depth_refinement_flag" );
    999       WRITE_FLAG( sps3dExt->getViewSynthesisPredFlag( d ) ? 1 : 0 , "view_synthesis_pred_flag" );
    1000       WRITE_FLAG( sps3dExt->getDepthBasedBlkPartFlag( d ) ? 1 : 0 , "depth_based_blk_part_flag" );
     996      WRITE_UVLC( sps3dExt->getLog2IvmcSubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" );
     997      WRITE_FLAG( sps3dExt->getIvResPredEnabledFlag( d ) ? 1 : 0 , "iv_res_pred_enabled_flag" );
     998      WRITE_FLAG( sps3dExt->getDepthRefEnabledFlag( d ) ? 1 : 0 , "depth_ref_enabled_flag" );
     999      WRITE_FLAG( sps3dExt->getVspMcEnabledFlag( d ) ? 1 : 0 , "vsp_mc_enabled_flag" );
     1000      WRITE_FLAG( sps3dExt->getDbbpEnabledFlag( d ) ? 1 : 0 , "dbbp_enabled_flag" );
    10011001    }
    10021002    else
    10031003    {
    1004       WRITE_FLAG( sps3dExt->getMpiFlag( d ) ? 1 : 0 , "mpi_flag" );
    1005       WRITE_UVLC( sps3dExt->getLog2MpiSubPbSizeMinus3( d ), "log2_mpi_sub_pb_size_minus3" );
    1006       WRITE_FLAG( sps3dExt->getIntraContourFlag( d ) ? 1 : 0 , "intra_contour_flag" );
    1007       WRITE_FLAG( sps3dExt->getIntraSdcWedgeFlag( d ) ? 1 : 0 , "intra_sdc_wedge_flag" );
    1008       WRITE_FLAG( sps3dExt->getQtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" );
    1009       WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" );
    1010       WRITE_FLAG( sps3dExt->getDepthIntraSkipFlag( d ) ? 1 : 0 , "intra_skip_flag" );
     1004      WRITE_FLAG( sps3dExt->getTexMcEnabledFlag( d ) ? 1 : 0 , "tex_mc_enabled_flag" );
     1005      WRITE_UVLC( sps3dExt->getLog2TexmcSubPbSizeMinus3( d ), "log2_texmc_sub_pb_size_minus3" );
     1006      WRITE_FLAG( sps3dExt->getIntraContourEnabledFlag( d ) ? 1 : 0 , "intra_contour_enabled_flag" );
     1007      WRITE_FLAG( sps3dExt->getIntraDcOnlyWedgeEnabledFlag( d ) ? 1 : 0 , "intra_dc_only_wedge_enabled_flag" );
     1008      WRITE_FLAG( sps3dExt->getCqtCuPartPredEnabledFlag( d ) ? 1 : 0 , "cqt_cu_part_pred_enabled_flag" );
     1009      WRITE_FLAG( sps3dExt->getInterDcOnlyEnabledFlag( d ) ? 1 : 0 , "inter_dc_only_enabled_flag" );
     1010      WRITE_FLAG( sps3dExt->getSkipIntraEnabledFlag( d ) ? 1 : 0 , "skip_intra_enabled_flag" );
    10111011    }
    10121012  }
Note: See TracChangeset for help on using the changeset viewer.