Index: branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp
===================================================================
--- branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 35)
+++ branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 38)
@@ -229,4 +229,7 @@
     cfg_CroppingMode[layer] = &m_acLayerCfg[layer].m_croppingMode;
   }
+#if AVC_SYNTAX
+  string  cfg_BLSyntaxFile;
+#endif
 #else
   string cfg_InputFile;
@@ -259,5 +262,8 @@
   ("InternalBitDepth",        m_uiInternalBitDepth, 0u, "Internal bit-depth (BitDepth+BitIncrement)")
 #if AVC_BASE
-  ("InputBLFile,-ibl",        *cfg_InputFile[0],     string(""), "Original BL rec YUV input file name")
+  ("InputBLFile,-ibl",        *cfg_InputFile[0],     string(""), "Base layer rec YUV input file name")
+#if AVC_SYNTAX
+  ("InputBLSyntaxFile,-ibs",  cfg_BLSyntaxFile,     string(""), "Base layer syntax input file name")
+#endif
 #endif
 #if REF_IDX_FRAMEWORK
@@ -516,4 +522,7 @@
 #if SVC_EXTENSION
   m_pchBitstreamFile = cfg_BitstreamFile.empty() ? NULL : strdup(cfg_BitstreamFile.c_str());
+#if AVC_SYNTAX
+  m_BLSyntaxFile = cfg_BLSyntaxFile.empty() ? NULL : strdup(cfg_BLSyntaxFile.c_str());
+#endif
 #else
   m_pchInputFile = cfg_InputFile.empty() ? NULL : strdup(cfg_InputFile.c_str());
@@ -1308,4 +1317,5 @@
   printf("RecalQP:%d ", m_recalculateQPAccordingToLambda ? 1 : 0 );
 #endif
+  printf("AVC_BASE:%d ", AVC_BASE);
 #if REF_IDX_FRAMEWORK
   printf("REF_IDX_FRAMEWORK:%d ", REF_IDX_FRAMEWORK);
@@ -1313,7 +1323,6 @@
   printf("REF_IDX_ME_AROUND_ZEROMV:%d ", REF_IDX_ME_AROUND_ZEROMV);
   printf("REF_IDX_ME_ZEROMV: %d", REF_IDX_ME_ZEROMV);
-#else
+#elif INTRA_BL
   printf("INTRA_BL:%d ", INTRA_BL);
-  printf("AVC_BASE:%d ", AVC_BASE);
 #if !AVC_BASE
   printf("SVC_MVP:%d ", SVC_MVP );
Index: branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncCfg.h
===================================================================
--- branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncCfg.h	(revision 35)
+++ branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncCfg.h	(revision 38)
@@ -67,4 +67,7 @@
   unsigned int m_FrameSkip;                                   ///< number of skipped frames from the beginning
   Int       m_iFrameToBeEncoded;                              ///< number of encoded frames
+#if AVC_SYNTAX
+  char*     m_BLSyntaxFile;                                   ///< input syntax file
+#endif
 #else
   char*     m_pchInputFile;                                   ///< source file name
@@ -305,4 +308,7 @@
   Void getDirFilename(string& filename, string& dir, const string path);
   Int  getWaveFrontSynchro()        { return m_iWaveFrontSynchro; }
+#if AVC_SYNTAX
+  Char* getBLSyntaxFile()           { return m_BLSyntaxFile;      }
+#endif
 #endif
 };// END CLASS DEFINITION TAppEncCfg
Index: branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp
===================================================================
--- branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp	(revision 35)
+++ branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp	(revision 38)
@@ -120,4 +120,7 @@
   printf("Input File                    : %s\n", m_cInputFile.c_str()  );
   printf("Reconstruction File           : %s\n", m_cReconFile.c_str()  );
+#if AVC_SYNTAX
+  printf("Base layer input file         : %s\n", m_cAppEncCfg->getBLSyntaxFile() );
+#endif
   printf("Real     Format               : %dx%d %dHz\n", m_iSourceWidth - m_cropLeft - m_cropRight, m_iSourceHeight - m_cropTop - m_cropBottom, m_iFrameRate );
   printf("Internal Format               : %dx%d %dHz\n", m_iSourceWidth, m_iSourceHeight, m_iFrameRate );
Index: branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncTop.cpp
===================================================================
--- branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncTop.cpp	(revision 35)
+++ branches/SHM-1.1-dev/source/App/TAppEncoder/TAppEncTop.cpp	(revision 38)
@@ -706,4 +706,19 @@
   }
 
+#if AVC_SYNTAX
+  if( !m_BLSyntaxFile )
+  {
+    printf( "Wrong base layer syntax input file\n" );
+    exit(EXIT_FAILURE);
+  }
+  fstream streamSyntaxFile( m_BLSyntaxFile, fstream::in | fstream::binary );
+  if( !streamSyntaxFile.good() )
+  {
+    printf( "Base layer syntax input reading error\n" );
+    exit(EXIT_FAILURE);
+  }
+  m_acTEncTop[0].setBLSyntaxFile( &streamSyntaxFile );
+#endif
+
   Bool bFirstFrame = true;
   while ( !bEos )
@@ -791,4 +806,11 @@
   }
   
+#if AVC_SYNTAX
+  if( streamSyntaxFile.is_open() )
+  {
+    streamSyntaxFile.close();
+  }
+#endif
+
   // delete buffers & classes
   xDeleteBuffer();
