Changeset 138 in 3DVCSoftware for branches/HTM-4.0-Nokia/source


Ignore:
Timestamp:
24 Sep 2012, 14:02:40 (12 years ago)
Author:
nokia
Message:

test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.0-Nokia/source/App/TAppEncoder/TAppEncCfg.cpp

    r100 r138  
    115115  if (m_pchBitstreamFile != NULL)
    116116    free (m_pchBitstreamFile) ;
     117
     118#if FLEX_CODING_ORDER
     119  if (m_pchMVCJointCodingOrder != NULL)
     120  {
     121    free(m_pchMVCJointCodingOrder) ;
     122  }
     123#endif
     124
     125
    117126#if HHI_VSO
    118127  if (  m_pchVSOConfig != NULL)
     
    188197  string cfg_RowHeight;
    189198  string cfg_ScalingListFile;
     199#if FLEX_CODING_ORDER
     200  string cfg_JointCodingOrdering;
     201#endif
     202
    190203  po::Options opts;
    191204  opts.addOptions()
     
    232245  ("NumberOfViews",         m_iNumberOfViews,    0, "Number of views")
    233246  /* Unit definition parameters */
     247
     248#if FLEX_CODING_ORDER
     249  ("3DVFlexOrder",               m_b3DVFlexOrder,   false, "flexible coding order flag" )
     250  ("3DVCodingOrder",   cfg_JointCodingOrdering,  string(""), "The coding order for joint texture-depth coding")
     251#endif
     252
    234253  ("MaxCUWidth",          m_uiMaxCUWidth,  64u)
    235254  ("MaxCUHeight",         m_uiMaxCUHeight, 64u)
     
    490509  m_pchBitstreamFile = cfg_BitstreamFile.empty() ? NULL : strdup(cfg_BitstreamFile.c_str());
    491510  m_pchdQPFile = cfg_dQPFile.empty() ? NULL : strdup(cfg_dQPFile.c_str());
    492  
     511
     512#if FLEX_CODING_ORDER
     513  m_pchMVCJointCodingOrder= cfg_JointCodingOrdering.empty()?NULL:strdup(cfg_JointCodingOrdering.c_str());
     514  // If flexible order is enabled and if depth comes before the texture for a view, disable VSO
     515#if HHI_VSO && DISABLE_FCO_FOR_VSO
     516  Bool depthComesFirst = false;
     517  int iter = 0;
     518  if ( m_b3DVFlexOrder )
     519  {
     520    for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++)
     521    {
     522      iter = 0;
     523      for ( Int ii=1; ii<12; ii+=2 )
     524      {
     525        Int iViewIdxCfg = (Int)(m_pchMVCJointCodingOrder[ii]-'0');
     526        if ( iViewIdxCfg == iViewIdx )
     527        {
     528          iter ++;
     529          if ( m_pchMVCJointCodingOrder[ii-1]=='D' ) // depth comes first for this view
     530          {
     531            if(iter == 1)
     532           {
     533            depthComesFirst = true;
     534            break;
     535           }
     536          }
     537          else
     538          {
     539            assert(m_pchMVCJointCodingOrder[ii-1]=='T');
     540          }
     541        }
     542      }
     543    }
     544  }
     545  if (depthComesFirst)
     546  {
     547    //m_bUseVSO = false;
     548  }
     549#endif
     550#endif
     551
    493552  m_pchColumnWidth = cfg_ColumnWidth.empty() ? NULL: strdup(cfg_ColumnWidth.c_str());
    494553  m_pchRowHeight = cfg_RowHeight.empty() ? NULL : strdup(cfg_RowHeight.c_str());
Note: See TracChangeset for help on using the changeset viewer.