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


Ignore:
Timestamp:
29 Mar 2014, 18:55:16 (10 years ago)
Author:
tech
Message:

Merged HTM-10.1-dev0@883. (MV-HEVC 7 HLS)

File:
1 edited

Legend:

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

    r872 r884  
    7676#if H_3D
    7777#define H_3D_QTLPC                        1   // OL_QTLIMIT_PREDCODING_B0068 //JCT3V-B0068
    78                                               // HHI_QTLPC_RAU_OFF_C0160     // JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units
     78                                              // HHI_QTLPC_RAU_OFF_C0160 JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units
     79                                              // MTK_TEX_DEP_PAR_G0055 Texture-partition-dependent depth partition. JCT3V-G0055
    7980
    8081#define H_3D_VSO                          1   // VSO, View synthesis optimization, includes:
     
    8384                                              // SAIT_VSO_EST_A0033, JCT3V-A0033 modification 3
    8485                                              // LGE_WVSO_A0119
     86                                              // SCU_HS_VSD_BUGFIX_IMPROV_G0163
    8587#define H_3D_NBDV                         1   // Neighboring block disparity derivation
    8688                                              // QC_JCT3V-A0097
     
    102104                                              // SHARP_ARP_REF_CHECK_F0105        ARP reference picture selection and DPB check
    103105                                              // LGE_ARP_CTX_F0161                JCT3V-F0161
     106                                              // MTK_ARP_FLAG_CABAC_SIMP_G0061 Use 2 context for ARP flag referring to only left neighbor block in JCT3V-G0061
     107                                              // MTK_ARP_REF_SELECTION_G0053 ARP Reference picture selection in JCT3V-G0053
     108
    104109#define H_3D_IC                           1   // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060
    105110                                              // Unifying rounding offset, for IC part, JCT3V-D0135
     
    109114                                              // LGE_IC_CTX_F0160 //JCT3V-F0160
    110115                                              // SEC_ONLY_TEXTURE_IC_F0151
     116                                              // MTK_IC_FLAG_CABAC_SIMP_G0061
     117                                              // SEC_IC_ARP_SIG_G0072, Disabling IC when ARP is enabled, option 1 in JCT3V-G0072, part 2 in JCT3V-G0121
    111118
    112119#if H_3D_NBDV
     
    133140                                              // MTK_VSP_SIMPLIFICATION_F0111 1. Inherited VSP also use NBDV of current CU, 2. VSP cannot be inherited from above LCU rowss
    134141                                              // LGE_SHARP_VSP_INHERIT_F0104
     142                                              // NTT_STORE_SPDV_VSP_G0148 Storing Sub-PU based DV for VSP
     143                                              // Restricted bi-prediction for VSP
    135144
    136145#define H_3D_IV_MERGE                     1   // Inter-view motion merge candidate
     
    145154                                              // ETRIKHU_MERGE_REUSE_F0093 QC_DEPTH_IV_MRG_F0125, JCT3V-F0125: Depth oriented Inter-view MV candidate
    146155                                              // EC_MPI_ENABLING_MERGE_F0150, MPI flag in VPS and enabling in Merge mode
     156                                              // MTK_NBDV_IVREF_FIX_G0067      , Disable IvMC, VSP when IVREF is not available, JCT3V-G0067
     157                                              // SEC_DEPTH_DV_DERIVAITON_G0074, Simplification of DV derivation for depth, JCT3V-G0074
     158                                              // QC_DEPTH_MERGE_SIMP_G0127 Remove DV candidate and shifting candidate for depth coding
     159
    147160#define H_3D_TMVP                         1   // QC_TMVP_C0047
    148161                                              // Sony_M23639
     
    173186                                              // SEC_DMM3_RBC_F0147 Removal of DMM3 and RBC from DMMs
    174187                                              // QC_DIM_DELTADC_UNIFY_F0132 Unify delta DC coding in depth intra modes
     188                                              // Unify intra SDC and inter SDC
     189                                              // QC_GENERIC_SDC_G0122 Generalize SDC to all depth intra modes
     190                                              // SCU_HS_DEPTH_DC_PRED_G0143
     191                                              // HS_TSINGHUA_SDC_SPLIT_G0111
     192                                              // QC_PKU_SDC_SPLIT_G0123 Intra SDC Split
     193
     194
    175195
    176196#define H_3D_INTER_SDC                    1   // INTER SDC, Inter simplified depth coding
    177                                               // LGE_INTER_SDC_E0156  Enable inter SDC for depth coding
     197                                              // LGE_INTER_SDC_E0156 Enable inter SDC for depth coding
     198                                              // SEC_INTER_SDC_G0101 Improved inter SDC with multiple DC candidates
     199
    178200#define H_3D_SPIVMP                       1   // H_3D_SPIVMP    // JCT3V-F0110: Sub-PU level inter-view motion prediction
     201                                              // SEC_SPIVMP_MCP_SIZE_G0077, Apply SPIVMP only to 2Nx2N partition, JCT3V-G0077
     202                                              // QC_SPIVMP_MPI_G0119 Sub-PU level MPI merge candidate
     203                                              // Simplification on Sub-PU level temporal interview motion prediction
     204
     205
     206#define H_3D_DBBP                         1   // DBBP: Depth-based Block Partitioning and Merging
     207
     208#define H_3D_DDD                          1   // Disparity derived depth coding
     209
    179210#define H_3D_FCO                          0   // Flexible coding order for 3D
    180211
     
    258289
    259290
     291///// ***** DEPTH BASED BLOCK PARTITIONING *********
     292#if H_3D_DBBP
     293#define DBBP_INVALID_SHORT                (-4)
     294#define RWTH_DBBP_PACK_MODE               SIZE_2NxN
     295#endif
     296
     297
    260298///// ***** FCO *********
    261299#if H_3D_FCO
     
    269307#endif
    270308
    271 
    272309/////////////////////////////////////////////////////////////////////////////////////////
    273 ///////////////////////////////////   HTM-10.0 Integrations //////////////////////////////
     310///////////////////////////////////   TBD                  //////////////////////////////
    274311/////////////////////////////////////////////////////////////////////////////////////////
    275 #if H_3D
    276 #if  H_3D_QTLPC
    277 #define MTK_TEX_DEP_PAR_G0055             1   // Texture-partition-dependent depth partition. JCT3V-G0055
    278 #endif
    279 
    280 #define MTK_DDD_G0063                     1   // Disparity derived depth coding
    281 #define HTM10RC1_FIX                           1   // Fix of DDD
    282 
    283 
    284 #if H_3D_VSP
    285 #define MTK_RBIP_VSP_G0069                1   // Restricted bi-prediction for VSP
    286 #define NTT_STORE_SPDV_VSP_G0148          1   // Storing Sub-PU based DV for VSP
    287 #endif
    288 
    289 #define H_3D_DBBP                         1   // DBBP: Depth-based Block Partitioning and Merging
    290 
    291 #if H_3D_DBBP
    292 #define DBBP_INVALID_SHORT                (-4)
    293 #define RWTH_DBBP_PACK_MODE               SIZE_2NxN
    294 #endif
    295 
    296 #if H_3D_DIM
    297 #define QC_PKU_SDC_SPLIT_G0123            1   // Intra SDC Split
    298 #if QC_PKU_SDC_SPLIT_G0123
    299 #define HS_TSINGHUA_SDC_SPLIT_G0111       1
    300 #endif
    301 #define SCU_HS_DEPTH_DC_PRED_G0143        1
    302 #define QC_GENERIC_SDC_G0122              1  // Generalize SDC to all depth intra modes
    303 #if H_3D_DIM_SDC && H_3D_INTER_SDC
    304 #define QC_SDC_UNIFY_G0130                1  // Unify intra SDC and inter SDC
    305 #define QC_SDC_UNIFY_G0130_FIX            1  // Fix bug of G0130
    306 #define QC_SDC_UNIFY_G0130_FIX2           1  // Fix bug of G0130
    307 #endif
    308 #define SEC_INTER_SDC_G0101               1  // Improved inter SDC with multiple DC candidates
    309 #endif
    310 
    311 #define KHU_SIMP_SPIVMP_G0147             1  // Simplification on Sub-PU level temporal interview motion prediction
    312 
    313 #if H_3D_SPIVMP
    314 #define QC_SPIVMP_MPI_G0119               1 // Sub-PU level MPI merge candidate
    315 #endif
    316 
    317 #define QC_DEPTH_MERGE_SIMP_G0127         1 // Remove DV candidate and shifting candidate for depth coding
    318 #define SEC_IC_ARP_SIG_G0072              1   // Disabling IC when ARP is enabled, option 1 in JCT3V-G0072, part 2 in JCT3V-G0121
    319 #define SCU_HS_VSD_BUGFIX_IMPROV_G0163    1
    320 #define SEC_SPIVMP_MCP_SIZE_G0077         1  // Apply SPIVMP only to 2Nx2N partition, JCT3V-G0077
    321 #define SEC_DEPTH_DV_DERIVAITON_G0074     1  // Simplification of DV derivation for depth, JCT3V-G0074
    322 #define MTK_ARP_REF_SELECTION_G0053       1   // ARP Reference picture selection in JCT3V-G0053
    323 #define MTK_ARP_FLAG_CABAC_SIMP_G0061     1   // Use 2 context for ARP flag referring to only left neighbor block in JCT3V-G0061
    324 #define MTK_IC_FLAG_CABAC_SIMP_G0061      1   // Use only 1 context for IC flag in JCT3V-G0061
    325 #define MTK_NBDV_IVREF_FIX_G0067          1   // Disable IvMC, VSP when IVREF is not available, JCT3V-G0067
    326 #endif
    327 
    328 /////////////////////////////////////////////////////////////////////////////////////////
    329 ///////////////////////////////////   HTM-10.1 Integrations //////////////////////////////
    330 /////////////////////////////////////////////////////////////////////////////////////////
    331 
    332 
    333 // TBD
     312
    334313// #define H_MV_HLS_7_POC_P0041_3            0 // (POC/P0041/POC reset) #3 It was remarked that we should require each non-IRAP picture that has discardable_flag equal to 1 to have NUT value indicating that it is a sub-layer non-reference picture. This was agreed. Decision: Adopt (with constraint for discardable_flag as described above)
    335314// #define H_MV_HLS_7_POC_P0041_FIXES        0 // (POC/P0041/Fixes) For each non-IRAP picture that has discardable_flag equal to 1 to have NUT value indicating that it is a sub-layer non-reference picture.
     
    343322// #define H_MV_HLS_7_VPS_P0300_27           0 // Output part only. (VPS/P0300/alt output layer flag) #27 Change alt output layer flag to be signalled within the loop of output layer sets, from JCTVC-P0300-v2. Decision: Adopt.
    344323
    345 
    346 #define H_MV_HLS_7_VPS_P0306_22                1 // (VPS/P0306/ue(v) coded syntax elements) #22 Several minor modifications to the VPS syntax, consistent with eliminating the previous intention to avoid ue(v) parsing in the VPS
    347 #define H_MV_HLS_7_SEI_P0204_26                1 // (SEI/P0204/sub-bitstream SEI) #26 Add sub-bitstream property SEI message. Decision: Adopt
    348 #define H_MV_HLS_7_MISC_P0130_20               1 // (MISC/P0130/discardable not in inter-layer RPS) #20 Add constraint restricting pictures marked as discardable from being present in the temporal or inter-layer RPS,
    349 #define H_MV_HLS_7_VPS_P0125_24                1 // (VPS/P0125/VPS extension offset ) #24 Decision: Keep it as a reserved FFFF value.
    350 #define H_MV_HLS_7_VPS_P0307_23                1 // (VPS/P0307/VPS VUI extension)  #23 Decision: Adopt modification in P0307.
    351 #define H_MV_HLS_7_POC_P0041                   1 // Syntax related to POC reset
    352 
    353 
    354 #define H_MV_HLS7_GEN                          0  // General changes (not tested)
    355 #define H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27    1  // Output layer sets, various
    356                                                   // (VPS/P0300/alt output layer flag) #27 Change alt output layer flag to be signalled within the loop of output layer sets, from JCTVC-P0300-v2. Decision: Adopt.
    357                                                   // (VPS/P0156/Num of output_layer_flag) #10 Proposal 3: The output_layer_flag[ i ][ j ] is signalled for j equal to 0 to NumLayersInIdList[ lsIdx ] inclusive. It was remarked that we might be able to just assume that the top layer is always output; however, this was not entirely clear , so the safe thing to do may be to also send the flag for this layer.
    358                                                   // (VPS/P0295/Default output layer sets) #5 Discussion from (P0110). Decision: Three-state approach (text in P0295, decoder shall allow 3 to be present and shall treat 3 the same as the value 2).
    359 
    360 
    361 #define H_MV_HLS_7_HRD_P0156_7                 1  // (HRD/P0156/MaxSubLayersInLayerSetMinus1) #7 Proposal 1: signal, in the VPS extension, the DPB parameters for an output layer set for sub-DPBs only up to the maximum temporal sub-layers in the corresponding layer set
    362 #define H_MV_HLS_7_VPS_P0048_14                1  // (VPS/P0048/profile_ref_minus1 rem) #14 Remove profile_ref_minus1 from the VPS extension, from JCTVC-P0048
    363 #define H_MV_HLS_7_VPS_P0076_15                1  // (VPS/P0076/video signal info move) #15 Move video signal information syntax structure earlier in the VPS VUI.
    364 #define H_MV_HLS_7_SPS_P0155_16_32             1  // (SPS/P0155/sps_sub_layer_ordering_info) #16, #32 Not signal the sps_max_num_reorder_pics[], sps_max_latency_increase_plus1[], and sps_max_dec_pic_buffering_minus1[] syntax elements in the SPS when nuh_layer_id > 0.
    365 #define H_MV_HLS_7_GEN_P0166_PPS_EXTENSION     1  // (GEN/P0166/pps_extension) #17 Add PPS extension type flags for conditional presence of syntax extensions per extension type, aligned with the SPS extension type flags, from JCTVC-P0166. Further align the SPS extension type flags syntax between RExt and MV-HEVC/SHVC
    366 #define H_MV_HLS_7_FIX_SET_DPB_SIZE            1  // Fix derivation dpb size parameters
    367 #define H_MV_HLS_7_RESERVED_FLAGS              1  // Added flags
    368                                                   // (SPS/P0312/SHVC reserved flag) The flag will be used for the syntax vert_phase_position_enable_flag in SHVC draft
    369                                                   // (VPS/O0215/SHVC reserved flag): this flag will be used for the syntax cross_layer_phase_alignment_flag in SHVC draft.
    370                                                   // (VPS VUI/O0199,P0312/SHVC reserved flags) the 3 reserved bits will be used for the syntaxes single_layer_for_non_irap_flag, higher_layer_irap_skip_flag and vert_phase_position_not_in_use_flag in SHVC draft.
    371 #define H_MV_FIX_VPS_LAYER_ID_NOT_EQUAL_ZERO   1  // Discard VPS with nuh_layer_Id > 0
    372 #define H_MV_HLS_7_MISC_P0130_EOS              1  // (MISC/P0130/EOS NAL layer id) #19 Require that end of bitstream NAL unit shall have nuh_layer_id equal to 0, from JCTVC-P0130. Decoders shall allow an end of bitstream NAL unit with nuh_layer_id > 0 to be present, and shall ignore the NAL unit.
    373 #define H_MV_HLS_7_MISC_P0182_13               1  // (MISC/P0182/BL PS Compatibility flag) #13 Define the flag (in VPS VUI) with the proposed semantics, without specifying an associated extraction process. Editors to select the position in the VPS VUI.
    374 #define H_MV_HLS_7_MISC_P0068_21               1  // (MISC/P0068/all irap idr flag) #21 Add flag in VUI to indicate that all IRAP pictures are IDRs and that all layer pictures in an AU are IDR aligned, from JCTVC-P0068 proposal 1.
    375 #define H_MV_HLS_7_FIX_INFER_CROSS_LAYER_IRAP_ALIGNED_FLAG               1  // Fix inference of cross_layer_irap_aligned_flag
    376 #define H_MV_HLS_7_MISC_P0079_18               1  // (MISC/P0079/NumActiveRefLayerPics) #18 Modification of derivation of variable NumActiveRefLayerPics.
    377 #define FIX_CAM_PARS_COLLECTOR                 1
    378 #define UPDATE_HM13                            1  // Only some parts in H_3D parts are marked!
    379 #if H_3D
    380 #define H_3D_FIX_G0148_BRACE                   1
    381 #endif
     324#define H_MV_HLS7_GEN                        0  // General changes (not tested)
     325
     326
     327
    382328/////////////////////////////////////////////////////////////////////////////////////////
    383329///////////////////////////////////   HM RELATED DEFINES ////////////////////////////////
     
    416362#define MAX_NUM_BITSTREAM_PARTITIONS    100 ///< Maximum value is actually not specified
    417363#define MAX_NUM_BSP_SCHED_COMBINATION   100 ///< Maximum value is actually not specified
    418 #if H_MV_HLS_7_SEI_P0204_26
    419364#define MAX_SUB_STREAMS                 1024
    420 #endif
    421365#else
    422366#define MAX_NUM_LAYER_IDS                64
     
    909853#if H_MV
    910854
    911 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION
    912855enum PpsExtensionTypes
    913856{
     
    921864
    922865//Below for sps, would be good if this could be aligned
    923 #endif
    924866
    925867  enum PsExtensionTypes
Note: See TracChangeset for help on using the changeset viewer.