Changeset 5 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TypeDef.h
- Timestamp:
- 12 Dec 2011, 18:35:44 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TypeDef.h
r2 r5 1 /* The copyright in this software is being made available under the BSD 2 * License, included below. This software may be subject to other third party 3 * and contributor rights, including patent rights, and no such rights are 4 * granted under this license. 5 * 6 * Copyright (c) 2010-2011, ISO/IEC 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions are met: 11 * 12 * * Redistributions of source code must retain the above copyright notice, 13 * this list of conditions and the following disclaimer. 14 * * Redistributions in binary form must reproduce the above copyright notice, 15 * this list of conditions and the following disclaimer in the documentation 16 * and/or other materials provided with the distribution. 17 * * Neither the name of the ISO/IEC nor the names of its contributors may 18 * be used to endorse or promote products derived from this software without 19 * specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 31 * THE POSSIBILITY OF SUCH DAMAGE. 32 */ 33 1 34 /** \file TypeDef.h 2 35 \brief Define basic types, new types and enumerations … … 6 39 #define _TYPEDEF__ 7 40 8 #define MW_DEPTH_MAP_INTERP_FILTER 2 // 0:std, 1:bilin, 2:nearest neighbour 9 #define MW_FULL_PEL_DEPTH_MAP_MV_SIGNALLING 1 10 #define MW_MVI_SIGNALLING_MODE 1 // 0: mvi_flags at each layer, 1: using merge_flag 11 #define SB_DEBUG 1 41 42 //>>>>> HHI 3DV tools >>>>> 43 #define HHI_INTER_VIEW_MOTION_PRED 1 // inter-view motion parameter prediction 44 #define HHI_INTER_VIEW_RESIDUAL_PRED 1 // inter-view residual prediction 45 #define HHI_FULL_PEL_DEPTH_MAP_MV_ACC 1 // full-pel mv accuracy for depth maps 46 #define HHI_MPI 1 // motion parameter inheritance from texture picture for depth map coding 47 #define HHI_INTERVIEW_SKIP 1 // skipping of residual for renderable regions 48 #define HHI_INTERVIEW_SKIP_LAMBDA_SCALE 1 // scaling of lambda in cost calculation in rederable regions 49 #define HHI_VSO 1 // view synthesis optimization 50 #define HHI_VSO_COLOR_PLANES 1 // view synthesis optimization in color planes 51 #define HHI_VSO_DIST_INT 1 // view synthesis optimization integer distorition in rdo process 52 53 #if HHI_INTERVIEW_SKIP_LAMBDA_SCALE && !HHI_INTERVIEW_SKIP 54 #error "HHI_INTERVIEW_SKIP_LAMBDA_SCALE cannot be enabled if HHI_INTERVIEW_SKIP is not" 55 #endif 56 57 #define HHI_DMM_WEDGE_INTRA 1 // depth model modes independent on texture (explicit and intra-predicted Wedgelet prediction) 58 #define HHI_DMM_PRED_TEX 1 // depth model model dependent on texture (inter-component Wedgelet and Contour prediction ) 59 60 #define HHI_NO_LowDelayCoding 0 // old-fashioned encoder control, should be adapted to hm5.0 61 //<<<<< HHI 3DV tools <<<<< 62 12 63 13 64 //////////////////////////// … … 42 93 #define PART_MRG 1 // If the number of partitions is two and size > 8, only merging mode is enabled for the first partition & do not code merge_flag for the first partition 43 94 #define HHI_MRG_SKIP 1 // (JCTVC-E481 - merge skip) replaces the AMVP based skip by merge based skip (E481 - MERGE skip) 44 45 #define HHI_DMM_INTRA 1 //< PM: depth modelling modes for intra46 #if HHI_DMM_INTRA47 #define NUM_DMM_INTRA 848 #define DMM_INTRA_MODE_BITS 349 #define DMM_WEDGEMODEL_MIN_SIZE 4 //< PM: do not change50 #define DMM_WEDGEMODEL_MAX_SIZE 3251 #define DMM_WEDGE_PREDDIR_DELTAEND_MAX 4 //< PM: do not change52 #define DMM_RES_CHECK_INTRA 1 //< CB: skip residual for intra blocks53 #define HHI_DISABLE_INTRA_SMOOTHING_DEPTH 054 #define DMM_NO_TEXTURE_MODES 055 #endif56 95 57 96 #if HHI_RQT_INTRA_SPEEDUP_MOD && !HHI_RQT_INTRA_SPEEDUP … … 150 189 #define PLANAR_IDX (NUM_INTRA_MODE-1) 151 190 #endif 152 #if HHI_DMM_INTRA 191 192 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 193 #define DMM_WEDGEMODEL_MIN_SIZE 4 194 #define DMM_WEDGEMODEL_MAX_SIZE 32 195 #define DMM_WEDGE_PREDDIR_DELTAEND_MAX 4 196 153 197 #if ADD_PLANAR_MODE 154 198 #define MAX_MODE_ID_INTRA_DIR 34 199 #else 200 #define MAX_MODE_ID_INTRA_DIR 33 201 #endif 202 #if HHI_DMM_WEDGE_INTRA && HHI_DMM_PRED_TEX 155 203 enum MODE_IDX 156 204 { 157 DMM_WEDGE_FULL_IDX = 35, 158 DMM_WEDGE_FULL_D_IDX = 36, 159 DMM_WEDGE_PREDTEX_IDX = 37, 160 DMM_WEDGE_PREDTEX_D_IDX = 38, 161 DMM_CONTOUR_PREDTEX_IDX = 39, 162 DMM_CONTOUR_PREDTEX_D_IDX = 40, 163 DMM_WEDGE_PREDDIR_IDX = 41, 164 DMM_WEDGE_PREDDIR_D_IDX = 42 165 }; 166 #else 167 #define MAX_MODE_ID_INTRA_DIR 33 205 DMM_WEDGE_FULL_IDX = MAX_MODE_ID_INTRA_DIR+1, 206 DMM_WEDGE_FULL_D_IDX = MAX_MODE_ID_INTRA_DIR+2, 207 DMM_WEDGE_PREDTEX_IDX = MAX_MODE_ID_INTRA_DIR+3, 208 DMM_WEDGE_PREDTEX_D_IDX = MAX_MODE_ID_INTRA_DIR+4, 209 DMM_CONTOUR_PREDTEX_IDX = MAX_MODE_ID_INTRA_DIR+5, 210 DMM_CONTOUR_PREDTEX_D_IDX = MAX_MODE_ID_INTRA_DIR+6, 211 DMM_WEDGE_PREDDIR_IDX = MAX_MODE_ID_INTRA_DIR+7, 212 DMM_WEDGE_PREDDIR_D_IDX = MAX_MODE_ID_INTRA_DIR+8 213 }; 214 #elif HHI_DMM_WEDGE_INTRA && !HHI_DMM_PRED_TEX 168 215 enum MODE_IDX 169 216 { 170 DMM_WEDGE_FULL_IDX = 34, 171 DMM_WEDGE_FULL_D_IDX = 35, 172 DMM_WEDGE_PREDTEX_IDX = 36, 173 DMM_WEDGE_PREDTEX_D_IDX = 37, 174 DMM_CONTOUR_PREDTEX_IDX = 38, 175 DMM_CONTOUR_PREDTEX_D_IDX = 39, 176 DMM_WEDGE_PREDDIR_IDX = 40, 177 DMM_WEDGE_PREDDIR_D_IDX = 41 217 DMM_WEDGE_FULL_IDX = MAX_MODE_ID_INTRA_DIR+1, 218 DMM_WEDGE_FULL_D_IDX = MAX_MODE_ID_INTRA_DIR+2, 219 DMM_WEDGE_PREDDIR_IDX = MAX_MODE_ID_INTRA_DIR+3, 220 DMM_WEDGE_PREDDIR_D_IDX = MAX_MODE_ID_INTRA_DIR+4 221 }; 222 #elif !HHI_DMM_WEDGE_INTRA && HHI_DMM_PRED_TEX 223 enum MODE_IDX 224 { 225 DMM_WEDGE_PREDTEX_IDX = MAX_MODE_ID_INTRA_DIR+1, 226 DMM_WEDGE_PREDTEX_D_IDX = MAX_MODE_ID_INTRA_DIR+2, 227 DMM_CONTOUR_PREDTEX_IDX = MAX_MODE_ID_INTRA_DIR+3, 228 DMM_CONTOUR_PREDTEX_D_IDX = MAX_MODE_ID_INTRA_DIR+4, 178 229 }; 179 230 #endif … … 325 376 typedef Int64 RMDist; ///< renderer model distortion 326 377 327 #define RDO_DIST_INT 1 328 329 #if RDO_DIST_INT 378 #if HHI_VSO_DIST_INT 330 379 typedef Int Dist; ///< RDO distortion 331 380 #define RDO_DIST_MIN MIN_INT
Note: See TracChangeset for help on using the changeset viewer.