Index: branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.cpp
===================================================================
--- branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.cpp	(revision 603)
+++ branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.cpp	(revision 604)
@@ -611,10 +611,13 @@
 }
 
-
 Void
 TAppComCamPara::xGetGeometryData( Int iView, UInt uiFrame, Double& rdFocalLength, Double& rdPosition, Double& rdCameraShift, Bool& rbInterpolated )
 {
   UInt uiFoundLine = -1;
+#if H_3D_FIX_REN_WARNING
+  if ( !xGetCameraDataRow( iView, uiFrame, uiFoundLine ) && xIsIn( m_aiSortedBaseViews, iView ))
+#else  
   if ( !xGetCameraDataRow( iView, uiFrame, uiFoundLine ) )
+#endif
   {
     AOT( m_aadCameraParameters[ uiFoundLine ].size() < 6 );
@@ -632,10 +635,18 @@
     Int  iDummy;
 
+#if H_3D_FIX_REN_WARNING
+    if( !xGetLeftRightView( iView, m_aiSortedBaseViews, iLeftView, iRightView, iDummy, iDummy ) ||
+#else
     if( !xGetLeftRightView( iView, m_aiViewsInCfgFile, iLeftView, iRightView, iDummy, iDummy ) ||
+#endif
          xGetCameraDataRow( iLeftView,  uiFrame, uiLeftViewLine  )                             ||
          xGetCameraDataRow( iRightView, uiFrame, uiRightViewLine )
       )
     {
+#if H_3D_FIX_REN_WARNING
+      std::cerr << "No left or no right base view next to view " << (Double)iView / m_dViewNumPrec << " for Frame " << uiFrame << " given in CameraParameterFile" << std::endl;
+#else
       std::cerr << "No Left or no Right View next to View " << (Double)iView / m_dViewNumPrec << " for Frame " << uiFrame << " given in CameraParameterFile" << std::endl;
+#endif
       AOT(true);
       exit( EXIT_FAILURE );
@@ -841,9 +852,9 @@
   Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_uiCamParsCodedPrecision + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
   Int     iLog2DivChroma = iLog2DivLuma + 1;
-#if !H_3D_FIX_REN_WARNING
+
   Double  dMaxDispDev    = 0.0;
   Double  dMaxRndDispDvL = 0.0;
   Double  dMaxRndDispDvC = 0.0;
-#endif
+
   for( UInt uiSourceView = 0; uiSourceView < uiNumberSourceViews; uiSourceView++ )
   {
@@ -887,7 +898,5 @@
         // integer-valued look-up tables
         Int64   iTempScale      = (Int64)uiDepthValue * iScale;
-#if !H_3D_FIX_REN_WARNING        
         Int64   iTestScale      = ( iTempScale + iOffset       );   // for checking accuracy of camera parameters
-#endif
         Int64   iShiftLuma      = ( iTempScale + iOffsetLuma   ) >> iLog2DivLuma;
         Int64   iShiftChroma    = ( iTempScale + iOffsetChroma ) >> iLog2DivChroma;
@@ -896,11 +905,10 @@
 
         // maximum deviation
-#if H_3D_FIX_REN_WARNING        
+#if H_3D_REN_MAX_DEV_OUT
         m_dMaxShiftDeviation = std::max( m_dMaxShiftDeviation, fabs( Double( (Int) iShiftLuma   ) - dShiftLuma   ) / Double( 1 << m_iLog2Precision ) );        
-#else
+#endif
         dMaxDispDev     = std::max( dMaxDispDev,    fabs( Double( (Int) iTestScale   ) - dShiftLuma * Double( 1 << iLog2DivLuma ) ) / Double( 1 << iLog2DivLuma ) );
         dMaxRndDispDvL  = std::max( dMaxRndDispDvL, fabs( Double( (Int) iShiftLuma   ) - dShiftLuma   ) );
         dMaxRndDispDvC  = std::max( dMaxRndDispDvC, fabs( Double( (Int) iShiftChroma ) - dShiftChroma ) );
-#endif
       }
 
@@ -912,5 +920,4 @@
   }
 
-#if !H_3D_FIX_REN_WARNING
   // check maximum deviation
   Double  dMaxAllowedDispDev    =       Double( 1 << m_iLog2Precision ) / Double( 1 << m_uiCamParsCodedPrecision );       //  counting only the impact of camera parameter rounding
@@ -934,5 +941,4 @@
     }
   }
-#endif
 }
 
@@ -1036,5 +1042,5 @@
   m_bCamParsCodedPrecSet      = false;
 
-#if H_3D_FIX_REN_WARNING
+#if H_3D_REN_MAX_DEV_OUT
   m_dMaxShiftDeviation        = -1; 
 #endif
@@ -1167,5 +1173,5 @@
     if( m_aiViewsInCfgFile.size() < 2 )
     {
-    std::cerr << "Failed reading config file" << std::endl;
+      std::cerr << "Failed reading config file" << std::endl;
       std::cerr << "At least two views must be given" << std::endl;
       exit( EXIT_FAILURE );
@@ -1332,19 +1338,38 @@
       else
       {
-      for( UInt uiFrame = m_uiFirstFrameId; uiFrame <= m_uiLastFrameId; uiFrame++ )
-      {
-        Bool bInterpolatedCur;
-        xGetGeometryData( m_aiBaseViews[ uiBaseView ], uiFrame, dDummy, dDummy, dDummy, bInterpolatedCur );
-        xGetZNearZFar   ( m_aiBaseViews[ uiBaseView ], uiFrame, dDummy, dDummy );
-
-        if( bInterpolatedCur )
+        for( UInt uiFrame = m_uiFirstFrameId; uiFrame <= m_uiLastFrameId; uiFrame++ )
         {
-          std::cerr << "Error: CameraParameters for BaseView " << (Double)m_aiBaseViews[ uiBaseView ] / m_dViewNumPrec << " and Frame " << uiFrame << " not defined. "  << std::endl;
-          exit( EXIT_FAILURE );
+          Bool bInterpolatedCur;
+          xGetGeometryData( m_aiBaseViews[ uiBaseView ], uiFrame, dDummy, dDummy, dDummy, bInterpolatedCur );
+          xGetZNearZFar   ( m_aiBaseViews[ uiBaseView ], uiFrame, dDummy, dDummy );
+
+          if( bInterpolatedCur )
+          {
+            std::cerr << "Error: CameraParameters for BaseView " << (Double)m_aiBaseViews[ uiBaseView ] / m_dViewNumPrec << " and Frame " << uiFrame << " not defined. "  << std::endl;
+            exit( EXIT_FAILURE );
+          }
         }
       }
-
-      }
-    }
+    }
+#if H_3D_FIX_REN_WARNING
+    Bool bIgnoreFirst = true;     
+    for( UInt uiERView = 0; uiERView < m_aiSynthViews.size() && !m_bSetupFromCoded; uiERView++ )
+    {
+      if ( xIsIn(m_aiViewsInCfgFile, m_aiSynthViews[ uiERView ] ) )
+      {
+        if ( bIgnoreFirst )
+        {
+          std::cout << "Ignoring CameraParameterFile entries for virtual view(s): " ;
+          //GT: Integer precision virtual view camera parameters are always interpolated from coded views camera parameters.
+          bIgnoreFirst = false; 
+        }
+        std::cout << (Double)m_aiSynthViews[ uiERView ] / m_dViewNumPrec << " " ; 
+      }
+    }
+    if ( !bIgnoreFirst )
+    {
+      std::cout << std::endl; 
+    }
+#endif
 
     Bool bInterpolateFirst = true; 
@@ -1365,5 +1390,9 @@
         if ( bInterpolateFirst ) 
         {
+#if H_3D_FIX_REN_WARNING                        
+          std::cout << "Interpolating camera parameters      for virtual view(s): " ; 
+#else
           std::cout << "Interpolating Camera Parameters for View(s) " ; 
+#endif
             bInterpolateFirst = false; 
         }          
@@ -1469,4 +1498,17 @@
 }
 
+#if H_3D_FIX_REN_WARNING
+Bool 
+  TAppComCamPara::xIsIn( std::vector<Int>& rVec, Int iElem) 
+{
+  Bool bFound = false; 
+  for (Int idx = 0; idx < rVec.size() && !bFound; idx++)
+  {
+    bFound = bFound || rVec[idx] == iElem; 
+  }
+  return bFound;
+}
+#endif
+
 Int TAppComCamPara::getRelDistLeft( Int iSynthViewIdx, Int iLeftViewIdx, Int iRightViewIdx )
 {
Index: branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.h
===================================================================
--- branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.h	(revision 603)
+++ branches/HTM-DEV-2.0-dev0/source/Lib/TAppCommon/TAppComCamPara.h	(revision 604)
@@ -67,5 +67,5 @@
   Bool                m_bCamParsCodedPrecSet;                 ///< Coded Cam Para precision set for current frame;
   
-#if H_3D_FIX_REN_WARNING
+#if H_3D_REN_MAX_DEV_OUT
   Double              m_dMaxShiftDeviation;                   ///< Maximum deviation of shifts with integer precision compare to double precision
 #endif
@@ -129,4 +129,8 @@
   Void  xSetupBaseViewsFromCoded  ();
   Void  xSetupBaseViews           ( Char* pchBaseViewNumbers, UInt uiNumBaseViews );
+#if H_3D_FIX_REN_WARNING
+  Bool  xIsIn                     ( std::vector<Int>& rVec, Int iNumber);
+#endif
+
 
   // functions for getting and setting scales and offsets
@@ -183,5 +187,5 @@
   UInt                getCurFrameId             ()  { return m_iCurrentFrameId;   }
   static Void         convertNumberString       ( Char* pchViewNumberString, std::vector<Int>& raiViewNumbers, Double dViewNumPrec );
-#if H_3D_FIX_REN_WARNING
+#if H_3D_REN_MAX_DEV_OUT
   Double              getMaxShiftDeviation      () { return m_dMaxShiftDeviation; }; 
 #endif
@@ -217,6 +221,4 @@
   Int**               getCodedOffset            ()  { return m_aaiCodedOffset;          }
 };
-
-
 
 
Index: branches/HTM-DEV-2.0-dev0/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- branches/HTM-DEV-2.0-dev0/source/Lib/TLibCommon/TypeDef.h	(revision 603)
+++ branches/HTM-DEV-2.0-dev0/source/Lib/TLibCommon/TypeDef.h	(revision 604)
@@ -141,5 +141,5 @@
 
 /////////////////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////   NEW ADOPTIONS       ///////////////////////////////
+///////////////////////////////////   HTM-8.0 INTEGRATIONS //////////////////////////////
 /////////////////////////////////////////////////////////////////////////////////////////
 
@@ -196,4 +196,6 @@
 #endif
 
+#define H_3D_REN_MAX_DEV_OUT              0  // Output maximal possible shift deviation 
+
 /// FIXES
 #define H_3D_FIX_BVSP                     1  // DV from NBDV instead of DoNBDV should be used
@@ -201,6 +203,17 @@
 #define H_3D_FIX_REN                      1  // fix of erroneous inpainting for renderer
 #define H_3D_FIX_REN_WARNING              1  // fix of warning related to camera parameter precision
+
 #define H_3D_FIX_UINT_WARNING             1  // explicit in VSD
 #endif // H_3D
+
+
+/////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////   HTM-8.1 INTEGRATIONS //////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////////
+
+// Please put HTM-8.1 Integration defines here, when possible 
+
+
+
 
 /////////////////////////////////////////////////////////////////////////////////////////
