Changeset 557 in 3DVCSoftware


Ignore:
Timestamp:
9 Aug 2013, 03:37:18 (11 years ago)
Author:
lg
Message:

integration of JCT3V-E0158 and JCT3V-E0159 by LGE

Location:
branches/HTM-DEV-2.0-dev3-LG
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev3-LG/source/Lib/TLibCommon/TComDataCU.cpp

    r554 r557  
    24892489  // check prediction mode
    24902490  UInt uiLumaPredMode = getLumaIntraDir( uiAbsPartIdx ); 
     2491#if LGE_SDC_REMOVE_DC_E0158
     2492  if( uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX && !isDimDeltaDC( uiLumaPredMode ) ) )
     2493#else
    24912494  if( uiLumaPredMode == DC_IDX || uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX && !isDimDeltaDC( uiLumaPredMode ) ) )
     2495#endif
    24922496    return true;
    24932497 
  • branches/HTM-DEV-2.0-dev3-LG/source/Lib/TLibCommon/TComRom.cpp

    r531 r557  
    347347{ //2x2   4x4   8x8 16x16 32x32 64x64
    348348     0,    7,   10,   11,   11,   13 };
     349#if LGE_PKU_DMM3_OVERLAP_E0159
     350const UChar g_dmm3IntraTabIdxBits[6] =
     351{ //2x2   4x4   8x8 16x16 32x32 64x64
     352     0,    4,    7,    8,    8,    0 };
     353#else
    349354const UChar g_dmm3IntraTabIdxBits[6] =
    350355{ //2x2   4x4   8x8 16x16 32x32 64x64
    351356     0,    6,    9,    9,    9,    0 };
     357#endif
    352358
    353359extern std::vector< std::vector<TComWedgelet> >   g_dmmWedgeLists;
  • branches/HTM-DEV-2.0-dev3-LG/source/Lib/TLibCommon/TypeDef.h

    r554 r557  
    179179                                              // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
    180180                                              // LG_ZEROINTRADEPTHRESI_A0087
     181#if H_3D_DIM_SDC
     182#define LGE_SDC_REMOVE_DC_E0158           1   // Removal of DC mode from SDC
     183#endif
     184#if H_3D_DIM_DMM
     185#define LGE_PKU_DMM3_OVERLAP_E0159        1   // Removal of overlap between DMM3 and DMM1
     186#endif
    181187#endif
    182188
  • branches/HTM-DEV-2.0-dev3-LG/source/Lib/TLibDecoder/TDecSbac.cpp

    r554 r557  
    12221222  if( puIdx == 2 )
    12231223  {
     1224#if !LGE_SDC_REMOVE_DC_E0158
    12241225    while( binNum < 2 && symbol )
     1226#endif
    12251227    {
    12261228      ctxDepthMode = puIdx*3 + binNum;
     
    12301232    }
    12311233         if( modeCode == 0 ) { dir = PLANAR_IDX; sdcFlag = 1;}
     1234#if LGE_SDC_REMOVE_DC_E0158
     1235    else if( modeCode == 1 ) { dir = 0;          sdcFlag = 0;}
     1236#else
    12321237    else if( modeCode == 2 ) { dir = 0;          sdcFlag = 0;}
    12331238    else if( modeCode == 3 ) { dir =     DC_IDX; sdcFlag = 1;}
     1239#endif
    12341240  }
    12351241  else if( puIdx == 0 )
     
    12781284      {
    12791285        binNum = 0;
     1286#if LGE_SDC_REMOVE_DC_E0158
     1287#if !SEC_DMM2_E0146
     1288        while( symbol && binNum < 2 )
     1289#endif
     1290#else
    12801291#if SEC_DMM2_E0146
    12811292        while( symbol && binNum < 2 )
    12821293#else
    12831294        while( symbol && binNum < 3 )
     1295#endif
    12841296#endif
    12851297        {
     
    12971309    else if( modeCode == 5  ) { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;}
    12981310    else if( modeCode == 6  ) { dir = (2*DMM3_IDX+DIM_OFFSET); sdcFlag = 0;}
     1311#if LGE_SDC_REMOVE_DC_E0158
     1312#if SEC_DMM2_E0146
     1313    else if( modeCode == 7 )  { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
     1314#else
     1315    else if( modeCode == 14 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
     1316    else if( modeCode == 15 ) { dir = (2*DMM2_IDX+DIM_OFFSET); sdcFlag = 0;}
     1317#endif
     1318#else
    12991319    else if( modeCode == 14 ) { dir =      DC_IDX;             sdcFlag = 1;}
    13001320#if SEC_DMM2_E0146
     
    13031323    else if( modeCode == 30 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
    13041324    else if( modeCode == 31 ) { dir = (2*DMM2_IDX+DIM_OFFSET); sdcFlag = 0;}
     1325#endif
    13051326#endif
    13061327  }
  • branches/HTM-DEV-2.0-dev3-LG/source/Lib/TLibEncoder/TEncSbac.cpp

    r554 r557  
    12611261Void TEncSbac::codeIntraDepthMode( TComDataCU* pcCU, UInt absPartIdx )
    12621262{
     1263#if LGE_SDC_REMOVE_DC_E0158
     1264#if SEC_DMM2_E0146
     1265  UInt codeWordTable[3][7] =    {{0, 0, 0, 2, 0,6, 7},{0, 2, 3, 4, 5, 6, 7},{0, 1, 0, 0, 0, 0, 0}};
     1266  UInt codeWordLenTable[3][7] = {{0, 1, 0, 2, 0,3, 3},{2, 3, 3, 3, 3, 3, 3},{1, 1, 0, 0, 0, 0, 0}};
     1267#else
     1268  UInt codeWordTable[3][8] =    { { 0, 0, 0, 2, 0, 6, 0, 7 }, { 0, 2, 3, 4, 5, 6, 15, 14 }, { 0, 1, 0, 0, 0, 0, 0, 0 } };
     1269  UInt codeWordLenTable[3][8] = { { 0, 1, 0, 2, 0, 3, 0, 3 }, { 2, 3, 3, 3, 3, 3,  4,  4 }, { 1, 1, 0, 0, 0, 0, 0, 0 } };
     1270#endif
     1271#else
    12631272#if SEC_DMM2_E0146
    12641273  UInt codeWordTable[3][8] =    {{0, 0, 0, 2, 0,6, 0, 7},{0, 2, 3, 4, 5, 6, 14, 15},{0, 2, 0, 0, 0, 0, 3, 0}};
     
    12681277  UInt codeWordLenTable[3][9] = {{0, 1, 0, 2, 0,3, 0, 0, 3},{2, 3, 3, 3, 3, 3,  4,  5,  5},{1, 2, 0, 0, 0, 0, 2, 0, 0}};
    12691278#endif
     1279#endif
    12701280  UInt dir = pcCU->getLumaIntraDir( absPartIdx );
    12711281  UInt puIdx = (pcCU->getWidth(absPartIdx) == 64) ? 2 : ( (pcCU->getPartitionSize(absPartIdx) == SIZE_NxN && pcCU->getWidth(absPartIdx) == 8) ? 0 : 1 );
     
    12831293    case DMM4_IDX: codeIdx = 4; break;
    12841294    case DMM3_IDX: codeIdx = 5; break;
     1295#if LGE_SDC_REMOVE_DC_E0158
     1296#if SEC_DMM2_E0146
     1297    case  RBC_IDX: codeIdx = 6; break;
     1298#else
     1299    case DMM2_IDX: codeIdx = 6; break;
     1300    case  RBC_IDX: codeIdx = 7; break;
     1301#endif
     1302#else
    12851303#if SEC_DMM2_E0146
    12861304    case  RBC_IDX: codeIdx = 7; break;
     
    12891307    case  RBC_IDX: codeIdx = 8; break;
    12901308#endif
     1309#endif
    12911310    default:                    break;
    12921311    }
     
    12991318    {
    13001319      case PLANAR_IDX:  codeIdx = 0; break;
     1320#if !LGE_SDC_REMOVE_DC_E0158
    13011321      case DC_IDX:      codeIdx = 6; break;
     1322#endif
    13021323      default:          codeIdx = 2; break;
    13031324    }
  • branches/HTM-DEV-2.0-dev3-LG/source/Lib/TLibEncoder/TEncSearch.cpp

    r554 r557  
    28642864          case( DMM3_IDX ):
    28652865            {
     2866#if LGE_PKU_DMM3_OVERLAP_E0159
     2867              TComPic*      pcPicTex = pcCU->getSlice()->getTexturePic();
     2868              TComDataCU* pcColTexCU = pcPicTex->getCU( pcCU->getAddr() );
     2869              UInt      uiTexPartIdx = pcCU->getZorderIdxInCU() + uiPartOffset;
     2870              Int   uiColTexIntraDir = pcColTexCU->isIntra( uiTexPartIdx ) ? pcColTexCU->getLumaIntraDir( uiTexPartIdx ) : 255;
     2871
     2872              if( uiColTexIntraDir > DC_IDX && uiColTexIntraDir < 35 )
     2873              {
     2874#endif
    28662875              UInt uiIntraTabIdx = 0;
    28672876              xSearchDmm3Wedge( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight, uiTabIdx, uiIntraTabIdx );
     
    28692878              pcCU->setDmm3IntraTabIdxSubParts( uiIntraTabIdx, uiPartOffset, uiDepth + uiInitTrDepth );
    28702879              biSegmentation = &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]);
     2880#if LGE_PKU_DMM3_OVERLAP_E0159
     2881              }
     2882#endif
    28712883            } break;
    28722884          case( DMM4_IDX ):
Note: See TracChangeset for help on using the changeset viewer.