Index: branches/SHM-2.1-dev/source/Lib/TLibCommon/TComPicYuv.h
===================================================================
--- branches/SHM-2.1-dev/source/Lib/TLibCommon/TComPicYuv.h	(revision 235)
+++ branches/SHM-2.1-dev/source/Lib/TLibCommon/TComPicYuv.h	(revision 236)
@@ -126,7 +126,4 @@
 #endif
 
-#if JCTVC_L0178
-  Void   setWidth   ( Int iPicWidth )     { m_iPicWidth = iPicWidth; }
-#endif
   Int   getStride   ()     { return (m_iPicWidth     ) + (m_iLumaMarginX  <<1); }
   Int   getCStride  ()     { return (m_iPicWidth >> 1) + (m_iChromaMarginX<<1); }
Index: branches/SHM-2.1-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp
===================================================================
--- branches/SHM-2.1-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp	(revision 235)
+++ branches/SHM-2.1-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp	(revision 236)
@@ -126,32 +126,4 @@
   Pel* piSrcV;
   Pel* piDstV;
-  
-#if JCTVC_L0178
-  Pel *tempBufRight = NULL, *tempBufBottom = NULL;
-  Int tempBufSizeRight = 0, tempBufSizeBottom = 0;
-  
-  if( confBL.getWindowRightOffset())
-  {
-    tempBufSizeRight = confBL.getWindowRightOffset() * pcBasePic->getHeight();
-  }
-  
-  if( confBL.getWindowBottomOffset() )
-  {
-    tempBufSizeBottom = confBL.getWindowBottomOffset() * pcBasePic->getWidth ();
-  }
-  
-  if( tempBufSizeRight )
-  {
-    tempBufRight = (Pel *) xMalloc(Pel, tempBufSizeRight + (tempBufSizeRight>>1) );
-    assert( tempBufRight );
-  }
-  
-  if( tempBufSizeBottom )
-  {
-    tempBufBottom = (Pel *) xMalloc(Pel, tempBufSizeBottom + (tempBufSizeBottom>>1) );
-    assert( tempBufBottom );
-  }
- 
-#endif
 
   if( widthEL == widthBL && heightEL == heightBL )
@@ -205,75 +177,4 @@
   assert ( widthEL == widthBL || widthEL == 2*widthBL || 2*widthEL == 3*widthBL );
   assert ( heightEL == heightBL || heightEL == 2*heightBL || 2*heightEL == 3*heightBL );
-
-#if JCTVC_L0178
-  // save the cropped region to copy back to the base picture since the base picture might be used as a reference picture
-  if( tempBufSizeRight )
-  {
-    piSrcY = piSrcBufY + widthBL;
-    piDstY = tempBufRight;
-    for( i = 0; i < pcBasePic->getHeight(); i++ )
-    {
-      memcpy(piDstY, piSrcY, sizeof(Pel) * confBL.getWindowRightOffset());
-      piSrcY += strideBL;
-      piDstY += confBL.getWindowRightOffset();
-    }
-    
-    if(confBL.getWindowRightOffset()>>1)
-    {
-      Int strideBLChroma = (strideBL>>1);
-      piSrcU = piSrcBufU + (widthBL>>1);
-      piDstU = tempBufRight + confBL.getWindowRightOffset() * pcBasePic->getHeight();
-      piSrcV = piSrcBufV + (widthBL>>1);
-      piDstV = piDstU + (confBL.getWindowRightOffset()>>1) * (pcBasePic->getHeight()>>1);
-    
-      for( i = 0; i < pcBasePic->getHeight()>>1; i++ )
-      {
-        memcpy(piDstU, piSrcU, sizeof(Pel) * (confBL.getWindowRightOffset()>>1));
-        piSrcU += strideBLChroma;
-        piDstU += (confBL.getWindowRightOffset()>>1);
-        
-        memcpy(piDstV, piSrcV, sizeof(Pel) * (confBL.getWindowRightOffset()>>1));
-        piSrcV += strideBLChroma;
-        piDstV += (confBL.getWindowRightOffset()>>1);
-      }
-    }
-    
-    pcBasePic->setWidth(widthBL);
-  }
-  
-  if( tempBufSizeBottom )
-  {
-    piSrcY = piSrcBufY + heightBL * strideBL;
-    piDstY = tempBufBottom;
-    for( i = 0; i < confBL.getWindowBottomOffset(); i++ )
-    {
-      memcpy(piDstY, piSrcY, sizeof(Pel) * pcBasePic->getWidth());
-      piSrcY += strideBL;
-      piDstY += pcBasePic->getWidth();
-    }
-    
-    if(confBL.getWindowBottomOffset()>>1)
-    {
-      Int strideBLChroma = (strideBL>>1);
-      piSrcU = piSrcBufU + (heightBL>>1) * strideBLChroma;
-      piDstU = tempBufBottom + confBL.getWindowBottomOffset() * pcBasePic->getWidth();
-      piSrcV = piSrcBufV + (heightBL>>1) * strideBLChroma;
-      piDstV = piDstU + (confBL.getWindowBottomOffset()>>1) * (pcBasePic->getWidth()>>1);
-      
-      for( i = 0; i < confBL.getWindowBottomOffset()>>1; i++ )
-      {
-        memcpy(piDstU, piSrcU, sizeof(Pel) * (pcBasePic->getWidth()>>1));
-        piSrcU += strideBLChroma;
-        piDstU += (pcBasePic->getWidth()>>1);
-        
-        memcpy(piDstV, piSrcV, sizeof(Pel) * (pcBasePic->getWidth()>>1));
-        piSrcV += strideBLChroma;
-        piDstV += (pcBasePic->getWidth()>>1);
-      }
-    }
-
-    pcBasePic->setHeight(heightBL);
-  }
-#endif
   
   pcBasePic->setBorderExtension(false);
@@ -535,97 +436,4 @@
   pcTempPic->setBorderExtension(false);
   pcBasePic->setBorderExtension(false);
-  
-#if JCTVC_L0178
-  // copy back the saved cropped region
-  if( tempBufSizeRight )
-  {
-    // put the correct width back
-    pcBasePic->setWidth(pcBasePic->getWidth() + confBL.getWindowRightOffset());
-  }
-  if( tempBufSizeBottom )
-  {
-    pcBasePic->setHeight(pcBasePic->getHeight() + confBL.getWindowBottomOffset());
-  }
-  
-  widthBL   = pcBasePic->getWidth () - confBL.getWindowLeftOffset() - confBL.getWindowRightOffset();
-  heightBL  = pcBasePic->getHeight() - confBL.getWindowTopOffset() - confBL.getWindowBottomOffset();
-  
-  strideBL  = pcBasePic->getStride();
-  
-  if( tempBufSizeRight )
-  {
-    piSrcY = tempBufRight;
-    piDstY = piSrcBufY + widthBL;
-    
-    for( i = 0; i < pcBasePic->getHeight(); i++ )
-    {
-      memcpy(piDstY, piSrcY, sizeof(Pel) * confBL.getWindowRightOffset() );
-      piSrcY += confBL.getWindowRightOffset();
-      piDstY += strideBL;
-    }
-    
-    if(confBL.getWindowRightOffset()>>1)
-    {
-      Int strideBLChroma = (strideBL>>1);
-      piSrcU = tempBufRight + confBL.getWindowRightOffset() * pcBasePic->getHeight();
-      piDstU = piSrcBufU + (widthBL>>1);
-      piSrcV = piSrcU + (confBL.getWindowRightOffset()>>1) * (pcBasePic->getHeight()>>1);
-      piDstV = piSrcBufV + (widthBL>>1);
-
-      for( i = 0; i < pcBasePic->getHeight()>>1; i++ )
-      {
-        memcpy(piDstU, piSrcU, sizeof(Pel) * (confBL.getWindowRightOffset()>>1));
-        piSrcU += (confBL.getWindowRightOffset()>>1);
-        piDstU += strideBLChroma;
-        
-        memcpy(piDstV, piSrcV, sizeof(Pel) * (confBL.getWindowRightOffset()>>1));
-        piSrcV += (confBL.getWindowRightOffset()>>1);
-        piDstV += strideBLChroma;
-      }
-    }
-  }
-  
-  if( tempBufSizeBottom )
-  {
-    piDstY = piSrcBufY + heightBL * strideBL;
-    piSrcY = tempBufBottom;
-    for( i = 0; i < confBL.getWindowBottomOffset(); i++ )
-    {
-      memcpy(piDstY, piSrcY, sizeof(Pel) * pcBasePic->getWidth());
-      piDstY += strideBL;
-      piSrcY += pcBasePic->getWidth();
-    }
-    
-    if(confBL.getWindowBottomOffset()>>1)
-    {
-      Int strideBLChroma = (strideBL>>1);
-      piSrcU = tempBufBottom + confBL.getWindowBottomOffset() * pcBasePic->getWidth();
-      piDstU = piSrcBufU + (heightBL>>1) * strideBLChroma;
-      piSrcV = piSrcU + (confBL.getWindowBottomOffset()>>1) * (pcBasePic->getWidth()>>1);
-      piDstV = piSrcBufV + (heightBL>>1) * strideBLChroma;
-            
-      for( i = 0; i < confBL.getWindowBottomOffset()>>1; i++ )
-      {
-        memcpy(piDstU, piSrcU, sizeof(Pel) * (pcBasePic->getWidth()>>1));
-        piSrcU += (pcBasePic->getWidth()>>1);
-        piDstU += strideBLChroma;
-        
-        memcpy(piDstV, piSrcV, sizeof(Pel) * (pcBasePic->getWidth()>>1));
-        piSrcV += (pcBasePic->getWidth()>>1);
-        piDstV += strideBLChroma;
-      }
-    }
-  
-  }
-
-  if( tempBufSizeRight )
-  {
-    xFree( tempBufRight );
-  }
-  if( tempBufSizeBottom )
-  {
-    xFree( tempBufBottom );
-  }
-#endif
   }
 }
Index: branches/SHM-2.1-dev/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- branches/SHM-2.1-dev/source/Lib/TLibCommon/TypeDef.h	(revision 235)
+++ branches/SHM-2.1-dev/source/Lib/TLibCommon/TypeDef.h	(revision 236)
@@ -77,8 +77,4 @@
 
 #define REF_IDX_FRAMEWORK                1      ///< inter-layer reference framework
-
-#if SVC_UPSAMPLING && !ILP_DECODED_PICTURE
-#define JCTVC_L0178                      1      ///< implementation of JCTVC-L0178 (code only supports right and bottom croppping offsets)
-#endif
 
 #define IDR_ALIGNMENT                    1      ///< align IDR picures across layers 
