Ignore:
Timestamp:
18 Jun 2013, 05:16:27 (11 years ago)
Author:
mediatek-htm
Message:

Integration of 3D-HEVC merge related coding tools:
Inter-view motion merge candidate
HHI_INTER_VIEW_MOTION_PRED
SAIT_IMPROV_MOTION_PRED_M24829, improved inter-view motion vector prediction
QC_MRG_CANS_B0048 , JCT3V-B0048, B0086, B0069
OL_DISMV_POS_B0069 , different pos for disparity MV candidate, B0069
MTK_INTERVIEW_MERGE_A0049 , second part
QC_AMVP_MRG_UNIFY_IVCAN_C0051
TEXTURE MERGING CANDIDATE , JCT3V-C0137

Notes: Two configurations are added:
PredDepthMapGen : 1
MultiviewMvPred : 7

From: yiwen.chen@… (MediaTek)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/CommonDef.h

    r447 r476  
    178178}
    179179
     180#if H_3D_IV_MERGE
     181#define ROFVS( exp )          \
     182{                             \
     183  if( !( exp ) )              \
     184{                           \
     185  return;                   \
     186}                           \
     187}
     188
     189#define ROTVS( exp )          \
     190{                             \
     191  if( ( exp ) )               \
     192{                           \
     193  return;                   \
     194}                           \
     195}
     196
     197#define ROTRS( exp, retVal )  \
     198{                             \
     199  if( ( exp ) )               \
     200{                           \
     201  return retVal;            \
     202}                           \
     203}
     204
     205#define ROFRS( exp, retVal )  \
     206{                             \
     207  if( !( exp ) )              \
     208{                           \
     209  return retVal;            \
     210}                           \
     211}
     212#endif
     213
    180214template <typename T>
    181215__inline T gSign(const T& t)
     
    200234// MERGE
    201235#define MRG_MAX_NUM_CANDS           5
    202 
     236#if H_3D_IV_MERGE
     237#define MRG_MAX_NUM_CANDS_MEM       (MRG_MAX_NUM_CANDS+1) // one extra for inter-view motion prediction
     238#endif
    203239// Reference memory management
    204240#define DYN_REF_FREE                0           ///< dynamic free of reference memories
     
    325361#define STD_CAM_PARAMETERS_PRECISION 5        ///< quarter luma sample accuarcy for derived disparities (as default)
    326362
     363#if H_3D_IV_MERGE
     364#define PDM_USE_FOR_IVIEW                 1
     365#define PDM_USE_FOR_INTER                 2
     366#define PDM_USE_FOR_MERGE                 4
     367
     368#define MAX_VIEW_NUM                      10
     369#define PDM_SUBSAMPLING_EXP               2         // subsampling factor is 2^PDM_SUBSAMPLING_EXP
     370#define PDM_SUB_SAMP_EXP_X(Pdm)           ((Pdm)==1?PDM_SUBSAMPLING_EXP:0)
     371#define PDM_SUB_SAMP_EXP_Y(Pdm)           ((Pdm)==1?PDM_SUBSAMPLING_EXP:0)
     372
     373#define PDM_INTERNAL_CALC_BIT_DEPTH       31        // bit depth for internal calculations (32 - 1 for signed values)
     374#define PDM_BITDEPTH_VIRT_DEPTH           15        // bit depth for virtual depth storage (16 - 1 for signed values)
     375#define PDM_LOG2_MAX_ABS_NORMAL_DISPARITY 8         // maximum absolute normal disparity = 256 (for setting accuracy)
     376#define PDM_VIRT_DEPTH_PRECISION          4         // must be greater than or equal to 2 (since MVs are given in quarter-pel units)
     377
     378#define PDM_INTER_CALC_SHIFT              ( PDM_INTERNAL_CALC_BIT_DEPTH - PDM_BITDEPTH_VIRT_DEPTH )         // avoids overflow
     379#define PDM_LOG4_SCALE_DENOMINATOR        ( PDM_LOG2_MAX_ABS_NORMAL_DISPARITY + PDM_VIRT_DEPTH_PRECISION )  // accuracy of scaling factor
     380#define PDM_OFFSET_SHIFT                  ( PDM_LOG2_MAX_ABS_NORMAL_DISPARITY )                             // accuracy of offset
     381
     382#endif
     383
    327384#endif // end of H_3D
    328385//! \}
Note: See TracChangeset for help on using the changeset viewer.