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


Ignore:
Timestamp:
12 Dec 2011, 18:35:44 (13 years ago)
Author:
hhi
Message:

Clean version with cfg-files

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
    134/** \file     TypeDef.h
    235    \brief    Define basic types, new types and enumerations
     
    639#define _TYPEDEF__
    740
    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
    1263
    1364////////////////////////////
     
    4293#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
    4394#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 intra
    46 #if HHI_DMM_INTRA
    47 #define NUM_DMM_INTRA                     8
    48 #define DMM_INTRA_MODE_BITS               3
    49 #define DMM_WEDGEMODEL_MIN_SIZE           4            //< PM: do not change
    50 #define DMM_WEDGEMODEL_MAX_SIZE          32
    51 #define DMM_WEDGE_PREDDIR_DELTAEND_MAX    4            //< PM: do not change
    52 #define DMM_RES_CHECK_INTRA               1            //< CB: skip residual for intra blocks
    53 #define HHI_DISABLE_INTRA_SMOOTHING_DEPTH 0
    54 #define DMM_NO_TEXTURE_MODES              0
    55 #endif
    5695
    5796#if HHI_RQT_INTRA_SPEEDUP_MOD && !HHI_RQT_INTRA_SPEEDUP
     
    150189#define PLANAR_IDX                        (NUM_INTRA_MODE-1)
    151190#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
    153197#if ADD_PLANAR_MODE
    154198#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
    155203enum MODE_IDX
    156204{
    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
    168215enum MODE_IDX
    169216{
    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
     223enum 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,
    178229};
    179230#endif
     
    325376typedef       Int64           RMDist;     ///< renderer model distortion
    326377
    327 #define RDO_DIST_INT    1
    328 
    329 #if RDO_DIST_INT
     378#if HHI_VSO_DIST_INT
    330379typedef       Int              Dist;       ///< RDO distortion
    331380#define       RDO_DIST_MIN     MIN_INT
Note: See TracChangeset for help on using the changeset viewer.