Changeset 125 in SHVCSoftware for trunk/source/Lib/TLibEncoder/TEncCfg.h


Ignore:
Timestamp:
16 Apr 2013, 06:39:31 (12 years ago)
Author:
seregin
Message:

copy from HM-10.0-dev-SHM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncCfg.h

    r2 r125  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2013, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5252  Int m_QPOffset;
    5353  Double m_QPFactor;
     54  Int m_tcOffsetDiv2;
     55  Int m_betaOffsetDiv2;
    5456  Int m_temporalId;
    5557  Bool m_refPic;
     
    6466  Bool m_interRPSPrediction;
    6567#endif
    66 #if !J0234_INTER_RPS_SIMPL
    67   Int m_deltaRIdxMinus1;
    68 #endif
    6968  Int m_deltaRPS;
    7069  Int m_numRefIdc;
     
    7473  , m_QPOffset(0)
    7574  , m_QPFactor(0)
     75  , m_tcOffsetDiv2(0)
     76  , m_betaOffsetDiv2(0)
    7677  , m_temporalId(0)
    7778  , m_refPic(false)
     
    8081  , m_numRefPics(0)
    8182  , m_interRPSPrediction(false)
    82 #if !J0234_INTER_RPS_SIMPL
    83   , m_deltaRIdxMinus1(0)
    84 #endif
    8583  , m_deltaRPS(0)
    8684  , m_numRefIdc(0)
     
    109107  Int       m_iSourceWidth;
    110108  Int       m_iSourceHeight;
    111   Int       m_croppingMode;
    112   Int       m_cropLeft;
    113   Int       m_cropRight;
    114   Int       m_cropTop;
    115   Int       m_cropBottom;
    116   Int       m_iFrameToBeEncoded;
     109  Int       m_conformanceMode;
     110  Window    m_conformanceWindow;
     111  Int       m_framesToBeEncoded;
    117112  Double    m_adLambdaModifier[ MAX_TLAYER ];
     113
     114  /* profile & level */
     115  Profile::Name m_profile;
     116  Level::Tier   m_levelTier;
     117  Level::Name   m_level;
     118#if L0046_CONSTRAINT_FLAGS
     119  Bool m_progressiveSourceFlag;
     120  Bool m_interlacedSourceFlag;
     121  Bool m_nonPackedConstraintFlag;
     122  Bool m_frameOnlyConstraintFlag;
     123#endif
    118124
    119125  //====== Coding Structure ========
     
    136142  Int       m_maxTempLayer;                      ///< Max temporal layer
    137143  Bool m_useAMP;
     144#if VPS_EXTN_DIRECT_REF_LAYERS
     145  Int       m_numDirectRefLayers;
     146  Int       m_refLayerId[MAX_VPS_LAYER_ID_PLUS1];
     147#endif
    138148  //======= Transform =============
    139149  UInt      m_uiQuadtreeTULog2MaxSize;
     
    141151  UInt      m_uiQuadtreeTUMaxDepthInter;
    142152  UInt      m_uiQuadtreeTUMaxDepthIntra;
    143  
    144 #if !REMOVE_NSQT
    145   Bool      m_useNSQT;
    146 #endif
    147153 
    148154  //====== Loop/Deblock Filter ========
     
    154160  Bool      m_bUseSAO;
    155161  Int       m_maxNumOffsetsPerPic;
    156 #if SAO_LCU_BOUNDARY
    157162  Bool      m_saoLcuBoundary;
    158 #endif
    159163  Bool      m_saoLcuBasedOptimization;
    160164
     
    182186  //====== Tool list ========
    183187  Bool      m_bUseSBACRD;
    184 #if !REMOVE_ALF
    185   Bool      m_bUseALF;
    186   Bool      m_alfLowLatencyEncoding;
    187 #endif
    188188  Bool      m_bUseASR;
    189189  Bool      m_bUseHADME;
    190190  Bool      m_bUseLComb;
    191   Bool      m_bUseRDOQ;
     191  Bool      m_useRDOQ;
     192  Bool      m_useRDOQTS;
     193#if L0232_RD_PENALTY
     194  UInt      m_rdPenalty;
     195#endif
    192196  Bool      m_bUseFastEnc;
    193197  Bool      m_bUseEarlyCU;
     
    195199  Bool      m_bUseCbfFastMode;
    196200  Bool      m_useEarlySkipDetection;
    197 #if !REMOVE_LMCHROMA
    198   Bool      m_bUseLMChroma;
    199 #endif
    200201  Bool      m_useTransformSkip;
    201202  Bool      m_useTransformSkipFast;
     
    208209  UInt      m_uiPCMLog2MinSize;
    209210  //====== Slice ========
    210   Int       m_iSliceMode;
    211   Int       m_iSliceArgument;
     211  Int       m_sliceMode;
     212  Int       m_sliceArgument;
    212213  //====== Dependent Slice ========
    213   Int       m_iDependentSliceMode;
    214   Int       m_iDependentSliceArgument;
    215 #if DEPENDENT_SLICES
    216 #if TILES_WPP_ENTROPYSLICES_FLAGS
    217   Bool      m_entropySliceEnabledFlag;
    218 #else
    219   Bool      m_bCabacIndependentFlag;
    220 #endif
    221 #endif
    222 #if !REMOVE_FGS
    223   Int       m_iSliceGranularity;
    224 #endif
     214  Int       m_sliceSegmentMode;
     215  Int       m_sliceSegmentArgument;
    225216  Bool      m_bLFCrossSliceBoundaryFlag;
    226217
     
    240231
    241232  Int       m_decodedPictureHashSEIEnabled;              ///< Checksum(3)/CRC(2)/MD5(1)/disable(0) acting on decoded picture hash SEI message
    242 #if BUFFERING_PERIOD_AND_TIMING_SEI
    243233  Int       m_bufferingPeriodSEIEnabled;
    244234  Int       m_pictureTimingSEIEnabled;
    245 #endif
    246 #if RECOVERY_POINT_SEI
    247235  Int       m_recoveryPointSEIEnabled;
    248 #endif
     236  Int       m_framePackingSEIEnabled;
     237  Int       m_framePackingSEIType;
     238  Int       m_framePackingSEIId;
     239  Int       m_framePackingSEIQuincunx;
     240  Int       m_framePackingSEIInterpretation;
     241  Int       m_displayOrientationSEIAngle;
     242  Int       m_temporalLevel0IndexSEIEnabled;
     243  Int       m_gradualDecodingRefreshInfoEnabled;
     244  Int       m_decodingUnitInfoSEIEnabled;
    249245  //====== Weighted Prediction ========
    250   Bool      m_bUseWeightPred;       //< Use of Weighting Prediction (P_SLICE)
     246  Bool      m_useWeightedPred;       //< Use of Weighting Prediction (P_SLICE)
    251247  Bool      m_useWeightedBiPred;    //< Use of Bi-directional Weighting Prediction (B_SLICE)
    252248  UInt      m_log2ParallelMergeLevelMinus2;       ///< Parallel merge estimation region
    253249  UInt      m_maxNumMergeCand;                    ///< Maximum number of merge candidates
    254250  Int       m_useScalingListId;            ///< Using quantization matrix i.e. 0=off, 1=default, 2=file.
    255   char*     m_scalingListFile;          ///< quantization matrix file name
     251  Char*     m_scalingListFile;          ///< quantization matrix file name
    256252  Int       m_TMVPModeId;
    257253  Int       m_signHideFlag;
     254#if RATE_CONTROL_LAMBDA_DOMAIN
     255  Bool      m_RCEnableRateControl;
     256  Int       m_RCTargetBitrate;
     257  Bool      m_RCKeepHierarchicalBit;
     258  Bool      m_RCLCULevelRC;
     259  Bool      m_RCUseLCUSeparateModel;
     260  Int       m_RCInitialQP;
     261  Bool      m_RCForceIntraQP;
     262#else
    258263  Bool      m_enableRateCtrl;                                ///< Flag for using rate control algorithm
    259264  Int       m_targetBitrate;                                 ///< target bitrate
    260265  Int       m_numLCUInUnit;                                  ///< Total number of LCUs in a frame should be divided by the NumLCUInUnit
     266#endif
    261267  Bool      m_TransquantBypassEnableFlag;                     ///< transquant_bypass_enable_flag setting in PPS.
    262268  Bool      m_CUTransquantBypassFlagValue;                    ///< if transquant_bypass_enable_flag, the fixed value to use for the per-CU cu_transquant_bypass_flag.
     269#if SVC_EXTENSION
     270  static TComVPS                    m_cVPS;
     271#else
    263272  TComVPS                    m_cVPS;
    264 #if RECALCULATE_QP_ACCORDING_LAMBDA
     273#endif
    265274  Bool      m_recalculateQPAccordingToLambda;                 ///< recalculate QP value according to the lambda value
    266 #endif
    267 #if ACTIVE_PARAMETER_SETS_SEI_MESSAGE 
    268275  Int       m_activeParameterSetsSEIEnabled;                  ///< enable active parameter set SEI message
    269 #endif
    270 #if SUPPORT_FOR_VUI
    271276  Bool      m_vuiParametersPresentFlag;                       ///< enable generation of VUI parameters
    272277  Bool      m_aspectRatioInfoPresentFlag;                     ///< Signals whether aspect_ratio_idc is present
     
    275280  Int       m_sarHeight;                                      ///< vertical size of the sample aspect ratio
    276281  Bool      m_overscanInfoPresentFlag;                        ///< Signals whether overscan_appropriate_flag is present
    277   Bool      m_overscanAppropriateFlag;                        ///< Indicates whether cropped decoded pictures are suitable for display using overscan
     282  Bool      m_overscanAppropriateFlag;                        ///< Indicates whether conformant decoded pictures are suitable for display using overscan
    278283  Bool      m_videoSignalTypePresentFlag;                     ///< Signals whether video_format, video_full_range_flag, and colour_description_present_flag are present
    279284  Int       m_videoFormat;                                    ///< Indicates representation of pictures
     
    287292  Int       m_chromaSampleLocTypeBottomField;                 ///< Specifies the location of chroma samples for bottom field
    288293  Bool      m_neutralChromaIndicationFlag;                    ///< Indicates that the value of all decoded chroma samples is equal to 1<<(BitDepthCr-1)
     294  Window    m_defaultDisplayWindow;                           ///< Represents the default display window parameters
     295  Bool      m_frameFieldInfoPresentFlag;                      ///< Indicates that pic_struct and other field coding related values are present in picture timing SEI messages
     296  Bool      m_pocProportionalToTimingFlag;                    ///< Indicates that the POC value is proportional to the output time w.r.t. first picture in CVS
     297  Int       m_numTicksPocDiffOneMinus1;                       ///< Number of ticks minus 1 that for a POC difference of one
    289298  Bool      m_bitstreamRestrictionFlag;                       ///< Signals whether bitstream restriction parameters are present
    290299  Bool      m_tilesFixedStructureFlag;                        ///< Indicates that each active picture parameter set has the same values of the syntax elements related to tiles
    291300  Bool      m_motionVectorsOverPicBoundariesFlag;             ///< Indicates that no samples outside the picture boundaries are used for inter prediction
     301  Int       m_minSpatialSegmentationIdc;                      ///< Indicates the maximum size of the spatial segments in the pictures in the coded video sequence
    292302  Int       m_maxBytesPerPicDenom;                            ///< Indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units associated with any coded picture
    293303  Int       m_maxBitsPerMinCuDenom;                           ///< Indicates an upper bound for the number of bits of coding_unit() data
    294304  Int       m_log2MaxMvLengthHorizontal;                      ///< Indicate the maximum absolute value of a decoded horizontal MV component in quarter-pel luma units
    295305  Int       m_log2MaxMvLengthVertical;                        ///< Indicate the maximum absolute value of a decoded vertical MV component in quarter-pel luma units
    296 #endif
    297 
     306
     307  Bool      m_useStrongIntraSmoothing;                        ///< enable the use of strong intra smoothing (bi_linear interpolation) for 32x32 blocks when reference samples are flat.
    298308#if SVC_EXTENSION
    299309  UInt      m_layerId;   
     
    316326  }
    317327 
     328  Void setProfile(Profile::Name profile) { m_profile = profile; }
     329  Void setLevel(Level::Tier tier, Level::Name level) { m_levelTier = tier; m_level = level; }
     330
    318331  Void      setFrameRate                    ( Int   i )      { m_iFrameRate = i; }
    319   Void      setFrameSkip                    ( unsigned int i ) { m_FrameSkip = i; }
     332  Void      setFrameSkip                    ( UInt i ) { m_FrameSkip = i; }
    320333  Void      setSourceWidth                  ( Int   i )      { m_iSourceWidth = i; }
    321334  Void      setSourceHeight                 ( Int   i )      { m_iSourceHeight = i; }
    322   Void      setCroppingMode                 ( Int   i )      { m_croppingMode = i; }
    323   Void      setCropLeft                     ( Int   i )      { m_cropLeft = i; }
    324   Void      setCropRight                    ( Int   i )      { m_cropRight = i; }
    325   Void      setCropTop                      ( Int   i )      { m_cropTop = i; }
    326   Void      setCropBottom                   ( Int   i )      { m_cropBottom = i; }
    327   Void      setFrameToBeEncoded             ( Int   i )      { m_iFrameToBeEncoded = i; }
     335
     336  Window   &getConformanceWindow()                           { return m_conformanceWindow; }
     337  Void      setConformanceWindow (Int confLeft, Int confRight, Int confTop, Int confBottom ) { m_conformanceWindow.setWindow (confLeft, confRight, confTop, confBottom); }
     338
     339  Void      setFramesToBeEncoded            ( Int   i )      { m_framesToBeEncoded = i; }
    328340 
    329341  //====== Coding Structure ========
     
    346358  Bool      getMaxTempLayer                 ()                              { return m_maxTempLayer;              }
    347359  Void      setMaxTempLayer                 ( Int maxTempLayer )            { m_maxTempLayer = maxTempLayer;      }
     360#if VPS_EXTN_DIRECT_REF_LAYERS
     361  Int       getNumDirectRefLayers           ()                              { return m_numDirectRefLayers;      }
     362  Void      setNumDirectRefLayers           (Int num)                       { m_numDirectRefLayers = num;       }
     363
     364  Int       getRefLayerId                   (Int i)                         { return m_refLayerId[i];           }
     365  Void      setRefLayerId                   (Int i, Int refLayerId)         { m_refLayerId[i] = refLayerId;     }
     366#endif
    348367  //======== Transform =============
    349368  Void      setQuadtreeTULog2MaxSize        ( UInt  u )      { m_uiQuadtreeTULog2MaxSize = u; }
     
    352371  Void      setQuadtreeTUMaxDepthIntra      ( UInt  u )      { m_uiQuadtreeTUMaxDepthIntra = u; }
    353372 
    354 #if !REMOVE_NSQT
    355   Void setUseNSQT( Bool b ) { m_useNSQT = b; }
    356 #endif
    357373  Void setUseAMP( Bool b ) { m_useAMP = b; }
    358374 
     
    388404  //====== Sequence ========
    389405  Int       getFrameRate                    ()      { return  m_iFrameRate; }
    390   unsigned int getFrameSkip                 ()      { return  m_FrameSkip; }
     406  UInt      getFrameSkip                    ()      { return  m_FrameSkip; }
    391407  Int       getSourceWidth                  ()      { return  m_iSourceWidth; }
    392408  Int       getSourceHeight                 ()      { return  m_iSourceHeight; }
    393   Int       getCroppingMode                 ()      { return  m_croppingMode; }
    394   Int       getCropLeft                     ()      { return  m_cropLeft; }
    395   Int       getCropRight                    ()      { return  m_cropRight; }
    396   Int       getCropTop                      ()      { return  m_cropTop; }
    397   Int       getCropBottom                   ()      { return  m_cropBottom; }
    398   Int       getFrameToBeEncoded             ()      { return  m_iFrameToBeEncoded; }
     409  Int       getFramesToBeEncoded            ()      { return  m_framesToBeEncoded; }
    399410  void setLambdaModifier                    ( UInt uiIndex, Double dValue ) { m_adLambdaModifier[ uiIndex ] = dValue; }
    400411  Double getLambdaModifier                  ( UInt uiIndex ) const { return m_adLambdaModifier[ uiIndex ]; }
     
    439450  Void      setUseASR                       ( Bool  b )     { m_bUseASR     = b; }
    440451  Void      setUseHADME                     ( Bool  b )     { m_bUseHADME   = b; }
    441 #if !REMOVE_ALF
    442   Void      setUseALF                       ( Bool  b )     { m_bUseALF   = b; }
    443 #endif
    444452  Void      setUseLComb                     ( Bool  b )     { m_bUseLComb   = b; }
    445   Void      setUseRDOQ                      ( Bool  b )     { m_bUseRDOQ    = b; }
     453  Void      setUseRDOQ                      ( Bool  b )     { m_useRDOQ    = b; }
     454  Void      setUseRDOQTS                    ( Bool  b )     { m_useRDOQTS  = b; }
     455#if L0232_RD_PENALTY
     456  Void      setRDpenalty                 ( UInt  b )     { m_rdPenalty  = b; }
     457#endif
    446458  Void      setUseFastEnc                   ( Bool  b )     { m_bUseFastEnc = b; }
    447459  Void      setUseEarlyCU                   ( Bool  b )     { m_bUseEarlyCU = b; }
     
    460472  Bool      getUseASR                       ()      { return m_bUseASR;     }
    461473  Bool      getUseHADME                     ()      { return m_bUseHADME;   }
    462 #if !REMOVE_ALF
    463   Bool      getUseALF                       ()      { return m_bUseALF;     }
    464   Void      setALFLowLatencyEncoding        (Bool b) {m_alfLowLatencyEncoding = b;    }
    465   Bool      getALFLowLatencyEncoding        ()       { return m_alfLowLatencyEncoding;}
    466 #endif
    467474  Bool      getUseLComb                     ()      { return m_bUseLComb;   }
    468   Bool      getUseRDOQ                      ()      { return m_bUseRDOQ;    }
     475  Bool      getUseRDOQ                      ()      { return m_useRDOQ;    }
     476  Bool      getUseRDOQTS                    ()      { return m_useRDOQTS;  }
     477#if L0232_RD_PENALTY
     478  Int      getRDpenalty                  ()      { return m_rdPenalty;  }
     479#endif
    469480  Bool      getUseFastEnc                   ()      { return m_bUseFastEnc; }
    470481  Bool      getUseEarlyCU                   ()      { return m_bUseEarlyCU; }
     
    473484  Bool      getUseEarlySkipDetection        ()      { return m_useEarlySkipDetection; }
    474485  Bool      getUseConstrainedIntraPred      ()      { return m_bUseConstrainedIntraPred; }
    475 #if !REMOVE_NSQT
    476 #if NS_HAD
    477   Bool      getUseNSQT                      ()      { return m_useNSQT; }
    478 #endif
    479 #endif
    480486  Bool      getPCMInputBitDepthFlag         ()      { return m_bPCMInputBitDepthFlag;   }
    481487  Bool      getPCMFilterDisableFlag         ()      { return m_bPCMFilterDisableFlag;   }
     
    484490  UInt      getPCMLog2MinSize               ()      { return  m_uiPCMLog2MinSize;  }
    485491
    486 #if !REMOVE_LMCHROMA
    487   Bool getUseLMChroma                       ()      { return m_bUseLMChroma;        }
    488   Void setUseLMChroma                       ( Bool b ) { m_bUseLMChroma  = b;       }
    489 #endif
    490492  Bool getUseTransformSkip                             ()      { return m_useTransformSkip;        }
    491493  Void setUseTransformSkip                             ( Bool b ) { m_useTransformSkip  = b;       }
     
    496498
    497499  //====== Slice ========
    498   Void  setSliceMode                   ( Int  i )       { m_iSliceMode = i;              }
    499   Void  setSliceArgument               ( Int  i )       { m_iSliceArgument = i;          }
    500   Int   getSliceMode                   ()              { return m_iSliceMode;           }
    501   Int   getSliceArgument               ()              { return m_iSliceArgument;       }
     500  Void  setSliceMode                   ( Int  i )       { m_sliceMode = i;              }
     501  Void  setSliceArgument               ( Int  i )       { m_sliceArgument = i;          }
     502  Int   getSliceMode                   ()              { return m_sliceMode;           }
     503  Int   getSliceArgument               ()              { return m_sliceArgument;       }
    502504  //====== Dependent Slice ========
    503   Void  setDependentSliceMode            ( Int  i )      { m_iDependentSliceMode = i;       }
    504   Void  setDependentSliceArgument        ( Int  i )      { m_iDependentSliceArgument = i;   }
    505   Int   getDependentSliceMode            ()              { return m_iDependentSliceMode;    }
    506   Int   getDependentSliceArgument        ()              { return m_iDependentSliceArgument;}
    507 #if DEPENDENT_SLICES
    508 #if TILES_WPP_ENTROPYSLICES_FLAGS
    509   Void  setEntropySliceEnabledFlag       ( Bool  b )     { m_entropySliceEnabledFlag = b;    }
    510   Bool  getEntropySliceEnabledFlag       ()              { return m_entropySliceEnabledFlag; }
    511 #else
    512   Void  setCabacIndependentFlag            ( Bool  i )      { m_bCabacIndependentFlag = i;       }
    513   Bool  getCabacIndependentFlag     ()                    { return m_bCabacIndependentFlag;   }
    514 #endif
    515 #endif
    516 #if !REMOVE_FGS
    517   Void  setSliceGranularity            ( Int  i )      { m_iSliceGranularity = i;       }
    518   Int   getSliceGranularity            ()              { return m_iSliceGranularity;    }
    519 #endif
     505  Void  setSliceSegmentMode            ( Int  i )      { m_sliceSegmentMode = i;       }
     506  Void  setSliceSegmentArgument        ( Int  i )      { m_sliceSegmentArgument = i;   }
     507  Int   getSliceSegmentMode            ()              { return m_sliceSegmentMode;    }
     508  Int   getSliceSegmentArgument        ()              { return m_sliceSegmentArgument;}
    520509  Void      setLFCrossSliceBoundaryFlag     ( Bool   bValue  )    { m_bLFCrossSliceBoundaryFlag = bValue; }
    521510  Bool      getLFCrossSliceBoundaryFlag     ()                    { return m_bLFCrossSliceBoundaryFlag;   }
     
    525514  Void  setMaxNumOffsetsPerPic                   (Int iVal)            { m_maxNumOffsetsPerPic = iVal; }
    526515  Int   getMaxNumOffsetsPerPic                   ()                    { return m_maxNumOffsetsPerPic; }
    527 #if SAO_LCU_BOUNDARY
    528516  Void  setSaoLcuBoundary              (Bool val)      { m_saoLcuBoundary = val; }
    529517  Bool  getSaoLcuBoundary              ()              { return m_saoLcuBoundary; }
    530 #endif
    531518  Void  setSaoLcuBasedOptimization               (Bool val)            { m_saoLcuBasedOptimization = val; }
    532519  Bool  getSaoLcuBasedOptimization               ()                    { return m_saoLcuBasedOptimization; }
     
    537524  Void  setNumColumnsMinus1            ( Int i )           { m_iNumColumnsMinus1 = i; }
    538525  Int   getNumColumnsMinus1            ()                  { return m_iNumColumnsMinus1; }
    539   Void  setColumnWidth ( char* str )
     526  Void  setColumnWidth ( UInt* columnWidth )
    540527  {
    541     char *columnWidth;
    542     int  i=0;
    543     Int  m_iWidthInCU = ( m_iSourceWidth%g_uiMaxCUWidth ) ? m_iSourceWidth/g_uiMaxCUWidth + 1 : m_iSourceWidth/g_uiMaxCUWidth;
    544 
    545528    if( m_iUniformSpacingIdr == 0 && m_iNumColumnsMinus1 > 0 )
    546529    {
    547       m_puiColumnWidth = new UInt[m_iNumColumnsMinus1];
    548 
    549       columnWidth = strtok(str, " ,-");
    550       while(columnWidth!=NULL)
     530      Int  m_iWidthInCU = ( m_iSourceWidth%g_uiMaxCUWidth ) ? m_iSourceWidth/g_uiMaxCUWidth + 1 : m_iSourceWidth/g_uiMaxCUWidth;
     531      m_puiColumnWidth = new UInt[ m_iNumColumnsMinus1 ];
     532
     533      for(Int i=0; i<m_iNumColumnsMinus1; i++)
    551534      {
    552         if( i>=m_iNumColumnsMinus1 )
    553         {
    554           printf( "The number of columns whose width are defined is larger than the allowed number of columns.\n" );
    555           exit( EXIT_FAILURE );
    556         }
    557         *( m_puiColumnWidth + i ) = atoi( columnWidth );
     535        m_puiColumnWidth[i] = columnWidth[i];
    558536        printf("col: m_iWidthInCU= %4d i=%4d width= %4d\n",m_iWidthInCU,i,m_puiColumnWidth[i]); //AFU
    559         columnWidth = strtok(NULL, " ,-");
    560         i++;
    561       }
    562       if( i<m_iNumColumnsMinus1 )
    563       {
    564         printf( "The width of some columns is not defined.\n" );
    565         exit( EXIT_FAILURE );
    566537      }
    567538    }
     
    570541  Void  setNumRowsMinus1               ( Int i )           { m_iNumRowsMinus1 = i; }
    571542  Int   getNumRowsMinus1               ()                  { return m_iNumRowsMinus1; }
    572   Void  setRowHeight (char* str)
     543  Void  setRowHeight (UInt* rowHeight)
    573544  {
    574     char *rowHeight;
    575     int  i=0;
    576     Int  m_iHeightInCU = ( m_iSourceHeight%g_uiMaxCUHeight ) ? m_iSourceHeight/g_uiMaxCUHeight + 1 : m_iSourceHeight/g_uiMaxCUHeight;
    577 
    578545    if( m_iUniformSpacingIdr == 0 && m_iNumRowsMinus1 > 0 )
    579546    {
    580       m_puiRowHeight = new UInt[m_iNumRowsMinus1];
    581 
    582       rowHeight = strtok(str, " ,-");
    583       while(rowHeight!=NULL)
     547      Int  m_iHeightInCU = ( m_iSourceHeight%g_uiMaxCUHeight ) ? m_iSourceHeight/g_uiMaxCUHeight + 1 : m_iSourceHeight/g_uiMaxCUHeight;
     548      m_puiRowHeight = new UInt[ m_iNumRowsMinus1 ];
     549
     550      for(Int i=0; i<m_iNumRowsMinus1; i++)
    584551      {
    585         if( i>=m_iNumRowsMinus1 )
    586         {
    587           printf( "The number of rows whose height are defined is larger than the allowed number of rows.\n" );
    588           exit( EXIT_FAILURE );
    589         }
    590         *( m_puiRowHeight + i ) = atoi( rowHeight );
     552        m_puiRowHeight[i] = rowHeight[i];
    591553        printf("row: m_iHeightInCU=%4d i=%4d height=%4d\n",m_iHeightInCU,i,m_puiRowHeight[i]); //AFU
    592         rowHeight = strtok(NULL, " ,-");
    593         i++;
    594554      }
    595       if( i<m_iNumRowsMinus1 )
    596       {
    597         printf( "The height of some rows is not defined.\n" );
    598         exit( EXIT_FAILURE );
    599      }
    600555    }
    601556  }
     
    608563  Void  setDecodedPictureHashSEIEnabled(Int b)           { m_decodedPictureHashSEIEnabled = b; }
    609564  Int   getDecodedPictureHashSEIEnabled()                { return m_decodedPictureHashSEIEnabled; }
    610 #if BUFFERING_PERIOD_AND_TIMING_SEI
    611565  Void  setBufferingPeriodSEIEnabled(Int b)              { m_bufferingPeriodSEIEnabled = b; }
    612566  Int   getBufferingPeriodSEIEnabled()                   { return m_bufferingPeriodSEIEnabled; }
    613567  Void  setPictureTimingSEIEnabled(Int b)                { m_pictureTimingSEIEnabled = b; }
    614568  Int   getPictureTimingSEIEnabled()                     { return m_pictureTimingSEIEnabled; }
    615 #endif
    616 #if RECOVERY_POINT_SEI
    617569  Void  setRecoveryPointSEIEnabled(Int b)                { m_recoveryPointSEIEnabled = b; }
    618570  Int   getRecoveryPointSEIEnabled()                     { return m_recoveryPointSEIEnabled; }
    619 #endif
    620   Void      setUseWP               ( Bool  b )   { m_bUseWeightPred    = b;    }
     571  Void  setFramePackingArrangementSEIEnabled(Int b)      { m_framePackingSEIEnabled = b; }
     572  Int   getFramePackingArrangementSEIEnabled()           { return m_framePackingSEIEnabled; }
     573  Void  setFramePackingArrangementSEIType(Int b)         { m_framePackingSEIType = b; }
     574  Int   getFramePackingArrangementSEIType()              { return m_framePackingSEIType; }
     575  Void  setFramePackingArrangementSEIId(Int b)           { m_framePackingSEIId = b; }
     576  Int   getFramePackingArrangementSEIId()                { return m_framePackingSEIId; }
     577  Void  setFramePackingArrangementSEIQuincunx(Int b)     { m_framePackingSEIQuincunx = b; }
     578  Int   getFramePackingArrangementSEIQuincunx()          { return m_framePackingSEIQuincunx; }
     579  Void  setFramePackingArrangementSEIInterpretation(Int b)  { m_framePackingSEIInterpretation = b; }
     580  Int   getFramePackingArrangementSEIInterpretation()    { return m_framePackingSEIInterpretation; }
     581  Void  setDisplayOrientationSEIAngle(Int b)             { m_displayOrientationSEIAngle = b; }
     582  Int   getDisplayOrientationSEIAngle()                  { return m_displayOrientationSEIAngle; }
     583  Void  setTemporalLevel0IndexSEIEnabled(Int b)          { m_temporalLevel0IndexSEIEnabled = b; }
     584  Int   getTemporalLevel0IndexSEIEnabled()               { return m_temporalLevel0IndexSEIEnabled; }
     585  Void  setGradualDecodingRefreshInfoEnabled(Int b)      { m_gradualDecodingRefreshInfoEnabled = b;    }
     586  Int   getGradualDecodingRefreshInfoEnabled()           { return m_gradualDecodingRefreshInfoEnabled; }
     587  Void  setDecodingUnitInfoSEIEnabled(Int b)                { m_decodingUnitInfoSEIEnabled = b;    }
     588  Int   getDecodingUnitInfoSEIEnabled()                     { return m_decodingUnitInfoSEIEnabled; }
     589  Void      setUseWP               ( Bool b )    { m_useWeightedPred   = b;    }
    621590  Void      setWPBiPred            ( Bool b )    { m_useWeightedBiPred = b;    }
    622   Bool      getUseWP               ()            { return m_bUseWeightPred;    }
     591  Bool      getUseWP               ()            { return m_useWeightedPred;   }
    623592  Bool      getWPBiPred            ()            { return m_useWeightedBiPred; }
    624593  Void      setLog2ParallelMergeLevelMinus2   ( UInt u )    { m_log2ParallelMergeLevelMinus2       = u;    }
     
    628597  Void      setUseScalingListId    ( Int  u )    { m_useScalingListId       = u;   }
    629598  Int       getUseScalingListId    ()            { return m_useScalingListId;      }
    630   Void      setScalingListFile     ( char*  pch ){ m_scalingListFile     = pch; }
    631   char*     getScalingListFile     ()            { return m_scalingListFile;    }
     599  Void      setScalingListFile     ( Char*  pch ){ m_scalingListFile     = pch; }
     600  Char*     getScalingListFile     ()            { return m_scalingListFile;    }
    632601  Void      setTMVPModeId ( Int  u ) { m_TMVPModeId = u;    }
    633602  Int       getTMVPModeId ()         { return m_TMVPModeId; }
    634603  Void      setSignHideFlag( Int signHideFlag ) { m_signHideFlag = signHideFlag; }
    635604  Int       getSignHideFlag()                    { return m_signHideFlag; }
     605#if RATE_CONTROL_LAMBDA_DOMAIN
     606  Bool      getUseRateCtrl         ()              { return m_RCEnableRateControl;   }
     607  Void      setUseRateCtrl         ( Bool b )      { m_RCEnableRateControl = b;      }
     608  Int       getTargetBitrate       ()              { return m_RCTargetBitrate;       }
     609  Void      setTargetBitrate       ( Int bitrate ) { m_RCTargetBitrate  = bitrate;   }
     610  Bool      getKeepHierBit         ()              { return m_RCKeepHierarchicalBit; }
     611  Void      setKeepHierBit         ( Bool b )      { m_RCKeepHierarchicalBit = b;    }
     612  Bool      getLCULevelRC          ()              { return m_RCLCULevelRC; }
     613  Void      setLCULevelRC          ( Bool b )      { m_RCLCULevelRC = b; }
     614  Bool      getUseLCUSeparateModel ()              { return m_RCUseLCUSeparateModel; }
     615  Void      setUseLCUSeparateModel ( Bool b )      { m_RCUseLCUSeparateModel = b;    }
     616  Int       getInitialQP           ()              { return m_RCInitialQP;           }
     617  Void      setInitialQP           ( Int QP )      { m_RCInitialQP = QP;             }
     618  Bool      getForceIntraQP        ()              { return m_RCForceIntraQP;        }
     619  Void      setForceIntraQP        ( Bool b )      { m_RCForceIntraQP = b;           }
     620#else
    636621  Bool      getUseRateCtrl    ()                { return m_enableRateCtrl;    }
    637622  Void      setUseRateCtrl    (Bool flag)       { m_enableRateCtrl = flag;    }
     
    640625  Int       getNumLCUInUnit   ()                { return m_numLCUInUnit;      }
    641626  Void      setNumLCUInUnit   (Int numLCUs)     { m_numLCUInUnit   = numLCUs; }
     627#endif
    642628  Bool      getTransquantBypassEnableFlag()           { return m_TransquantBypassEnableFlag; }
    643629  Void      setTransquantBypassEnableFlag(Bool flag)  { m_TransquantBypassEnableFlag = flag; }
     
    646632  Void setVPS(TComVPS *p) { m_cVPS = *p; }
    647633  TComVPS *getVPS() { return &m_cVPS; }
    648 #if RECALCULATE_QP_ACCORDING_LAMBDA
    649634  Void      setUseRecalculateQPAccordingToLambda ( Bool b ) { m_recalculateQPAccordingToLambda = b;    }
    650635  Bool      getUseRecalculateQPAccordingToLambda ()         { return m_recalculateQPAccordingToLambda; }
    651 #endif
    652 #if ACTIVE_PARAMETER_SETS_SEI_MESSAGE
     636
     637  Void      setUseStrongIntraSmoothing ( Bool b ) { m_useStrongIntraSmoothing = b;    }
     638  Bool      getUseStrongIntraSmoothing ()         { return m_useStrongIntraSmoothing; }
     639
    653640  Void      setActiveParameterSetsSEIEnabled ( Int b )  { m_activeParameterSetsSEIEnabled = b; } 
    654641  Int       getActiveParameterSetsSEIEnabled ()         { return m_activeParameterSetsSEIEnabled; }
    655 #endif
    656 #if SUPPORT_FOR_VUI
    657642  Bool      getVuiParametersPresentFlag()                 { return m_vuiParametersPresentFlag; }
    658643  Void      setVuiParametersPresentFlag(Bool i)           { m_vuiParametersPresentFlag = i; }
     
    691676  Bool      getNeutralChromaIndicationFlag()              { return m_neutralChromaIndicationFlag; }
    692677  Void      setNeutralChromaIndicationFlag(Bool i)        { m_neutralChromaIndicationFlag = i; }
     678  Window   &getDefaultDisplayWindow()                     { return m_defaultDisplayWindow; }
     679  Void      setDefaultDisplayWindow (Int offsetLeft, Int offsetRight, Int offsetTop, Int offsetBottom ) { m_defaultDisplayWindow.setWindow (offsetLeft, offsetRight, offsetTop, offsetBottom); }
     680  Bool      getFrameFieldInfoPresentFlag()                { return m_frameFieldInfoPresentFlag; }
     681  Void      setFrameFieldInfoPresentFlag(Bool i)          { m_frameFieldInfoPresentFlag = i; } 
     682  Bool      getPocProportionalToTimingFlag()              { return m_pocProportionalToTimingFlag; }
     683  Void      setPocProportionalToTimingFlag(Bool x)        { m_pocProportionalToTimingFlag = x;    }
     684  Int       getNumTicksPocDiffOneMinus1()                 { return m_numTicksPocDiffOneMinus1;    }
     685  Void      setNumTicksPocDiffOneMinus1(Int x)            { m_numTicksPocDiffOneMinus1 = x;       }
    693686  Bool      getBitstreamRestrictionFlag()                 { return m_bitstreamRestrictionFlag; }
    694687  Void      setBitstreamRestrictionFlag(Bool i)           { m_bitstreamRestrictionFlag = i; }
     
    697690  Bool      getMotionVectorsOverPicBoundariesFlag()       { return m_motionVectorsOverPicBoundariesFlag; }
    698691  Void      setMotionVectorsOverPicBoundariesFlag(Bool i) { m_motionVectorsOverPicBoundariesFlag = i; }
     692  Int       getMinSpatialSegmentationIdc()                { return m_minSpatialSegmentationIdc; }
     693  Void      setMinSpatialSegmentationIdc(Int i)           { m_minSpatialSegmentationIdc = i; }
    699694  Int       getMaxBytesPerPicDenom()                      { return m_maxBytesPerPicDenom; }
    700695  Void      setMaxBytesPerPicDenom(Int i)                 { m_maxBytesPerPicDenom = i; }
     
    705700  Int       getLog2MaxMvLengthVertical()                  { return m_log2MaxMvLengthVertical; }
    706701  Void      setLog2MaxMvLengthVertical(Int i)             { m_log2MaxMvLengthVertical = i; }
     702 
     703#if L0046_CONSTRAINT_FLAGS
     704  Bool getProgressiveSourceFlag() const { return m_progressiveSourceFlag; }
     705  Void setProgressiveSourceFlag(Bool b) { m_progressiveSourceFlag = b; }
     706 
     707  Bool getInterlacedSourceFlag() const { return m_interlacedSourceFlag; }
     708  Void setInterlacedSourceFlag(Bool b) { m_interlacedSourceFlag = b; }
     709 
     710  Bool getNonPackedConstraintFlag() const { return m_nonPackedConstraintFlag; }
     711  Void setNonPackedConstraintFlag(Bool b) { m_nonPackedConstraintFlag = b; }
     712 
     713  Bool getFrameOnlyConstraintFlag() const { return m_frameOnlyConstraintFlag; }
     714  Void setFrameOnlyConstraintFlag(Bool b) { m_frameOnlyConstraintFlag = b; }
    707715#endif
    708716
     
    712720  UInt      getNumLayer           () { return m_numLayer;             } 
    713721  Void      setNumLayer           (UInt uiNum)   { m_numLayer = uiNum;  }
     722  Void      setConformanceMode    (Int mode)     { m_conformanceMode = mode; }
     723  Void      setConformanceWindow(Window& conformanceWindow ) { m_conformanceWindow = conformanceWindow; }
    714724#endif
    715725#if REF_IDX_FRAMEWORK
     
    717727  Int       getElRapSliceTypeB()              {return m_elRapSliceBEnabled;}
    718728#endif
    719 
    720729};
    721730
Note: See TracChangeset for help on using the changeset viewer.