Changeset 1356 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TypeDef.h


Ignore:
Timestamp:
27 Oct 2015, 11:33:16 (9 years ago)
Author:
tech
Message:

Merged 15.1-dev0-NICT@1355.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TypeDef.h

    r1321 r1356  
    4343//! \{
    4444/////////////////////////////////////////////////////////////////////////////////////////
    45 ///////////////////////////////// EXTENSION SELECTION /////////////////////////////////// 
     45///////////////////////////////// EXTENSION SELECTION ///////////////////////////////////
    4646/////////////////////////////////////////////////////////////////////////////////////////
    4747/* HEVC_EXT might be defined by compiler/makefile options.
    48    Linux makefiles support the following settings:   
    49    make             -> HEVC_EXT not defined   
     48   Linux makefiles support the following settings:
     49   make             -> HEVC_EXT not defined
    5050   make HEVC_EXT=0  -> NH_MV=0 H_3D=0   --> plain HM
    51    make HEVC_EXT=1  -> NH_MV=1 H_3D=0   --> MV only 
    52    make HEVC_EXT=2  -> NH_MV=1 H_3D=1   --> full 3D 
     51   make HEVC_EXT=1  -> NH_MV=1 H_3D=0   --> MV only
     52   make HEVC_EXT=2  -> NH_MV=1 H_3D=1   --> full 3D
    5353*/
    5454#ifndef HEVC_EXT
     
    5656#endif
    5757#if ( HEVC_EXT < 0 )||( HEVC_EXT > 2 )
    58 #error HEVC_EXT must be in the range of 0 to 2, inclusive. 
     58#error HEVC_EXT must be in the range of 0 to 2, inclusive.
    5959#endif
    6060#define NH_MV          ( HEVC_EXT != 0)
    6161#define NH_3D          ( HEVC_EXT == 2)
    6262/////////////////////////////////////////////////////////////////////////////////////////
    63 ///////////////////////////////////   FIXES           /////////////////////////////////// 
     63///////////////////////////////////   FIXES AND INTEGRATIONS     ////////////////////////
    6464/////////////////////////////////////////////////////////////////////////////////////////
    6565#if NH_MV
    66 #define NH_MV_FIX_TICKET_106                      1 // Identical motion check.
    67 #define NH_MV_FIX_NO_REF_PICS_CHECK               1 // !!SPEC!!
    68 #define NH_MV_FIX_INIT_NUM_ACTIVE_REF_LAYER_PICS  1 // Derivation of NumActiveRefLayerPIcs. !!SPEC!!
     66#define NH_MV_SEI_TBD                             0
     67#define NH_MV_SEI                                 1
     68#define NH_MV_FIX_TICKET_106                      1 // Identical motion check.
     69#define NH_MV_FIX_NO_REF_PICS_CHECK               1 // !!SPEC!!
     70#define NH_MV_FIX_INIT_NUM_ACTIVE_REF_LAYER_PICS  1 // Derivation of NumActiveRefLayerPIcs. !!SPEC!!
    6971#define NH_MV_FIX_NUM_POC_TOTAL_CUR               1 // Derivation of NumPocTotalCur for IDR pictures. !!SPEC!!
     72#define NH_MV_LAYERS_NOT_PRESENT_SEI              1 // Layers not present SEI message JCTMV-M0043
     73#if NH_MV_SEI
     74#define SEI_DRI_F0169 1
     75#endif
    7076#endif
    7177#if NH_3D
    7278#define H_3D_FIX_ARP_CHECK_NOT_IN_DPB     1
     79#define NH_3D_FIX_NBDV_COL                1
    7380#endif
    7481/////////////////////////////////////////////////////////////////////////////////////////
    75 ///////////////////////////////////   MAJOR DEFINES   /////////////////////////////////// 
     82///////////////////////////////////   MAJOR DEFINES   ///////////////////////////////////
    7683/////////////////////////////////////////////////////////////////////////////////////////
    7784#if NH_MV
     
    9097                                             // LGE_ARP_CTX_F0161                JCT3V-F0161
    9198                                             // MTK_ARP_FLAG_CABAC_SIMP_G0061 Use 2 context for ARP flag referring to only left neighbor block in JCT3V-G0061
    92                                              // MTK_ARP_REF_SELECTION_G0053 ARP Reference picture selection in JCT3V-G0053 
     99                                             // MTK_ARP_REF_SELECTION_G0053 ARP Reference picture selection in JCT3V-G0053
    93100                                             // MTK_ALIGN_SW_WD_BI_PRED_ARP_H0085  Align the SW and WD for the bi-prediction ARP PUs by disallowing non-normative fast bi-prediction for ARP PUs, JCT3V-H0085
    94                                              // QC_I0051_ARP_SIMP         
    95                                              // SHARP_ARP_CHROMA_I0104     
     101                                             // QC_I0051_ARP_SIMP
     102                                             // SHARP_ARP_CHROMA_I0104
    96103                                             // MTK_I0072_IVARP_SCALING_FIX
    97104                                             // SEC_ARP_VIEW_REF_CHECK_J0037    Signaling iv_res_pred_weight_idx when the current slice has both view and temporal reference picture(s), JCT3V-J0037 item1
    98105                                             // SEC_ARP_REM_ENC_RESTRICT_K0035    Removal of encoder restriction of ARP, JCT3V-K0035
    99106#define NH_3D_QTLPC                        1   // OL_QTLIMIT_PREDCODING_B0068 //JCT3V-B0068
    100                                               // HHI_QTLPC_RAU_OFF_C0160 JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units 
     107                                              // HHI_QTLPC_RAU_OFF_C0160 JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units
    101108                                              // MTK_TEX_DEP_PAR_G0055 Texture-partition-dependent depth partition. JCT3V-G0055
    102 #define NH_3D_VSO                          1   // VSO, View synthesis optimization, includes: 
     109#define NH_3D_VSO                          1   // VSO, View synthesis optimization, includes:
    103110                                              // HHI_VSO
    104111                                              // HHI_VSO_LS_TABLE_M23714 enable table base Lagrange multiplier optimization
     
    106113                                              // LGE_WVSO_A0119
    107114                                              // SCU_HS_VSD_BUGFIX_IMPROV_G0163
    108 #define NH_3D_NBDV                         1   // Neighboring block disparity derivation 
    109                                               // QC_JCT3V-A0097 
     115#define NH_3D_NBDV                         1   // Neighboring block disparity derivation
     116                                              // QC_JCT3V-A0097
    110117                                              // LGE_DVMCP_A0126
    111                                               // LGE_DVMCP_MEM_REDUCTION_B0135     
     118                                              // LGE_DVMCP_MEM_REDUCTION_B0135
    112119                                              // QC_SIMPLE_NBDV_B0047
    113120                                              // FIX_LGE_DVMCP_B0133
    114121                                              // QC_NBDV_LDB_FIX_C0055
    115122                                              // MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097
    116                                               // MTK_SIMPLIFY_DVTC_C0135           
     123                                              // MTK_SIMPLIFY_DVTC_C0135
    117124                                              // QC_CU_NBDV_D0181
    118125                                              // SEC_DEFAULT_DV_D0112
     
    154161                                              // NTT_VSP_DC_BUGFIX_E0208 bugfix for sub-PU based DC in VSP, JCT3V-E0208
    155162                                              // NTT_VSP_COMMON_E0207_E0208 common part of JCT3V-E0207 and JCT3V-E0208
    156                                               // MTK_F0109_LG_F0120_VSP_BLOCK MTK_LG_SIMPLIFY_VSP_BLOCK_PARTITION_F0109_F0120 
     163                                              // MTK_F0109_LG_F0120_VSP_BLOCK MTK_LG_SIMPLIFY_VSP_BLOCK_PARTITION_F0109_F0120
    157164                                              // SHARP_VSP_BLOCK_IN_AMP_F0102 VSP partitioning for AMP
    158165                                              // MTK_VSP_SIMPLIFICATION_F0111 1. Inherited VSP also use NBDV of current CU, 2. VSP cannot be inherited from above LCU rowss
    159                                               // LGE_SHARP_VSP_INHERIT_F0104 
     166                                              // LGE_SHARP_VSP_INHERIT_F0104
    160167                                              // NTT_STORE_SPDV_VSP_G0148 Storing Sub-PU based DV for VSP
    161168                                              // Restricted bi-prediction for VSP
     
    164171#define NH_3D_MLC                          1
    165172#define NH_3D_IV_MERGE                     1  // Inter-view motion merge candidate
    166                                               // HHI_INTER_VIEW_MOTION_PRED 
     173                                              // HHI_INTER_VIEW_MOTION_PRED
    167174                                              // SAIT_IMPROV_MOTION_PRED_M24829, improved inter-view motion vector prediction
    168175                                              // QC_MRG_CANS_B0048             , JCT3V-B0048, B0086, B0069
    169176                                              // OL_DISMV_POS_B0069            , different pos for disparity MV candidate, B0069
    170177                                              // MTK_INTERVIEW_MERGE_A0049     , second part
    171                                               // QC_AMVP_MRG_UNIFY_IVCAN_C0051     
    172                                               // QC_INRIA_MTK_MRG_E0126 
     178                                              // QC_AMVP_MRG_UNIFY_IVCAN_C0051
     179                                              // QC_INRIA_MTK_MRG_E0126
    173180                                              // ETRIKHU_MERGE_REUSE_F0093 QC_DEPTH_IV_MRG_F0125, JCT3V-F0125: Depth oriented Inter-view MV candidate
    174181                                              // MTK_NBDV_IVREF_FIX_G0067      , Disable IvMC, VSP when IVREF is not available, JCT3V-G0067
     
    187194                                              // TEXTURE MERGING CANDIDATE     , JCT3V-C0137
    188195                                              // EC_MPI_ENABLING_MERGE_F0150, MPI flag in VPS and enabling in Merge mode
    189 #define NH_3D_TMVP                        1   // QC_TMVP_C0047 
     196#define NH_3D_TMVP                        1   // QC_TMVP_C0047
    190197                                              // Sony_M23639
    191198                                              // H_3D_TMVP_SCALING_FIX_K0053       1   // QC/CY for K0053
     
    207214                                              // QC_DIM_DELTADC_UNIFY_F0132 Unify delta DC coding in depth intra modes
    208215                                              // LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135  Use only one context for CABAC of dim_not_present_flag
    209                                               // QC_SIMP_DELTADC_CODING_H0131   Simplify detaDC entropy coding 
     216                                              // QC_SIMP_DELTADC_CODING_H0131   Simplify detaDC entropy coding
    210217                                              // MTK_DMM_SIMP_CODE_H0092        Remove CABAC context for DMM1 mode coding
    211218                                              // MTK_DELTA_DC_FLAG_ONE_CONTEXT_H0084_H0100_H0113 Use only one context for CABAC of delta_dc_flag as in JCTVC-H0084, JCTVC-H0100 and JCTVC-H0113
    212219                                              // HS_DMM_SIGNALLING_I0120
    213                                               // SHARP_DMM1_I0110 LUT size reduction for DMM1 proposed in JCT3V-I0110 
     220                                              // SHARP_DMM1_I0110 LUT size reduction for DMM1 proposed in JCT3V-I0110
    214221                                              // MTK_DMM_SIM_J0035
    215                                               // SHARP_DMM_CLEAN_K0042             1   // Generate DMM pattern with rotation 
     222                                              // SHARP_DMM_CLEAN_K0042             1   // Generate DMM pattern with rotation
    216223#define NH_3D_DLT                         1   // Depth Lookup Table
    217224                                              // HHI_DELTADC_DLT_D0035
    218225                                              // LGE_PRED_RES_CODING_DLT_DOMAIN_F0159 JCT3V-F0159
    219                                               // SEC_NO_RESI_DLT_H0105   
    220                                               // MTK_DLT_CODING_FIX_H0091 
     226                                              // SEC_NO_RESI_DLT_H0105
     227                                              // MTK_DLT_CODING_FIX_H0091
    221228                                              // H_3D_DELTA_DLT
    222229                                              // RWTH_DLT_CLIP_I0057
    223                                               // SHARP_DLT_SIMP_J0029 DLT(DepthValue2Idx[]) table derivation cleanup 
     230                                              // SHARP_DLT_SIMP_J0029 DLT(DepthValue2Idx[]) table derivation cleanup
    224231#define NH_3D_SDC_INTRA                   1   // Segment-wise DC Coding method for INTRA
    225 #define NH_3D_SDC_INTER                   1   // Segment-wise DC Coding method for INTER 
     232#define NH_3D_SDC_INTER                   1   // Segment-wise DC Coding method for INTER
    226233                                              // RWTH_SDC_DLT_B0036
    227234                                              // INTEL_SDC64_D0193
     
    249256                                              // MPI_SUBPU_DEFAULT_MV_H0077_H0099_H0111_H0133
    250257#define NH_3D_DBBP                         1   // DBBP: Depth-based Block Partitioning and Merging
    251                                               // MTK_DBBP_AMP_REM_H0072   
    252                                               // RWTH_DBBP_NO_SPU_H0057   
    253                                               // SEC_DBBP_FILTERING_H0104 
    254                                               // MTK_DBBP_SIGNALING_H0094   
    255                                               // H_3D_FIX_DBBP_IVMP Fix . Enable IVMP is always disabled, when DBBP is enabled. The original intention is to disable Sub-PU IVMP when DBBP is enabled, not to disable IVMP itself. 
     258                                              // MTK_DBBP_AMP_REM_H0072
     259                                              // RWTH_DBBP_NO_SPU_H0057
     260                                              // SEC_DBBP_FILTERING_H0104
     261                                              // MTK_DBBP_SIGNALING_H0094
     262                                              // H_3D_FIX_DBBP_IVMP Fix . Enable IVMP is always disabled, when DBBP is enabled. The original intention is to disable Sub-PU IVMP when DBBP is enabled, not to disable IVMP itself.
    256263                                              // SEC_DBBP_EXPLICIT_SIG_I0077 Remove the partition derivation and signal dbbp_flag only when the partition mode is 2NxN/Nx2N, JCT3V-I0077
    257264                                              // Disallow DBBP in 8x8 CU, JCT3V-I0078
     
    261268                                              // RWTH_DBBP_NO_SATD_K0028
    262269                                              // HS_DBBP_CLEAN_K0048
    263 #define NH_3D_DIS                         1   // Depth intra skip 
     270#define NH_3D_DIS                         1   // Depth intra skip
    264271                                              // SEC_DEPTH_INTRA_SKIP_MODE_K0033  Depth intra skip mode
    265272#define H_3D_FCO                          0   // Flexible coding order for 3D
     
    272279                                             // HHI_VPS_3D_EXTENSION_I3_J0107
    273280                                             // HHI_INTER_COMP_PRED_K0052
    274                                              // HHI_RES_PRED_K0052       
    275                                              // HHI_CAM_PARA_K0052       
    276                                              // H_3D_DIRECT_DEP_TYPE     
     281                                             // HHI_RES_PRED_K0052
     282                                             // HHI_CAM_PARA_K0052
     283                                             // H_3D_DIRECT_DEP_TYPE
    277284// Rate Control
    278285#define KWU_FIX_URQ                       0
     
    281288#endif // NH_3D
    282289/////////////////////////////////////////////////////////////////////////////////////////
    283 ///////////////////////////////////   DERIVED DEFINES /////////////////////////////////// 
     290///////////////////////////////////   DERIVED DEFINES ///////////////////////////////////
    284291/////////////////////////////////////////////////////////////////////////////////////////
    285292#if NH_3D
     
    288295#endif
    289296///// ***** VIEW SYNTHESIS OPTIMIZAION *********
    290 #if NH_3D_VSO                                 
     297#if NH_3D_VSO
    291298#define H_3D_VSO_DIST_INT                 1   // Allow negative synthesized view distortion change
    292 #define H_3D_VSO_COLOR_PLANES             1   // Compute VSO distortion on color planes 
     299#define H_3D_VSO_COLOR_PLANES             1   // Compute VSO distortion on color planes
    293300#define H_3D_VSO_EARLY_SKIP               1   // LGE_VSO_EARLY_SKIP_A0093, A0093 modification 4
    294301#define H_3D_VSO_RM_ASSERTIONS            0   // Output VSO assertions
     
    332339///////////////////////////////////   MV_HEVC HLS  //////////////////////////////
    333340/////////////////////////////////////////////////////////////////////////////////
    334 // TBD: Check if integration is necessary. 
     341// TBD: Check if integration is necessary.
    335342#define H_MV_HLS_PTL_LIMITS                  0
    336343/////////////////////////////////////////////////////////////////////////////////////////
     
    485492typedef       UInt            Distortion;        ///< distortion measurement
    486493#endif
    487 #if NH_MV                         
     494#if NH_MV
     495typedef std::vector< std::string > StringAry1d;
     496typedef std::vector< StringAry1d > StringAry2d;
    488497typedef std::vector< Int >        IntAry1d;
    489 typedef std::vector< IntAry1d >   IntAry2d; 
    490 typedef std::vector< IntAry2d >   IntAry3d; 
    491 typedef std::vector< IntAry3d >   IntAry4d; 
    492 typedef std::vector< IntAry4d >   IntAry5d; 
     498typedef std::vector< IntAry1d >   IntAry2d;
     499typedef std::vector< IntAry2d >   IntAry3d;
     500typedef std::vector< IntAry3d >   IntAry4d;
     501typedef std::vector< IntAry4d >   IntAry5d;
    493502typedef std::vector< Bool >        BoolAry1d;
    494 typedef std::vector< BoolAry1d >   BoolAry2d; 
    495 typedef std::vector< BoolAry2d >   BoolAry3d; 
    496 typedef std::vector< BoolAry3d >   BoolAry4d; 
    497 typedef std::vector< BoolAry4d >   BoolAry5d; 
     503typedef std::vector< BoolAry1d >   BoolAry2d;
     504typedef std::vector< BoolAry2d >   BoolAry3d;
     505typedef std::vector< BoolAry3d >   BoolAry4d;
     506typedef std::vector< BoolAry4d >   BoolAry5d;
    498507#endif
    499508#if NH_3D_VSO
     
    504513#if H_3D_VSO_DIST_INT
    505514typedef       Int64            Dist;       ///< RDO distortion
    506 typedef       Int64            Dist64; 
     515typedef       Int64            Dist64;
    507516#define       RDO_DIST_MIN     MIN_INT
    508517#define       RDO_DIST_MAX     MAX_INT
    509518#else
    510519typedef       UInt             Dist;       ///< RDO distortion
    511 typedef       UInt64           Dist; 
     520typedef       UInt64           Dist;
    512521#define       RDO_DIST_MIN     0
    513522#define       RDO_DIST_MAX     MAX_UINT
     
    797806  ANNEX_G,
    798807  ANNEX_H,
    799   ANNEX_I 
     808  ANNEX_I
    800809};
    801810#endif
     
    813822    ,MULTIVIEWMAIN = 6,
    814823#if NH_3D
    815     MAIN3D = 8, 
     824    MAIN3D = 8,
    816825#endif
    817826#endif
     
    941950enum ScalabilityType
    942951{
    943   DEPTH_ID = 0,   
     952  DEPTH_ID = 0,
    944953  VIEW_ORDER_INDEX  = 1,
    945954  DEPENDENCY_ID = 2,
Note: See TracChangeset for help on using the changeset viewer.