Index: /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/BQTerrace-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/BQTerrace-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/BQTerrace-2x.cfg	(revision 688)
@@ -22,6 +22,4 @@
 IntraPeriod1                  : 64          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/BasketballDrive-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/BasketballDrive-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/BasketballDrive-2x.cfg	(revision 688)
@@ -22,6 +22,4 @@
 IntraPeriod1                  : 48          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/Cactus-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/Cactus-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/Cactus-2x.cfg	(revision 688)
@@ -22,6 +22,4 @@
 IntraPeriod1                  : 48          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/Kimono-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/Kimono-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/Kimono-2x.cfg	(revision 688)
@@ -22,6 +22,4 @@
 IntraPeriod1                  : 24          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1			      # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/ParkScene-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/ParkScene-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc-avcbase/ParkScene-2x.cfg	(revision 688)
@@ -22,6 +22,4 @@
 IntraPeriod1                  : 24          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc/BQTerrace-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc/BQTerrace-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc/BQTerrace-2x.cfg	(revision 688)
@@ -23,6 +23,4 @@
 IntraPeriod1                  : 64          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc/BasketballDrive-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc/BasketballDrive-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc/BasketballDrive-2x.cfg	(revision 688)
@@ -23,6 +23,4 @@
 IntraPeriod1                  : 48          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc/Cactus-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc/Cactus-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc/Cactus-2x.cfg	(revision 688)
@@ -23,6 +23,4 @@
 IntraPeriod1                  : 48          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc/Kimono-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc/Kimono-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc/Kimono-2x.cfg	(revision 688)
@@ -23,6 +23,4 @@
 IntraPeriod1                  : 24          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/cfg/per-sequence-svc/ParkScene-2x.cfg
===================================================================
--- /branches/SHM-6-dev/cfg/per-sequence-svc/ParkScene-2x.cfg	(revision 687)
+++ /branches/SHM-6-dev/cfg/per-sequence-svc/ParkScene-2x.cfg	(revision 688)
@@ -23,6 +23,4 @@
 IntraPeriod1                  : 24          # Period of I-Frame ( -1 = only first)
 ConformanceMode1              : 1           # conformance mode
-NumScaledRefLayerOffsets1     : 1           # Number of scaled entry offsets for this layer
 ScaledRefLayerId1             : 0           # Scaled reference layer ID
-ScaledRefLayerBottomOffset1   : -4          # offset for spatial alignment of the base and enhancement layers
 QP1                           : 20
Index: /branches/SHM-6-dev/source/App/TAppDecoder/TAppDecTop.cpp
===================================================================
--- /branches/SHM-6-dev/source/App/TAppDecoder/TAppDecTop.cpp	(revision 687)
+++ /branches/SHM-6-dev/source/App/TAppDecoder/TAppDecTop.cpp	(revision 688)
@@ -694,12 +694,15 @@
           const Bool isTff = pcPicTop->isTopField();
 #if REPN_FORMAT_IN_VPS
-          UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
-          Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
-          m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
-            conf.getWindowLeftOffset()  * xScal + defDisp.getWindowLeftOffset(),
-            conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(),
-            conf.getWindowTopOffset()   * yScal + defDisp.getWindowTopOffset(),
-            conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset(), isTff );
-
+#if Q0200_CONFORMANCE_BL_SIZE
+Int xScal=1,yScal=1;
+#else
+UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
+Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
+#endif
+m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
+conf.getWindowLeftOffset()  * xScal + defDisp.getWindowLeftOffset(),
+conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(),
+conf.getWindowTopOffset()   * yScal + defDisp.getWindowTopOffset(),
+conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset(), isTff );
 #else
 #if O0194_DIFFERENT_BITDEPTH_EL_BL
@@ -798,12 +801,15 @@
           const Window &defDisp = m_respectDefDispWindow ? pcPic->getDefDisplayWindow() : Window();
 #if REPN_FORMAT_IN_VPS
-          UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
-          Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
-          m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(),
-            conf.getWindowLeftOffset()  * xScal + defDisp.getWindowLeftOffset(),
-            conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(),
-            conf.getWindowTopOffset()   * yScal + defDisp.getWindowTopOffset(),
-            conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset() );
-
+#if Q0200_CONFORMANCE_BL_SIZE
+Int xScal=1,yScal=1;
+#else
+UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
+Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
+#endif
+m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(),
+conf.getWindowLeftOffset()  * xScal + defDisp.getWindowLeftOffset(),
+conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(),
+conf.getWindowTopOffset()   * yScal + defDisp.getWindowTopOffset(),
+conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset() );
 #else
           m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(),
@@ -898,12 +904,15 @@
           const Bool isTff = pcPicTop->isTopField();
 #if REPN_FORMAT_IN_VPS
-          UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
-          Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
-          m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
-            conf.getWindowLeftOffset()  *xScal + defDisp.getWindowLeftOffset(),
-            conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(),
-            conf.getWindowTopOffset()   *yScal + defDisp.getWindowTopOffset(),
-            conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset(), isTff );
-
+#if Q0200_CONFORMANCE_BL_SIZE
+Int xScal=1,yScal=1;
+#else
+UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
+Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
+#endif
+m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
+conf.getWindowLeftOffset()  *xScal + defDisp.getWindowLeftOffset(),
+conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(),
+conf.getWindowTopOffset()   *yScal + defDisp.getWindowTopOffset(),
+conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset(), isTff );
 #else
 #if O0194_DIFFERENT_BITDEPTH_EL_BL
@@ -1005,12 +1014,15 @@
           const Window &defDisp = m_respectDefDispWindow ? pcPic->getDefDisplayWindow() : Window();
 #if REPN_FORMAT_IN_VPS
-          UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
-          Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
-          m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(),
-            conf.getWindowLeftOffset()  *xScal + defDisp.getWindowLeftOffset(),
-            conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(),
-            conf.getWindowTopOffset()   *yScal + defDisp.getWindowTopOffset(),
-            conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset() );
-
+#if Q0200_CONFORMANCE_BL_SIZE
+Int xScal=1,yScal=1;
+#else
+UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc();
+Int xScal =  TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc );
+#endif
+m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(),
+conf.getWindowLeftOffset()  *xScal + defDisp.getWindowLeftOffset(),
+conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(),
+conf.getWindowTopOffset()   *yScal + defDisp.getWindowTopOffset(),
+conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset() );
 #else
           m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(),
@@ -1105,14 +1117,14 @@
     const Window &defDisp = m_respectDefDispWindow ? pic->getDefDisplayWindow() : Window();
     Int xScal =  1, yScal = 1;
-#if REPN_FORMAT_IN_VPS
-    UInt chromaFormatIdc = pic->getSlice(0)->getChromaFormatIdc();
-    xScal = TComSPS::getWinUnitX( chromaFormatIdc );
-    yScal = TComSPS::getWinUnitY( chromaFormatIdc );
-#endif
-    m_acTVideoIOYuvReconFile[layerIdx].write( pic->getPicYuvRec(),
-      conf.getWindowLeftOffset()  * xScal + defDisp.getWindowLeftOffset(),
-      conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(),
-      conf.getWindowTopOffset()   * yScal + defDisp.getWindowTopOffset(),
-      conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset() );
+#if REPN_FORMAT_IN_VPS && !Q0200_CONFORMANCE_BL_SIZE
+UInt chromaFormatIdc = pic->getSlice(0)->getChromaFormatIdc();
+xScal = TComSPS::getWinUnitX( chromaFormatIdc );
+yScal = TComSPS::getWinUnitY( chromaFormatIdc );
+#endif
+m_acTVideoIOYuvReconFile[layerIdx].write( pic->getPicYuvRec(),
+conf.getWindowLeftOffset()  * xScal + defDisp.getWindowLeftOffset(),
+conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(),
+conf.getWindowTopOffset()   * yScal + defDisp.getWindowTopOffset(),
+conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset() );
   }
   // update POC of display order
Index: /branches/SHM-6-dev/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- /branches/SHM-6-dev/source/Lib/TLibCommon/TComDataCU.cpp	(revision 687)
+++ /branches/SHM-6-dev/source/Lib/TLibCommon/TComDataCU.cpp	(revision 688)
@@ -3503,4 +3503,8 @@
   Int leftStartL = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowLeftOffset();
   Int topStartL  = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowTopOffset();
+#if Q0200_CONFORMANCE_BL_SIZE
+leftStartL+=baseColPic->getConformanceWindow().getWindowLeftOffset();
+topStartL+=baseColPic->getConformanceWindow().getWindowTopOffset();
+#endif
 #else
   Int leftStartL = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindow(refLayerIdc).getWindowLeftOffset();
Index: /branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.cpp
===================================================================
--- /branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.cpp	(revision 687)
+++ /branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.cpp	(revision 688)
@@ -768,7 +768,15 @@
 #if O0215_PHASE_ALIGNMENT
 #if O0194_JOINT_US_BITSHIFT
-Void TComPrediction::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag )
-{
-  m_cUsf.upsampleBasePic( currSlice, refLayerIdc, pcUsPic, pcBasePic, pcTempPic, window, phaseAlignFlag );
+Void TComPrediction::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window
+#if Q0200_CONFORMANCE_BL_SIZE
+, const Window confBL
+#endif
+, Bool phaseAlignFlag )
+{
+  m_cUsf.upsampleBasePic( currSlice, refLayerIdc, pcUsPic, pcBasePic, pcTempPic, window
+#if Q0200_CONFORMANCE_BL_SIZE
+,  confBL
+#endif
+, phaseAlignFlag );
 }
 #else
Index: /branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.h
===================================================================
--- /branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.h	(revision 687)
+++ /branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.h	(revision 688)
@@ -121,5 +121,9 @@
 #if O0215_PHASE_ALIGNMENT
 #if O0194_JOINT_US_BITSHIFT
-  Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag );
+  Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window
+#if Q0200_CONFORMANCE_BL_SIZE
+, const Window confBL
+#endif
+, Bool phaseAlignFlag );
 #else
   Void upsampleBasePic( UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag );
Index: /branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp
===================================================================
--- /branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp	(revision 687)
+++ /branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp	(revision 688)
@@ -99,5 +99,9 @@
 #if O0215_PHASE_ALIGNMENT
 #if O0194_JOINT_US_BITSHIFT
-Void TComUpsampleFilter::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, bool phaseAlignFlag )
+Void TComUpsampleFilter::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window
+#if Q0200_CONFORMANCE_BL_SIZE
+, const Window confBL
+#endif
+, bool phaseAlignFlag )
 #else
 Void TComUpsampleFilter::upsampleBasePic( UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, bool phaseAlignFlag )
@@ -126,5 +130,8 @@
   Int heightEL  = pcUsPic->getHeight() - scalEL.getWindowTopOffset()  - scalEL.getWindowBottomOffset();
   Int strideEL  = pcUsPic->getStride();
-
+#if Q0200_CONFORMANCE_BL_SIZE
+widthBL-= (confBL.getWindowLeftOffset()+confBL.getWindowRightOffset());
+heightBL-=(confBL.getWindowBottomOffset()+confBL.getWindowTopOffset());
+#endif
 #if P0312_VERT_PHASE_ADJ
   Bool vertPhasePositionEnableFlag = scalEL.getVertPhasePositionEnableFlag();
@@ -317,5 +324,8 @@
     Int bottomEndL = pcUsPic->getHeight() - scalEL.getWindowBottomOffset();
     Int leftOffset = leftStartL > 0 ? leftStartL : 0;
-
+#if Q0200_CONFORMANCE_BL_SIZE
+leftStartL+= confBL.getWindowLeftOffset()<<4;
+topStartL+= confBL.getWindowTopOffset()<<4;
+#endif
 #if N0214_INTERMEDIATE_BUFFER_16BITS
 #if O0194_JOINT_US_BITSHIFT
@@ -411,5 +421,8 @@
     widthBL   = pcBasePic->getWidth ();
     heightBL  = pcBasePic->getHeight();
-
+#if Q0200_CONFORMANCE_BL_SIZE
+widthBL-= confBL.getWindowLeftOffset()+confBL.getWindowRightOffset();
+heightBL-=confBL.getWindowBottomOffset()+confBL.getWindowTopOffset();
+#endif
     widthEL   = pcUsPic->getWidth () - scalEL.getWindowLeftOffset() - scalEL.getWindowRightOffset();
     heightEL  = pcUsPic->getHeight() - scalEL.getWindowTopOffset()  - scalEL.getWindowBottomOffset();
@@ -431,5 +444,8 @@
     Int bottomEndC = (pcUsPic->getHeight() >> 1) - (scalEL.getWindowBottomOffset() >> 1);
     leftOffset = leftStartC > 0 ? leftStartC : 0;
-
+#if Q0200_CONFORMANCE_BL_SIZE
+leftStartC+= (confBL.getWindowLeftOffset()>>1)<<4;
+topStartC+= (confBL.getWindowTopOffset()>>1)<<4;
+#endif
     shiftX = 16;
     shiftY = 16;
Index: /branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.h
===================================================================
--- /branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.h	(revision 687)
+++ /branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.h	(revision 688)
@@ -45,5 +45,9 @@
 #if O0215_PHASE_ALIGNMENT
 #if O0194_JOINT_US_BITSHIFT
-  Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag );
+  Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window
+#if Q0200_CONFORMANCE_BL_SIZE
+, const Window confBL
+#endif
+, Bool phaseAlignFlag );
 #else
   Void upsampleBasePic( UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag );
Index: /branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- /branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h	(revision 687)
+++ /branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h	(revision 688)
@@ -42,5 +42,5 @@
 
 #define SYNTAX_BYTES                     10      ///< number of bytes taken by syntaxes per 4x4 block [RefIdxL0(1byte), RefIdxL1(1byte), MVxL0(2bytes), MVyL0(2bytes), MVxL1(2bytes), MVyL1(2bytes)]
-
+#define Q0200_CONFORMANCE_BL_SIZE        1       ///< JCTVC-Q0200; use conformance picture size in re-sampling processs
 #if SVC_EXTENSION
 #define MAX_LAYERS                       8      ///< max number of layers the codec is supposed to handle
Index: /branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- /branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 687)
+++ /branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 688)
@@ -658,5 +658,5 @@
   {
     Window &conf = pcSPS->getConformanceWindow();
-#if REPN_FORMAT_IN_VPS
+#if REPN_FORMAT_IN_VPS && !Q0200_CONFORMANCE_BL_SIZE
     READ_UVLC(   uiCode, "conf_win_left_offset" );               conf.setWindowLeftOffset  ( uiCode );
     READ_UVLC(   uiCode, "conf_win_right_offset" );              conf.setWindowRightOffset ( uiCode );
