Index: branches/SHM-3.0-dev/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibCommon/TComDataCU.cpp	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibCommon/TComDataCU.cpp	(revision 324)
@@ -3376,5 +3376,5 @@
 
   // use coldir.
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
   TComPic *pColPic;
   if (m_layerId > 0 && getSlice()->getAltColIndicationFlag())
Index: branches/SHM-3.0-dev/source/Lib/TLibCommon/TComSlice.cpp
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibCommon/TComSlice.cpp	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibCommon/TComSlice.cpp	(revision 324)
@@ -124,5 +124,5 @@
   m_numILRRefIdx = 0;
 #endif 
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
   m_altColIndicationFlag = false;
   m_colRefLayerIdx       = 0;
Index: branches/SHM-3.0-dev/source/Lib/TLibCommon/TComSlice.h
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibCommon/TComSlice.h	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibCommon/TComSlice.h	(revision 324)
@@ -1778,4 +1778,5 @@
   Void      setMFMEnabledFlag(Bool flag)                { m_bMFMEnabledFlag = flag; }
   Bool      getMFMEnabledFlag()                         { return m_bMFMEnabledFlag; }
+#if !REMOVE_COL_PICTURE_SIGNALING
   Void      setColRefLayerIdx(Int i)                    { m_colRefLayerIdx = i;     }
   Int       getColRefLayerIdx()                         { return m_colRefLayerIdx;  }
@@ -1784,4 +1785,5 @@
   Void      setMotionPredIlp(TComPic *ilpPic)           { m_pcIlpPic = ilpPic; }
   TComPic*  getMotionPredIlp()                          { return m_pcIlpPic; }
+#endif
 #endif
 #endif
Index: branches/SHM-3.0-dev/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibCommon/TypeDef.h	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibCommon/TypeDef.h	(revision 324)
@@ -103,4 +103,5 @@
 #endif
 #if REF_IDX_MFM
+#define REMOVE_COL_PICTURE_SIGNALING     1     ///< JCTVC-N0107 remove alternative collocated picture signalling
 #define M0457_COL_PICTURE_SIGNALING      1
 #endif
Index: branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 324)
@@ -1573,5 +1573,5 @@
     if ( rpcSlice->getEnableTMVPFlag() )
     {
-#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING
+#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
       rpcSlice->setMFMEnabledFlag( false );
       rpcSlice->setColRefLayerIdx( 0 );
@@ -1612,5 +1612,5 @@
         rpcSlice->setColRefIdx(0);
       }
-#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING
+#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
       }
 #endif
Index: branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecTop.cpp
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecTop.cpp	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecTop.cpp	(revision 324)
@@ -918,5 +918,5 @@
       {
         pcSlice->setRefPOCListILP(m_ppcTDecTop[m_layerId]->m_cIlpPic, pcSlice->getBaseColPic());
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
         pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice));
 #endif
@@ -1372,5 +1372,5 @@
 #endif
 
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
 TComPic* TDecTop::getMotionPredIlp(TComSlice* pcSlice)
 {
Index: branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecTop.h
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecTop.h	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibDecoder/TDecTop.h	(revision 324)
@@ -230,5 +230,5 @@
   Void      xDecodePPS();
   Void      xDecodeSEI( TComInputBitstream* bs, const NalUnitType nalUnitType );
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
   TComPic*  getMotionPredIlp(TComSlice* pcSlice);
 #endif
Index: branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 324)
@@ -1187,5 +1187,5 @@
     if ( pcSlice->getEnableTMVPFlag() )
     {
-#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING
+#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
       if ( !pcSlice->getIdrPicFlag() && pcSlice->getLayerId() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 && pcSlice->getNumMotionPredRefLayers() > 0 )
       {
@@ -1210,5 +1210,5 @@
         WRITE_UVLC( pcSlice->getColRefIdx(), "collocated_ref_idx" );
       }
-#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING
+#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
       }
 #endif
Index: branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp	(revision 324)
@@ -511,5 +511,7 @@
 #if M0457_COL_PICTURE_SIGNALING
       pcSlice->setMFMEnabledFlag(false);
+#if !REMOVE_COL_PICTURE_SIGNALING
       pcSlice->setAltColIndicationFlag(false);
+#endif
 #endif
     }
@@ -834,5 +836,5 @@
       {
         pcSlice->setRefPOCListILP(m_pcEncTop->getIlpList(), pcSlice->getBaseColPic());
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
         pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice));
 #endif
@@ -844,5 +846,9 @@
 #if REF_IDX_MFM
 #if M0457_COL_PICTURE_SIGNALING
+#if REMOVE_COL_PICTURE_SIGNALING
+      if( pcSlice->getMFMEnabledFlag() && pcSlice->getActiveNumILRRefIdx() > 0 && m_pcEncTop->getNumMotionPredRefLayers() > 0 )
+#else
       if( pcSlice->getMFMEnabledFlag() && !(pcSlice->getActiveNumILRRefIdx() > 0 && m_pcEncTop->getNumMotionPredRefLayers() > 0) )
+#endif
 #else
       if( pcSlice->getSPS()->getMFMEnabledFlag() )
@@ -2991,5 +2997,5 @@
 }
 
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
 TComPic* TEncGOP::getMotionPredIlp(TComSlice* pcSlice)
 {
Index: branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncGOP.h
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncGOP.h	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncGOP.h	(revision 324)
@@ -198,5 +198,5 @@
   }
   Void dblMetric( TComPic* pcPic, UInt uiNumSlices );
-#if M0457_COL_PICTURE_SIGNALING
+#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
   TComPic* getMotionPredIlp(TComSlice* pcSlice);
 #endif
Index: branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp
===================================================================
--- branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp	(revision 323)
+++ branches/SHM-3.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp	(revision 324)
@@ -503,5 +503,7 @@
 #if M0457_COL_PICTURE_SIGNALING
     rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[layerId]->getMFMEnabledFlag());
+#if !REMOVE_COL_PICTURE_SIGNALING
     rpcSlice->setAltColIndicationFlag(rpcSlice->getMFMEnabledFlag());
+#endif
 #endif
   }
