Index: /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp	(revision 1038)
@@ -3921,5 +3921,5 @@
 Void TComDataCU::getInterMergeCandidates( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours
 #endif
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_79
       , InheritedVSPDisInfo*  inheritedVSPDisInfo
 #endif
@@ -3951,8 +3951,10 @@
   //////////////////////////////////
   DisInfo cDisInfo = getDvInfo(uiAbsPartIdx);
+#if !FIX_TICKET_79
   for(Int i = 0; i < MRG_MAX_NUM_CANDS_MEM; i++)
   {
     inheritedVSPDisInfo[i].m_acDvInfo = cDisInfo;   // To prevent run-time error, this code must be executed always for merging process.
   }
+#endif
   m_cDefaultDisInfo = cDisInfo;
 
Index: /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.h
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.h	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.h	(revision 1038)
@@ -670,5 +670,5 @@
   Void          getInterMergeCandidates ( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMFieldNeighbours, UChar* puhInterDirNeighbours
 #endif
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_79
                                             , InheritedVSPDisInfo*  inheritedVSPDisInfo
 #endif
Index: /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComMotionInfo.h
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComMotionInfo.h	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComMotionInfo.h	(revision 1038)
@@ -79,5 +79,5 @@
 } IDVInfo;
 #endif
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_79
 typedef struct _InheritedVSPDisCand 
 {
Index: /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TypeDef.h	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibCommon/TypeDef.h	(revision 1038)
@@ -284,4 +284,6 @@
 
 // Fixes
+#define FIX_TICKET_79                     1    // Unused VSP code
+#define FIX_TICKET_75                     1    // Bi-pred restriction bug in VSP
 #define FIX_TICKET_68                     1    // MV clipping bug in the sub-PU MPI default MV generation
 #define FIX_TICKET_71                     1    // IC parameters is meaningless in HTM when no training samples are available
Index: /branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp	(revision 1038)
@@ -420,5 +420,7 @@
     Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
+#if !FIX_TICKET_79
     InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
+#endif
 #if H_3D_SPIVMP
     Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
@@ -432,5 +434,7 @@
     m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours 
+#if !FIX_TICKET_79
       , inheritedVSPDisInfo
+#endif
 #if H_3D_SPIVMP
       , pcMvFieldSP, puhInterDirSP
@@ -453,5 +457,5 @@
 #endif
 #endif
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_79
     if(vspFlag[uiMergeIndex])
     {
Index: /branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 1038)
@@ -311,5 +311,7 @@
           Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
           memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
+#if !FIX_TICKET_79
           InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
+#endif
 #if H_3D_SPIVMP
           memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
@@ -318,5 +320,7 @@
           pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
           pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
+#if !FIX_TICKET_79
             , inheritedVSPDisInfo
+#endif
 #if H_3D_SPIVMP
             , pcMvFieldSP, puhInterDirSP
@@ -330,8 +334,10 @@
           pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
 
+#if !FIX_TICKET_79
           if(vspFlag[uiMergeIndex])
           {
             pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth);
           }
+#endif
 #else
 #if H_3D
@@ -354,5 +360,7 @@
         Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
         memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
+#if !FIX_TICKET_79
         InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
+#endif
 #if H_3D_SPIVMP
         memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
@@ -361,5 +369,7 @@
         pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
         pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
+#if !FIX_TICKET_79
           , inheritedVSPDisInfo
+#endif
 #if H_3D_SPIVMP
           , pcMvFieldSP, puhInterDirSP
@@ -372,8 +382,10 @@
           ,numValidMergeCand );
         pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
+#if !FIX_TICKET_79
         if(vspFlag[uiMergeIndex])
         {
           pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth);
         }
+#endif
 #else
 #if H_3D
@@ -473,5 +485,5 @@
 #endif
     }
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_75
     if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) && (pcCU->getVSPFlag(uiSubPartIdx) == 0))
 #else
Index: /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncCu.cpp
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1038)
@@ -1859,5 +1859,7 @@
     Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
+#if !FIX_TICKET_79
     InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
+#endif
 #if H_3D_SPIVMP
     Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
@@ -1872,5 +1874,7 @@
     rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
     rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
+#if !FIX_TICKET_79
       , inheritedVSPDisInfo
+#endif
 #if H_3D_SPIVMP
       , pcMvFieldSP, puhInterDirSP
@@ -1887,6 +1891,11 @@
 
 #else
+#if FIX_TICKET_79
+    rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, numValidMergeCand );
+#else
     rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand );
 #endif
+#endif
+
 
 #endif
@@ -1929,5 +1938,7 @@
 #if H_3D_VSP
           rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth );
+#if !FIX_TICKET_79
           rpcTempCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, 0, 0, uhDepth );
+#endif
 #endif
 #if H_3D_DDD
Index: /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 1038)
@@ -4009,5 +4009,7 @@
 #if H_3D_VSP
                                  , Int* vspFlag
+#if !FIX_TICKET_79
                                  , InheritedVSPDisInfo*  inheritedVSPDisInfo
+#endif
 #endif
 #if H_3D_SPIVMP
@@ -4069,5 +4071,5 @@
       pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand);
       pcCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_79
                                         , inheritedVSPDisInfo
 #endif
@@ -4099,5 +4101,5 @@
     pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand);
     pcCU->xGetInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_79
                                       , inheritedVSPDisInfo
 #endif
@@ -4122,5 +4124,5 @@
 #endif
   }
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_75
   xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours,vspFlag, numValidMergeCand );
 #else
@@ -4154,5 +4156,7 @@
 #if H_3D_VSP
     pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
+#if !FIX_TICKET_79
     pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
+#endif
 #endif
 
@@ -4254,5 +4258,5 @@
  * \returns Void
  */
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_75
 Void TEncSearch::xRestrictBipredMergeCand( TComDataCU* pcCU, UInt puIdx, TComMvField* mvFieldNeighbours, UChar* interDirNeighbours, Int* vspFlag, Int numValidMergeCand )
 #else
@@ -4264,5 +4268,5 @@
     for( UInt mergeCand = 0; mergeCand < numValidMergeCand; ++mergeCand )
     {
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_75
       if ( (interDirNeighbours[mergeCand] == 3) && (vspFlag[mergeCand] == false) )
 #else
@@ -4890,5 +4894,7 @@
       Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
       memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
+#if !FIX_TICKET_79
       InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
+#endif
       UInt uiAbsPartIdx = 0;
       Int iWidth = 0;
@@ -4908,5 +4914,7 @@
 #if H_3D_VSP
                       , vspFlag
+#if !FIX_TICKET_79
                       , inheritedVSPDisInfo
+#endif
 #endif
 #if H_3D_SPIVMP
@@ -4922,5 +4930,7 @@
 #if H_3D_VSP
         pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
+#if !FIX_TICKET_79
         pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMRGIndex].m_acDvInfo, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
+#endif
 #endif
 #if H_3D_DDD
Index: /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.h
===================================================================
--- /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.h	(revision 1037)
+++ /branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.h	(revision 1038)
@@ -429,5 +429,7 @@
 #if H_3D_VSP
                                   , Int* vspFlag
+#if !FIX_TICKET_79
                                   , InheritedVSPDisInfo*  inheritedVSPDisInfo
+#endif
 #endif
 #if H_3D_SPIVMP
@@ -441,5 +443,5 @@
                                     TComMvField*    mvFieldNeighbours, 
                                     UChar*          interDirNeighbours, 
-#if H_3D_VSP
+#if H_3D_VSP && !FIX_TICKET_75
                                     Int* vspFlag,
 #endif
