Ignore:
Timestamp:
12 Jul 2013, 17:57:35 (11 years ago)
Author:
tech
Message:
  • Fixed cfg files.
  • Fixed several memory leaks.
  • Fixed encoder/decoder mismatch and aligned order of vps syntax elements with draft text.
  • Added missing iv_mv_scaling flag.
Location:
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCavlc.cpp

    r531 r532  
    762762#endif
    763763#if H_3D_ARP
    764         WRITE_FLAG( pcVPS->getUseAdvRP             ( i ) ? 1 : 0,  "advanced_residual_pred_flag"  );
     764        WRITE_FLAG( pcVPS->getUseAdvRP             ( i ) ? 1 : 0,  "iv_res_pred_flag[i]"  );
    765765#endif
    766766#if H_3D_NBDV_REF
     
    771771#endif
    772772      }         
    773     }       
    774     if( pcVPS->getDepthId( i ) )
    775     {
    776       WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ),          "vps_depth_modes_flag[i]" );
    777      
     773      else
     774      {
     775        WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 ,          "vps_depth_modes_flag[i]" );
     776        //WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
    778777#if H_3D_DIM_DLT
    779       if( pcVPS->getVpsDepthModesFlag( i ) )
    780       {
    781         WRITE_FLAG( pcVPS->getUseDLTFlag( i ) ? 1 : 0, "use_dlt_flag[i]" );
     778        if( pcVPS->getVpsDepthModesFlag( i ) )
     779        {
     780          WRITE_FLAG( pcVPS->getUseDLTFlag( i ) ? 1 : 0, "dlt_flag[i]" );
     781        }
    782782        if( pcVPS->getUseDLTFlag( i ) )
    783783        {
    784784          // code mapping
    785           WRITE_UVLC(pcVPS->getNumDepthValues(i), "num_dlt_depth_values[i]");
     785          WRITE_UVLC(pcVPS->getNumDepthValues(i), "num_depth_values_in_dlt[i]");
    786786          for(Int d=0; d<pcVPS->getNumDepthValues(i); d++)
    787787          {
    788788            WRITE_UVLC( pcVPS->idx2DepthValue(i, d), "dlt_depth_value[i][d]" );
    789789          }
    790         }
    791       }
    792 #endif
    793     }
    794 
    795   } 
     790        }       
     791#endif
     792      }
     793    } 
     794  }
     795#if H_3D_TMVP
     796  WRITE_FLAG( pcVPS->getIvMvScalingFlag( ) ? 1 : 0 ,          "iv_mv_scaling_flag" );
     797#endif
    796798#else
    797799  WRITE_FLAG( 0,                                             "vps_extension2_flag" );
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCfg.h

    r531 r532  
    322322  Bool      m_TransquantBypassEnableFlag;                     ///< transquant_bypass_enable_flag setting in PPS.
    323323  Bool      m_CUTransquantBypassFlagValue;                    ///< if transquant_bypass_enable_flag, the fixed value to use for the per-CU cu_transquant_bypass_flag.
     324#if H_MV_FIX_VPS_POINTER
     325  TComVPS*  m_cVPS;                                           ///< pointer to VPS, same for all layers
     326#else
    324327  TComVPS                    m_cVPS;
     328#endif
    325329  Bool      m_recalculateQPAccordingToLambda;                 ///< recalculate QP value according to the lambda value
    326330  Int       m_activeParameterSetsSEIEnabled;                  ///< enable active parameter set SEI message
     
    833837  Bool      getCUTransquantBypassFlagValue()          { return m_CUTransquantBypassFlagValue; }
    834838  Void      setCUTransquantBypassFlagValue(Bool flag) { m_CUTransquantBypassFlagValue = flag; }
     839#if H_MV_FIX_VPS_POINTER
     840  Void      setVPS           ( TComVPS *p ) { m_cVPS = p;    }
     841  TComVPS*  getVPS           ()             { return m_cVPS; }
     842#else
    835843  Void setVPS(TComVPS *p) { m_cVPS = *p; }
    836844  TComVPS *getVPS() { return &m_cVPS; }
     845#endif
    837846  Void      setUseRecalculateQPAccordingToLambda ( Bool b ) { m_recalculateQPAccordingToLambda = b;    }
    838847  Bool      getUseRecalculateQPAccordingToLambda ()         { return m_recalculateQPAccordingToLambda; }
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp

    r531 r532  
    706706#if H_3D
    707707    pcSlice->setIvPicLists( m_ivPicLists );         
    708 #if H_3D
    709     pcSlice->setPicLists( m_ivPicLists );
    710 #endif
    711708#if H_3D_IV_MERGE   
    712709    assert( !m_pcEncTop->getIsDepth() || ( pcSlice->getTexturePic() != 0 ) );
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncSearch.cpp

    r531 r532  
    72777277  Pel refDC1 = 0; Pel refDC2 = 0;
    72787278
    7279   TComPic*      pcPicTex = pcCU->getSlice()->getPicLists()->getPic( pcCU->getSlice()->getViewIndex(), false, pcCU->getSlice()->getPOC() );
     7279  TComPic*      pcPicTex = pcCU->getSlice()->getTexturePic();
    72807280  assert( pcPicTex != NULL );
    72817281  TComDataCU* pcColTexCU = pcPicTex->getCU(pcCU->getAddr());
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncTop.cpp

    r521 r532  
    290290 
    291291  /* set the VPS profile information */
     292#if H_MV_FIX_VPS_POINTER
     293  // This seems to be incorrect, but irrelevant for the MV-HEVC
     294  *(m_cVPS->getPTL()) = *m_cSPS.getPTL();
     295#if L0043_TIMING_INFO
     296  m_cVPS->getTimingInfo()->setTimingInfoPresentFlag       ( false );
     297#endif
     298#else
    292299  *m_cVPS.getPTL() = *m_cSPS.getPTL();
     300
    293301#if L0043_TIMING_INFO
    294302  m_cVPS.getTimingInfo()->setTimingInfoPresentFlag       ( false );
     303#endif
    295304#endif
    296305  // initialize PPS
     
    668677{
    669678#if H_MV
     679#if H_MV_FIX_VPS_POINTER
     680  if( getVPS()->getNumDirectRefLayers( getLayerIdInVps() ) > 0 )
     681#else
    670682  if( m_cVPS.getNumDirectRefLayers( getLayerIdInVps() ) > 0 )
     683#endif
    671684  {
    672685    m_cPPS.setListsModificationPresentFlag( true );
Note: See TracChangeset for help on using the changeset viewer.