Changeset 773 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TypeDef.h
- Timestamp:
- 16 Jan 2014, 09:56:13 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TypeDef.h
r758 r773 69 69 /////////////////////////////////// MAJOR DEFINES /////////////////////////////////// 70 70 ///////////////////////////////////////////////////////////////////////////////////////// 71 71 72 #if H_MV 72 73 #define H_MV_ENC_DEC_TRAC 1 //< CU/PU level tracking … … 98 99 // MTK_TEXTURE_MRGCAND_BUGFIX_E0182 Bug fix for TEXTURE MERGING CANDIDATE , JCT3V-E0182 99 100 #define H_3D_ARP 1 // Advanced residual prediction (ARP), JCT3V-D0177 101 // QC_MTK_INTERVIEW_ARP_F0123_F0108 JCT3V-F0123; JCT3V-F0108 102 // SHARP_ARP_REF_CHECK_F0105 ARP reference picture selection and DPB check 103 // LGE_ARP_CTX_F0161 JCT3V-F0161 100 104 #define H_3D_IC 1 // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060 101 105 // Unifying rounding offset, for IC part, JCT3V-D0135 … … 103 107 // SHARP_ILLUCOMP_REFINE_E0046 104 108 // MTK_CLIPPING_ALIGN_IC_E0168 // To support simplify bi-prediction PU with identical motion checking, JCT3V-E0168 109 // LGE_IC_CTX_F0160 //JCT3V-F0160 110 // SEC_ONLY_TEXTURE_IC_F0151 105 111 106 112 #if H_3D_NBDV … … 111 117 // NBDV_DEFAULT_VIEWIDX_BUGFIX Bug fix for invalid default view index for NBDV 112 118 // NTT_DoNBDV_VECTOR_CLIP_E0141 disparity vector clipping in DoNBDV, JCT3V-E0141 and JCT3V-E0209 113 114 119 #endif 115 120 … … 124 129 // NTT_VSP_DC_BUGFIX_E0208 bugfix for sub-PU based DC in VSP, JCT3V-E0208 125 130 // NTT_VSP_COMMON_E0207_E0208 common part of JCT3V-E0207 and JCT3V-E0208 131 // MTK_F0109_LG_F0120_VSP_BLOCK MTK_LG_SIMPLIFY_VSP_BLOCK_PARTITION_F0109_F0120 132 // SHARP_VSP_BLOCK_IN_AMP_F0102 VSP partitioning for AMP 133 // MTK_VSP_SIMPLIFICATION_F0111 1. Inherited VSP also use NBDV of current CU, 2. VSP cannot be inherited from above LCU rowss 134 // LGE_SHARP_VSP_INHERIT_F0104 135 126 136 #define H_3D_IV_MERGE 1 // Inter-view motion merge candidate 127 137 // HHI_INTER_VIEW_MOTION_PRED … … 133 143 // TEXTURE MERGING CANDIDATE , JCT3V-C0137 134 144 // QC_INRIA_MTK_MRG_E0126 135 136 145 // ETRIKHU_MERGE_REUSE_F0093 QC_DEPTH_IV_MRG_F0125, JCT3V-F0125: Depth oriented Inter-view MV candidate 146 // EC_MPI_ENABLING_MERGE_F0150, MPI flag in VPS and enabling in Merge mode 137 147 #define H_3D_TMVP 1 // QC_TMVP_C0047 138 148 // Sony_M23639 … … 159 169 // LGE_SDC_REMOVE_DC_E0158 Removal of DC mode from SDC 160 170 // LGE_PKU_DMM3_OVERLAP_E0159_HHIFIX 1 Removal of overlap between DMM3 and DMM1 171 // LGE_PRED_RES_CODING_DLT_DOMAIN_F0159 JCT3V-F0159 172 // HHI_DIM_PREDSAMP_FIX_F0171 173 // SEC_DMM3_RBC_F0147 Removal of DMM3 and RBC from DMMs 174 // QC_DIM_DELTADC_UNIFY_F0132 Unify delta DC coding in depth intra modes 161 175 162 176 #define H_3D_INTER_SDC 1 // INTER SDC, Inter simplified depth coding 163 177 // LGE_INTER_SDC_E0156 Enable inter SDC for depth coding 178 #define H_3D_SPIVMP 1 // H_3D_SPIVMP // JCT3V-F0110: Sub-PU level inter-view motion prediction 164 179 #define H_3D_FCO 0 // Flexible coding order for 3D 180 165 181 166 182 … … 175 191 #endif 176 192 177 #define CAM_HLS_F0136_F0045_F0082 1 // JCT3V-F0136/F0045: view order index based camera parameter signaling178 // JCT3V-F0082: the cp_in_slice_segment_layer_flag to be view specific and used as a condition of the presence of slice header level camera parameters179 #define CAM_HLS_F0044 1 // JCT3V-F0044: move camera parameter from slice header extension to slice header180 181 182 193 // Rate Control 183 194 #define KWU_FIX_URQ 1 … … 203 214 #endif 204 215 205 //// ****** neighbouring block-based disparity vector*********216 //// ****** NEIGHBOURING BLOCK-BASED DISPARITY VECTOR ********* 206 217 #if H_3D_NBDV 207 218 #define DVFROM_LEFT 0 … … 222 233 223 234 #if H_3D_DIM_DLT 224 #define DLT_DIFF_CODING_IN_PPS 1 // moving DLT syntax elements from VPS to PPS and differential coding of DLT values225 // JCT3V-F0131, JCT3V-F0139226 #if DLT_DIFF_CODING_IN_PPS227 #define Log2( n ) ( log((double)n) / log(2.0) )228 #endif229 235 #define H_3D_DELTA_DLT 1 230 236 #endif … … 258 264 #endif 259 265 260 /////////////////////////////////////////////////////////////////////////////////////////261 /////////////////////////////////// HTM-9.2 Integrations //////////////////////////////262 /////////////////////////////////////////////////////////////////////////////////////////263 264 // !!! PLEASE PUT MACROS RELATED TO HTM-9.2 INTEGRATIONS HERE !!!265 // !!! PLEASE PUT MACROS RELATED TO HTM-9.2 INTEGRATIONS HERE !!!266 // !!! PLEASE PUT MACROS RELATED TO HTM-9.2 INTEGRATIONS HERE !!!267 // !!! PLEASE PUT MACROS RELATED TO HTM-9.2 INTEGRATIONS HERE !!!268 // !!! PLEASE PUT MACROS RELATED TO HTM-9.2 INTEGRATIONS HERE !!!269 270 /////////////////////////////////////////////////////////////////////////////////////////271 /////////////////////////////////// HTM-9.1 Integrations //////////////////////////////272 /////////////////////////////////////////////////////////////////////////////////////////273 274 #define H_MV_FIX_TRACE_FILE 1 // Fix linux compilation error related const char conversion275 276 #define H_MV_LAYER_WISE_STARTUP 1 // Basic version of layer wise startup.277 #define H_MV_FIX_SKIP_PICTURES 1 // Fix related to skipping pictures.278 #define H_MV_6_HRD_O0164_15 1 // (HRD/O0164/Multilayer HRD) #15 Decision: Adopt, modified as follows: It was suggested to constrain the stalling based on the relative cpb removal times, which must be in decoding order. The "du_based_bpb_sync_flag" is not needed, in view of this. SEI in the highest layer of the layer set or (inclusive "or") VPS VUI is used to carry the parameters (at encoder discretion). SEI in higher layer and SEI in VUI do not need to repeat information available in some lower layer. Shall be after APS SEI and buffering period SEI and before all other SEI of all layers except other HRD related SEI.279 #define H_MV_6_HRD_O0217_13 1 // (HRD/O0217/Sub-DPB based DPB operations) #13 Decision: Adopt ?Specify a separate DPB capacity for each layer ?no sharing of capacity across layers ?each layer has its own parameters (max pictures, max latency, max reordering). This proposal would specify distinct parameters for each "output layer set" and to change the definition of an operation point to be specific to an output layer set instead of a 'layer set". Decision: Adopted this aspect as well.280 #define H_MV_6_SHVC_O0098_36 1 // (SHVC/O0098/Scaled ref layer offset) #36 Modify signalling of scaled reference layer offsets to allow signalling of any lower layer, rather than just a direct reference layer, in order to enable alignment of auxiliary pictures. In further JCT-VC and JCT-3V discussion, it was also agreed to use the same offset signalling for MV-HEVC as well as SHVC281 #define H_MV_6_GEN_0153_28 1 //(Gen/O0153/output highest layer) #28 Add a flag in the VPS to indicate if startup process should output the highest available layer if the target output layer is not available.282 #define H_MV_6_PS_0109_25 1 //XXX(PS/O0109/default_one_target_output_layer_idc) #25 To change default_one_target_output_layer_flag to a two-bit default_one_target_output_layer_idc, and reserve the values 2 and 3283 #define H_MV_6_O0226_37 1 //(VUI/O0226/Mod tile WPP) #37 Modifications to the VUI indicators of tile and WPP alignment related syntax elements, from the r1.284 #define H_MV_6_RALS_O0149_11 1 //XXX (RALS/O0149/Prop2): #11 Proposal: A new slice_reserved_flag is taken into use to indicate if a base-layer IDR picture initiates the layer-wise start-up process. Decision: Adopt (the bit should not be required to be present; if present should be the bit after the discardable_flag, and discardable_flag should be the first one of the three, and the poc reset flag is not required to be present).285 #define H_MV_6_PSEM_O0142_3 1 // (PSEM/O0142/Conditional extension syntax) #3 Adopt JCTVC-O0142 (as a structure to be used to switch whatever extensions we define in SPS, not necessarily committing to having these extensions be separate for each extension, but the current plan unless decided otherwise is to use one flag for range extensions syntax presence and one flag for SHVC+MV-HEVC extension syntax presence)286 #define H_MV_6_FIX_GET_VIEW_ID 1 // Fix get view id287 #define H_MV_6_LAYER_ID_32 1 // (Gen/O0137,O0200,O0223,Layer id) #32 Add (editorial equivalent of) "The value of nuh_layer_id shall be in the range of 0 to 62. The value of 63 for nuh_layer_id is reserved for future use by ITU-T | ISO/IEC. Decoders shall ignore all data that follow the value 63 for nuh_layer_id in a NAL unit." and specify that vps_max_layers_minus1 shall not be equal to 63, but decoders shall allow that value to appear in the bitstream. Specify that the value 63 is interpreted the same as the value 62 (e.g., MaxLayersMinus1 = Min( 62, vps_max_layers_minus1) and subsequently refer to MaxLayersMinus1 instead of vps_max_layers_minus1)288 #define H_MV_6_PS_O0118_33 1 // (PS/O0118/visual signal info in vui per layer) #33 Add visual signal information (video_format, video_full_range_flag, colour_primaries, transfer_characteristics, matrix_coeffs) per layer to the VPS VUI, from v2 version of JCTVC-O0118.289 #define H_MV_6_POC_31_35_38 1 //XXX Various related to POC290 // (Misc/O0062/POC LSB present) (SH changes)291 // (POC/O0117/Modify PicOrderCntVal of prevTid0Pic) #35 Modification of the PicOrderCntVal of prevTid0Pic and modification to the decoding process for reference picture set, to address problems found for cross-layer POC alignment.292 // (POC/O0211/Fix ambiguity) #38 Modify POC derivation to correct an ambiguity in the spec.293 #define H_MV_6_MISC_O0062_31 1 // (Misc/O0062/POC LSB present) (without SH changes ) #31 The proposal's "option 3" is to add a flag in the VPS for each EL to control whether these LSBs are present or not (for IDR pictures), and when not present, the LSBs are inferred to be equal to 0. Decision: Adopted (as described herein).294 #define H_MV_6_ILDDS_ILREFPICS_27_34 1 // Various inter layer reference picture derivation295 // (ILDSD/O0225/max_tid_il_ref_pics RPL const.) #27 Change derivation of NumActiveRefLayerPics to consider max_tid_il_ref_pics.296 // (ILDSD/O0120/sub_layers_vps_max_minus1 RPL const) #34 Modify inter-layer reference picture list default construction to incorporate max temporal sub-layers per layer syntax elements in VPS extension, from r2 version of JCTVC-O0120297 #define H_MV_6_ILDDS_O0225_30 1 // (ILDSD/O0225/signal max_tid_il_ref_pics per layer ) #30 2nd proposal of JCTVC-O0225 regarding signalling of max_tid_il_ref_pics per layer, based upon relation to SCE2 on single loop decoding. Decision: Adopted.298 #define H_MV_6_ILDSD_O0120_26 1 // (ILDSD/O0120/sub_layers_vps_max_minus1) #26 Add syntax elements to signal max temporal sub-layers for each layer in the VPS, with a gating flag, from JCTVC- option 2.299 #define H_MV_6_PS_O0223_29 1 // (PS/O0223/Cross layer alignment type) #29 Add a flag in VPS VUI to indicate cross layer pic type alignment. Move cross_layer_irap_aligned_flag to VPS VUI and make presence condition on added flag300 #define H_MV_6_PS_0092_17 1 // (PS/O0092/Sharing SPS PPS) #17 Restrict sharing of SPS and PPS across layers to avoid creating problems during sub-bitstream extraction, based on modification of proposals in JCTVC-O0059 and JCTVC-O0092, reflected in the v2 version of O0092.301 #define H_MV_6_PS_REP_FORM_18_19_20 1 // Various Rep format302 // (PS/O0096/rep format syntax element length ) #20 Modification of length to 8 bit as decided later in trac.303 // (PS/O0179/Rep. Format) #18 Add flag in rep_format( ) syntax structure to control sending of chroma and bit depth related parameters, as proposed in the v2 version of JCTVC-O0179.304 // (PS/O0096/rep format) #20 Modify the SPS syntax for layers with nuh_layer_id > 0 to signal a reference to a rep_format index in the VPS, rather than signalling explicit representation format data in the SPS, from the v2 version of JCTVC-O0096.305 // (PS/FIX/N0092/Rep. Format) #19 Inferences.306 #define H_MV_6_PS_O0096_21 1 // (PS/O0096/direct_dependency_type gating flag) #21 Add a gating flag in VPS extension to condition the presence of direct dependency type, with a default type signalled, from JCTVC-O0096307 #define H_MV_6_PS_O0109_22 1 // (PS/O0109/view_id_len) #22 Modify the VPS extension syntax and semantics to replace view_id_len_minus1 with view_id_len, always signal that syntax element, add a constraint that (1<<view_id_len) >= NumViews, and modify view_id_val semantics to infer value of 0 when not present, from discussion of JCTVC-O0109308 #define H_MV_6_PS_O0109_23 1 // (PS/O0109/profile_ref_minus1 constraint) #23 Modify the semantics of profile_ref_minus1[ i ] to replace shall be less than i?with shall be less than or equal to i? from discussion of JCTVC-O0109309 #define H_MV_6_PS_O0109_24 1 // (PS/O0109/vps_vui_present_flag move) #24 Move the vps_vui_present_flag to precede vps_vui_offset, and make vps_vui_offset conditional on that flag, from JCTVC-O0109310 /////////////////////////////////////////////////////////////////////////////////////////311 /////////////////////////////////// HTM-9.0 Integrations //////////////////////////////312 /////////////////////////////////////////////////////////////////////////////////////////313 314 266 #if H_3D 315 316 #define FIX_MISSING_MACRO_R690 1 // Missing macro in integration to revision 690 317 318 #define SEC_MPI_ENABLING_MERGE_F0150 1 // MPI flag in VPS and enabling in Merge mode 319 #define ETRIKHU_MERGE_REUSE_F0093 1 // Reuse HEVC merge candidate list construction for base candidates, JCT3V-F0093 320 321 #if H_3D_ARP 322 #define QC_MTK_INTERVIEW_ARP_F0123_F0108 1 //JCT3V-F0123; JCT3V-F0108 323 #define SHARP_ARP_REF_CHECK_F0105 1 // ARP reference picture selection and DPB check 324 #define LGE_ARP_CTX_F0161 1 //JCT3V-F0161 325 #endif 326 327 #if H_3D_IV_MERGE 328 #define QC_DEPTH_IV_MRG_F0125 1 // JCT3V-F0125: Depth oriented Inter-view MV candidate 329 #define MTK_SPIVMP_F0110 1 // JCT3V-F0110: Sub-PU level inter-view motion prediction 330 #define MTK_F0110_FIX 1 // Disable Sub-PU IVMP in Depth, fix some delete problems 331 #define BUGFIX_F0093 1 // bug fix for F0093 for depth IvMC pruning 332 #define BUGFIX_2_F0093 1 // bug fix for VSP inheritance 333 #endif 334 335 #if H_3D_VSP 336 #define MTK_F0109_LG_F0120_VSP_BLOCK 1 // MTK_LG_SIMPLIFY_VSP_BLOCK_PARTITION_F0109_F0120 337 #define SHARP_VSP_BLOCK_IN_AMP_F0102 1 // VSP partitioning for AMP 338 #define MTK_VSP_SIMPLIFICATION_F0111 1 // 1. Inherited VSP also use NBDV of current CU, 2. VSP cannot be inherited from above LCU rowss 339 #define LGE_SHARP_VSP_INHERIT_F0104 1 340 #endif 341 342 #define LGE_BUGFIX_F0158 1 //JCT3V-F0158 343 #define LGE_IC_CTX_F0160 1 //JCT3V-F0160 344 #define SEC_ONLY_TEXTURE_IC_F0151 1 345 346 #if H_3D_DIM 347 #define SEC_DMM3_RBC_F0147 1 // Removal of DMM3 and RBC from DMMs 348 #if !SEC_DMM3_RBC_F0147 349 #define H_3D_DIM_RBC 1 // Region Boundary Chain mode 350 #endif 351 #define QC_DIM_DELTADC_UNIFY_F0132 1 // Unify delta DC coding in depth intra modes 352 #define HHI_DIM_PREDSAMP_FIX_F0171 1 353 #define LGE_PRED_RES_CODING_DLT_DOMAIN_F0159 1 //JCT3V-F0159 354 #endif 355 #endif 356 267 #define PPS_FIX_DEPTH 1 268 #endif 269 270 271 ///////////////////////////////////////////////////////////////////////////////////////// 272 /////////////////////////////////// HTM-10.0 Integrations ////////////////////////////// 273 ///////////////////////////////////////////////////////////////////////////////////////// 274 275 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 276 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 277 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 278 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 279 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 280 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 281 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 282 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 283 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 284 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 357 285 358 286 ///////////////////////////////////////////////////////////////////////////////////////// … … 370 298 #define MAX_VPS_OP_SETS_PLUS1 1024 371 299 #if H_MV 372 #if H_MV_6_LAYER_ID_32373 300 #define MAX_VPS_NUH_LAYER_ID_PLUS1 63 374 #else375 #define MAX_VPS_NUH_LAYER_ID_PLUS1 64376 #endif377 301 #define MAX_NUM_SCALABILITY_TYPES 16 378 302 #define ENC_CFG_CONSOUT_SPACE 29 … … 398 322 #define MAX_CPB_CNT 32 ///< Upper bound of (cpb_cnt_minus1 + 1) 399 323 #if H_MV 400 #if H_MV_6_LAYER_ID_32401 324 #define MAX_NUM_LAYER_IDS 63 402 325 #define MAX_NUM_LAYERS 63 403 #else404 #define MAX_NUM_LAYER_IDS 64405 #define MAX_NUM_LAYERS 64406 #endif407 326 #define MAX_VPS_PROFILE_TIER_LEVEL 64 408 327 #define MAX_VPS_ADD_OUTPUT_LAYER_SETS 1024 409 328 #define MAX_VPS_OUTPUTLAYER_SETS ( MAX_VPS_ADD_OUTPUT_LAYER_SETS + MAX_VPS_OP_SETS_PLUS1 ) 410 #if H_MV_6_PS_O0118_33411 329 #define MAX_NUM_VIDEO_SIGNAL_INFO 16 412 #endif413 #if H_MV_6_SHVC_O0098_36414 330 #define MAX_NUM_SCALED_REF_LAYERS MAX_NUM_LAYERS-1 415 #endif416 #if H_MV_6_HRD_O0164_15417 331 #define MAX_NUM_BSP_HRD_PARAMETERS 100 ///< Maximum value is actually not specified 418 332 #define MAX_NUM_BITSTREAM_PARTITIONS 100 ///< Maximum value is actually not specified 419 333 #define MAX_NUM_BSP_SCHED_COMBINATION 100 ///< Maximum value is actually not specified 420 #endif 334 #else 335 #define MAX_NUM_LAYER_IDS 64 421 336 #endif 422 337 … … 896 811 #if H_MV 897 812 898 #if H_MV_6_PSEM_O0142_3899 813 enum PsExtensionTypes 900 814 { … … 906 820 PS_EX_T_MAX_NUM = 8 907 821 }; 908 #endif909 822 910 823 /// scalability types … … 937 850 }; 938 851 939 940 #endif 941 #endif 852 #define Log2( n ) ( log((double)n) / log(2.0) ) // Ed.(GT): This is very very bad and should be fixed to used integer arithmetics ( see gCeilLog2 ) moreover it should not be defined in the tool macro section! 853 #endif 854 #endif
Note: See TracChangeset for help on using the changeset viewer.