Changeset 786 in 3DVCSoftware for branches/HTM-9.3-dev1-Samsung/source


Ignore:
Timestamp:
21 Jan 2014, 05:04:54 (11 years ago)
Author:
samsung-htm
Message:

Integration of JCT3V-G0077: MCP Size (Only enabling SPIVMP with 2Nx2N PU & Change name of syntax element "log2_sub_pb_size_minus2" to "log2_sub_pb_size_minus3")

Location:
branches/HTM-9.3-dev1-Samsung/source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.3-dev1-Samsung/source/App/TAppEncoder/TAppEncCfg.cpp

    r779 r786  
    15151515#endif
    15161516#if H_3D_SPIVMP
     1517#if SEC_SPIVMP_MCP_SIZE_G0077
     1518  xConfirmPara( m_iSubPULog2Size < 3,                                        "SubPULog2Size must be 3 or greater.");
     1519#else
    15171520  xConfirmPara( m_iSubPULog2Size < 2,                                        "SubPULog2Size must be 2 or greater.");
     1521#endif
    15181522  xConfirmPara( m_iSubPULog2Size > 6,                                        "SubPULog2Size must be 6 or smaller.");
    15191523  xConfirmPara( (1<<m_iSubPULog2Size) > m_uiMaxCUWidth,                      "SubPULog2Size must be log2(maxCUSize) or smaller.");
  • branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.cpp

    r780 r786  
    44614461      if(!m_pcSlice->getIsDepth())
    44624462#endif
     4463#if SEC_SPIVMP_MCP_SIZE_G0077
     4464        if(getPartitionSize(0) == SIZE_2Nx2N)
     4465          pbSPIVMPFlag[iCount] = true;
     4466#else
    44634467      pbSPIVMPFlag[iCount] = true;
     4468#endif
    44644469      if( ( ivCandDir[0] & 1 ) == 1 )
    44654470      {
     
    71777182  {
    71787183#endif 
     7184#if SEC_SPIVMP_MCP_SIZE_G0077
     7185  if( getPartitionSize(0) == SIZE_2Nx2N )
     7186  {
     7187#endif
    71797188  Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight;
    71807189  getSPPara(iWidth, iHeight, iNumSP, iNumSPInOneLine, iSPWidth, iSPHeight);
     
    72937302    }
    72947303  } 
     7304#if SEC_SPIVMP_MCP_SIZE_G0077
     7305  }
     7306#endif
    72957307
    72967308  iCurrPosX  += ( iWidth  >> 1 );
     
    73137325 }
    73147326#if QC_DEPTH_MERGE_SIMP_G0127
     7327#if SEC_SPIVMP_MCP_SIZE_G0077
     7328  for(Int iLoopCan = ( (m_pcSlice->getIsDepth() || getPartitionSize(uiPartAddr) != SIZE_2Nx2N) ? 0 : 1 ); iLoopCan < ( 2 - m_pcSlice->getIsDepth() ); iLoopCan ++)
     7329#else
    73157330 for(Int iLoopCan = ( 1 - m_pcSlice->getIsDepth() ); iLoopCan < ( 2 - m_pcSlice->getIsDepth() ); iLoopCan ++)
     7331#endif
     7332#else
     7333#if SEC_SPIVMP_MCP_SIZE_G0077
     7334 for(Int iLoopCan = ( (m_pcSlice->getIsDepth() || getPartitionSize(uiPartAddr) != SIZE_2Nx2N) ? 0 : 1 ); iLoopCan < 2; iLoopCan ++)
    73167335#else
    73177336 for(Int iLoopCan = ( 1 - m_pcSlice->getIsDepth() ); iLoopCan < 2; iLoopCan ++)
    73187337#endif
     7338#endif
     7339#else
     7340#if SEC_SPIVMP_MCP_SIZE_G0077
     7341 for(Int iLoopCan = (getPartitionSize(uiPartAddr) == SIZE_2Nx2N ? 1 : 0); iLoopCan < 2; iLoopCan ++)
    73197342#else
    73207343  for(Int iLoopCan = 1; iLoopCan < 2; iLoopCan ++)
     7344#endif
    73217345#endif
    73227346#else
  • branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TypeDef.h

    r780 r786  
    203203///////////////////////////////////   DERIVED DEFINES /////////////////////////////////// 
    204204/////////////////////////////////////////////////////////////////////////////////////////
     205
     206#define SEC_SPIVMP_MCP_SIZE_G0077         1  // Apply SPIVMP only to 2Nx2N partition, JCT3V-G0077
    205207
    206208///// ***** VIEW SYNTHESIS OPTIMIZAION *********
  • branches/HTM-9.3-dev1-Samsung/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r779 r786  
    16971697        READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
    16981698#if H_3D_SPIVMP
     1699#if SEC_SPIVMP_MCP_SIZE_G0077
     1700        READ_UVLC (uiCode, "log2_sub_PU_size_minus3");     pcVPS->setSubPULog2Size(i, uiCode+3);
     1701#else
    16991702        READ_UVLC (uiCode, "log2_sub_PU_size_minus2");     pcVPS->setSubPULog2Size(i, uiCode+2);
     1703#endif
    17001704#endif
    17011705#endif
     
    17221726        if (i!=1)
    17231727        {
     1728#if SEC_SPIVMP_MCP_SIZE_G0077
     1729          READ_UVLC (uiCode, "log2_sub_PU_size_minus3[i]");     pcVPS->setSubPULog2Size(i, uiCode+3);
     1730#else
    17241731          READ_UVLC (uiCode, "log2_sub_PU_size_minus2[i]");     pcVPS->setSubPULog2Size(i, uiCode+2);
     1732#endif
    17251733        }
    17261734#endif
  • branches/HTM-9.3-dev1-Samsung/source/Lib/TLibEncoder/TEncCavlc.cpp

    r779 r786  
    15001500        WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
    15011501#if H_3D_SPIVMP
     1502#if SEC_SPIVMP_MCP_SIZE_G0077
     1503        WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
     1504#else
    15021505        WRITE_UVLC( pcVPS->getSubPULog2Size(i)-2, "log2_sub_PU_size_minus2[i]");
     1506#endif
    15031507#endif
    15041508#endif
     
    15221526        if (i!=1)
    15231527        {
     1528#if SEC_SPIVMP_MCP_SIZE_G0077
     1529          WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
     1530#else
    15241531          WRITE_UVLC( pcVPS->getSubPULog2Size(i)-2, "log2_sub_PU_size_minus2[i]");
     1532#endif
    15251533        }
    15261534#endif
Note: See TracChangeset for help on using the changeset viewer.