Changeset 747 in 3DVCSoftware for branches/HTM-9.0r1-F0122


Ignore:
Timestamp:
17 Dec 2013, 21:57:52 (11 years ago)
Author:
qualcomm
Message:

MV-HEVC+D support based on JCT3V-F0122

Location:
branches/HTM-9.0r1-F0122
Files:
24 added
17 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.0r1-F0122/source/App/TAppDecoder/TAppDecTop.cpp

    r655 r747  
    286286#endif
    287287    }
    288 #if H_3D
     288#if H_3DV
    289289    if ( allLayersDecoded || !bitstreamFile )
    290290    {
  • branches/HTM-9.0r1-F0122/source/App/TAppEncoder/TAppEncCfg.cpp

    r724 r747  
    243243  {"main-stereo",    Profile::MAINSTEREO},
    244244  {"main-multiview", Profile::MAINMULTIVIEW},
    245 #if H_3D
     245#if H_3DV
    246246  {"main-3d"    , Profile::MAIN3D},
    247247#endif
     
    775775  ("ViewSynthesisPred",               m_viewSynthesisPredFlag,  true           , "view synthesis prediction " ) 
    776776#endif
    777 #if H_3D
     777#if H_3DV
    778778  ("IvMvScaling",                     m_ivMvScalingFlag      ,  true            , "inter view motion vector scaling" )   
    779779#endif
     
    24612461  printf("ViewSynthesisPred:%d ", m_viewSynthesisPredFlag );
    24622462#endif
    2463 #if H_3D
     2463#if H_3DV
    24642464  printf("IvMvScaling:%d ", m_ivMvScalingFlag ? 1 : 0  );
    24652465#endif
  • branches/HTM-9.0r1-F0122/source/App/TAppEncoder/TAppEncCfg.h

    r724 r747  
    141141  Bool m_viewSynthesisPredFlag;
    142142#endif
    143 #if H_3D
     143#if H_3DV
    144144  Bool m_ivMvScalingFlag;
    145145#endif
  • branches/HTM-9.0r1-F0122/source/App/TAppEncoder/TAppEncTop.cpp

    r735 r747  
    16511651  for ( Int layer = 0; layer <= vps.getMaxLayersMinus1(); layer++ )
    16521652  {
     1653#if H_3DV
    16531654    Bool isDepth      = ( vps.getDepthId( layer ) == 1 ) ;
    16541655    Bool isLayerZero  = ( layer == 0 );
     1656#endif
    16551657
    16561658#if H_3D_ARP
     
    17151717#endif
    17161718  } 
    1717 #if H_3D
     1719#if H_3DV
    17181720  vps.setIvMvScalingFlag( m_ivMvScalingFlag );   
    17191721#endif
  • branches/HTM-9.0r1-F0122/source/Lib/TLibCommon/TComDataCU.cpp

    r724 r747  
    40574057
    40584058  numValidMergeCand = getSlice()->getMaxNumMergeCand();
    4059 #if H_3D
     4059#if H_3DV
    40604060  //////////////////////////////////
    40614061  //////// DERIVE LOCATIONS ////////
     
    47244724  iCount += numA1B1B0;
    47254725#else
    4726 #if H_3D
     4726#if H_3DV
    47274727  ////////////////////////////
    47284728  //////// LEFT (A1) /////////
     
    48154815    return;
    48164816  }
    4817 #if H_3D
     4817#if H_3DV
    48184818  ////////////////////////////
    48194819  //////// ABOVE (B1) ////////
     
    49254925  }
    49264926
    4927 #if H_3D
     4927#if H_3DV
    49284928  //////////////////////////////////
    49294929  //////// ABOVE RIGHT (B0) ////////
     
    51285128  iCount += numA0B2;
    51295129#else
    5130 #if H_3D
     5130#if H_3DV
    51315131  ///////////////////////////////////
    51325132  //////// LEFT BOTTOM (A0) ////////
     
    51855185    return;
    51865186  }
    5187 #if H_3D
     5187#if H_3DV
    51885188  ///////////////////////////////////
    51895189  //////// LEFT ABOVE (B2) ////////
     
    52975297  numValidMergeCand = iCount;
    52985298#else
    5299 #if H_3D
     5299#if H_3DV
    53005300  /////////////////////////////////
    53015301  //////// Collocate (COL) ////////
     
    55325532  }
    55335533  numValidMergeCand = getSlice()->getMaxNumMergeCand();
    5534 #if H_3D
     5534#if H_3DV
    55355535  //////////////////////////////////
    55365536  //////// DERIVE LOCATIONS ////////
     
    57355735#endif
    57365736
    5737 #if H_3D
     5737#if H_3DV
    57385738  ////////////////////////////
    57395739  //////// LEFT (A1) /////////
     
    58265826    return;
    58275827  }
    5828 #if H_3D
     5828#if H_3DV
    58295829  ////////////////////////////
    58305830  //////// ABOVE (B1) ////////
     
    59365936  }
    59375937
    5938 #if H_3D
     5938#if H_3DV
    59395939  //////////////////////////////////
    59405940  //////// ABOVE RIGHT (B0) ////////
     
    60906090  }
    60916091#endif
    6092 #if H_3D
     6092#if H_3DV
    60936093  ///////////////////////////////////
    60946094  //////// LEFT BOTTOM (A0) ////////
     
    61476147    return;
    61486148  }
    6149 #if H_3D
     6149#if H_3DV
    61506150  ///////////////////////////////////
    61516151  //////// LEFT ABOVE (B2) ////////
     
    62396239  }
    62406240#endif
    6241 #if H_3D
     6241#if H_3DV
    62426242  /////////////////////////////////
    62436243  //////// Collocate (COL) ////////
     
    71647164                                        + ( iPartWidth/m_pcPic->getMinCUWidth()  )/2];
    71657165}
    7166 #if H_3D
     7166#if H_3DV
    71677167Void TComDataCU::compressMV(Int scale)
    71687168#else
     
    71707170#endif
    71717171{
    7172 #if H_3D
     7172#if H_3DV
    71737173  Int scaleFactor = (4 / scale ) * AMVP_DECIMATION_FACTOR / m_unitSize;
    71747174#else
  • branches/HTM-9.0r1-F0122/source/Lib/TLibCommon/TComDataCU.h

    r724 r747  
    660660  Void          getMvPredAbove        ( TComMv&     rcMvPred )   { rcMvPred = m_cMvFieldB.getMv(); }
    661661  Void          getMvPredAboveRight   ( TComMv&     rcMvPred )   { rcMvPred = m_cMvFieldC.getMv(); }
    662 #if H_3D
     662#if H_3DV
    663663  Void          compressMV            ( Int scale );
    664664#else           
  • branches/HTM-9.0r1-F0122/source/Lib/TLibCommon/TComPic.cpp

    r655 r747  
    156156  deleteSEIs(m_SEIs);
    157157}
    158 #if H_3D
     158#if H_3DV
    159159Void TComPic::compressMotion(Int scale)
    160160#else
     
    166166  {
    167167    TComDataCU* pcCU = pPicSym->getCU(uiCUAddr);
    168 #if H_3D
     168#if H_3DV
    169169    pcCU->compressMV(scale);
    170170#else
  • branches/HTM-9.0r1-F0122/source/Lib/TLibCommon/TComPic.h

    r655 r747  
    184184  Void          setNumReorderPics(Int i, UInt tlayer) { m_numReorderPics[tlayer] = i;    }
    185185  Int           getNumReorderPics(UInt tlayer)        { return m_numReorderPics[tlayer]; }
    186 #if H_3D
     186#if H_3DV
    187187  Void          compressMotion(Int scale);
    188188#else   
  • branches/HTM-9.0r1-F0122/source/Lib/TLibCommon/TComSlice.cpp

    r724 r747  
    18111811    }
    18121812#endif
    1813 #if H_3D
     1813#if H_3DV
    18141814    m_ivMvScalingFlag = true;
    18151815#endif
     
    30293029{
    30303030  Bool setupLUT = false;
     3031#if H_3DV
    30313032  Int layerIdInVPS = getVPS()->getLayerIdInNuh( m_layerId );
    3032 
     3033#endif
    30333034#if H_3D_VSP
    30343035  setupLUT = setupLUT || getVPS()->getViewSynthesisPredFlag( layerIdInVPS);
  • branches/HTM-9.0r1-F0122/source/Lib/TLibCommon/TComSlice.h

    r724 r747  
    616616  Int*        m_iIdx2DepthValue          [MAX_NUM_LAYERS   ];
    617617#endif
    618 #if H_3D
     618#if H_3DV
    619619  Bool        m_ivMvScalingFlag;
    620620#endif
     
    858858#endif
    859859
     860#if H_3DV
    860861  Bool    getIvMvScalingFlag   (  )                       { return m_ivMvScalingFlag; }
    861862  Void    setIvMvScalingFlag   ( Bool b )                 { m_ivMvScalingFlag = b;    } 
     863#endif
    862864#if H_3D_INTER_SDC
    863865  Bool    getInterSDCFlag      ( Int layerIdInVps )           { return m_bInterSDCFlag[layerIdInVps]; }
  • branches/HTM-9.0r1-F0122/source/Lib/TLibCommon/TypeDef.h

    r735 r747  
    7474
    7575#if H_3D
     76#define H_3DV                             1   // QC_F0122 MV-HEVC with depth support
     77                                              // This macro equal to 1 indicates 3D-HEVC
     78                                              // This macro equal to 0 indicates MV-HEVC plus depth coding
     79                                              // CY:  H_3D is now mainly used to control the common framework, common high-level syntax (HLS) and
     80                                              //      common encoder optimization for both 3D-HEVC and MV-HEVC.
     81                                              //      H_3DV controls all the other 3D-HEVC features, including coding tools and different HLS.
     82
    7683#define H_3D_QTLPC                        1   // OL_QTLIMIT_PREDCODING_B0068 //JCT3V-B0068
    7784                                              // HHI_QTLPC_RAU_OFF_C0160     // JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units
     
    8289                                              // SAIT_VSO_EST_A0033, JCT3V-A0033 modification 3
    8390                                              // LGE_WVSO_A0119
     91#if H_3DV
    8492#define H_3D_NBDV                         1   // Neighboring block disparity derivation
    8593                                              // QC_JCT3V-A0097
     
    180188#define KWU_RC_MADPRED_E0227              0  ///< JCT3V-E0227, inter-view MAD prediction
    181189
     190#endif // H_3DV
     191#else
     192#define H_3DV                             0  // QC_F0122 MV-HEVC with depth support, this value shall always be 0 here
    182193#endif // H_3D
    183194
     
    248259/////////////////////////////////////////////////////////////////////////////////////////
    249260
    250 #if H_3D
     261#if H_3DV
    251262
    252263#define FIX_MISSING_MACRO_R690                  1 // Missing macro in integration to revision 690
     
    772783    MAIN10 = 2,
    773784    MAINSTILLPICTURE = 3,
    774 #if H_MV
     785#if H_MV || !H_3DV
    775786    MAINSTEREO = 4,
    776787    MAINMULTIVIEW = 5,
    777 #if H_3D
     788#if H_3D && H_3DV
    778789    MAIN3D = 6,
    779790#endif
  • branches/HTM-9.0r1-F0122/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r724 r747  
    813813  if( depthFlag )
    814814  {
     815#if H_3DV
    815816    READ_FLAG( uiCode, "use_qtl_flag" );
    816817    pcSPS->setUseQTL( uiCode );
    817818    READ_FLAG( uiCode, "use_pc_flag" );
    818819    pcSPS->setUsePC( uiCode );
     820#else
     821    pcSPS->setUsePC( 0 );
     822#endif
    819823  }
    820824#endif
     
    13201324    }
    13211325  }
     1326#if H_3DV
    13221327  READ_FLAG( uiCode, "iv_mv_scaling_flag");                       pcVPS->setIvMvScalingFlag( uiCode == 1 ? true : false );
     1328#endif
    13231329}
    13241330#endif
  • branches/HTM-9.0r1-F0122/source/Lib/TLibDecoder/TDecGop.cpp

    r655 r747  
    224224    rpcPic->destroyNonDBFilterInfo();
    225225  }
    226 #if H_3D
     226#if H_3DV
    227227  rpcPic->compressMotion(2);
    228228#endif
    229 #if !H_3D
     229#if !H_3DV
    230230  rpcPic->compressMotion();
    231231#endif
  • branches/HTM-9.0r1-F0122/source/Lib/TLibDecoder/TDecSbac.cpp

    r724 r747  
    851851
    852852  UInt uiSymbol;
    853 #if H_3D_QTLPC
     853#if H_3D_QTLPC && H_3DV
    854854  Bool bParseSplitFlag    = true;
    855855
     
    878878    DTRACE_CABAC_T( "\tSplitFlag\n" )
    879879#endif
    880 #if H_3D_QTLPC
     880#if H_3D_QTLPC && H_3DV
    881881  }
    882882  else
     
    901901  PartSize eMode;
    902902
    903 #if H_3D_QTLPC
     903#if H_3D_QTLPC && H_3DV
    904904  Bool bParsePartSize    = true;
    905905  TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
     
    925925  if ( pcCU->isIntra( uiAbsPartIdx ) )
    926926  {
    927 #if H_3D_QTLPC
     927#if H_3D_QTLPC && H_3DV
    928928    if(bParsePartSize)
    929929    {
     
    938938      }
    939939      eMode = uiSymbol ? SIZE_2Nx2N : SIZE_NxN;
    940 #if H_3D_QTLPC
     940#if H_3D_QTLPC && H_3DV
    941941    }
    942942#endif
     
    956956  else
    957957  {
    958 #if H_3D_QTLPC
     958#if H_3D_QTLPC && H_3DV
    959959    if(bParsePartSize)
    960960    {
     
    999999      DTRACE_CU("part_mode", eMode )
    10001000#endif
    1001 #if H_3D_QTLPC
     1001#if H_3D_QTLPC && H_3DV
    10021002    }
    10031003#endif
  • branches/HTM-9.0r1-F0122/source/Lib/TLibEncoder/TEncCavlc.cpp

    r724 r747  
    600600Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    601601{
    602 #if H_3D_QTLPC
     602#if H_3D_QTLPC && H_3DV
    603603//GT: This has to go to VPS
    604604if( depthFlag )
  • branches/HTM-9.0r1-F0122/source/Lib/TLibEncoder/TEncGOP.cpp

    r724 r747  
    18271827        pcPic->destroyNonDBFilterInfo();
    18281828      }
    1829 #if H_3D
     1829#if H_3DV
    18301830      pcPic->compressMotion(2);
    18311831#endif
    1832 #if !H_3D
     1832#if !H_3DV
    18331833      pcPic->compressMotion();
    18341834#endif
  • branches/HTM-9.0r1-F0122/source/Lib/TLibEncoder/TEncTop.cpp

    r724 r747  
    403403{
    404404#endif
    405 #if H_3D
     405#if H_3DV
    406406  TComPic* picLastCoded = getPic( getGOPEncoder()->getPocLastCoded() );
    407407  if( picLastCoded )
     
    766766
    767767#if H_3D_QTLPC
     768#if H_3DV
    768769  m_cSPS.setUseQTL( m_bUseQTL );
    769770  m_cSPS.setUsePC ( m_bUsePC  );
     771#else
     772  m_cSPS.setUseQTL( m_bUseQTL );
     773  m_cSPS.setUsePC ( 0 );
     774#endif
    770775#endif
    771776
Note: See TracChangeset for help on using the changeset viewer.