Changeset 530 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source


Ignore:
Timestamp:
8 Jul 2013, 19:40:03 (11 years ago)
Author:
mitsubishi-htm
Message:

-VSP remaining stuff wrapped up.
-4x4 VSP in effect.

Location:
branches/HTM-DEV-0.3-dev2/source/Lib
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp

    r529 r530  
    26452645                                     Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag )
    26462646{
    2647   if ( pDInfo->bDV == false || ucVspMergePos != H_3D_VSP_POSITION || 0 == m_pcSlice->getViewIndex() ||
    2648       !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || // Not to add the candidate if VSP is turned off
    2649        m_pcSlice->getIsDepth() ) // VSP is disabled for depth layers
     2647  if ( ucVspMergePos != H_3D_VSP_POSITION || 0 == m_pcSlice->getViewIndex() || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() )
    26502648    return false;
    26512649
     
    27262724      , Int* vspFlag
    27272725#endif
    2728       , Int& numValidMergeCand
    2729       , Int mrgCandIdx
     2726      , Int& numValidMergeCand, Int mrgCandIdx
    27302727)
    27312728{
     
    28312828#endif
    28322829          //pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx());
    2833 #if H_3D_CLEANUPS //Notes from QC: for BVSP coded blocks, the reference index shall not be equal to -1 due to the adoption of JCT3V-D0191
     2830#if H_3D_CLEANUPS
    28342831          pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx());
    28352832#else
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.h

    r519 r530  
    227227#if H_3D_VSP
    228228  Bool          xAddVspCand( UChar ucVspMergePos, Int mrgCandIdx, DisInfo* pDInfo, Int& iCount,
    229                              Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspIdxTrue );
     229                             Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag );
    230230#endif
    231231
     
    561561                                            , Int* vspFlag
    562562#endif
    563                                             , Int& numValidMergeCand
    564                                             , Int mrgCandIdx = -1 );
     563                                            , Int& numValidMergeCand, Int mrgCandIdx = -1 );
    565564#if H_3D_VSP
    566565  Char*         getVSPFlag        ()                        { return m_piVSPFlag;          }
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPrediction.cpp

    r529 r530  
    18351835
    18361836#if H_3D_VSP_CONSTRAINED
    1837 
    18381837Int TComPrediction::xGetConstrainedSize(Int nPbW, Int nPbH, Bool bLuma)
    18391838{
     
    18531852  return iSize;
    18541853}
    1855 
    1856 #endif
    1857 
    1858 
    1859 #endif
    1860 
     1854#endif // H_3D_VSP_CONSTRAINED
     1855
     1856#endif // H_3D_VSP
    18611857
    18621858//! \}
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPrediction.h

    r519 r530  
    8080
    8181#if H_3D_VSP
    82   Int*   m_pDepthBlock; ///< Local variable, to store a depth block, just to prevent allocate memory every time
     82  Int*   m_pDepthBlock;         ///< Store a depth block, local variable, to prevent memory allocation every time
    8383#if H_3D_VSP_CONSTRAINED
    8484  Int  xGetConstrainedSize(Int nPbW, Int nPbH, Bool bLuma = true);
     
    9191  // motion compensation functions
    9292#if H_3D_ARP
    93   Void xPredInterUniARP         ( TComDataCU* pcCU,                          UInt uiPartAddr,                    Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false, TComMvField * pNewMvFiled = NULL );
     93  Void xPredInterUniARP         ( TComDataCU* pcCU,                          UInt uiPartAddr,               Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false, TComMvField * pNewMvFiled = NULL );
    9494#endif
    95   Void xPredInterUni            ( TComDataCU* pcCU,                          UInt uiPartAddr,                    Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false          );
    96   Void xPredInterBi             ( TComDataCU* pcCU,                          UInt uiPartAddr,                    Int iWidth, Int iHeight,                         TComYuv*& rpcYuvPred );
     95  Void xPredInterUni            ( TComDataCU* pcCU,                          UInt uiPartAddr,               Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false          );
     96  Void xPredInterBi             ( TComDataCU* pcCU,                          UInt uiPartAddr,               Int iWidth, Int iHeight,                         TComYuv*& rpcYuvPred );
    9797#if H_3D_VSP
    98   Void xPredInterUniVSP         ( TComDataCU* pcCU,                          UInt uiPartAddr,                    Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false          );
    99   Void xPredInterBiVSP          ( TComDataCU* pcCU,                          UInt uiPartAddr,                    Int iWidth, Int iHeight,                         TComYuv*& rpcYuvPred );
     98  Void xPredInterUniVSP         ( TComDataCU* pcCU,                          UInt uiPartAddr,               Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false          );
     99  Void xPredInterBiVSP          ( TComDataCU* pcCU,                          UInt uiPartAddr,               Int iWidth, Int iHeight,                         TComYuv*& rpcYuvPred );
    100100#endif
    101101
     
    119119
    120120#if H_3D_VSP
    121   Void xPredInterLumaBlkFromDM  ( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth
    122                                 , TComYuv *&dstPic
    123                                 , Bool bi );
    124   Void xPredInterChromaBlkFromDM( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth
    125                                 , TComYuv *&dstPic
    126                                 , Bool bi );
     121  Void xPredInterLumaBlkFromDM  ( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth, TComYuv *&dstPic, Bool bi );
     122  Void xPredInterChromaBlkFromDM( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth, TComYuv *&dstPic, Bool bi );
    127123#endif
    128124
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TypeDef.h

    r525 r530  
    9999#define H_3D_NBDV_REF                     1   // Depth oriented neighboring block disparity derivation
    100100                                              // MTK_D0156
    101                                               // MERL_VSP_NBDV_RefVId_Fix_D0166
    102                                               // MERL_C0152
    103 #endif
    104 #define H_3D_VSP                          1   // View syntheis prediction, C0152, D0166, D0092,
     101                                              // MERL_D0166: Reference view selection in NBDV & Bi-VSP
     102                                              // MERL_C0152: Basic VSP
     103#endif
     104#define H_3D_VSP                          1   // View synthesis prediction
     105                                              // MERL_C0152: Basic VSP
     106                                              // MERL_D0166: Reference view selection in NBDV & Bi-VSP
    105107                                              // MTK_D0105, LG_D0139: No VSP for depth
    106                                               // MTK_D0156,
    107                                               // MERL_C0152: Basic VSP
    108108                                              // QC_D0191: Clean up
    109109                                              // LG_D0092: Multiple VSP candidate allowed
    110                                               // MTK_D0105: No VSP for depth. Single depth fetching for DoNBDV and VSP
    111                                               //
    112                                               //
    113110
    114111#if H_3D_VSP
    115112#define H_3D_VSP_POSITION                 3   // The only supported position
    116 #define H_3D_VSP_BLOCKSIZE                1   // Supported values: 1, 2, and 4
     113#define H_3D_VSP_BLOCKSIZE                4   // Supported values: 1, 2, and 4
    117114#if H_3D_VSP_BLOCKSIZE == 1
    118115#define H_3D_VSP_CONSTRAINED              1   // Constrained VSP @ 1x1
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp

    r521 r530  
    828828    }
    829829
    830     // A bug fix provided by Gerhard to deal with IBP configuration. NEED futher study
    831830#if H_MV
    832831    if( pcSlice->getIdrPicFlag() )
Note: See TracChangeset for help on using the changeset viewer.