Changeset 936 in 3DVCSoftware


Ignore:
Timestamp:
22 Apr 2014, 16:03:08 (10 years ago)
Author:
tech
Message:

Merged 10.2-dev2-MediaTek@930.

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

Legend:

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

    r884 r936  
    430430
    431431#if H_3D_DBBP
     432#if MTK_DBBP_SIGNALING_H0094
    432433static const UChar INIT_DBBP_FLAG[3][DBBP_NUM_FLAG_CTX] =
    433434{
    434   { CNU },
    435   { CNU },
    436   { CNU },
    437 };
    438 #endif
    439 
    440 #endif
     435  { 161 },
     436  { 161 },
     437  { 161 },
     438};
     439#else
     440static const UChar INIT_DBBP_FLAG[3][DBBP_NUM_FLAG_CTX] =
     441{
     442  { CNU },
     443  { CNU },
     444  { CNU },
     445};
     446#endif
     447#endif
     448
     449#endif
  • branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r935 r936  
    23522352   
    23532353    TComMv cDv = depthRefineFlag ? DvInfo.m_acDoNBDV : DvInfo.m_acNBDV;
     2354#if SEC_VER_DONBDV_H0103
     2355    if( depthRefineFlag )
     2356    {
     2357      cDv.setVer(0);
     2358    }
     2359#endif
    23542360   
    23552361    Int depthPosX = Clip3(0,   iPictureWidth - iWidth,  iBlkX + ((cDv.getHor()+2)>>2));
     
    42454251      && !bARPFlag
    42464252#endif
     4253#if RWTH_DBBP_NO_SPU_H0057
     4254      && !bDBBPFlag
     4255#endif
    42474256      )
    42484257    {
     
    42684277      && !bARPFlag
    42694278#endif
     4279#if RWTH_DBBP_NO_SPU_H0057
     4280      && !bDBBPFlag
     4281#endif
    42704282      )
    42714283    {
     
    42914303      && !bARPFlag
    42924304#endif
     4305#if RWTH_DBBP_NO_SPU_H0057
     4306      && !bDBBPFlag
     4307#endif
    42934308      )
    42944309    {
     
    43114326#if H_3D_ARP
    43124327      && !bARPFlag
     4328#endif
     4329#if RWTH_DBBP_NO_SPU_H0057
     4330      && !bDBBPFlag
    43134331#endif
    43144332      )
     
    43344352#if H_3D_ARP
    43354353      && !bARPFlag
     4354#endif
     4355#if RWTH_DBBP_NO_SPU_H0057
     4356      && !bDBBPFlag
    43364357#endif
    43374358      )
     
    51945215      (nPSW + nPSH > 12) &&
    51955216#endif
     5217#if RWTH_DBBP_NO_SPU_H0057
     5218      !bDBBPFlag &&
     5219#endif
    51965220#if ETRIKHU_CLEANUP_H0083
    51975221      xAddVspCand( mrgCandIdx, &cDisInfo, iCount ) )
     
    71697193
    71707194  TComMv      cDv = depthRefineFlag ? pDInfo->m_acDoNBDV : pDInfo->m_acNBDV;
     7195#if SEC_VER_DONBDV_H0103
     7196  if( depthRefineFlag )
     7197  {
     7198    cDv.setVer(0);
     7199  }
     7200#endif
    71717201
    71727202  Int         iBasePosX   = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (cDv.getHor() + 2 ) >> 2 ) );
     
    73087338
    73097339  TComMv      cDv = depthRefineFlag ? pDInfo->m_acDoNBDV : pDInfo->m_acNBDV;
     7340#if SEC_VER_DONBDV_H0103
     7341  if( depthRefineFlag )
     7342  {
     7343    cDv.setVer(0);
     7344  }
     7345#endif
    73107346
    73117347  Bool abPdmAvailable[8] =  {false, false, false, false, false, false, false, false};
  • branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComDataCU.h

    r935 r936  
    7070  Bool        abMergeFlag[2];       // for two segments
    7171  UChar       auhMergeIndex[2];     // for two segments
     72#if !RWTH_DBBP_NO_SPU_H0057
    7273  Char        ahVSPFlag[2];         // for two segments
    7374  DisInfo     acDvInfo[2];          // for two segments
     75#endif
    7476 
    7577  PartSize    eVirtualPartSize;
  • branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComPrediction.cpp

    r935 r936  
    643643 
    644644  // start mapping process
     645#if !MTK_DBBP_AMP_REM_H0072
    645646  Bool bAMPAvail = uiSize > 8;
    646647  Int matchedPartSum[6][2] = {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}; // counter for each part size and boolean option
    647648  PartSize virtualPartSizes[6] = { SIZE_Nx2N, SIZE_2NxN, SIZE_2NxnU, SIZE_2NxnD, SIZE_nLx2N, SIZE_nRx2N };
     649#else
     650  Int matchedPartSum[2][2] = {{0,0},{0,0}}; // counter for each part size and boolean option
     651  PartSize virtualPartSizes[2] = { SIZE_Nx2N, SIZE_2NxN};
     652#endif
    648653 
    649654  UInt uiHalfSize = uiSize>>1;
     655#if !MTK_DBBP_AMP_REM_H0072
    650656  UInt uiQuarterSize = uiSize>>2;
     657#endif
    651658 
    652659  for (Int y=0; y<uiSize; y+=iSubSample)
     
    681688      }
    682689     
     690#if !MTK_DBBP_AMP_REM_H0072
    683691      if( bAMPAvail )
    684692      {
     
    723731        }
    724732      }
     733#endif
    725734    }
    726735   
     
    732741 
    733742  Int iMaxMatchSum = 0;
    734   for(Int p=0; p<6; p++)  // loop over partition sizes
     743#if !MTK_DBBP_AMP_REM_H0072
     744  for(Int p=0; p<6; p++)  // loop over partition
     745#else
     746  for(Int p=0; p<2; p++)  // loop over partition
     747#endif
    735748  {
    736749    for( Int b=0; b<=1; b++ ) // loop over boolean options
     
    842855 
    843856  UInt  uiMaskStride= MAX_CU_SIZE;
     857#if SEC_DBBP_FILTERING_H0104
     858  Pel  filSrc = 0;
     859  Pel* tmpTar = 0;
     860  tmpTar = (Pel *)xMalloc(Pel, uiWidth*uiHeight);
     861#endif
    844862 
    845863  // backup pointer
     
    855873     
    856874      // filtering
     875#if SEC_DBBP_FILTERING_H0104
     876      tmpTar[y*uiWidth+x] = piSrc[ucSegment][x];
     877#else
    857878      Bool t = (y==0)?pMaskStart[(y+1)*uiMaskStride+x]:pMaskStart[(y-1)*uiMaskStride+x];
    858879      Bool l = (x==0)?pMaskStart[y*uiMaskStride+x+1]:pMaskStart[y*uiMaskStride+x-1];
     
    862883      Bool bBlend = !((t&&l&&b&&r) || (!t&&!l&&!b&&!r));
    863884      piDst[x] = bBlend?((piSrc[0][x]+piSrc[1][x]+1)>>1):piSrc[ucSegment][x];
     885#endif
    864886    }
    865887   
    866888    piSrc[0]  += uiSrcStride;
    867889    piSrc[1]  += uiSrcStride;
     890#if !SEC_DBBP_FILTERING_H0104
    868891    piDst     += uiDstStride;
     892#endif
    869893    pMask     += uiMaskStride;
    870894  }
     895 
     896#if SEC_DBBP_FILTERING_H0104
     897  for (Int y=0; y<uiHeight; y++)
     898  {
     899    for (Int x=0; x<uiWidth; x++)
     900    {
     901      Bool t = (y==0)?pMaskStart[y*uiMaskStride+x]:pMaskStart[(y-1)*uiMaskStride+x];
     902      Bool l = (x==0)?pMaskStart[y*uiMaskStride+x]:pMaskStart[y*uiMaskStride+x-1];
     903      Bool b = (y==uiHeight-1)?pMaskStart[y*uiMaskStride+x]:pMaskStart[(y+1)*uiMaskStride+x];
     904      Bool r = (x==uiWidth-1)?pMaskStart[y*uiMaskStride+x]:pMaskStart[y*uiMaskStride+x+1];
     905      Bool c =pMaskStart[y*uiMaskStride+x];
     906
     907      Pel left, right, top, bottom;
     908      left   = (x==0)          ? tmpTar[y*uiWidth+x] : tmpTar[y*uiWidth+x-1];
     909      right  = (x==uiWidth-1)  ? tmpTar[y*uiWidth+x] : tmpTar[y*uiWidth+x+1];
     910      top    = (y==0)          ? tmpTar[y*uiWidth+x] : tmpTar[(y-1)*uiWidth+x];
     911      bottom = (y==uiHeight-1) ? tmpTar[y*uiWidth+x] : tmpTar[(y+1)*uiWidth+x];
     912
     913      if(!((l&&r&&c) || (!l&&!r&&!c)))
     914      {
     915        filSrc = Clip3( Pel( 0 ), Pel( 255 ), Pel(( left + (tmpTar[y*uiWidth+x] << 1) + right ) >> 2 ));
     916      }
     917      else
     918      {
     919        filSrc = tmpTar[y*uiWidth+x];
     920      }
     921
     922      if(!((t&&b&&c) || (!t&&!b&&!c)))
     923      {
     924        filSrc = Clip3( Pel( 0 ), Pel( 255 ), Pel(( top + (filSrc << 1) + bottom ) >> 2 ));
     925      }
     926      piDst[x] = filSrc;
     927    }
     928    piDst     += uiDstStride;
     929  }
     930  if ( tmpTar    ) { xFree(tmpTar);             tmpTar        = NULL; }
     931#endif
    871932 
    872933  // now combine chroma
     
    879940  UInt  uiWidthC        = uiWidth >> 1;
    880941  UInt  uiHeightC       = uiHeight >> 1;
     942#if SEC_DBBP_FILTERING_H0104
     943  Pel  filSrcU = 0, filSrcV = 0;
     944  Pel* tmpTarU = 0, *tmpTarV = 0;
     945  tmpTarU = (Pel *)xMalloc(Pel, uiWidthC*uiHeightC);
     946  tmpTarV = (Pel *)xMalloc(Pel, uiWidthC*uiHeightC);
     947#endif
    881948  pMask = pMaskStart;
    882949 
     
    889956     
    890957      // filtering
     958#if SEC_DBBP_FILTERING_H0104
     959      tmpTarU[y*uiWidthC+x] = piSrcU[ucSegment][x];
     960      tmpTarV[y*uiWidthC+x] = piSrcV[ucSegment][x];
     961#else
    891962      Bool t = (y==0)?pMaskStart[(y+1)*2*uiMaskStride+x*2]:pMaskStart[(y-1)*2*uiMaskStride+x*2];
    892963      Bool l = (x==0)?pMaskStart[y*2*uiMaskStride+(x+1)*2]:pMaskStart[y*2*uiMaskStride+(x-1)*2];
     
    898969      piDstU[x] = bBlend?((piSrcU[0][x]+piSrcU[1][x]+1)>>1):piSrcU[ucSegment][x];
    899970      piDstV[x] = bBlend?((piSrcV[0][x]+piSrcV[1][x]+1)>>1):piSrcV[ucSegment][x];
     971#endif
    900972    }
    901973   
     
    904976    piSrcV[0]   += uiSrcStrideC;
    905977    piSrcV[1]   += uiSrcStrideC;
     978#if !SEC_DBBP_FILTERING_H0104
    906979    piDstU      += uiDstStrideC;
    907980    piDstV      += uiDstStrideC;
     981#endif
    908982    pMask       += 2*uiMaskStride;
    909983  }
     984
     985#if SEC_DBBP_FILTERING_H0104
     986  for (Int y=0; y<uiHeightC; y++)
     987  {
     988    for (Int x=0; x<uiWidthC; x++)
     989    {
     990      Bool t = (y==0)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[(y-1)*2*uiMaskStride+x*2];
     991      Bool l = (x==0)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[y*2*uiMaskStride+(x-1)*2];
     992      Bool b = (y==uiHeightC-1)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[(y+1)*2*uiMaskStride+x*2];
     993      Bool r = (x==uiWidthC-1)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[y*2*uiMaskStride+(x+1)*2];
     994      Bool c =pMaskStart[y*2*uiMaskStride+x*2];
     995
     996      Pel leftU, rightU, topU, bottomU;
     997      leftU   = (x==0)           ? tmpTarU[y*uiWidthC+x] : tmpTarU[y*uiWidthC+x-1];
     998      rightU  = (x==uiWidthC-1)  ? tmpTarU[y*uiWidthC+x] : tmpTarU[y*uiWidthC+x+1];
     999      topU    = (y==0)           ? tmpTarU[y*uiWidthC+x] : tmpTarU[(y-1)*uiWidthC+x];
     1000      bottomU = (y==uiHeightC-1) ? tmpTarU[y*uiWidthC+x] : tmpTarU[(y+1)*uiWidthC+x];
     1001
     1002      Pel leftV, rightV, topV, bottomV;
     1003      leftV   = (x==0)           ? tmpTarV[y*uiWidthC+x] : tmpTarV[y*uiWidthC+x-1];
     1004      rightV  = (x==uiWidthC-1)  ? tmpTarV[y*uiWidthC+x] : tmpTarV[y*uiWidthC+x+1];
     1005      topV    = (y==0)           ? tmpTarV[y*uiWidthC+x] : tmpTarV[(y-1)*uiWidthC+x];
     1006      bottomV = (y==uiHeightC-1) ? tmpTarV[y*uiWidthC+x] : tmpTarV[(y+1)*uiWidthC+x];
     1007
     1008      if(!((l&&r&&c) || (!l&&!r&&!c)))
     1009      {
     1010        filSrcU = Clip3( Pel( 0 ), Pel( 255 ), Pel(( leftU + (tmpTarU[y*uiWidthC+x] << 1) + rightU ) >> 2 ));
     1011        filSrcV = Clip3( Pel( 0 ), Pel( 255 ), Pel(( leftV + (tmpTarV[y*uiWidthC+x] << 1) + rightV ) >> 2 ));
     1012      }
     1013      else
     1014      {
     1015        filSrcU = tmpTarU[y*uiWidthC+x];
     1016        filSrcV = tmpTarV[y*uiWidthC+x];
     1017      }
     1018
     1019      if(!((t&&b&&c) || (!t&&!b&&!c)))
     1020      {
     1021        filSrcU = Clip3( Pel( 0 ), Pel( 255 ), Pel(( topU + (filSrcU << 1) + bottomU ) >> 2 ));
     1022        filSrcV = Clip3( Pel( 0 ), Pel( 255 ), Pel(( topV + (filSrcV << 1) + bottomV ) >> 2 ));
     1023      }
     1024
     1025      piDstU[x] = filSrcU;
     1026      piDstV[x] = filSrcV;
     1027    }
     1028    piDstU      += uiDstStrideC;
     1029    piDstV      += uiDstStrideC;
     1030  }
     1031  if ( tmpTarU    ) { xFree(tmpTarU);             tmpTarU        = NULL; }
     1032  if ( tmpTarV    ) { xFree(tmpTarV);             tmpTarV        = NULL; }
     1033#endif
    9101034}
    9111035#endif
  • branches/HTM-10.2-dev0/source/Lib/TLibCommon/TypeDef.h

    r935 r936  
    260260#define DVFROM_ABOVE                      1
    261261#define IDV_CANDS                         2
     262#define SEC_VER_DONBDV_H0103              1   // Vertical DV Restriction for DoNBDV
    262263#endif
    263264
     
    275276#if H_3D_DIM_DLT
    276277#define H_3D_DELTA_DLT                    1
     278#define SEC_NO_RESI_DLT_H0105             1
     279#define MTK_DLT_CODING_FIX_H0091          1
    277280#endif
    278281#define H_3D_DIM_ENC                      1   // Depth Intra encoder optimizations, includes:
     
    303306#define DBBP_INVALID_SHORT                (-4)
    304307#define RWTH_DBBP_PACK_MODE               SIZE_2NxN
     308#define MTK_DBBP_AMP_REM_H0072                 1
     309#define RWTH_DBBP_NO_SPU_H0057                 1
     310#define SEC_DBBP_FILTERING_H0104               1
     311#define MTK_DBBP_SIGNALING_H0094               1   
    305312#endif
    306313
  • branches/HTM-10.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r884 r936  
    440440
    441441            READ_FLAG(uiCode, "inter_view_dlt_pred_enable_flag[ i ]");
     442
     443#if  MTK_DLT_CODING_FIX_H0091
     444            if( uiCode )
     445            {
     446                assert( pcDLT->getUseDLTFlag( 1 ));
     447            }
     448#endif
     449
    442450            pcDLT->setInterViewDltPredEnableFlag( i, (uiCode == 1) ? true : false );
    443451
  • branches/HTM-10.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r935 r936  
    794794    }
    795795   
     796#if RWTH_DBBP_NO_SPU_H0057
     797    AOF( pcCU->getARPW(uiPartAddr) == 0 );
     798    AOF( pcCU->getICFlag(uiPartAddr) == false );
     799    AOF( pcCU->getSPIVMPFlag(uiPartAddr) == false );
     800    AOF( pcCU->getVSPFlag(uiPartAddr) == 0 );
     801#else
    796802    pDBBPTmpData->ahVSPFlag[uiSegment] = pcCU->getVSPFlag( uiPartAddr );
    797803    pDBBPTmpData->acDvInfo[uiSegment] = pcCU->getDvInfo( uiPartAddr );
     804#endif
    798805  }
    799806 
     
    805812    pcCU->setInterDirSubParts( pDBBPTmpData->auhInterDir[uiSegment], 0, 0, uiDepth );
    806813   
     814#if !RWTH_DBBP_NO_SPU_H0057
    807815    pcCU->setVSPFlagSubParts( pDBBPTmpData->ahVSPFlag[uiSegment], 0, 0, uiDepth );
    808816    pcCU->setDvInfoSubParts( pDBBPTmpData->acDvInfo[uiSegment], 0, 0, uiDepth );
     817#endif
    809818   
    810819    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     
    828837    pcCU->setDBBPFlagSubParts(true, uiPartAddr, uiSegment, uiDepth);
    829838   
     839#if !RWTH_DBBP_NO_SPU_H0057
    830840    pcCU->setVSPFlagSubParts( pDBBPTmpData->ahVSPFlag[uiSegment], uiPartAddr, uiSegment, uiDepth );
    831841    pcCU->setDvInfoSubParts( pDBBPTmpData->acDvInfo[uiSegment], uiPartAddr, uiSegment, uiDepth );
     842#endif
    832843   
    833844    pcCU->setInterDirSubParts(pDBBPTmpData->auhInterDir[uiSegment], uiPartAddr, uiSegment, uiDepth); // interprets depth relative to LCU level
     
    932943    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    933944    {
    934 #if H_3D
     945#if H_3D && !SEC_NO_RESI_DLT_H0105
    935946      if ( useDltFlag )
    936947      {
  • branches/HTM-10.2-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp

    r935 r936  
    139139 
    140140#if H_3D_DBBP
     141
     142#if MTK_DBBP_SIGNALING_H0094
     143  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) )
     144#else
    141145  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE )
     146#endif
    142147  {
    143148    decodeDBBPFlag(pcCU, uiAbsPartIdx, uiDepth);
     
    145150    if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    146151    {
     152#if !MTK_DBBP_SIGNALING_H0094
    147153      AOF( pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE );
     154#endif
    148155     
    149156      // get collocated depth block
     
    161168     
    162169      pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth);
     170     
     171#if RWTH_DBBP_NO_SPU_H0057
     172      // make sure that DBBP flag is set for both segments
     173      UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxCUDepth() - uiDepth ) << 1 ) ) >> 4;
     174      pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx, 0, uiDepth);
     175      pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx+uiPUOffset, 1, uiDepth);
     176#endif
    163177    }
    164178  }
  • branches/HTM-10.2-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r935 r936  
    21412141Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    21422142{
     2143#if !MTK_DBBP_SIGNALING_H0094
    21432144  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
     2145#endif
    21442146  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
    21452147  AOF( !pcCU->getSlice()->getIsDepth() );
     2148#if !MTK_DBBP_SIGNALING_H0094
    21462149  AOF( ePartSize == RWTH_DBBP_PACK_MODE );
     2150#endif
    21472151 
    21482152  UInt uiSymbol = 0;
  • branches/HTM-10.2-dev0/source/Lib/TLibDecoder/TDecSlice.cpp

    r872 r936  
    221221    }
    222222  }
     223#if  MTK_DLT_CODING_FIX_H0091
     224  if( pcSlice->getPPS()->getDLT() != NULL )
     225  {
     226      assert( pcSlice->getSPS()->getBitDepthY() == pcSlice->getPPS()->getDLT()->getDepthViewBitDepth() );
     227  }
     228#endif
    223229  for( Int iCUAddr = iStartCUAddr; !uiIsLast && iCUAddr < rpcPic->getNumCUsInFrame(); iCUAddr = rpcPic->getPicSym()->xCalculateNxtCUAddr(iCUAddr) )
    224230  {
  • branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r884 r936  
    272272  WRITE_FLAG( pcPPS->getSliceHeaderExtensionPresentFlag() ? 1 : 0, "slice_segment_header_extension_present_flag");
    273273
     274  #if MTK_DLT_CODING_FIX_H0091
     275    if(( !pcPPS->getSPS()->getVPS()->getDepthId( pcPPS->getSPS()->getLayerId() ) )||
     276        pcPPS->getLayerId() != 1  )
     277    {
     278        pcPPS->setPpsExtensionTypeFlag( PPS_EX_T_3D, false );
     279    }
     280  #endif
     281
    274282#if !H_MV
    275283  WRITE_FLAG( 0, "pps_extension_flag" );
  • branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncCu.cpp

    r935 r936  
    23972397    pDBBPTmpData->auhMergeIndex[uiSegment] = rpcTempCU->getMergeIndex(0);
    23982398   
     2399#if RWTH_DBBP_NO_SPU_H0057
     2400    AOF( rpcTempCU->getSPIVMPFlag(0) == false );
     2401    AOF( rpcTempCU->getVSPFlag(0) == 0 );
     2402#else
    23992403    pDBBPTmpData->ahVSPFlag[uiSegment] = rpcTempCU->getVSPFlag(0);
    24002404    pDBBPTmpData->acDvInfo[uiSegment] = rpcTempCU->getDvInfo(0);
     2405#endif
    24012406   
    24022407    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     
    24302435    rpcTempCU->setMergeIndexSubParts(pDBBPTmpData->auhMergeIndex[uiSegment], uiPartAddr, uiSegment, uhDepth);
    24312436   
     2437#if !RWTH_DBBP_NO_SPU_H0057
    24322438    rpcTempCU->setVSPFlagSubParts(pDBBPTmpData->ahVSPFlag[uiSegment], uiPartAddr, uiSegment, uhDepth);
    24332439    rpcTempCU->setDvInfoSubParts(pDBBPTmpData->acDvInfo[uiSegment], uiPartAddr, uiSegment, uhDepth);
     2440#endif
    24342441   
    24352442    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
  • branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp

    r884 r936  
    246246 
    247247#if H_3D_DBBP
     248
     249#if MTK_DBBP_SIGNALING_H0094
     250  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) )
     251#else
    248252  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE )
     253#endif
    249254  {
    250255    encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD);
     
    252257    if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    253258    {
     259#if !MTK_DBBP_SIGNALING_H0094
    254260      AOF( pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE );
     261#endif
    255262      // restore virtual partition size for DBBP blocks
    256263      pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth);
  • branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncSbac.cpp

    r884 r936  
    23562356Void TEncSbac::codeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    23572357{
     2358#if !MTK_DBBP_SIGNALING_H0094
    23582359  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    23592360  AOF( ePartSize == RWTH_DBBP_PACK_MODE );
     2361#endif
    23602362  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
    23612363  AOF( !pcCU->getSlice()->getIsDepth() );
  • branches/HTM-10.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r935 r936  
    11461146        for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    11471147        {
    1148 #if H_3D_DIM
     1148#if H_3D_DIM && !SEC_NO_RESI_DLT_H0105
    11491149          if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    11501150          {
     
    12211221      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    12221222      {
    1223 #if H_3D_DIM
     1223#if H_3D_DIM && !SEC_NO_RESI_DLT_H0105
    12241224        if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    12251225        {
     
    36663666      pcCU->setInterDirSubParts(pDBBPTmpData->auhInterDir[0], 0, 0, pcCU->getDepth(0)); // interprets depth relative to LCU level
    36673667     
     3668#if !RWTH_DBBP_NO_SPU_H0057
    36683669      pcCU->setVSPFlagSubParts(pDBBPTmpData->ahVSPFlag[0], 0, 0, pcCU->getDepth(0));
    36693670      pcCU->setDvInfoSubParts(pDBBPTmpData->acDvInfo[0], 0, 0, pcCU->getDepth(0));
     3671#endif
    36703672     
    36713673      for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
Note: See TracChangeset for help on using the changeset viewer.