Changeset 967 in 3DVCSoftware


Ignore:
Timestamp:
5 Jul 2014, 08:19:26 (10 years ago)
Author:
tech
Message:

Cleanup part 1.

Location:
branches/HTM-11.1-dev0/source/Lib
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.1-dev0/source/Lib/TLibCommon/ContextTables.h

    r950 r967  
    110110#define NUM_DMM1_DATA_CTX             1       ///< number of context models for DMM1 data
    111111#endif
    112 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135
    113112#define NUM_ANGLE_FLAG_CTX            1
    114 #else
    115 #define NUM_ANGLE_FLAG_CTX            3
    116 #endif
    117113#endif
    118114
     
    372368};
    373369
    374 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135
    375370static const UChar
    376371INIT_ANGLE_FLAG[3][NUM_ANGLE_FLAG_CTX] =
     
    380375  { 155 },
    381376};
    382 #else
    383 static const UChar
    384 INIT_ANGLE_FLAG[3][NUM_ANGLE_FLAG_CTX] =
    385 {
    386   { 154, 155, 156 },
    387   { 141, 185, 214 },
    388   { 155, 170, 157 },
    389 };
    390 #endif
    391377
    392378static const UChar
     
    444430
    445431#if H_3D_DBBP
    446 #if MTK_DBBP_SIGNALING_H0094
    447432static const UChar INIT_DBBP_FLAG[3][DBBP_NUM_FLAG_CTX] =
    448433{
     
    451436  { 161 },
    452437};
    453 #else
    454 static const UChar INIT_DBBP_FLAG[3][DBBP_NUM_FLAG_CTX] =
    455 {
    456   { CNU },
    457   { CNU },
    458   { CNU },
    459 };
    460 #endif
    461 #endif
    462 
    463 #endif
     438#endif
     439
     440#endif
  • branches/HTM-11.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r964 r967  
    610610    memset( m_apSegmentDCOffset[1]  + firstElement,     0,                numElements * sizeof( *m_apSegmentDCOffset[1] ) );
    611611#endif
    612 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    613612    m_apDmmPredictor[0] = 0;
    614613    m_apDmmPredictor[1] = 0;
    615 #endif
    616614#endif
    617615#if H_3D_DBBP
     
    788786      m_apSegmentDCOffset[1][ui] = 0;
    789787#endif
    790 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    791788      m_apDmmPredictor[0] = 0;
    792789      m_apDmmPredictor[1] = 0;
    793 #endif
    794790#endif
    795791#if H_3D_DBBP
     
    907903  memset( m_apSegmentDCOffset[1], 0, sizeof(Pel) * m_uiNumPartition   );
    908904#endif
    909 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    910905  m_apDmmPredictor[0] = 0;
    911906  m_apDmmPredictor[1] = 0;
    912 #endif
    913907#endif
    914908#if H_3D_DBBP
     
    23992393}
    24002394
    2401 UInt TComDataCU::getCtxAngleFlag( UInt uiAbsPartIdx )
    2402 {
    2403 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135
    2404   return 0;
    2405 #else
    2406   TComDataCU* pcTempCU;
    2407   UInt        uiTempPartIdx;
    2408   UInt        uiCtx = 0;
    2409 
    2410   // Get BCBP of left PU
    2411   pcTempCU = getPULeft( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx );
    2412   uiCtx    = ( pcTempCU && pcTempCU->isIntra( uiTempPartIdx ) ) ? ( pcTempCU->getLumaIntraDir( uiTempPartIdx ) < NUM_INTRA_MODE ? 1 : 0 ) : 0;
    2413 
    2414   // Get BCBP of above PU
    2415   pcTempCU = getPUAbove( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx );
    2416   uiCtx   += ( pcTempCU && pcTempCU->isIntra( uiTempPartIdx ) ) ? ( pcTempCU->getLumaIntraDir( uiTempPartIdx ) < NUM_INTRA_MODE ? 1 : 0 ) : 0;
    2417 
    2418   return uiCtx;
    2419 #endif
    2420 }
    24212395#endif
    24222396
     
    41424116      && !bARPFlag
    41434117#endif
    4144 #if RWTH_DBBP_NO_SPU_H0057
     4118#if H_3D_DBBP
    41454119      && !bDBBPFlag
    41464120#endif
     
    41694143      && !bARPFlag
    41704144#endif
    4171 #if RWTH_DBBP_NO_SPU_H0057
     4145#if H_3D_DBBP
    41724146      && !bDBBPFlag
    41734147#endif
     
    41964170      && !bARPFlag
    41974171#endif
    4198 #if RWTH_DBBP_NO_SPU_H0057
     4172#if H_3D_DBBP
    41994173      && !bDBBPFlag
    42004174#endif
     
    42224196      && !bARPFlag
    42234197#endif
    4224 #if RWTH_DBBP_NO_SPU_H0057
     4198#if H_3D_DBBP
    42254199      && !bDBBPFlag
    42264200#endif
     
    42494223      && !bARPFlag
    42504224#endif
    4251 #if RWTH_DBBP_NO_SPU_H0057
     4225#if H_3D_DBBP
    42524226      && !bDBBPFlag
    42534227#endif
     
    42824256      && !bARPFlag
    42834257#endif
    4284 #if RWTH_DBBP_NO_SPU_H0057
     4258#if H_3D_DBBP
    42854259      && !bDBBPFlag
    42864260#endif
     
    43084282      && !bARPFlag
    43094283#endif
    4310 #if RWTH_DBBP_NO_SPU_H0057
     4284#if H_3D_DBBP
    43114285      && !bDBBPFlag
    43124286#endif
     
    43344308      && !bARPFlag
    43354309#endif
    4336 #if RWTH_DBBP_NO_SPU_H0057
     4310#if H_3D_DBBP
    43374311      && !bDBBPFlag
    43384312#endif
     
    43584332      && !bARPFlag
    43594333#endif
    4360 #if RWTH_DBBP_NO_SPU_H0057
     4334#if H_3D_DBBP
    43614335      && !bDBBPFlag
    43624336#endif
     
    43844358      && !bARPFlag
    43854359#endif
    4386 #if RWTH_DBBP_NO_SPU_H0057
     4360#if H_3D_DBBP
    43874361      && !bDBBPFlag
    43884362#endif
     
    44574431      Int         iTexPosX, iTexPosY;
    44584432      const TComMv cMvRounding( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
    4459 #if MPI_SUBPU_DEFAULT_MV_H0077_H0099_H0111_H0133
    44604433     
    44614434      Int         iCenterPosX = iCurrPosX + ( ( iWidth /  iPUWidth ) >> 1 )  * iPUWidth + ( iPUWidth >> 1 );
     
    45194492      if ( iInterDirSaved != 0 )
    45204493      {
    4521 #endif
    45224494      for (Int i=iCurrPosY; i < iCurrPosY + iHeight; i += iPUHeight)
    45234495      {
     
    45684540              }
    45694541#endif
    4570 #if !MPI_SUBPU_DEFAULT_MV_H0077_H0099_H0111_H0133
    4571           else
    4572           {
    4573             if (iInterDirSaved ==0)
    4574             {
    4575 #if ETRIKHU_CLEANUP_H0083
    4576                   bSPIVMPFlag = true;
    4577 #else
    4578               pbSPIVMPFlag[iCount] = true;
    4579 #endif
    4580               tmpDir = puhInterDirSP[iPartition];
    4581               tmpMV[0] = pcMvFieldSP[2*iPartition];
    4582               tmpMV[1] = pcMvFieldSP[2*iPartition+1];
    4583 
    4584               if (iPartition != 0)
    4585               {
    4586                 for (Int iPart = iPartition-1; iPart >= 0; iPart--)
    4587                 {
    4588                   puhInterDirSP[iPart] = puhInterDirSP[iPartition];
    4589                   pcMvFieldSP[2*iPart] = pcMvFieldSP[2*iPartition];
    4590                   pcMvFieldSP[2*iPart + 1] = pcMvFieldSP[2*iPartition + 1];
    4591                 }
    4592               }
    4593             }
    4594             iInterDirSaved = puhInterDirSP[iPartition];
    4595             cMvFieldSaved[0] = pcMvFieldSP[2*iPartition];
    4596             cMvFieldSaved[1] = pcMvFieldSP[2*iPartition + 1];
    4597           }
    4598 #endif
     4542
    45994543          iPartition ++;
    46004544        }
    46014545      }
    4602 #if MPI_SUBPU_DEFAULT_MV_H0077_H0099_H0111_H0133
     4546#if H_3D
    46034547      }
    46044548#endif
     
    52465190      (nPSW + nPSH > 12) &&
    52475191#endif
    5248 #if RWTH_DBBP_NO_SPU_H0057
     5192#if H_3D_DBBP
    52495193      !bDBBPFlag &&
    52505194#endif
  • branches/HTM-11.1-dev0/source/Lib/TLibCommon/TComDataCU.h

    r964 r967  
    7070  Bool        abMergeFlag[2];       // for two segments
    7171  UChar       auhMergeIndex[2];     // for two segments
    72 #if !RWTH_DBBP_NO_SPU_H0057
    73   Char        ahVSPFlag[2];         // for two segments
    74   DisInfo     acDvInfo[2];          // for two segments
    75 #endif
    76  
    7772  PartSize    eVirtualPartSize;
    7873  UInt        uiVirtualPartIndex;
     
    195190  Bool*         m_pbSDCFlag;
    196191  Pel*          m_apSegmentDCOffset[2];
    197 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    198192  Pel          m_apDmmPredictor[2];
    199 #endif
    200193#endif
    201194#endif
     
    583576  Pel           getSDCSegmentDCOffset( UInt uiSeg, UInt uiPartIdx ) { return m_apSegmentDCOffset[uiSeg][uiPartIdx]; }
    584577  Void          setSDCSegmentDCOffset( Pel pOffset, UInt uiSeg, UInt uiPartIdx) { m_apSegmentDCOffset[uiSeg][uiPartIdx] = pOffset; }
    585 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    586578  Void          setDmmPredictor ( Pel pOffset, UInt uiSeg) { m_apDmmPredictor[uiSeg] = pOffset; }
    587579  Pel           getDmmPredictor ( UInt uiSeg) { return m_apDmmPredictor[uiSeg]; }
    588 #endif
    589580  UInt          getCtxSDCFlag          ( UInt   uiAbsPartIdx );
    590   UInt          getCtxAngleFlag        ( UInt   uiAbsPartIdx );
    591581#endif
    592582#endif
  • branches/HTM-11.1-dev0/source/Lib/TLibCommon/TComPrediction.cpp

    r964 r967  
    500500  Pel* pDst = piPred;
    501501  xAssignBiSegDCs( pDst, uiStride, biSegPattern, patternStride, segDC1, segDC2 );
    502 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    503502  pcCU->setDmmPredictor(segDC1, 0);
    504503  pcCU->setDmmPredictor(segDC2, 1);
    505 #endif
    506504
    507505#if H_3D_DIM_DMM
     
    647645 
    648646  // start mapping process
    649 #if !MTK_DBBP_AMP_REM_H0072
    650   Bool bAMPAvail = uiSize > 8;
    651   Int matchedPartSum[6][2] = {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}; // counter for each part size and boolean option
    652   PartSize virtualPartSizes[6] = { SIZE_Nx2N, SIZE_2NxN, SIZE_2NxnU, SIZE_2NxnD, SIZE_nLx2N, SIZE_nRx2N };
    653 #else
    654647  Int matchedPartSum[2][2] = {{0,0},{0,0}}; // counter for each part size and boolean option
    655648  PartSize virtualPartSizes[2] = { SIZE_Nx2N, SIZE_2NxN};
    656 #endif
    657649 
    658650  UInt uiHalfSize = uiSize>>1;
    659 #if !MTK_DBBP_AMP_REM_H0072
    660   UInt uiQuarterSize = uiSize>>2;
    661 #endif
    662  
    663651  for (Int y=0; y<uiSize; y+=iSubSample)
    664652  {
     
    691679        matchedPartSum[1][1-ucSegment]++;
    692680      }
    693      
    694 #if !MTK_DBBP_AMP_REM_H0072
    695       if( bAMPAvail )
    696       {
    697         // SIZE_2NxnU
    698         if(y<uiQuarterSize)  // top (1/4)
    699         {
    700           matchedPartSum[2][ucSegment]++;
    701         }
    702         else  // bottom (3/4)
    703         {
    704           matchedPartSum[2][1-ucSegment]++;
    705         }
    706        
    707         // SIZE_2NxnD
    708         if(y<(uiQuarterSize*3))  // top (3/4)
    709         {
    710           matchedPartSum[3][ucSegment]++;
    711         }
    712         else  // bottom (1/4)
    713         {
    714           matchedPartSum[3][1-ucSegment]++;
    715         }
    716        
    717         // SIZE_nLx2N
    718         if(x<uiQuarterSize)  // left (1/4)
    719         {
    720           matchedPartSum[4][ucSegment]++;
    721         }
    722         else  // right (3/4)
    723         {
    724           matchedPartSum[4][1-ucSegment]++;
    725         }
    726        
    727         // SIZE_nRx2N
    728         if(x<(uiQuarterSize*3))  // left (3/4)
    729         {
    730           matchedPartSum[5][ucSegment]++;
    731         }
    732         else  // right (1/4)
    733         {
    734           matchedPartSum[5][1-ucSegment]++;
    735         }
    736       }
    737 #endif
    738681    }
    739682   
     
    745688 
    746689  Int iMaxMatchSum = 0;
    747 #if !MTK_DBBP_AMP_REM_H0072
    748   for(Int p=0; p<6; p++)  // loop over partition
    749 #else
    750690  for(Int p=0; p<2; p++)  // loop over partition
    751 #endif
    752691  {
    753692    for( Int b=0; b<=1; b++ ) // loop over boolean options
     
    859798 
    860799  UInt  uiMaskStride= MAX_CU_SIZE;
    861 #if SEC_DBBP_FILTERING_H0104
    862800  Pel  filSrc = 0;
    863801  Pel* tmpTar = 0;
    864802  tmpTar = (Pel *)xMalloc(Pel, uiWidth*uiHeight);
    865 #endif
    866803 
    867804  // backup pointer
     
    877814     
    878815      // filtering
    879 #if SEC_DBBP_FILTERING_H0104
    880816      tmpTar[y*uiWidth+x] = piSrc[ucSegment][x];
    881 #else
    882       Bool t = (y==0)?pMaskStart[(y+1)*uiMaskStride+x]:pMaskStart[(y-1)*uiMaskStride+x];
    883       Bool l = (x==0)?pMaskStart[y*uiMaskStride+x+1]:pMaskStart[y*uiMaskStride+x-1];
    884       Bool b = (y==uiHeight-1)?pMaskStart[(y-1)*uiMaskStride+x]:pMaskStart[(y+1)*uiMaskStride+x];
    885       Bool r = (x==uiWidth-1)?pMaskStart[y*uiMaskStride+x-1]:pMaskStart[y*uiMaskStride+x+1];
    886      
    887       Bool bBlend = !((t&&l&&b&&r) || (!t&&!l&&!b&&!r));
    888       piDst[x] = bBlend?((piSrc[0][x]+piSrc[1][x]+1)>>1):piSrc[ucSegment][x];
    889 #endif
    890817    }
    891818   
    892819    piSrc[0]  += uiSrcStride;
    893820    piSrc[1]  += uiSrcStride;
    894 #if !SEC_DBBP_FILTERING_H0104
    895     piDst     += uiDstStride;
    896 #endif
    897821    pMask     += uiMaskStride;
    898822  }
    899823 
    900 #if SEC_DBBP_FILTERING_H0104
    901824  for (Int y=0; y<uiHeight; y++)
    902825  {
     
    933856  }
    934857  if ( tmpTar    ) { xFree(tmpTar);             tmpTar        = NULL; }
    935 #endif
    936858 
    937859  // now combine chroma
     
    944866  UInt  uiWidthC        = uiWidth >> 1;
    945867  UInt  uiHeightC       = uiHeight >> 1;
    946 #if SEC_DBBP_FILTERING_H0104
    947868  Pel  filSrcU = 0, filSrcV = 0;
    948869  Pel* tmpTarU = 0, *tmpTarV = 0;
    949870  tmpTarU = (Pel *)xMalloc(Pel, uiWidthC*uiHeightC);
    950871  tmpTarV = (Pel *)xMalloc(Pel, uiWidthC*uiHeightC);
    951 #endif
    952872  pMask = pMaskStart;
    953873 
     
    960880     
    961881      // filtering
    962 #if SEC_DBBP_FILTERING_H0104
    963882      tmpTarU[y*uiWidthC+x] = piSrcU[ucSegment][x];
    964883      tmpTarV[y*uiWidthC+x] = piSrcV[ucSegment][x];
    965 #else
    966       Bool t = (y==0)?pMaskStart[(y+1)*2*uiMaskStride+x*2]:pMaskStart[(y-1)*2*uiMaskStride+x*2];
    967       Bool l = (x==0)?pMaskStart[y*2*uiMaskStride+(x+1)*2]:pMaskStart[y*2*uiMaskStride+(x-1)*2];
    968       Bool b = (y==uiHeightC-1)?pMaskStart[(y-1)*2*uiMaskStride+x*2]:pMaskStart[(y+1)*2*uiMaskStride+x*2];
    969       Bool r = (x==uiWidthC-1)?pMaskStart[y*2*uiMaskStride+(x-1)*2]:pMaskStart[y*2*uiMaskStride+(x+1)*2];
    970      
    971       Bool bBlend = !((t&&l&&b&&r) || (!t&&!l&&!b&&!r));
    972      
    973       piDstU[x] = bBlend?((piSrcU[0][x]+piSrcU[1][x]+1)>>1):piSrcU[ucSegment][x];
    974       piDstV[x] = bBlend?((piSrcV[0][x]+piSrcV[1][x]+1)>>1):piSrcV[ucSegment][x];
    975 #endif
    976884    }
    977885   
     
    980888    piSrcV[0]   += uiSrcStrideC;
    981889    piSrcV[1]   += uiSrcStrideC;
    982 #if !SEC_DBBP_FILTERING_H0104
    983     piDstU      += uiDstStrideC;
    984     piDstV      += uiDstStrideC;
    985 #endif
    986890    pMask       += 2*uiMaskStride;
    987891  }
    988892
    989 #if SEC_DBBP_FILTERING_H0104
    990893  for (Int y=0; y<uiHeightC; y++)
    991894  {
     
    1035938  if ( tmpTarU    ) { xFree(tmpTarU);             tmpTarU        = NULL; }
    1036939  if ( tmpTarV    ) { xFree(tmpTarV);             tmpTarV        = NULL; }
    1037 #endif
    1038940}
    1039941#endif
     
    23282230  if (orgDC == false)
    23292231  {
    2330 #if !HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    2331     if ( getDimType(uiIntraMode) == DMM1_IDX )
    2332     {
    2333       UChar ucSegmentLT = pMask[0];
    2334       UChar ucSegmentRT = pMask[uiSize-1];
    2335       UChar ucSegmentLB = pMask[uiMaskStride * (uiSize-1)];
    2336       UChar ucSegmentRB = pMask[uiMaskStride * (uiSize-1) + (uiSize-1)];
    2337 
    2338       rpSegMeans[ucSegmentLT] = pOrig[0];
    2339       rpSegMeans[ucSegmentRT] = pOrig[uiSize-1];
    2340       rpSegMeans[ucSegmentLB] = pOrig[uiStride * (uiSize-1) ];
    2341       rpSegMeans[ucSegmentRB] = pOrig[uiStride * (uiSize-1) + (uiSize-1) ];
    2342     }
    2343     else if( getDimType( uiIntraMode ) == DMM4_IDX )
    2344     {
    2345       Pel *ptmpOrig = pOrig;
    2346       Bool *ptmpMask = pMask, bBreak = false;
    2347       UChar ucSegment = ptmpMask? (UChar) ptmpMask[0] : 0;
    2348       UChar bFirstSeg = ucSegment;
    2349 
    2350       rpSegMeans[ucSegment] = ptmpOrig[0];
    2351       for ( Int y = 0; y < uiSize; y++ )
    2352       {
    2353         for ( Int x = 0; x < uiSize; x++ )
    2354         {
    2355           ucSegment = ptmpMask[x];
    2356           assert( ucSegment < uiNumSegments );
    2357 
    2358           if( bFirstSeg != ucSegment )
    2359           {
    2360             rpSegMeans[ucSegment] = ptmpOrig[x];
    2361             bBreak = true;
    2362             break;
    2363           }
    2364         }
    2365 
    2366         if( bBreak )
    2367         {
    2368           break;
    2369         }
    2370 
    2371         ptmpOrig  += uiStride;
    2372         ptmpMask  += uiMaskStride;
    2373       }
    2374     }
    2375     else
    2376 #endif
    2377     {
    2378       Pel* pLeftTop = pOrig;
    2379       Pel* pRightTop = pOrig + (uiSize-1);
    2380       Pel* pLeftBottom = (pOrig+ (uiStride*(uiSize-1)));
    2381       Pel* pRightBottom = (pOrig+ (uiStride*(uiSize-1)) + (uiSize-1));
    2382 
    2383       rpSegMeans[0] = (*pLeftTop + *pRightTop + *pLeftBottom + *pRightBottom + 2)>>2;
    2384     }
     2232    Pel* pLeftTop = pOrig;
     2233    Pel* pRightTop = pOrig + (uiSize-1);
     2234    Pel* pLeftBottom = (pOrig+ (uiStride*(uiSize-1)));
     2235    Pel* pRightBottom = (pOrig+ (uiStride*(uiSize-1)) + (uiSize-1));
     2236
     2237    rpSegMeans[0] = (*pLeftTop + *pRightTop + *pLeftBottom + *pRightBottom + 2)>>2;
    23852238    return;
    23862239  }
  • branches/HTM-11.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r964 r967  
    339339#define SEC_VER_DONBDV_H0103              1   // Vertical DV Restriction for DoNBDV
    340340#endif
    341 
    342 #if H_3D_DIM
    343 #define HS_DMM_SDC_PREDICTOR_UNIFY_H0108  1   // Unification of DMM and SDC predictor derivation
    344 #define LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135  1 // Use only one context for CABAC of dim_not_present_flag
    345 #define QC_SIMP_DELTADC_CODING_H0131      1   // Simplify detaDC entropy coding
    346 
    347 #if H_3D_DIM_DLT
    348 #define SEC_NO_RESI_DLT_H0105             1
    349 #define MTK_DLT_CODING_FIX_H0091          1
    350 #endif
    351 #endif
    352 #if H_3D_DBBP
    353 #define MTK_DBBP_AMP_REM_H0072                 1
    354 #define RWTH_DBBP_NO_SPU_H0057                 1
    355 #define SEC_DBBP_FILTERING_H0104               1
    356 #define MTK_DBBP_SIGNALING_H0094               1   
    357 #endif
    358 
    359 #define MPI_SUBPU_DEFAULT_MV_H0077_H0099_H0111_H0133    1
    360341#endif
    361342
  • branches/HTM-11.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r964 r967  
    481481            READ_FLAG(uiCode, "inter_view_dlt_pred_enable_flag[ i ]");
    482482
    483 #if  MTK_DLT_CODING_FIX_H0091
    484483            if( uiCode )
    485484            {
    486485                assert( pcDLT->getUseDLTFlag( 1 ));
    487486            }
    488 #endif
    489 
    490487            pcDLT->setInterViewDltPredEnableFlag( i, (uiCode == 1) ? true : false );
    491488
  • branches/HTM-11.1-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r964 r967  
    797797    }
    798798   
    799 #if RWTH_DBBP_NO_SPU_H0057
    800799    AOF( pcCU->getARPW(uiPartAddr) == 0 );
    801800    AOF( pcCU->getICFlag(uiPartAddr) == false );
    802801    AOF( pcCU->getSPIVMPFlag(uiPartAddr) == false );
    803802    AOF( pcCU->getVSPFlag(uiPartAddr) == 0 );
    804 #else
    805     pDBBPTmpData->ahVSPFlag[uiSegment] = pcCU->getVSPFlag( uiPartAddr );
    806     pDBBPTmpData->acDvInfo[uiSegment] = pcCU->getDvInfo( uiPartAddr );
    807 #endif
    808803  }
    809804 
     
    814809  {
    815810    pcCU->setInterDirSubParts( pDBBPTmpData->auhInterDir[uiSegment], 0, 0, uiDepth );
    816    
    817 #if !RWTH_DBBP_NO_SPU_H0057
    818     pcCU->setVSPFlagSubParts( pDBBPTmpData->ahVSPFlag[uiSegment], 0, 0, uiDepth );
    819     pcCU->setDvInfoSubParts( pDBBPTmpData->acDvInfo[uiSegment], 0, 0, uiDepth );
    820 #endif
    821    
     811 
    822812    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
    823813    {
     
    839829   
    840830    pcCU->setDBBPFlagSubParts(true, uiPartAddr, uiSegment, uiDepth);
    841    
    842 #if !RWTH_DBBP_NO_SPU_H0057
    843     pcCU->setVSPFlagSubParts( pDBBPTmpData->ahVSPFlag[uiSegment], uiPartAddr, uiSegment, uiDepth );
    844     pcCU->setDvInfoSubParts( pDBBPTmpData->acDvInfo[uiSegment], uiPartAddr, uiSegment, uiDepth );
    845 #endif
    846    
    847831    pcCU->setInterDirSubParts(pDBBPTmpData->auhInterDir[uiSegment], uiPartAddr, uiSegment, uiDepth); // interprets depth relative to LCU level
    848832   
     
    946930    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    947931    {
    948 #if H_3D && !SEC_NO_RESI_DLT_H0105
    949       if ( useDltFlag )
    950       {
    951         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 ] ) );
    952       }
    953       else
    954       {
    955         pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
    956       }
    957 #else
    958932      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
    959 #endif
    960933      pRecIPred[ uiX ] = pReco[ uiX ];
    961934    }
     
    12571230  // get DC prediction for each segment
    12581231  Pel apDCPredValues[2];
    1259 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    12601232  if ( getDimType( uiLumaPredMode ) == DMM1_IDX || getDimType( uiLumaPredMode ) == DMM4_IDX )
    12611233  {
     
    12641236  }
    12651237  else
    1266 #endif
    1267   m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode);
     1238  {
     1239    m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode);
     1240  }
    12681241 
    12691242  // reconstruct residual based on mask + DC residuals
  • branches/HTM-11.1-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp

    r950 r967  
    140140#if H_3D_DBBP
    141141
    142 #if MTK_DBBP_SIGNALING_H0094
    143142  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) )
    144 #else
    145   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE )
    146 #endif
    147143  {
    148144    decodeDBBPFlag(pcCU, uiAbsPartIdx, uiDepth);
     
    150146    if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    151147    {
    152 #if !MTK_DBBP_SIGNALING_H0094
    153       AOF( pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE );
    154 #endif
    155148     
    156149      // get collocated depth block
     
    169162      pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth);
    170163     
    171 #if RWTH_DBBP_NO_SPU_H0057
    172164      // make sure that DBBP flag is set for both segments
    173165      UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxCUDepth() - uiDepth ) << 1 ) ) >> 4;
    174166      pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx, 0, uiDepth);
    175167      pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx+uiPUOffset, 1, uiDepth);
    176 #endif
    177168    }
    178169  }
  • branches/HTM-11.1-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r964 r967  
    386386    uiCount++;
    387387  }
    388 #if QC_SIMP_DELTADC_CODING_H0131
    389388  while( uiSymbol && ( uiCount != 3 ) );
    390 #else
    391   while( uiSymbol && ( uiCount != 13 ) );
    392 #endif
    393389  ruiSymbol = uiCount - 1;
    394390
     
    11371133  if( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() >> pcCU->getDepth( absPartIdx ) ) < 64 ) //DMM and HEVC intra modes are both allowed
    11381134  {
    1139 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135
    11401135    m_pcTDecBinIf->decodeBin( uiSymbol, m_cAngleFlagSCModel.get( 0, 0, 0 ) );
    1141 #else
    1142     m_pcTDecBinIf->decodeBin( uiSymbol, m_cAngleFlagSCModel.get( 0, 0, pcCU->getCtxAngleFlag( absPartIdx ) ) );
    1143 #endif
    11441136  }
    11451137  else
     
    21562148Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    21572149{
    2158 #if !MTK_DBBP_SIGNALING_H0094
    2159   PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    2160 #endif
    21612150  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
    21622151  AOF( !pcCU->getSlice()->getIsDepth() );
    2163 #if !MTK_DBBP_SIGNALING_H0094
    2164   AOF( ePartSize == RWTH_DBBP_PACK_MODE );
    2165 #endif
    21662152 
    21672153  UInt uiSymbol = 0;
  • branches/HTM-11.1-dev0/source/Lib/TLibDecoder/TDecSlice.cpp

    r950 r967  
    221221    }
    222222  }
    223 #if  MTK_DLT_CODING_FIX_H0091
     223#if  H_3D
    224224  if( pcSlice->getPPS()->getDLT() != NULL )
    225225  {
  • branches/HTM-11.1-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r964 r967  
    273273  WRITE_FLAG( pcPPS->getSliceHeaderExtensionPresentFlag() ? 1 : 0, "slice_segment_header_extension_present_flag");
    274274
    275   #if MTK_DLT_CODING_FIX_H0091
     275  #if H_3D
    276276    if(( !pcPPS->getSPS()->getVPS()->getDepthId( pcPPS->getSPS()->getLayerId() ) )||
    277277        pcPPS->getLayerId() != 1  )
  • branches/HTM-11.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp

    r950 r967  
    24002400    pDBBPTmpData->auhMergeIndex[uiSegment] = rpcTempCU->getMergeIndex(0);
    24012401   
    2402 #if RWTH_DBBP_NO_SPU_H0057
    24032402    AOF( rpcTempCU->getSPIVMPFlag(0) == false );
    24042403    AOF( rpcTempCU->getVSPFlag(0) == 0 );
    2405 #else
    2406     pDBBPTmpData->ahVSPFlag[uiSegment] = rpcTempCU->getVSPFlag(0);
    2407     pDBBPTmpData->acDvInfo[uiSegment] = rpcTempCU->getDvInfo(0);
    2408 #endif
    24092404   
    24102405    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     
    24372432    rpcTempCU->setMergeFlagSubParts(pDBBPTmpData->abMergeFlag[uiSegment], uiPartAddr, uiSegment, uhDepth);
    24382433    rpcTempCU->setMergeIndexSubParts(pDBBPTmpData->auhMergeIndex[uiSegment], uiPartAddr, uiSegment, uhDepth);
    2439    
    2440 #if !RWTH_DBBP_NO_SPU_H0057
    2441     rpcTempCU->setVSPFlagSubParts(pDBBPTmpData->ahVSPFlag[uiSegment], uiPartAddr, uiSegment, uhDepth);
    2442     rpcTempCU->setDvInfoSubParts(pDBBPTmpData->acDvInfo[uiSegment], uiPartAddr, uiSegment, uhDepth);
    2443 #endif
    2444    
     2434       
    24452435    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
    24462436    {
  • branches/HTM-11.1-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp

    r950 r967  
    255255 
    256256#if H_3D_DBBP
    257 
    258 #if MTK_DBBP_SIGNALING_H0094
    259257  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) )
    260 #else
    261   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE )
    262 #endif
    263258  {
    264259    encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD);
     
    266261    if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    267262    {
    268 #if !MTK_DBBP_SIGNALING_H0094
    269       AOF( pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE );
    270 #endif
    271263      // restore virtual partition size for DBBP blocks
    272264      pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth);
  • branches/HTM-11.1-dev0/source/Lib/TLibEncoder/TEncSbac.cpp

    r950 r967  
    482482    m_pcBinIf->encodeBin( 1, rcSCModel );
    483483    UInt uiCount = 0;
    484 #if QC_SIMP_DELTADC_CODING_H0131
    485484    Bool bNoExGo = ( uiSymbol < 3 );
    486485
    487486    while( --uiSymbol && ++uiCount < 3 )
    488 #else
    489     Bool bNoExGo = (uiSymbol < 13);
    490 
    491     while( --uiSymbol && ++uiCount < 13 )
    492 #endif
    493487    {
    494488      m_pcBinIf->encodeBin( 1, rcSCModel );
     
    12431237  if( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() >> pcCU->getDepth( absPartIdx ) ) < 64 ) //DMM and HEVC intra modes are both allowed
    12441238  {
    1245 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135
    12461239    m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, 0 ) );
    1247 #else
    1248     m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, pcCU->getCtxAngleFlag( absPartIdx ) ) );
    1249 #endif
    12501240  }
    12511241  if( isDimMode( dir ) )
     
    23732363Void TEncSbac::codeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    23742364{
    2375 #if !MTK_DBBP_SIGNALING_H0094
    2376   PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    2377   AOF( ePartSize == RWTH_DBBP_PACK_MODE );
    2378 #endif
    23792365  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
    23802366  AOF( !pcCU->getSlice()->getIsDepth() );
  • branches/HTM-11.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r964 r967  
    11461146        for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    11471147        {
    1148 #if H_3D_DIM && !SEC_NO_RESI_DLT_H0105
    1149           if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    1150           {
    1151             pResi[ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pOrg[ uiX ] ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] );
    1152           }
    1153           else
    1154           {
    1155             pResi[ uiX ] = pOrg[ uiX ] - pPred[ uiX ];
    1156           }
    1157 #else
    11581148          pResi[ uiX ] = pOrg[ uiX ] - pPred[ uiX ];
    1159 #endif
    11601149        }
    11611150        pOrg  += uiStride;
     
    12211210      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    12221211      {
    1223 #if H_3D_DIM && !SEC_NO_RESI_DLT_H0105
    1224         if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    1225         {
    1226           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 ] ) );
    1227         }
    1228         else
    1229         {
    1230           pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
    1231         }
    1232 #else
    12331212        pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
    1234 #endif
    12351213        pRecQt   [ uiX ] = pReco[ uiX ];
    12361214        pRecIPred[ uiX ] = pReco[ uiX ];
     
    19891967  // get DC prediction for each segment
    19901968  Pel apDCPredValues[2];
    1991 #if HS_DMM_SDC_PREDICTOR_UNIFY_H0108
    19921969  if ( getDimType( uiLumaPredMode ) == DMM1_IDX || getDimType( uiLumaPredMode ) == DMM4_IDX )
    19931970  {
     
    19961973  }
    19971974  else
    1998 #endif
    1999   analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode );
     1975  {
     1976    analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode );
     1977  }
     1978
    20001979
    20011980  // get original DC for each segment
     
    36743653      pcCU->setInterDirSubParts(pDBBPTmpData->auhInterDir[0], 0, 0, pcCU->getDepth(0)); // interprets depth relative to LCU level
    36753654     
    3676 #if !RWTH_DBBP_NO_SPU_H0057
    3677       pcCU->setVSPFlagSubParts(pDBBPTmpData->ahVSPFlag[0], 0, 0, pcCU->getDepth(0));
    3678       pcCU->setDvInfoSubParts(pDBBPTmpData->acDvInfo[0], 0, 0, pcCU->getDepth(0));
    3679 #endif
    3680      
    36813655      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
    36823656      {
Note: See TracChangeset for help on using the changeset viewer.