Changeset 724 in 3DVCSoftware for trunk/source/App


Ignore:
Timestamp:
30 Nov 2013, 12:29:49 (10 years ago)
Author:
tech
Message:

Merged HTM-8.2-dev0@723.

Location:
trunk/source/App/TAppEncoder
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppEncoder/TAppEncCfg.cpp

    r655 r724  
    378378#if H_3D_DIM
    379379  ("DMM",                   m_useDMM,           true,  "Depth intra model modes")
     380#if !SEC_DMM3_RBC_F0147
    380381  ("RBC",                   m_useRBC,           true,  "Region boundary chain mode")
     382#endif
    381383  ("SDC",                   m_useSDC,           true,  "Simplified depth coding")
    382384  ("DLT",                   m_useDLT,           true,  "Depth lookup table")
     
    508510  ("AdvMultiviewResPred",      m_uiUseAdvResPred,           (UInt)1, "Usage of Advanced Residual Prediction" )
    509511#endif
     512#if MTK_SPIVMP_F0110
     513  ("SubPULog2Size", m_iSubPULog2Size, (Int)3, "Sub-PU size index: 2^n")
     514#endif
     515
    510516#if H_3D_IC
     517#if SEC_ONLY_TEXTURE_IC_F0151
     518  ("IlluCompEnable",           m_abUseIC, true, "Enable illumination compensation")
     519#else
    511520  ("IlluCompEnable",           m_abUseIC, std::vector<Bool>(2, true), "Enable illumination compensation")
     521#endif
    512522#endif
    513523#if H_3D_INTER_SDC
    514524  ("InterSDC",                 m_bDepthInterSDCFlag,        true, "Enable depth inter SDC")
     525#endif
     526#if SEC_MPI_ENABLING_MERGE_F0150
     527  ("MPI",                      m_bMPIFlag,        true, "Enable MPI")
    515528#endif
    516529  // Coding tools
     
    750763#endif
    751764#if H_3D_IV_MERGE
     765#if QC_DEPTH_IV_MRG_F0125 
     766  ("IvMvPred",                        m_ivMvPredFlag            , std::vector<Bool>(2, true)            , "inter view motion prediction " )
     767#else
    752768  ("IvMvPred",                        m_ivMvPredFlag,           true            , "inter view motion prediction " ) 
     769#endif
    753770#endif
    754771#if H_3D_NBDV_REF
     
    14731490#if H_3D_ARP
    14741491  xConfirmPara( ( 0 != m_uiUseAdvResPred ) &&  ( 1 != m_uiUseAdvResPred ), "UseAdvResPred must be 0 or 1." );
     1492#endif
     1493#if MTK_SPIVMP_F0110
     1494  xConfirmPara( m_iSubPULog2Size < 2,                                        "SubPULog2Size must be 2 or greater.");
     1495  xConfirmPara( m_iSubPULog2Size > 6,                                        "SubPULog2Size must be 6 or smaller.");
     1496  xConfirmPara( (1<<m_iSubPULog2Size) > m_uiMaxCUWidth,                      "SubPULog2Size must be log2(maxCUSize) or smaller.");
    14751497#endif
    14761498#if ADAPTIVE_QP_SELECTION
     
    24142436#endif
    24152437#if H_3D_IV_MERGE
     2438#if QC_DEPTH_IV_MRG_F0125
     2439  printf("IvMvPred:%d %d", m_ivMvPredFlag[0] ? 1 : 0, m_ivMvPredFlag[1] ? 1 : 0);
     2440#else
    24162441  printf("IvMvPred:%d ", m_ivMvPredFlag );
     2442#endif
     2443#if MTK_SPIVMP_F0110
     2444  printf(" SubPULog2Size:%d  " , m_iSubPULog2Size  );
     2445#endif
    24172446#endif
    24182447#if H_3D_ARP
     
    24202449#endif
    24212450#if H_3D_IC
     2451#if SEC_ONLY_TEXTURE_IC_F0151
     2452  printf( "IlluCompEnable: %d ", m_abUseIC);
     2453#else
    24222454  printf( "IlluCompEnable: %d %d ", m_abUseIC[0] ? 1 : 0, m_abUseIC[1] ? 1 : 0 );
     2455#endif
    24232456#endif
    24242457#if H_3D_NBDV_REF
     
    24332466#if H_3D_DIM
    24342467  printf("DMM:%d ", m_useDMM );
     2468#if !SEC_DMM3_RBC_F0147
    24352469  printf("RBC:%d ", m_useRBC );
     2470#endif
    24362471  printf("SDC:%d ", m_useSDC );
    24372472  printf("DLT:%d ", m_useDLT );
     
    24392474#if H_3D_INTER_SDC
    24402475  printf( "interSDC: %d ", m_bDepthInterSDCFlag ? 1 : 0 );
     2476#endif
     2477#if SEC_MPI_ENABLING_MERGE_F0150
     2478  printf( "MPI: %d ", m_bMPIFlag ? 1 : 0 );
    24412479#endif
    24422480  printf("\n\n"); 
  • trunk/source/App/TAppEncoder/TAppEncCfg.h

    r655 r724  
    115115
    116116#if H_3D_IV_MERGE
     117#if QC_DEPTH_IV_MRG_F0125
     118  vector<Bool>           m_ivMvPredFlag;                      ///< Interview motion vector prediction
     119#else
    117120  Bool                   m_ivMvPredFlag;                      ///< Interview motion vector prediction
     121#endif
     122#if MTK_SPIVMP_F0110
     123  Int                    m_iSubPULog2Size;                   
     124#endif
    118125#endif
    119126#if H_3D_ARP                                                  /// < flag and number of weighting factors in ARP
     
    122129#endif
    123130#if H_3D_IC
     131#if SEC_ONLY_TEXTURE_IC_F0151
     132  Bool   m_abUseIC;
     133#else
    124134  vector<Bool> m_abUseIC;                                    ///< flag for using illumination compensation for inter-view prediction
     135#endif
    125136#endif
    126137#if H_3D_NBDV_REF
     
    461472#if H_3D_DIM
    462473  Bool      m_useDMM;                                        ///< flag for using DMM
     474#if !SEC_DMM3_RBC_F0147
    463475  Bool      m_useRBC;                                        ///< flag for using RBC
     476#endif
    464477  Bool      m_useSDC;                                        ///< flag for using SDC
    465478  Bool      m_useDLT;                                        ///< flag for using DLT
     
    471484#if H_3D_INTER_SDC
    472485  Bool m_bDepthInterSDCFlag;                                ///< flag for inter SDC of depth map coding
     486#endif
     487#if SEC_MPI_ENABLING_MERGE_F0150
     488  Bool m_bMPIFlag;                                           ///< flag for MPI of depth map coding
    473489#endif
    474490#endif
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r655 r724  
    149149    //====== Camera Parameters =========
    150150    m_cTEncTop.setCameraParameters             ( &m_cCameraData );     
     151#if QC_DEPTH_IV_MRG_F0125
     152    m_cTEncTop.setCamParPrecision              ( m_cCameraData.getCamParsCodedPrecision  () );
     153    m_cTEncTop.setCamParInSliceHeader          ( m_cCameraData.getVaryingCameraParameters() );
     154    m_cTEncTop.setCodedScale                   ( m_cCameraData.getCodedScale             () );
     155    m_cTEncTop.setCodedOffset                  ( m_cCameraData.getCodedOffset            () );
     156#else
    151157    m_cTEncTop.setCamParPrecision              ( isDepth ? false : m_cCameraData.getCamParsCodedPrecision  () );
    152158    m_cTEncTop.setCamParInSliceHeader          ( isDepth ? 0     : m_cCameraData.getVaryingCameraParameters() );
    153159    m_cTEncTop.setCodedScale                   ( isDepth ? 0     : m_cCameraData.getCodedScale             () );
    154160    m_cTEncTop.setCodedOffset                  ( isDepth ? 0     : m_cCameraData.getCodedOffset            () );
     161#endif
    155162#if H_3D_VSO
    156163    //====== VSO =========
     
    176183    m_cTEncTop.setARPStepNum                   ( ( isDepth || 0==layerIdInVps ) ? 1 : H_3D_ARP_WFNR     );
    177184#endif
     185#if MTK_SPIVMP_F0110
     186    m_cTEncTop.setSubPULog2Size                 (( isDepth || 0==layerIdInVps ) ? 0 : m_iSubPULog2Size   );
     187#endif
    178188#if H_3D_IC
     189#if SEC_ONLY_TEXTURE_IC_F0151
     190    m_cTEncTop.setUseIC                        ( vps.getViewIndex( layerId ) == 0 || isDepth ? false : m_abUseIC );
     191#else
    179192    m_cTEncTop.setUseIC                        ( vps.getViewIndex( layerId ) == 0 ? false : m_abUseIC[isDepth ? 1 : 0] );
     193#endif
    180194#endif
    181195  //========== Depth intra modes ==========
    182196#if H_3D_DIM
    183197    m_cTEncTop.setUseDMM                       ( isDepth ? m_useDMM               : false );
     198#if !SEC_DMM3_RBC_F0147
    184199    m_cTEncTop.setUseRBC                       ( isDepth ? m_useRBC               : false );
     200#endif
    185201    m_cTEncTop.setUseSDC                       ( isDepth ? m_useSDC               : false );
    186202    m_cTEncTop.setUseDLT                       ( isDepth ? m_useDLT               : false );
     
    193209#if H_3D_INTER_SDC
    194210    m_cTEncTop.setInterSDCEnable               ( isDepth ? m_bDepthInterSDCFlag    : false );
     211#endif
     212#if SEC_MPI_ENABLING_MERGE_F0150
     213    m_cTEncTop.setUseMPI               ( isDepth ? m_bMPIFlag    : false );
    195214#endif
    196215#endif // H_3D
     
    16391658    vps.setARPStepNum      ( layer, ( isDepth || isLayerZero ) ? 1 : H_3D_ARP_WFNR     );
    16401659#endif 
     1660#if MTK_SPIVMP_F0110
     1661    if( isDepth )
     1662    {
     1663      vps.setSubPULog2Size         ( layer, (layer != 1) ? m_iSubPULog2Size: 0 );
     1664    }
     1665    else
     1666    {
     1667      vps.setSubPULog2Size         ( layer, (!isLayerZero) ? m_iSubPULog2Size: 0 );
     1668    }
     1669#endif
    16411670
    16421671#if H_3D_DIM
     1672#if SEC_DMM3_RBC_F0147
     1673    vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) );
     1674#else
    16431675    vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useRBC || m_useSDC || m_useDLT ) );
     1676#endif
    16441677#if H_3D_DIM_DLT
    16451678    vps.setUseDLTFlag( layer , isDepth && m_useDLT );
     
    16521685
    16531686#if H_3D_IV_MERGE
     1687#if QC_DEPTH_IV_MRG_F0125
     1688    if( isDepth )
     1689    {
     1690      vps.setIvMvPredFlag         ( layer, (layer != 1) && m_ivMvPredFlag[1] );
     1691    }
     1692    else
     1693    {
     1694      vps.setIvMvPredFlag         ( layer, !isLayerZero && m_ivMvPredFlag[0] );
     1695    }
     1696#else
    16541697    vps.setIvMvPredFlag         ( layer, !isLayerZero && !isDepth && m_ivMvPredFlag );
     1698#endif
    16551699#endif
    16561700#if H_3D_NBDV_REF
     
    16631707    vps.setInterSDCFlag( layer, !isLayerZero && isDepth && m_bDepthInterSDCFlag );
    16641708#endif
     1709#if SEC_MPI_ENABLING_MERGE_F0150
     1710    vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag );
     1711#endif
    16651712  } 
    16661713#if H_3D
Note: See TracChangeset for help on using the changeset viewer.