Changeset 767 in 3DVCSoftware for branches/HTM-9.2-dev0/source


Ignore:
Timestamp:
12 Jan 2014, 04:39:11 (11 years ago)
Author:
tech
Message:

Cleanup part 4

Location:
branches/HTM-9.2-dev0/source
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r766 r767  
    7676#endif
    7777 
    78 #if CAM_HLS_F0136_F0045_F0082
     78#if H_3D
    7979  vps.createCamPars(m_iNumberOfViews);
    80 #endif
    81 
    82 #if DLT_DIFF_CODING_IN_PPS
    8380  TComDLT& dlt = m_dlt;
    8481#endif
     
    134131  xSetVPSExtension2        ( vps );
    135132  m_ivPicLists.setVPS      ( &vps );
    136 #if DLT_DIFF_CODING_IN_PPS
    137133  xDeriveDltArray          ( vps, dlt );
    138 #endif
    139134#endif
    140135
     
    216211  m_cTEncTop.setVPS(&vps);
    217212
    218 #if DLT_DIFF_CODING_IN_PPS
     213#if H_3D
    219214  m_cTEncTop.setDLT(&dlt);
    220215#endif
     
    778773Void TAppEncTop::xInitLib(Bool isFieldCoding)
    779774{
    780 #if CAM_HLS_F0136_F0045_F0082
     775#if H_3D
    781776  for ( Int viewIndex = 0; viewIndex < m_vps.getNumViews(); viewIndex++ )
    782777  {
     
    12521247
    12531248#if H_3D_DIM_DLT
    1254 #if DLT_DIFF_CODING_IN_PPS
    12551249Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps, TComDLT* dlt)
    1256 #else
    1257 Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps)
    1258 #endif
    12591250{
    12601251  TComPicYuv*       pcDepthPicYuvOrg = new TComPicYuv;
     
    13161307  if( uiNumFrames == 0 || numBitsForValue(iNumDepthValues) == g_bitDepthY )
    13171308  {
    1318 #if DLT_DIFF_CODING_IN_PPS
    13191309    dlt->setUseDLTFlag(layer, false);
    1320 #else
    1321     // don't use DLT
    1322     vps->setUseDLTFlag(layer, false);
    1323 #endif
    13241310  }
    13251311 
    13261312  // assign LUT
    1327 #if DLT_DIFF_CODING_IN_PPS
    13281313  if( dlt->getUseDLTFlag(layer) )
     1314  {
    13291315    dlt->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
    1330 #else
    1331   if( vps->getUseDLTFlag(layer) )
    1332     vps->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
    1333 #endif
     1316  }
    13341317 
    13351318  // free temporary memory
     
    18771860Void TAppEncTop::xSetVPSExtension2( TComVPS& vps )
    18781861{
    1879 
    18801862  for ( Int layer = 0; layer <= vps.getMaxLayersMinus1(); layer++ )
    18811863  {
     
    19001882#if H_3D_DIM
    19011883    vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) );
    1902 #if H_3D_DIM_DLT
    1903 #if !DLT_DIFF_CODING_IN_PPS
    1904     vps.setUseDLTFlag( layer , isDepth && m_useDLT );
    1905     if( vps.getUseDLTFlag( layer ) )
    1906     {
    1907       xAnalyzeInputBaseDepth(layer, max(  m_iIntraPeriod[layer], 24), &vps);
    1908     }
    1909 #endif
    1910 #endif
    19111884#endif
    19121885
     
    19381911#endif
    19391912}
    1940 #endif
    1941 
    1942 #if DLT_DIFF_CODING_IN_PPS
     1913
    19431914Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt )
    19441915{
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncTop.h

    r766 r767  
    8686#endif
    8787
    88 #if DLT_DIFF_CODING_IN_PPS
     88#if H_3D
    8989  TComDLT                    m_dlt;                         ///< dlt
    9090#endif
     
    136136#if H_3D
    137137  Void xSetVPSExtension2( TComVPS& vps );
    138 #endif
    139 #if DLT_DIFF_CODING_IN_PPS
    140138  Void xDeriveDltArray( TComVPS& vps, TComDLT& dlt );
    141139#endif
    142140#if H_3D_DIM_DLT
    143 #if DLT_DIFF_CODING_IN_PPS
    144141  Void  xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps, TComDLT* dlt);
    145 #else
    146   Void  xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps);
    147 #endif
    148142#endif
    149143public:
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r766 r767  
    769769Void TComSlice::setCamparaSlice( Int** aaiScale, Int** aaiOffset )
    770770
    771 #if CAM_HLS_F0136_F0045_F0082
    772771  if( m_pcVPS->hasCamParInSliceHeader( m_viewIndex ) )
    773 #else
    774   if( m_pcSPS->hasCamParInSliceHeader() )
    775 #endif
    776772  {   
    777773    for( UInt uiBaseViewIndex = 0; uiBaseViewIndex < m_viewIndex; uiBaseViewIndex++ )
     
    17891785    m_viewIndex         [i] = -1;
    17901786    m_vpsDepthModesFlag [i] = false;
    1791 #if H_3D_DIM_DLT
    1792 #if !DLT_DIFF_CODING_IN_PPS
    1793     m_bUseDLTFlag         [i] = false;
    1794    
    1795     // allocate some memory and initialize with default mapping
    1796     m_iNumDepthmapValues[i] = ((1 << g_bitDepthY)-1)+1;
    1797     m_iBitsPerDepthValue[i] = numBitsForValue(m_iNumDepthmapValues[i]);
    1798    
    1799     m_iDepthValue2Idx[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
    1800     m_iIdx2DepthValue[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
    1801    
    1802     //default mapping
    1803     for (Int d=0; d<m_iNumDepthmapValues[i]; d++)
    1804     {
    1805       m_iDepthValue2Idx[i][d] = d;
    1806       m_iIdx2DepthValue[i][d] = d;
    1807     }
    1808 #endif
    1809 #endif
    1810 #if H_3D
    18111787    m_ivMvScalingFlag = true;
    18121788#endif
     
    18561832  } 
    18571833#endif
    1858 #endif
    18591834}
    18601835
    18611836TComVPS::~TComVPS()
    18621837{
    1863 if( m_hrdParameters    != NULL )     delete[] m_hrdParameters;
     1838  if( m_hrdParameters    != NULL )     delete[] m_hrdParameters;
    18641839  if( m_hrdOpSetIdx      != NULL )     delete[] m_hrdOpSetIdx;
    18651840  if( m_cprmsPresentFlag != NULL )     delete[] m_cprmsPresentFlag;
     
    18711846  {
    18721847    if (m_repFormat[ i ] != NULL )      delete m_repFormat[ i ];   
    1873 #if H_3D_DIM_DLT
    1874 #if !DLT_DIFF_CODING_IN_PPS
    1875     if ( m_iDepthValue2Idx[i] != 0 )
    1876     {
    1877        xFree( m_iDepthValue2Idx[i] );
    1878        m_iDepthValue2Idx[i] = 0;
    1879     }
    1880 
    1881     if ( m_iIdx2DepthValue[i] != 0 )
    1882     {
    1883       xFree( m_iIdx2DepthValue[i] );
    1884       m_iIdx2DepthValue[i] = 0;
    1885     }
    1886 #endif
    1887 #endif
    1888   }
    1889 #endif
    1890 #if CAM_HLS_F0136_F0045_F0082
     1848  }
     1849#endif
     1850#if H_3D
    18911851  deleteCamPars();
    18921852#endif
    18931853}
    1894 
    1895 #if H_3D_DIM_DLT
    1896 #if !DLT_DIFF_CODING_IN_PPS
    1897   Void TComVPS::setDepthLUTs(Int layerIdInVps, Int* idxToDepthValueTable, Int iNumDepthValues)
    1898   {
    1899     if( idxToDepthValueTable == NULL || iNumDepthValues == 0 ) // default mapping only
    1900       return;
    1901    
    1902     // copy idx2DepthValue to internal array
    1903     memcpy(m_iIdx2DepthValue[layerIdInVps], idxToDepthValueTable, iNumDepthValues*sizeof(UInt));
    1904    
    1905     UInt uiMaxDepthValue = ((1 << g_bitDepthY)-1);
    1906     for(Int p=0; p<=uiMaxDepthValue; p++)
    1907     {
    1908       Int iIdxDown    = 0;
    1909       Int iIdxUp      = iNumDepthValues-1;
    1910       Bool bFound     = false;
    1911      
    1912       // iterate over indices to find lower closest depth
    1913       Int i = 1;
    1914       while(!bFound && i<iNumDepthValues)
    1915       {
    1916         if( m_iIdx2DepthValue[layerIdInVps][i] > p )
    1917         {
    1918           iIdxDown  = i-1;
    1919           bFound    = true;
    1920         }
    1921        
    1922         i++;
    1923       }
    1924       // iterate over indices to find upper closest depth
    1925       i = iNumDepthValues-2;
    1926       bFound = false;
    1927       while(!bFound && i>=0)
    1928       {
    1929         if( m_iIdx2DepthValue[layerIdInVps][i] < p )
    1930         {
    1931           iIdxUp  = i+1;
    1932           bFound    = true;
    1933         }
    1934        
    1935         i--;
    1936       }
    1937      
    1938       // assert monotony
    1939       assert(iIdxDown<=iIdxUp);
    1940      
    1941       // assign closer depth value/idx
    1942       if( abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxDown]) < abs(p-m_iIdx2DepthValue[layerIdInVps][iIdxUp]) )
    1943       {
    1944         m_iDepthValue2Idx[layerIdInVps][p] = iIdxDown;
    1945       }
    1946       else
    1947       {
    1948         m_iDepthValue2Idx[layerIdInVps][p] = iIdxUp;
    1949       }
    1950      
    1951     }
    1952    
    1953     // update DLT variables
    1954     m_iNumDepthmapValues[layerIdInVps] = iNumDepthValues;
    1955     m_iBitsPerDepthValue[layerIdInVps] = numBitsForValue(m_iNumDepthmapValues[layerIdInVps]);
    1956   }
    1957 #endif
    1958 #endif
    19591854
    19601855#if H_MV
     
    20431938  return foundLayerIdinNuh;
    20441939}
    2045 #if CAM_HLS_F0136_F0045_F0082
     1940
    20461941Void TComVPS::createCamPars(Int iNumViews)
    20471942{
     
    21322027  }
    21332028}
    2134 #endif // CAM_HLS_F0136_F0045_F0082
    21352029
    21362030#endif // H_3D
     
    24912385, m_ppsInferScalingListFlag(false)
    24922386, m_ppsScalingListRefLayerId(0)
    2493 #if DLT_DIFF_CODING_IN_PPS
     2387#if H_3D
    24942388, m_pcDLT(NULL)
    24952389#endif
     
    25142408}
    25152409
    2516 #if DLT_DIFF_CODING_IN_PPS
     2410#if H_3D
    25172411TComDLT::TComDLT()
    25182412: m_bDltPresentFlag(false)
     
    27402634}
    27412635#endif
    2742 #if H_3D
    2743 #if !CAM_HLS_F0136_F0045_F0082
    2744 Void
    2745 TComSPS::initCamParaSPS( UInt uiViewIndex, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset )
    2746 {
    2747   AOT( uiViewIndex != 0 && !bCamParSlice && ( aaiScale == 0 || aaiOffset == 0 ) ); 
    2748  
    2749   m_uiCamParPrecision     = ( uiViewIndex ? uiCamParPrecision : 0 );
    2750   m_bCamParInSliceHeader  = ( uiViewIndex ? bCamParSlice  : false );
    2751   ::memset( m_aaiCodedScale,  0x00, sizeof( m_aaiCodedScale  ) );
    2752   ::memset( m_aaiCodedOffset, 0x00, sizeof( m_aaiCodedOffset ) );
    2753 
    2754   if( !m_bCamParInSliceHeader )
    2755   {
    2756     for( UInt uiBaseViewIndex = 0; uiBaseViewIndex < uiViewIndex; uiBaseViewIndex++ )
    2757     {
    2758       m_aaiCodedScale [ 0 ][ uiBaseViewIndex ] = aaiScale [ uiBaseViewIndex ][     uiViewIndex ];
    2759       m_aaiCodedScale [ 1 ][ uiBaseViewIndex ] = aaiScale [     uiViewIndex ][ uiBaseViewIndex ];
    2760       m_aaiCodedOffset[ 0 ][ uiBaseViewIndex ] = aaiOffset[ uiBaseViewIndex ][     uiViewIndex ];
    2761       m_aaiCodedOffset[ 1 ][ uiBaseViewIndex ] = aaiOffset[     uiViewIndex ][ uiBaseViewIndex ];
    2762     }
    2763   }
    2764 }
    2765 #endif
    2766 #endif
     2636
    27672637TComReferencePictureSet::TComReferencePictureSet()
    27682638: m_numberOfPictures (0)
     
    34233293  assert( m_depthToDisparityF != NULL );
    34243294
    3425 #if CAM_HLS_F0136_F0045_F0082
    34263295  TComVPS* vps = getVPS();
    3427 #else
    3428   TComSPS* sps = getSPS();
    3429 #endif
    3430 
    3431 #if CAM_HLS_F0136_F0045_F0082
     3296
    34323297  Int log2Div = g_bitDepthY - 1 + vps->getCamParPrecision();
    34333298  Int viewIndex = getViewIndex();
     
    34393304  Int* invCodScale  = camParaSH ? m_aaiCodedScale [ 1 ] : vps->getInvCodedScale ( viewIndex );
    34403305  Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : vps->getInvCodedOffset( viewIndex );
    3441 #else
    3442   Int log2Div = g_bitDepthY - 1 + sps->getCamParPrecision();
    3443 
    3444   Bool camParaSH = m_pcSPS->hasCamParInSliceHeader();
    3445 
    3446   Int* codScale     = camParaSH ? m_aaiCodedScale [ 0 ] : sps->getCodedScale    ();
    3447   Int* codOffset    = camParaSH ? m_aaiCodedOffset[ 0 ] : sps->getCodedOffset   ();
    3448   Int* invCodScale  = camParaSH ? m_aaiCodedScale [ 1 ] : sps->getInvCodedScale ();
    3449   Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : sps->getInvCodedOffset();
    3450 #endif
    34513306
    34523307  for (Int i = 0; i <= ( getViewIndex() - 1); i++)
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.h

    r766 r767  
    791791  Bool        m_vpsDepthModesFlag        [MAX_NUM_LAYERS   ];
    792792
    793 #if H_3D_DIM_DLT
    794 #if !DLT_DIFF_CODING_IN_PPS
    795   Bool        m_bUseDLTFlag              [MAX_NUM_LAYERS   ];
    796  
    797   Int         m_iBitsPerDepthValue       [MAX_NUM_LAYERS   ];
    798   Int         m_iNumDepthmapValues       [MAX_NUM_LAYERS   ];
    799   Int*        m_iDepthValue2Idx          [MAX_NUM_LAYERS   ];
    800   Int*        m_iIdx2DepthValue          [MAX_NUM_LAYERS   ];
    801 #endif
    802 #endif
    803 
    804793#if H_3D
    805 #if CAM_HLS_F0136_F0045_F0082
    806794  UInt        m_uiCamParPrecision;
    807795  Bool*       m_bCamParInSliceHeader;
     
    809797  Int         ***m_aaaiCodedScale ;
    810798  Int         ***m_aaaiCodedOffset;
    811 #endif
    812799  Bool        m_ivMvScalingFlag;
    813800#endif
     
    10481035  Void    setARPStepNum( Int layerIdInVps, UInt val )                      { m_uiARPStepNum[layerIdInVps]    = val;     }
    10491036#endif
    1050 #if CAM_HLS_F0136_F0045_F0082
     1037
    10511038  Void createCamPars(Int iNumViews);
    10521039  Void deleteCamPars();
     
    10601047  Int* getInvCodedScale      ( Int viewIndex )  { return m_aaaiCodedScale [viewIndex][1]; }
    10611048  Int* getInvCodedOffset     ( Int viewIndex )  { return m_aaaiCodedOffset[viewIndex][1]; }
    1062 #endif
    10631049
    10641050#if H_3D_IV_MERGE
     
    10811067  Bool    getVpsDepthModesFlag( Int layerIdInVps )                         { return m_vpsDepthModesFlag[ layerIdInVps ]; }
    10821068
    1083 #if H_3D_DIM_DLT
    1084 #if !DLT_DIFF_CODING_IN_PPS
    1085   Bool    getUseDLTFlag      ( Int layerIdInVps )                         { return m_bUseDLTFlag[ layerIdInVps ]; }
    1086   Void    setUseDLTFlag      ( Int layerIdInVps, Bool b ) { m_bUseDLTFlag[ layerIdInVps ]  = b;          }
    1087  
    1088   Int     getBitsPerDepthValue( Int layerIdInVps )        { return getUseDLTFlag(layerIdInVps)?m_iBitsPerDepthValue[layerIdInVps]:g_bitDepthY; }
    1089   Int     getNumDepthValues( Int layerIdInVps )           { return getUseDLTFlag(layerIdInVps)?m_iNumDepthmapValues[layerIdInVps]:((1 << g_bitDepthY)-1); }
    1090   Int     depthValue2idx( Int layerIdInVps, Pel value )   { return getUseDLTFlag(layerIdInVps)?m_iDepthValue2Idx[layerIdInVps][value]:value; }
    1091   Pel     idx2DepthValue( Int layerIdInVps, UInt uiIdx )  { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][uiIdx]:uiIdx; }
    1092   Void    setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );
    1093 #endif
    1094 #endif
    1095 
    10961069  Bool    getIvMvScalingFlag   (  )                       { return m_ivMvScalingFlag; }
    10971070  Void    setIvMvScalingFlag   ( Bool b )                 { m_ivMvScalingFlag = b;    } 
     
    11081081};
    11091082
    1110 #if DLT_DIFF_CODING_IN_PPS
     1083#if H_3D
    11111084class TComDLT
    11121085{
     
    16841657  Bool getUsePC ()         { return m_bUsePC;  }
    16851658#endif
    1686 #if H_3D
    1687 #if !CAM_HLS_F0136_F0045_F0082
    1688   Void initCamParaSPS      (  UInt uiViewIndex, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
    1689   UInt getCamParPrecision    ()  { return m_uiCamParPrecision; }
    1690   Bool hasCamParInSliceHeader()  { return m_bCamParInSliceHeader; }
    1691   Void setHasCamParInSliceHeader( Bool b )  { m_bCamParInSliceHeader = b; }
    1692   Int* getCodedScale         ()  { return m_aaiCodedScale [0]; }
    1693   Int* getCodedOffset        ()  { return m_aaiCodedOffset[0]; }
    1694   Int* getInvCodedScale      ()  { return m_aaiCodedScale [1]; }
    1695   Int* getInvCodedOffset     ()  { return m_aaiCodedOffset[1]; }
    1696 #endif
    1697 #endif
    16981659#if H_MV
    16991660  Int  getLayerId            ()           { return m_layerId; }
     
    18011762#endif
    18021763
    1803 #if DLT_DIFF_CODING_IN_PPS
     1764#if H_3D
    18041765  TComDLT*  m_pcDLT;
    18051766#endif
     
    18301791  UInt      getMinCuDQPSize     ()         { return m_uiMinCuDQPSize; }
    18311792
    1832 #if DLT_DIFF_CODING_IN_PPS
     1793#if H_3D
    18331794  Void      setDLT              ( TComDLT* pcDLT ) { m_pcDLT = pcDLT; }
    18341795  TComDLT*  getDLT              ()                 { return m_pcDLT; }
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TypeDef.h

    r766 r767  
    145145                                              // ETRIKHU_MERGE_REUSE_F0093 QC_DEPTH_IV_MRG_F0125, JCT3V-F0125: Depth oriented Inter-view MV candidate
    146146                                              // EC_MPI_ENABLING_MERGE_F0150, MPI flag in VPS and enabling in Merge mode
    147 
    148 
    149 
    150 
    151147#define H_3D_TMVP                         1   // QC_TMVP_C0047
    152148                                              // Sony_M23639
     
    195191#endif
    196192
    197 #define CAM_HLS_F0136_F0045_F0082         1   // JCT3V-F0136/F0045: view order index based camera parameter signaling
    198                                               // JCT3V-F0082: the cp_in_slice_segment_layer_flag to be view specific and used as a condition of the presence of slice header level camera parameters
    199 #define CAM_HLS_F0044                     1   // JCT3V-F0044: move camera parameter from slice header extension to slice header
    200 
    201 
    202193// Rate Control
    203194#define KWU_FIX_URQ                       1
     
    242233
    243234#if H_3D_DIM_DLT
    244 #define DLT_DIFF_CODING_IN_PPS            1   // moving DLT syntax elements from VPS to PPS and differential coding of DLT values
    245                                               // JCT3V-F0131, JCT3V-F0139
    246 #if DLT_DIFF_CODING_IN_PPS
    247 #define Log2( n ) ( log((double)n) / log(2.0) )
    248 #endif
     235#define Log2( n ) ( log((double)n) / log(2.0) ) // Ed.(GT): This is very very bad and should be fixed to used integer arithmetics ( see gCeilLog2 ) moreover it should not be defined in the tool macro section!
    249236#define H_3D_DELTA_DLT                    1
    250237#endif
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r766 r767  
    215215}
    216216
    217 #if DLT_DIFF_CODING_IN_PPS
     217#if H_3D
    218218Void TDecCavlc::parsePPS(TComPPS* pcPPS, TComVPS* pcVPS )
    219219#else
     
    368368  if (uiCode)
    369369  {
    370 #if DLT_DIFF_CODING_IN_PPS
     370#if H_3D
    371371    parsePPSExtension( pcPPS, pcVPS );
    372372    READ_FLAG( uiCode, "pps_extension2_flag");
     
    378378        READ_FLAG( uiCode, "pps_extension_data_flag");
    379379      }
    380 #if DLT_DIFF_CODING_IN_PPS
    381     }
    382 #endif
    383   }
    384 }
    385 
    386 #if DLT_DIFF_CODING_IN_PPS
     380#if H_3D
     381    }
     382#endif
     383  }
     384}
     385
     386#if H_3D
    387387Void TDecCavlc::parsePPSExtension( TComPPS* pcPPS, TComVPS* pcVPS )
    388388{
     389  //Ed.(GT): pcVPS should not be used here. Needs to be fixed.
    389390  UInt uiCode = 0;
    390391  TComDLT* pcDLT = new TComDLT;
     
    10051006  }
    10061007#endif
    1007 
    1008 #if !CAM_HLS_F0136_F0045_F0082
    1009   UInt uiCamParPrecision = 0;
    1010   Bool bCamParSlice      = false;
    1011   if ( !depthFlag )
    1012   {     
    1013     READ_UVLC( uiCamParPrecision, "cp_precision" );
    1014     READ_FLAG( uiCode, "cp_in_slice_header_flag" );    bCamParSlice = ( uiCode == 1 );
    1015     if( !bCamParSlice )
    1016     {       
    1017       for( UInt uiBaseIndex = 0; uiBaseIndex < viewIndex; uiBaseIndex++ )
    1018       {
    1019         Int iCode;
    1020         READ_SVLC( iCode, "cp_scale" );                m_aaiTempScale  [ uiBaseIndex ][ viewIndex ]   = iCode;
    1021         READ_SVLC( iCode, "cp_off" );                  m_aaiTempOffset [ uiBaseIndex ][ viewIndex ]   = iCode;
    1022         READ_SVLC( iCode, "cp_inv_scale_plus_scale" ); m_aaiTempScale  [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempScale [ uiBaseIndex ][ viewIndex ];
    1023         READ_SVLC( iCode, "cp_inv_off_plus_off" );     m_aaiTempOffset [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempOffset[ uiBaseIndex ][ viewIndex ];
    1024       }
    1025     }
    1026   }
    1027   pcSPS->initCamParaSPS( viewIndex, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset );
    1028 #endif
    10291008}
    10301009#endif
     
    11321111#if H_3D
    11331112      m_pcBitstream->readOutTrailingBits();
    1134 #if CAM_HLS_F0136_F0045_F0082
    11351113      pcVPS->createCamPars(pcVPS->getNumViews());
    1136 #endif
    11371114      parseVPSExtension2( pcVPS );   
    11381115      READ_FLAG( uiCode,  "vps_extension3_flag" );
     
    17421719        READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
    17431720        //          READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPreFlag     ( i, uiCode == 1 ? true : false );
    1744 #if H_3D_DIM_DLT
    1745 #if !DLT_DIFF_CODING_IN_PPS
    1746         if( pcVPS->getVpsDepthModesFlag( i ) )
    1747         {
    1748           READ_FLAG( uiCode, "dlt_flag[i]" );                       pcVPS->setUseDLTFlag( i, uiCode == 1 ? true : false );
    1749         }
    1750         if( pcVPS->getUseDLTFlag( i ) )
    1751         {
    1752           // decode mapping
    1753           UInt uiNumDepthValues;
    1754           // parse number of values in DLT
    1755           READ_UVLC(uiNumDepthValues, "num_depth_values_in_dlt[i]");
    1756 
    1757           // parse actual DLT values
    1758           Int* aiIdx2DepthValue = (Int*) calloc(uiNumDepthValues, sizeof(Int));
    1759           for(Int d=0; d<uiNumDepthValues; d++)
    1760           {
    1761             READ_UVLC(uiCode, "dlt_depth_value[i][d]");
    1762             aiIdx2DepthValue[d] = (Int)uiCode;
    1763           }
    1764 
    1765           pcVPS->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
    1766 
    1767           // clean memory
    1768           free(aiIdx2DepthValue);
    1769         }
    1770 #endif
    1771 #endif
    17721721#if H_3D_INTER_SDC
    17731722            READ_FLAG( uiCode, "depth_inter_SDC_flag" );              pcVPS->setInterSDCFlag( i, uiCode ? true : false );
     
    17761725    }
    17771726  }
    1778 #if CAM_HLS_F0136_F0045_F0082
     1727
    17791728  UInt uiCamParPrecision = 0;
    17801729  Bool bCamParSlice      = false;
     
    18021751    }
    18031752  }
    1804 #endif
     1753
    18051754  READ_FLAG( uiCode, "iv_mv_scaling_flag");                       pcVPS->setIvMvScalingFlag( uiCode == 1 ? true : false );
    18061755}
     
    24622411  }
    24632412
    2464 #if CAM_HLS_F0044
    2465 #if CAM_HLS_F0136_F0045_F0082
     2413#if H_3D
    24662414  if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && !rpcSlice->getIsDepth() )
    2467 #else
    2468   if( rpcSlice->getSPS()->hasCamParInSliceHeader() )
    2469 #endif
    24702415  {
    24712416    UInt uiViewIndex = rpcSlice->getViewIndex();
     
    24792424    rpcSlice->setCamparaSlice( m_aaiTempScale, m_aaiTempOffset );
    24802425  }
    2481 
    24822426#endif
    24832427
     
    24852429  {
    24862430    READ_UVLC(uiCode,"slice_header_extension_length");
    2487 #if H_3D && !CAM_HLS_F0044
    2488 #if CAM_HLS_F0136_F0045_F0082
    2489     if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && !rpcSlice->getIsDepth() )
    2490 #else
    2491     if( rpcSlice->getSPS()->hasCamParInSliceHeader() )
    2492 #endif
    2493     {
    2494       UInt uiViewIndex = rpcSlice->getViewIndex();
    2495       for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
    2496       {
    2497         READ_SVLC( iCode, "cp_scale" );                m_aaiTempScale [ uiBaseIndex ][ uiViewIndex ] = iCode;
    2498         READ_SVLC( iCode, "cp_off" );                  m_aaiTempOffset[ uiBaseIndex ][ uiViewIndex ] = iCode;
    2499         READ_SVLC( iCode, "cp_inv_scale_plus_scale" ); m_aaiTempScale [ uiViewIndex ][ uiBaseIndex ] = iCode - m_aaiTempScale [ uiBaseIndex ][ uiViewIndex ];
    2500         READ_SVLC( iCode, "cp_inv_off_plus_off" );     m_aaiTempOffset[ uiViewIndex ][ uiBaseIndex ] = iCode - m_aaiTempOffset[ uiBaseIndex ][ uiViewIndex ];
    2501       }
    2502       rpcSlice->setCamparaSlice( m_aaiTempScale, m_aaiTempOffset );
    2503     }
    2504 
    2505     READ_FLAG(uiCode,"slice_segment_header_extension2_flag");
    2506     if ( uiCode )
    2507     {   
    2508       READ_UVLC(uiCode,"slice_header_extension2_length");
    2509       for(Int i=0; i<uiCode; i++)
    2510       {
    2511         UInt ignore;
    2512         READ_CODE(8,ignore,"slice_header_extension2_data_byte");
    2513       }
    2514     }
    2515   }
    2516 #else
     2431
    25172432    for(Int i=0; i<uiCode; i++)
    25182433    {
     
    25212436    }
    25222437  }
    2523 #endif
     2438
    25242439  m_pcBitstream->readByteAlignment();
    25252440
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.h

    r766 r767  
    9696#endif
    9797
    98 #if H_3D && DLT_DIFF_CODING_IN_PPS
     98#if H_3D
    9999  Void  parsePPS            ( TComPPS* pcPPS, TComVPS* pcVPS );
    100100  Void  parsePPSExtension   ( TComPPS* pcPPS, TComVPS* pcVPS );
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r765 r767  
    754754    {
    755755#if H_3D
    756 #if DLT_DIFF_CODING_IN_PPS
    757756      if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    758 #else
    759       if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    760 #endif
    761         {
    762 #if DLT_DIFF_CODING_IN_PPS
    763           pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
    764 #else
    765           pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
    766 #endif
    767         }
    768         else
    769         {
    770       pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
    771         }
     757      {
     758        pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     759      }
     760      else
     761      {
     762        pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
     763      }
    772764#endif
    773765      pRecIPred[ uiX ] = pReco[ uiX ];
     
    979971  {
    980972#if H_3D_DIM_DLT
    981 #if DLT_DIFF_CODING_IN_PPS
    982973    Pel   pPredIdx    = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    983974    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    984975    Pel   pRecoValue  = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    985 #else
    986     Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    987     Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    988     Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    989 #endif
    990976
    991977    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecEntropy.h

    r758 r767  
    7171  virtual Void  parseSPS                  ( TComSPS* pcSPS )                                      = 0;
    7272#endif
    73 #if DLT_DIFF_CODING_IN_PPS
     73#if H_3D
    7474  virtual Void  parsePPS                  ( TComPPS* pcPPS, TComVPS* pcVPS )                      = 0;
    7575#else
     
    152152  Void    decodeSPS                   ( TComSPS* pcSPS     )    { m_pcEntropyDecoderIf->parseSPS(pcSPS);                    }
    153153#endif
    154 #if DLT_DIFF_CODING_IN_PPS
     154#if H_3D
    155155  Void    decodePPS                   ( TComPPS* pcPPS, TComVPS* pcVPS )    { m_pcEntropyDecoderIf->parsePPS(pcPPS, pcVPS);                    }
    156156#else
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r764 r767  
    442442 
    443443#if H_3D_DIM_DLT
    444 #if DLT_DIFF_CODING_IN_PPS
    445444  UInt uiMaxResidualBits = pcCU->getSlice()->getPPS()->getDLT()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
    446 #else
    447   UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
    448 #endif
    449445#else
    450446  UInt uiMaxResidualBits = g_bitDepthY;
     
    470466    UInt uiCount = 0;
    471467#if H_3D_DIM_DLT
    472 #if DLT_DIFF_CODING_IN_PPS
    473468    UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
    474 #else
    475     UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
    476 #endif
    477469#else
    478470    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.h

    r764 r767  
    8181  Void  parseSPS                  ( TComSPS* /*pcSPS*/ ) {}
    8282#endif
    83 #if DLT_DIFF_CODING_IN_PPS
     83#if H_3D
    8484  Void  parsePPS                  ( TComPPS* /*pcPPS*/, TComVPS* /*pcVPS*/ ) {}
    8585#else
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.cpp

    r766 r767  
    228228    m_uiMaxViewIndex                     = std::max( m_uiMaxViewIndex, uiViewIndex );
    229229    m_aiViewId[ uiViewIndex ]            = pcSlice->getViewId();
    230 #if CAM_HLS_F0136_F0045_F0082
     230
    231231    if( uiViewIndex == 1 )
    232232    {
     
    239239      AOF( m_bCamParsVaryOverTime    == pcSlice->getVPS()->hasCamParInSliceHeader ( uiViewIndex ) );
    240240    }
    241 #else
    242     if( uiViewIndex == 1 )
    243     {
    244       m_uiCamParsCodedPrecision       = pcSlice->getSPS()->getCamParPrecision     ();
    245       m_bCamParsVaryOverTime          = pcSlice->getSPS()->hasCamParInSliceHeader ();
    246     }
    247     else if( uiViewIndex > 1 )
    248     {
    249       AOF( m_uiCamParsCodedPrecision == pcSlice->getSPS()->getCamParPrecision     () );
    250       AOF( m_bCamParsVaryOverTime    == pcSlice->getSPS()->hasCamParInSliceHeader () );
    251     }
    252 #endif
     241
    253242    for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
    254243    {
     
    264253      else
    265254      {
    266 #if CAM_HLS_F0136_F0045_F0082
    267255        m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedScale    (uiViewIndex) [ uiBaseIndex ];
    268256        m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedOffset   (uiViewIndex) [ uiBaseIndex ];
    269257        m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedScale (uiViewIndex) [ uiBaseIndex ];
    270258        m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedOffset(uiViewIndex) [ uiBaseIndex ];
    271 #else
    272         m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getSPS()->getCodedScale    () [ uiBaseIndex ];
    273         m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getSPS()->getCodedOffset   () [ uiBaseIndex ];
    274         m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getSPS()->getInvCodedScale () [ uiBaseIndex ];
    275         m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getSPS()->getInvCodedOffset() [ uiBaseIndex ];
    276 #endif
    277259        xInitLUTs( uiBaseIndex, uiViewIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
    278260        xInitLUTs( uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiViewIndex ][ uiBaseIndex ], m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
     
    306288CamParsCollector::copyCamParamForSlice( TComSlice* pcSlice )
    307289{
    308 #if !CAM_HLS_F0136_F0045_F0082
    309   UInt uiViewIndex = pcSlice->getViewIndex();
    310 
    311   pcSlice->getSPS()->initCamParaSPS( uiViewIndex, m_uiCamParsCodedPrecision, m_bCamParsVaryOverTime, m_aaiCodedScale, m_aaiCodedOffset );
    312 #endif
    313290  if( m_bCamParsVaryOverTime )
    314291  {
     
    11111088    m_pcCamParsCollector->setSlice( pcSlice );
    11121089  }
    1113 #if H_3D_IV_MERGE
    1114   if( pcSlice->getIsDepth() )
    1115   {
    1116 #if !CAM_HLS_F0136_F0045_F0082
    1117     pcSlice->getSPS()->setHasCamParInSliceHeader( false );
    1118 #endif
    1119   }
    1120 #endif
    11211090#endif
    11221091  m_bFirstSliceInPicture = false;
     
    11581127  pps->setLayerId( getLayerId() );
    11591128#endif
    1160 #if DLT_DIFF_CODING_IN_PPS
     1129#if H_3D
    11611130  // Assuming that all PPS indirectly refer to the same VPS via different SPS
    11621131  // There is no parsing dependency in decoding DLT in PPS.
     
    11651134  //   Step 1) decoding DLT tables based on the number of depth layers, and
    11661135  //   Step 2) mapping DLT tables to the depth layers
    1167   // as descripted in the 3D-HEVC WD.
     1136  // as described in the 3D-HEVC WD.
    11681137  TComVPS* vps = m_parameterSetManagerDecoder.getPrefetchedVPS( 0 );
    11691138  m_cEntropyDecoder.decodePPS( pps, vps );
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r766 r767  
    282282  WRITE_FLAG( pcPPS->getSliceHeaderExtensionPresentFlag() ? 1 : 0, "slice_segment_header_extension_present_flag");
    283283
    284 #if !DLT_DIFF_CODING_IN_PPS
     284#if !H_3D
    285285  WRITE_FLAG( 0, "pps_extension_flag" );
    286286#else
     
    291291}
    292292
    293 #if DLT_DIFF_CODING_IN_PPS
     293#if H_3D
    294294Void  TEncCavlc::codePPSExtension        ( TComPPS* pcPPS )
    295295{
     
    300300  //   Step 1) decoding DLT tables based on the number of depth layers, and
    301301  //   Step 2) mapping DLT tables to the depth layers
    302   // as descripted in the 3D-HEVC WD.
     302  // as described in the 3D-HEVC WD.
    303303  TComVPS* pcVPS = pcPPS->getSPS()->getVPS();
    304304
     
    857857}
    858858#endif
    859 #if !CAM_HLS_F0136_F0045_F0082
    860 if (!depthFlag )
    861 {
    862   WRITE_UVLC( pcSPS->getCamParPrecision(), "cp_precision" );
    863   WRITE_FLAG( pcSPS->hasCamParInSliceHeader() ? 1 : 0, "cp_in_slice_header_flag" );
    864   if( !pcSPS->hasCamParInSliceHeader() )
    865   {
    866     for( UInt uiIndex = 0; uiIndex < viewIndex; uiIndex++ )
    867     {
    868       WRITE_SVLC( pcSPS->getCodedScale    ()[ uiIndex ],                                      "cp_scale" );
    869       WRITE_SVLC( pcSPS->getCodedOffset   ()[ uiIndex ],                                      "cp_off" );
    870       WRITE_SVLC( pcSPS->getInvCodedScale ()[ uiIndex ] + pcSPS->getCodedScale ()[ uiIndex ], "cp_inv_scale_plus_scale" );
    871       WRITE_SVLC( pcSPS->getInvCodedOffset()[ uiIndex ] + pcSPS->getCodedOffset()[ uiIndex ], "cp_inv_off_plus_off" );
    872     }
    873   }
    874 }
    875 #endif
    876859}
    877860#endif
     
    15451528        WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 ,          "vps_depth_modes_flag[i]" );
    15461529        //WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
    1547 #if H_3D_DIM_DLT
    1548 #if !DLT_DIFF_CODING_IN_PPS
    1549         if( pcVPS->getVpsDepthModesFlag( i ) )
    1550         {
    1551           WRITE_FLAG( pcVPS->getUseDLTFlag( i ) ? 1 : 0, "dlt_flag[i]" );
    1552         }
    1553         if( pcVPS->getUseDLTFlag( i ) )
    1554         {
    1555           // code mapping
    1556           WRITE_UVLC(pcVPS->getNumDepthValues(i), "num_depth_values_in_dlt[i]");
    1557           for(Int d=0; d<pcVPS->getNumDepthValues(i); d++)
    1558           {
    1559             WRITE_UVLC( pcVPS->idx2DepthValue(i, d), "dlt_depth_value[i][d]" );
    1560           }
    1561         }
    1562 #endif
    1563 #endif
    15641530#if H_3D_INTER_SDC
    15651531        WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );
     
    15681534    } 
    15691535  }
    1570 #if CAM_HLS_F0136_F0045_F0082
    15711536  WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
    15721537  for (UInt viewIndex=0; viewIndex<pcVPS->getNumViews(); viewIndex++)
     
    15881553    }
    15891554  }
    1590 #endif
    15911555#if H_3D_TMVP
    15921556  WRITE_FLAG( pcVPS->getIvMvScalingFlag( ) ? 1 : 0 ,          "iv_mv_scaling_flag" );
     
    20362000    }
    20372001  }
    2038 #if CAM_HLS_F0044
    2039 #if CAM_HLS_F0136_F0045_F0082
     2002#if H_3D
    20402003  if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && !pcSlice->getIsDepth() )
    2041 #else
    2042   if( pcSlice->getSPS()->hasCamParInSliceHeader() && !pcSlice->getIsDepth() )
    2043 #endif
    20442004  {
    20452005    for( UInt uiId = 0; uiId < pcSlice->getViewIndex(); uiId++ )
     
    20592019#endif
    20602020  {
    2061 #if !H_3D || CAM_HLS_F0044
    20622021    WRITE_UVLC(0,"slice_header_extension_length");
    2063 #else
    2064     WRITE_UVLC(0,"slice_header_extension_length"); //<- this element needs to be set to the correct value!!
    2065 #if CAM_HLS_F0136_F0045_F0082
    2066     if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && !pcSlice->getIsDepth() )
    2067 #else
    2068     if( pcSlice->getSPS()->hasCamParInSliceHeader() && !pcSlice->getIsDepth() )
    2069 #endif
    2070     {
    2071       for( UInt uiId = 0; uiId < pcSlice->getViewIndex(); uiId++ )
    2072       {
    2073         WRITE_SVLC( pcSlice->getCodedScale    ()[ uiId ],                                     "cp_scale" );
    2074         WRITE_SVLC( pcSlice->getCodedOffset   ()[ uiId ],                                     "cp_off" );
    2075         WRITE_SVLC( pcSlice->getInvCodedScale ()[ uiId ] + pcSlice->getCodedScale ()[ uiId ], "cp_inv_scale_plus_scale" );
    2076         WRITE_SVLC( pcSlice->getInvCodedOffset()[ uiId ] + pcSlice->getCodedOffset()[ uiId ], "cp_inv_off_plus_off" );
    2077       }
    2078     }
    2079 
    2080     Bool sliceSegmentHeaderExtension2Flag = false;
    2081     WRITE_FLAG( sliceSegmentHeaderExtension2Flag ? 1 : 0 , "slice_segment_header_extension2_flag" );
    2082     if ( sliceSegmentHeaderExtension2Flag )
    2083     {
    2084       WRITE_UVLC(0,"slice_header_extension2_length");
    2085     }
    2086 #endif
    20872022  }
    20882023}
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncCavlc.h

    r766 r767  
    107107  Void  codePPS                 ( TComPPS* pcPPS );
    108108
    109 #if DLT_DIFF_CODING_IN_PPS
     109#if H_3D
    110110  Void  codePPSExtension        ( TComPPS* pcPPS );
    111111#endif
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncCfg.h

    r765 r767  
    331331#endif
    332332
    333 #if DLT_DIFF_CODING_IN_PPS
     333#if H_3D
    334334  TComDLT*  m_cDLT;
    335335#endif
     
    870870#endif
    871871
    872 #if DLT_DIFF_CODING_IN_PPS
     872#if H_3D
    873873  Void      setDLT           ( TComDLT *p ) { m_cDLT = p; }
    874874  TComDLT*  getDLT           ()             { return m_cDLT; }
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncSbac.cpp

    r764 r767  
    538538
    539539#if H_3D_DIM_DLT
    540 #if DLT_DIFF_CODING_IN_PPS
    541540  UInt uiMaxResidualBits = pcCU->getSlice()->getPPS()->getDLT()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
    542 #else
    543   UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
    544 #endif
    545541#else
    546542  UInt uiMaxResidualBits = g_bitDepthY;
     
    561557    DTRACE_CU("sdc_residual_sign_flag[i]", uiSign)
    562558#endif
    563    
    564 #if H_3D_DIM_DLT
    565 #if DLT_DIFF_CODING_IN_PPS
    566       UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
    567 #else
    568       UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
    569 #endif
     559#if H_3D_DIM_DLT   
     560    UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
    570561#else
    571562    UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
    572563#endif
     564
    573565    assert(uiAbsIdx <= uiNumDepthValues);
    574566   
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r765 r767  
    19351935    // get residual (idx)
    19361936#if H_3D_DIM_DLT
    1937 #if DLT_DIFF_CODING_IN_PPS
    19381937    Pel pResidualIdx = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pDCRec ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    1939 #else
    1940     Pel pResidualIdx = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pDCRec ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    1941 #endif
    19421938#else
    19431939    Pel pResidualIdx = pDCRec - apDCPredValues[uiSegment];
     
    19531949  {
    19541950#if H_3D_DIM_DLT
    1955 #if DLT_DIFF_CODING_IN_PPS
    19561951    Pel   pPredIdx    = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    19571952    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    19581953    Pel   pRecoValue  = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    1959 #else
    1960     Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    1961     Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    1962     Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    1963 #endif
    19641954
    19651955    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
     
    72957285
    72967286#if H_3D_DIM_DLT
    7297 #if DLT_DIFF_CODING_IN_PPS
    72987287  rDeltaDC1 = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC1 + rDeltaDC1) ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 );
    72997288  rDeltaDC2 = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC2 + rDeltaDC2) ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 );
    7300 #else
    7301   rDeltaDC1 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC1 + rDeltaDC1) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC1 );
    7302   rDeltaDC2 = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), ClipY(predDC2 + rDeltaDC2) ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), predDC2 );
    7303 #endif
    73047289#endif
    73057290}
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncTop.cpp

    r766 r767  
    299299{
    300300  // initialize SPS
    301 #if DLT_DIFF_CODING_IN_PPS
     301#if H_3D
    302302  // Assuming that all PPS indirectly refer to the same VPS via different SPS
    303303  m_cSPS.setVPS(m_cVPS);
     
    843843    pcVUI->setLog2MaxMvLengthVertical(getLog2MaxMvLengthVertical());
    844844  }
    845 #if H_3D
    846 #if !CAM_HLS_F0136_F0045_F0082
    847   {
    848     m_cSPS.initCamParaSPS           ( m_viewIndex, m_uiCamParPrecision, m_bCamParInSliceHeader, m_aaiCodedScale, m_aaiCodedOffset );
    849   }
    850 #endif
    851 #endif
    852845}
    853846
     
    864857#endif
    865858
    866 #if DLT_DIFF_CODING_IN_PPS
     859#if H_3D
    867860  m_cPPS.setDLT( getDLT() );
    868861#endif
     
    995988  }
    996989#if H_3D
    997 #if CAM_HLS_F0136_F0045_F0082
    998990  if( m_cVPS->hasCamParInSliceHeader( getViewIndex() ) )
    999 #else
    1000   if( m_cSPS.hasCamParInSliceHeader() )
    1001 #endif
    1002991  {
    1003992    m_cPPS.setSliceHeaderExtensionPresentFlag( true );
Note: See TracChangeset for help on using the changeset viewer.