Ignore:
Timestamp:
16 Oct 2013, 11:27:16 (11 years ago)
Author:
kwu-htm
Message:

Clean-up version of JCT3V-E0227.

Location:
branches/HTM-8.2-dev0-KWU/source/App/TAppEncoder
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev0-KWU/source/App/TAppEncoder/TAppEncCfg.cpp

    r635 r636  
    8484
    8585#if KWU_RC_MADPRED_E0227
    86   m_uiDepthMADPred = 0;
     86  m_DepthMADPred = 0;
    8787#endif
    8888}
     
    600600
    601601#if KWU_RC_VIEWRC_E0227
    602   ("ViewWiseTargetBits, -vtbr" ,  m_pchViewTargetBits,  std::vector<Int>(1, 32), "View-wise target bit-rate setting")
    603   ("TargetBitAssign, -ta", m_bViewWiseRateCtrl, false, "View-wise rate control on/off")
     602  ("ViewWiseTargetBits, -vtbr" ,  m_ViewTargetBits,  std::vector<Int>(1, 32), "View-wise target bit-rate setting")
     603  ("TargetBitAssign, -ta", m_ViewWiseRateCtrl, false, "View-wise rate control on/off")
    604604#endif
    605605#if KWU_RC_MADPRED_E0227
    606   ("DepthMADPred, -dm", m_uiDepthMADPred, (UInt)0, "Depth based MAD prediction on/off")
    607 #endif
    608 #else
    609   ("RateControl,-rc", m_enableRateCtrl, false, "Rate control on/off")
     606  ("DepthMADPred, -dm", m_DepthMADPred, (UInt)0, "Depth based MAD prediction on/off")
     607#endif
     608#else
     609  ("RateCtrl,-rc", m_enableRateCtrl, false, "Rate control on/off")
    610610  ("TargetBitrate,-tbr", m_targetBitrate, 0, "Input target bitrate")
    611611  ("NumLCUInUnit,-nu", m_numLCUInUnit, 0, "Number of LCUs in an Unit")
    612612
    613613#if KWU_RC_VIEWRC_E0227
    614   ("ViewWiseTargetBits, -vtbr" ,  m_pchViewTargetBits,  std::vector<Int>(1, 32), "View-wise target bit-rate setting")
    615   ("TargetBitAssign, -ta", m_bViewWiseRateCtrl, false, "View-wise rate control on/off")
     614  ("ViewWiseTargetBits, -vtbr" ,  m_ViewTargetBits,  std::vector<Int>(1, 32), "View-wise target bit-rate setting")
     615  ("TargetBitAssign, -ta", m_ViewWiseRateCtrl, false, "View-wise rate control on/off")
    616616#endif
    617617#if KWU_RC_MADPRED_E0227
    618   ("DepthMADPred, -dm", m_uiDepthMADPred, (UInt)0, "Depth based MAD prediction on/off")
     618  ("DepthMADPred, -dm", m_DepthMADPred, (UInt)0, "Depth based MAD prediction on/off")
    619619#endif
    620620#endif
     
    21792179    xConfirmPara( (numLCUInPic % m_numLCUInUnit) != 0, "total number of LCUs in a frame should be completely divided by NumLCUInUnit" );
    21802180
    2181     //m_iMaxDeltaQP       = MAX_DELTA_QP;
     2181#if !(KWU_RC_MADPRED_E0227 || KWU_RC_VIEWRC_E0227)
     2182    m_iMaxDeltaQP       = MAX_DELTA_QP;
     2183#endif
    21822184    m_iMaxCuDQPDepth    = MAX_CUDQP_DEPTH;
    21832185  }
     
    23232325
    23242326#if KWU_RC_MADPRED_E0227
    2325     printf("Depth based MAD prediction   : %d\n", m_uiDepthMADPred);
     2327    printf("Depth based MAD prediction   : %d\n", m_DepthMADPred);
    23262328#endif
    23272329#if KWU_RC_VIEWRC_E0227
    2328     printf("View-wise Rate control       : %d\n", m_bViewWiseRateCtrl);
    2329     if(m_bViewWiseRateCtrl)
     2330    printf("View-wise Rate control       : %d\n", m_ViewWiseRateCtrl);
     2331    if(m_ViewWiseRateCtrl)
    23302332    {
    23312333
    23322334      printf("ViewWiseTargetBits           : ");
    23332335      for (int i = 0 ; i < m_iNumberOfViews ; i++)
    2334         printf("%d ", m_pchViewTargetBits[i]);
     2336        printf("%d ", m_ViewTargetBits[i]);
    23352337      printf("\n");
    23362338    }
     
    23492351
    23502352#if KWU_RC_MADPRED_E0227
    2351     printf("Depth based MAD prediction   : %d\n", m_uiDepthMADPred);
     2353    printf("Depth based MAD prediction   : %d\n", m_DepthMADPred);
    23522354#endif
    23532355#if KWU_RC_VIEWRC_E0227
    2354     printf("View-wise Rate control       : %d\n", m_bViewWiseRateCtrl);
    2355     if(m_bViewWiseRateCtrl)
     2356    printf("View-wise Rate control       : %d\n", m_ViewWiseRateCtrl);
     2357    if(m_ViewWiseRateCtrl)
    23562358    {
    23572359
    23582360      printf("ViewWiseTargetBits           : ");
    23592361      for (int i = 0 ; i < m_iNumberOfViews ; i++)
    2360         printf("%d ", m_pchViewTargetBits[i]);
     2362        printf("%d ", m_ViewTargetBits[i]);
    23612363      printf("\n");
    23622364    }
  • branches/HTM-8.2-dev0-KWU/source/App/TAppEncoder/TAppEncCfg.h

    r635 r636  
    369369
    370370#if KWU_RC_VIEWRC_E0227
    371   vector<Int>     m_pchViewTargetBits;
    372   bool      m_bViewWiseRateCtrl;                              ///< Flag for using view-wise rate control
     371  vector<Int>     m_ViewTargetBits;
     372  bool      m_ViewWiseRateCtrl;                              ///< Flag for using view-wise rate control
    373373#endif
    374374#if KWU_RC_MADPRED_E0227
    375   UInt       m_uiDepthMADPred;
     375  UInt       m_DepthMADPred;
    376376#endif
    377377#else
     
    381381
    382382#if KWU_RC_VIEWRC_E0227
    383   vector<Int>     m_pchViewTargetBits;
    384   bool      m_bViewWiseRateCtrl;                              ///< Flag for using view-wise rate control
     383  vector<Int>     m_ViewTargetBits;
     384  bool      m_ViewWiseRateCtrl;                              ///< Flag for using view-wise rate control
    385385#endif
    386386#if KWU_RC_MADPRED_E0227
    387   UInt       m_uiDepthMADPred;
     387  UInt       m_DepthMADPred;
    388388#endif
    389389#endif
  • branches/HTM-8.2-dev0-KWU/source/App/TAppEncoder/TAppEncTop.cpp

    r635 r636  
    512512  m_cTEncTop.setSignHideFlag(m_signHideFlag);
    513513#if RATE_CONTROL_LAMBDA_DOMAIN
     514#if KWU_RC_MADPRED_E0227
    514515  if(!m_cTEncTop.getIsDepth())    //only for texture
     516  {
    515517    m_cTEncTop.setUseRateCtrl         ( m_RCEnableRateControl );
     518  }
    516519  else
     520  {
    517521    m_cTEncTop.setUseRateCtrl         ( 0 );
     522  }
     523#else
     524  m_cTEncTop.setUseRateCtrl         ( m_RCEnableRateControl );
     525#endif
    518526#if !KWU_RC_VIEWRC_E0227
    519527  m_cTEncTop.setTargetBitrate       ( m_RCTargetBitrate );
     
    528536  if(m_cTEncTop.getUseRateCtrl() && !m_cTEncTop.getIsDepth())
    529537  {
    530     m_cTEncTop.setUseDepthMADPred(layerIdInVps ? m_uiDepthMADPred       : 0);
     538    m_cTEncTop.setUseDepthMADPred(layerIdInVps ? m_DepthMADPred       : 0);
    531539
    532540    if(m_cTEncTop.getUseDepthMADPred())
     541    {
    533542      m_cTEncTop.setCamParam(&m_cCameraData);
     543    }
    534544  }
    535545#endif
     
    537547  if(m_cTEncTop.getUseRateCtrl() && !m_cTEncTop.getIsDepth())
    538548  {
    539     m_cTEncTop.setUseViewWiseRateCtrl(m_bViewWiseRateCtrl);
     549    m_cTEncTop.setUseViewWiseRateCtrl(m_ViewWiseRateCtrl);
    540550
    541551    if(m_iNumberOfViews == 1)
    542552    {
    543       if(m_bViewWiseRateCtrl)
    544       {
    545         m_cTEncTop.setTargetBitrate(m_pchViewTargetBits[layerIdInVps>>1]);
     553      if(m_ViewWiseRateCtrl)
     554      {
     555        m_cTEncTop.setTargetBitrate(m_ViewTargetBits[layerIdInVps>>1]);
    546556      }
    547557      else
     558      {
    548559        m_cTEncTop.setTargetBitrate       ( m_RCTargetBitrate );
     560      }
    549561    }
    550562    else
    551563    {
    552       if(m_bViewWiseRateCtrl)
    553       {
    554         m_cTEncTop.setTargetBitrate(m_pchViewTargetBits[layerIdInVps>>1]);
     564      if(m_ViewWiseRateCtrl)
     565      {
     566        m_cTEncTop.setTargetBitrate(m_ViewTargetBits[layerIdInVps>>1]);
    555567      }
    556568      else
     
    559571        {
    560572          if(m_cTEncTop.getViewId() == 0)
     573          {
    561574            m_cTEncTop.setTargetBitrate              ( (m_RCTargetBitrate*80)/100 );
     575          }
    562576          else if(m_cTEncTop.getViewId() == 1)
     577          {
    563578            m_cTEncTop.setTargetBitrate              ( (m_RCTargetBitrate*20)/100 );
     579          }
    564580        }
    565581        else if(m_iNumberOfViews == 3)
    566582        {
    567583          if(m_cTEncTop.getViewId() == 0)
     584          {
    568585            m_cTEncTop.setTargetBitrate              ( (m_RCTargetBitrate*66)/100 );
     586          }
    569587          else if(m_cTEncTop.getViewId() == 1)
     588          {
    570589            m_cTEncTop.setTargetBitrate              ( (m_RCTargetBitrate*17)/100 );
     590          }
    571591          else if(m_cTEncTop.getViewId() == 2)
     592          {
    572593            m_cTEncTop.setTargetBitrate              ( (m_RCTargetBitrate*17)/100 );
     594          }
    573595        }
    574596        else
     597        {
    575598          m_cTEncTop.setTargetBitrate              ( m_RCTargetBitrate );
    576       }
    577     }
    578   }
    579 #endif
    580 #else
     599        }
     600      }
     601    }
     602  }
     603#endif
     604#else
     605#if KWU_RC_MADPRED_E0227
    581606  if(!m_cTEncTop.getIsDepth())    //only for texture
    582607  {
     
    588613  }
    589614  else
     615  {
    590616    m_cTEncTop.setUseRateCtrl         ( 0 );
     617  }
     618#else
     619  m_cTEncTop.setUseRateCtrl     ( m_enableRateCtrl);
     620  m_cTEncTop.setTargetBitrate   ( m_targetBitrate);
     621  m_cTEncTop.setNumLCUInUnit    ( m_numLCUInUnit);
     622#endif
    591623 
    592624#if KWU_RC_MADPRED_E0227
    593625  if(m_cTEncTop.getUseRateCtrl() && !m_cTEncTop.getIsDepth())
    594626  {
    595     m_cTEncTop.setUseDepthMADPred(layerIdInVps ? m_uiDepthMADPred       : 0);
     627    m_cTEncTop.setUseDepthMADPred(layerIdInVps ? m_DepthMADPred       : 0);
    596628
    597629    if(m_cTEncTop.getUseDepthMADPred())
     630    {
    598631      m_cTEncTop.setCamParam(&m_cCameraData);
     632    }
    599633  }
    600634#endif
     
    603637  if(m_cTEncTop.getUseRateCtrl() && !m_cTEncTop.getIsDepth())
    604638  {
    605     m_cTEncTop.setUseViewWiseRateCtrl(m_bViewWiseRateCtrl);
     639    m_cTEncTop.setUseViewWiseRateCtrl(m_ViewWiseRateCtrl);
    606640    if(m_iNumberOfViews == 1)
    607641    {
    608       if(m_bViewWiseRateCtrl)
    609       {
    610         m_cTEncTop.setTargetBitrate(m_pchViewTargetBits[layerIdInVps>>1]);
     642      if(m_ViewWiseRateCtrl)
     643      {
     644        m_cTEncTop.setTargetBitrate(m_ViewTargetBits[layerIdInVps>>1]);
    611645      }
    612646      else
     647      {
    613648        m_cTEncTop.setTargetBitrate       ( m_targetBitrate );
     649      }
    614650    }
    615651    else
    616652    {
    617       if(m_bViewWiseRateCtrl)
    618       {
    619         m_cTEncTop.setTargetBitrate(m_pchViewTargetBits[layerIdInVps>>1]);
     653      if(m_ViewWiseRateCtrl)
     654      {
     655        m_cTEncTop.setTargetBitrate(m_ViewTargetBits[layerIdInVps>>1]);
    620656      }
    621657      else
     
    624660        {
    625661          if(m_cTEncTop.getViewId() == 0)
     662          {
    626663            m_cTEncTop.setTargetBitrate              ( (m_targetBitrate*80)/100 );
     664          }
    627665          else if(m_cTEncTop.getViewId() == 1)
     666          {
    628667            m_cTEncTop.setTargetBitrate              ( (m_targetBitrate*20)/100 );
     668          }
    629669        }
    630670        else if(m_iNumberOfViews == 3)
    631671        {
    632672          if(m_cTEncTop.getViewId() == 0)
     673          {
    633674            m_cTEncTop.setTargetBitrate              ( (m_targetBitrate*66)/100 );
     675          }
    634676          else if(m_cTEncTop.getViewId() == 1)
     677          {
    635678            m_cTEncTop.setTargetBitrate              ( (m_targetBitrate*17)/100 );
     679          }
    636680          else if(m_cTEncTop.getViewId() == 2)
     681          {
    637682            m_cTEncTop.setTargetBitrate              ( (m_targetBitrate*17)/100 );
     683          }
    638684        }
    639685        else
     686        {
    640687          m_cTEncTop.setTargetBitrate              ( m_targetBitrate );
     688        }
    641689      }
    642690    }
Note: See TracChangeset for help on using the changeset viewer.