Ignore:
Timestamp:
12 Apr 2018, 11:12:21 (7 years ago)
Author:
tech
Message:
  • Update HM-16.18
  • Cleanups
  • Encoder Extension

-- Representation formats
-- Parameter set sharing
-- GOP configuration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-16.2-dev/source/App/TAppEncoder/TAppEncCfg.h

    r1405 r1412  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2016, ITU/ISO/IEC
     6 * Copyright (c) 2010-2017, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    4242
    4343#include "TLibEncoder/TEncCfg.h"
     44#if EXTENSION_360_VIDEO
     45#include "TAppEncHelper360/TExt360AppEncCfg.h"
     46#endif
    4447#include <sstream>
    4548#include <vector>
     
    5659// ====================================================================================================================
    5760
     61#if NH_MV
     62enum UIProfileName // this is used for determining profile strings, where multiple profiles map to a single profile idc with various constraint flag combinations
     63{
     64  UI_NONE = 0,
     65  UI_MAIN = 1,
     66  UI_MAIN10 = 2,
     67  UI_MAIN10_STILL_PICTURE=10002,
     68  UI_MAINSTILLPICTURE = 3,
     69  UI_MAINREXT = 4,
     70  UI_HIGHTHROUGHPUTREXT = 5,
     71  // The following are RExt profiles, which would map to the MAINREXT profile idc.
     72  // The enumeration indicates the bit-depth constraint in the bottom 2 digits
     73  //                           the chroma format in the next digit
     74  //                           the intra constraint in the next digit (1 for no intra constraint, 2 for intra constraint)
     75  //                           If it is a RExt still picture, there is a '1' for the top digit.
     76#if NH_MV
     77  UI_MULTIVIEWMAIN     = 6,
     78#if NH_3D
     79  UI_MAIN3D            = 8,
     80#endif
     81#endif
     82  UI_MONOCHROME_8      = 1008,
     83  UI_MONOCHROME_12     = 1012,
     84  UI_MONOCHROME_16     = 1016,
     85  UI_MAIN_12           = 1112,
     86  UI_MAIN_422_10       = 1210,
     87  UI_MAIN_422_12       = 1212,
     88  UI_MAIN_444          = 1308,
     89  UI_MAIN_444_10       = 1310,
     90  UI_MAIN_444_12       = 1312,
     91  UI_MAIN_444_16       = 1316, // non-standard profile definition, used for development purposes
     92  UI_MAIN_INTRA        = 2108,
     93  UI_MAIN_10_INTRA     = 2110,
     94  UI_MAIN_12_INTRA     = 2112,
     95  UI_MAIN_422_10_INTRA = 2210,
     96  UI_MAIN_422_12_INTRA = 2212,
     97  UI_MAIN_444_INTRA    = 2308,
     98  UI_MAIN_444_10_INTRA = 2310,
     99  UI_MAIN_444_12_INTRA = 2312,
     100  UI_MAIN_444_16_INTRA = 2316,
     101  UI_MAIN_444_STILL_PICTURE = 11308,
     102  UI_MAIN_444_16_STILL_PICTURE = 12316,
     103  // The following are high throughput profiles, which would map to the HIGHTHROUGHPUTREXT profile idc.
     104  // The enumeration indicates the bit-depth constraint in the bottom 2 digits
     105  //                           the chroma format in the next digit
     106  //                           the intra constraint in the next digit
     107  //                           There is a '2' for the top digit to indicate it is high throughput profile
     108
     109  UI_HIGHTHROUGHPUT_444     = 21308,
     110  UI_HIGHTHROUGHPUT_444_10  = 21310,
     111  UI_HIGHTHROUGHPUT_444_14  = 21314,
     112  UI_HIGHTHROUGHPUT_444_16_INTRA  = 22316
     113#if NH_MV_ALLOW_NON_CONFORMING
     114  ,
     115  UI_MULTIVIEWMAIN_NONCONF     = 10000006,
     116#if NH_3D
     117  UI_MAIN3D_NONCONF            = 10000008,
     118#endif
     119#endif
     120};
     121#endif
     122
    58123/// encoder configuration class
    59124class TAppEncCfg
    60125{
     126#if JVET_E0059_FLOATING_POINT_QP_FIX
     127public:
     128  template <class T>
     129  struct OptionalValue
     130  {
     131    Bool bPresent;
     132    T    value;
     133    OptionalValue() : bPresent(false), value() { }
     134  };
     135#endif
     136
    61137protected:
    62138  // file I/O
     
    71147  Int                    m_numberOfLayers;                    ///< number of Layers to Encode
    72148  Int                    m_iNumberOfViews;                    ///< number of Layers that are views
     149#if NH_MV
     150  Bool                   m_shareParameterSets;
     151  IntAry1d               m_layerIdxInVpsToGopDefIdx;
     152  IntAry1d               m_layerIdxInVpsToRepFormatIdx; 
     153  Int                    m_numRepFormats;
     154  Int                    m_numInputOutputRepFormats;
     155#endif
    73156#else
    74157  std::string m_reconFileName;                                ///< output reconstruction file
     
    91174// layer sets   
    92175  Int                    m_vpsNumLayerSets;                   ///< Number of layer sets
    93   IntAry2d m_layerIdxInVpsInSets;           ///< LayerIds in vps of layer set
    94   Int                    m_numAddLayerSets;                    ///< Number of additional layer sets
    95   IntAry2d m_highestLayerIdxPlus1;      ///< HighestLayerIdxPlus1 for each additional layer set and each independent layer (value with index 0 will be ignored)
     176  IntAry2d               m_layerIdxInVpsInSets;               ///< LayerIds in vps of layer set
     177  Int                    m_numAddLayerSets;                   ///< Number of additional layer sets
     178  IntAry2d               m_highestLayerIdxPlus1;              ///< HighestLayerIdxPlus1 for each additional layer set and each independent layer (value with index 0 will be ignored)
    96179  Int                    m_defaultOutputLayerIdc;             ///< Specifies output layers of layer sets, 0: output all layers, 1: output highest layers, 2: specified by LayerIdsInDefOuputLayerSet
    97180  IntAry1d               m_outputLayerSetIdx;                 ///< Indices of layer sets used as additional output layer sets 
    98   IntAry2d m_layerIdsInAddOutputLayerSet; ///< LayerIds in vps of additional output layers
    99   IntAry2d m_layerIdsInDefOutputLayerSet; ///< Indices in vps of output layers in layer sets
    100   IntAry2d               m_profileTierLevelIdx;      ///< Indices of of profile, per layer in layer set
     181  IntAry2d               m_layerIdsInAddOutputLayerSet;      ///< LayerIds in vps of additional output layers
     182  IntAry2d               m_layerIdsInDefOutputLayerSet;      ///< Indices in vps of output layers in layer sets
     183  IntAry2d               m_profileTierLevelIdx;               ///< Indices of of profile, per layer in layer set
    101184  BoolAry1d              m_altOutputLayerFlag;                ///< Alt output layer flag
    102185
     
    145228  UInt      m_FrameSkip;                                   ///< number of skipped frames from the beginning
    146229  UInt      m_temporalSubsampleRatio;                         ///< temporal subsample ratio, 2 means code every two frames
    147   Int       m_iSourceWidth;                                   ///< source width in pixel
    148   Int       m_iSourceHeight;                                  ///< source height in pixel (when interlaced = field height)
     230 
     231#if NH_MV
     232  IntAry1d       m_iSourceWidths   ;                                   ///< source width in pixel
     233  IntAry1d       m_iSourceHeights  ;                                  ///< source height in pixel (when interlaced = field height)
     234  IntAry1d       m_inputFileWidths ;                                 ///< width of image in input file  (this is equivalent to sourceWidth,  if sourceWidth  is not subsequently altered due to padding)
     235  IntAry1d       m_inputFileHeights;                                ///< height of image in input file (this is equivalent to sourceHeight, if sourceHeight is not subsequently altered due to padding)
     236
     237  IntAry1d       m_iSourceHeightOrgs;                               ///< original source height in pixel (when interlaced = frame height)
     238#else
     239  Int       m_iSourceWidth   ;                                   ///< source width in pixel
     240  Int       m_iSourceHeight  ;                                  ///< source height in pixel (when interlaced = field height)
     241  Int       m_inputFileWidth ;                                 ///< width of image in input file  (this is equivalent to sourceWidth,  if sourceWidth  is not subsequently altered due to padding)
     242  Int       m_inputFileHeight;                                ///< height of image in input file (this is equivalent to sourceHeight, if sourceHeight is not subsequently altered due to padding)
    149243
    150244  Int       m_iSourceHeightOrg;                               ///< original source height in pixel (when interlaced = frame height)
     245#endif
    151246
    152247  Bool      m_isField;                                        ///< enable field coding
     
    156251
    157252  Int       m_conformanceWindowMode;
     253#if NH_MV
     254  IntAry1d  m_confWinLefts  ;
     255  IntAry1d  m_confWinRights ;
     256  IntAry1d  m_confWinTops   ;
     257  IntAry1d  m_confWinBottoms;
     258#else
    158259  Int       m_confWinLeft;
    159260  Int       m_confWinRight;
    160261  Int       m_confWinTop;
    161262  Int       m_confWinBottom;
     263#endif
    162264  Int       m_framesToBeEncoded;                              ///< number of encoded frames
     265#if NH_MV
     266  IntAry2d  m_aiPads;                              ///< number of padded pixels for width and height
     267#else
    163268  Int       m_aiPad[2];                                       ///< number of padded pixels for width and height
     269#endif
    164270  Bool      m_AccessUnitDelimiter;                            ///< add Access Unit Delimiter NAL units
    165271  InputColourSpaceConversion m_inputColourSpaceConvert;       ///< colour space conversion to apply to input video
    166272  Bool      m_snrInternalColourSpace;                       ///< if true, then no colour space conversion is applied for snr calculation, otherwise inverse of input is applied.
    167273  Bool      m_outputInternalColourSpace;                    ///< if true, then no colour space conversion is applied for reconstructed video, otherwise inverse of input is applied.
     274#if NH_MV
     275  std::vector<ChromaFormat> m_InputChromaFormatIDC;
     276#else
    168277  ChromaFormat m_InputChromaFormatIDC;
     278#endif
    169279
    170280  Bool      m_printMSEBasedSequencePSNR;
    171281  Bool      m_printFrameMSE;
    172282  Bool      m_printSequenceMSE;
     283#if JVET_F0064_MSSSIM
     284  Bool      m_printMSSSIM;
     285#endif
    173286  Bool      m_cabacZeroWordPaddingEnabled;
    174287  Bool      m_bClipInputVideoToRec709Range;
     
    178291#if NH_MV
    179292  std::vector< Profile::Name > m_profiles;
     293 
     294  std::vector<UIProfileName>   m_uiProfiles;
     295
    180296  std::vector< Level::Tier   > m_levelTier;
    181297  std::vector< Level::Name   > m_level;
    182298  std::vector< Bool          > m_inblFlag;
     299
     300  IntAry1d                    m_bitDepthConstraints          ;
     301  IntAry1d                    m_tmpConstraintChromaFormats   ;
     302  std::vector< ChromaFormat > m_chromaFormatConstraints      ;
     303  BoolAry1d                   m_intraConstraintFlags         ;
     304  BoolAry1d                   m_onePictureOnlyConstraintFlags;
     305  BoolAry1d                   m_lowerBitRateConstraintFlags  ;
     306  BoolAry1d                   m_progressiveSourceFlags       ;
     307  BoolAry1d                   m_interlacedSourceFlags        ;
     308  BoolAry1d                   m_nonPackedConstraintFlags     ;
     309  BoolAry1d                   m_frameOnlyConstraintFlags     ;
     310
    183311#else
    184312  Profile::Name m_profile;
    185313  Level::Tier   m_levelTier;
    186314  Level::Name   m_level;
    187 #endif
    188315  UInt          m_bitDepthConstraint;
    189316  ChromaFormat  m_chromaFormatConstraint;
     
    191318  Bool          m_onePictureOnlyConstraintFlag;
    192319  Bool          m_lowerBitRateConstraintFlag;
    193   Bool m_progressiveSourceFlag;
    194   Bool m_interlacedSourceFlag;
    195   Bool m_nonPackedConstraintFlag;
    196   Bool m_frameOnlyConstraintFlag;
     320  Bool          m_progressiveSourceFlag;
     321  Bool          m_interlacedSourceFlag;
     322  Bool          m_nonPackedConstraintFlag;
     323  Bool          m_frameOnlyConstraintFlag;
     324#endif
    197325
    198326  // coding structure
     
    204332  Int       m_iDecodingRefreshType;                           ///< random access type
    205333  Int       m_iGOPSize;                                       ///< GOP size of hierarchical structure
     334#if JCTVC_Y0038_PARAMS
     335  Bool      m_bReWriteParamSetsFlag;                          ///< Flag to enable rewriting of parameter sets at random access points
     336#endif 
    206337#if NH_MV
    207338  Int       m_extraRPSsMvc[MAX_NUM_LAYERS];                       ///< extra RPSs added to handle CRA for each layer
     
    234365  // coding quality
    235366#if NH_MV
     367#if JVET_E0059_FLOATING_POINT_QP_FIX
     368  std::vector<Int>   m_qpIncrementAtSourceFrame;             ///< Optional source frame number at which all subsequent frames are to use an increased internal QP.
     369#else
    236370  std::vector<Double>  m_fQP;                                 ///< QP value of key-picture (floating point) for each layer
     371#endif
    237372  std::vector<Int>     m_iQP;                                 ///< QP value of key-picture (integer) for each layer
    238373#else
     374#if JVET_E0059_FLOATING_POINT_QP_FIX
     375  OptionalValue<UInt> m_qpIncrementAtSourceFrame;             ///< Optional source frame number at which all subsequent frames are to use an increased internal QP.
     376#else
    239377  Double    m_fQP;                                            ///< QP value of key-picture (floating point)
     378#endif
    240379  Int       m_iQP;                                            ///< QP value of key-picture (integer)
     380#endif
     381#if X0038_LAMBDA_FROM_QP_CAPABILITY
     382  Int       m_intraQPOffset;                                  ///< QP offset for intra slice (integer)
     383  Bool      m_lambdaFromQPEnable;                             ///< enable flag for QP:lambda fix
    241384#endif
    242385  std::string m_dQPFileName;                                  ///< QP offset for each slice (initialized from external file)
     
    254397  Int       m_cbQpOffset;                                     ///< Chroma Cb QP Offset (0:default)
    255398  Int       m_crQpOffset;                                     ///< Chroma Cr QP Offset (0:default)
    256 
    257 #if W0038_CQP_ADJ
     399  WCGChromaQPControl m_wcgChromaQpControl;                    ///< Wide-colour-gamut chroma QP control.
    258400  UInt      m_sliceChromaQpOffsetPeriodicity;                 ///< Used in conjunction with Slice Cb/Cr QpOffsetIntraOrPeriodic. Use 0 (default) to disable periodic nature.
    259401  Int       m_sliceChromaQpOffsetIntraOrPeriodic[2/*Cb,Cr*/]; ///< Chroma Cb QP Offset at slice level for I slice or for periodic inter slices as defined by SliceChromaQPOffsetPeriodicity. Replaces offset in the GOP table.
    260 #endif
     402  LumaLevelToDeltaQPMapping m_lumaLevelToDeltaQPMapping;      ///< mapping from luma level to Delta QP.
    261403#if ADAPTIVE_QP_SELECTION
    262404  Bool      m_bUseAdaptQpSelect;
     
    282424  UInt      m_uiMaxCUHeight;                                  ///< max. CU height in pixel
    283425  UInt      m_uiMaxCUDepth;                                   ///< max. CU depth (as specified by command line)
    284   UInt      m_uiMaxTotalCUDepth;                              ///< max. total CU depth - includes depth of transform-block structure
     426#if NH_MV
     427  IntAry1d  m_uiMaxTotalCUDepth;                              ///< max. total CU depth - includes depth of transform-block structure 
     428#else
     429  UInt      m_uiMaxTotalCUDepth;                              ///< max. total CU depth - includes depth of transform-block structure 
     430#endif
    285431  UInt      m_uiLog2DiffMaxMinCodingBlockSize;                ///< difference between largest and smallest CU depth
    286432
     
    293439
    294440  // coding tools (bit-depth)
     441#if NH_MV
     442  IntAry2d  m_inputBitDepths      ;         ///< bit-depth of input file
     443  IntAry2d  m_outputBitDepths     ;         ///< bit-depth of output file
     444  IntAry2d  m_MSBExtendedBitDepths;         ///< bit-depth of input samples after MSB extension
     445  IntAry2d  m_internalBitDepths   ;         ///< bit-depth codec operates at (input/output files will be converted)
     446#else
    295447  Int       m_inputBitDepth   [MAX_NUM_CHANNEL_TYPE];         ///< bit-depth of input file
    296448  Int       m_outputBitDepth  [MAX_NUM_CHANNEL_TYPE];         ///< bit-depth of output file
    297449  Int       m_MSBExtendedBitDepth[MAX_NUM_CHANNEL_TYPE];      ///< bit-depth of input samples after MSB extension
    298450  Int       m_internalBitDepth[MAX_NUM_CHANNEL_TYPE];         ///< bit-depth codec operates at (input/output files will be converted)
     451#endif
     452
    299453  Bool      m_extendedPrecisionProcessingFlag;
    300454  Bool      m_highPrecisionOffsetsEnabledFlag;
    301455
    302456  //coding tools (chroma format)
     457#if NH_MV
     458  std::vector<ChromaFormat> m_chromaFormatIDCs;
     459#else
    303460  ChromaFormat m_chromaFormatIDC;
     461#endif
    304462
    305463  // coding tools (PCM bit-depth)
     
    317475  Int       m_maxNumOffsetsPerPic;                            ///< SAO maximun number of offset per picture
    318476  Bool      m_saoCtuBoundary;                                 ///< SAO parameter estimation using non-deblocked pixels for CTU bottom and right boundary areas
    319 #if OPTIONAL_RESET_SAO_ENCODING_AFTER_IRAP
    320477  Bool      m_saoResetEncoderStateAfterIRAP;                  ///< When true, SAO encoder state will be reset following an IRAP.
    321 #endif
    322478  // coding tools (loop filter)
    323479#if NH_MV
     
    329485  Int       m_loopFilterBetaOffsetDiv2;                     ///< beta offset for deblocking filter
    330486  Int       m_loopFilterTcOffsetDiv2;                       ///< tc offset for deblocking filter
    331 #if W0038_DB_OPT
    332487  Int       m_deblockingFilterMetric;                         ///< blockiness metric in encoder
    333 #else
    334   Bool      m_DeblockingFilterMetric;                         ///< blockiness metric in encoder
    335 #endif
    336488  // coding tools (PCM)
    337489  Bool      m_usePCM;                                         ///< flag for using IPCM
     
    346498  Bool      m_useRDOQ;                                       ///< flag for using RD optimized quantization
    347499  Bool      m_useRDOQTS;                                     ///< flag for using RD optimized quantization for transform skip
    348 #if T0196_SELECTIVE_RDOQ
    349500  Bool      m_useSelectiveRDOQ;                               ///< flag for using selective RDOQ
    350 #endif
    351501  Int       m_rdPenalty;                                      ///< RD-penalty for 32x32 TU for intra in non-intra slices (0: no RD-penalty, 1: RD-penalty, 2: maximum RD-penalty)
    352502  Bool      m_bDisableIntraPUsInInterSlices;                  ///< Flag for disabling intra predicted PUs in inter slices.
     
    437587  Bool      m_scalableNestingSEIEnabled;
    438588  Bool      m_tmctsSEIEnabled;
     589#if MCTS_ENC_CHECK
     590  Bool      m_tmctsSEITileConstraint;
     591#endif
    439592  Bool      m_timeCodeSEIEnabled;
    440593  Int       m_timeCodeSEINumTs;
     
    451604  Int*      m_kneeSEIInputKneePoint;
    452605  Int*      m_kneeSEIOutputKneePoint;
    453 #if U0033_ALTERNATIVE_TRANSFER_CHARACTERISTICS_SEI
    454606  Int       m_preferredTransferCharacteristics;
    455 #endif
     607  UInt      m_greenMetadataType;
     608  UInt      m_xsdMetricType;
    456609
    457610  // weighted prediction
     
    464617
    465618  Int       m_TMVPModeId;
    466   Bool      m_signHideFlag;
     619  Bool      m_signDataHidingEnabledFlag;
    467620  Bool      m_RCEnableRateControl;                ///< enable rate control or not
    468621  Int       m_RCTargetBitrate;                    ///< target bitrate when rate control is enabled
     
    472625  Int       m_RCInitialQP;                        ///< inital QP for rate control
    473626  Bool      m_RCForceIntraQP;                     ///< force all intra picture to use initial QP or not
    474 
    475 #if U0132_TARGET_BITS_SATURATION
    476627  Bool      m_RCCpbSaturationEnabled;             ///< enable target bits saturation to avoid CPB overflow and underflow
    477628  UInt      m_RCCpbSize;                          ///< CPB size
    478629  Double    m_RCInitialCpbFullness;               ///< initial CPB fullness
    479 #endif
    480630
    481631#if KWU_RC_VIEWRC_E0227
     
    490640  std::string m_scalingListFileName;                          ///< quantization matrix file name
    491641
    492   Bool      m_TransquantBypassEnableFlag;                     ///< transquant_bypass_enable_flag setting in PPS.
    493   Bool      m_CUTransquantBypassFlagForce;                    ///< if transquant_bypass_enable_flag, then, if true, all CU transquant bypass flags will be set to true.
     642  Bool      m_TransquantBypassEnabledFlag;                    ///< transquant_bypass_enabled_flag setting in PPS.
     643  Bool      m_CUTransquantBypassFlagForce;                    ///< if transquant_bypass_enabled_flag, then, if true, all CU transquant bypass flags will be set to true.
    494644  CostMode  m_costMode;                                       ///< Cost mode to use
    495645
     
    537687  std::string m_summaryPicFilenameBase;                       ///< Base filename to use for producing summary picture output files. The actual filenames used will have I.txt, P.txt and B.txt appended.
    538688  UInt        m_summaryVerboseness;                           ///< Specifies the level of the verboseness of the text output.
     689
     690#if EXTENSION_360_VIDEO
     691  TExt360AppEncCfg m_ext360;
     692  friend class TExt360AppEncCfg;
     693  friend class TExt360AppEncTop;
     694#endif
     695
    539696#if NH_MV
    540697  Bool              m_outputVpsInfo;
     
    546703  Bool      m_depth420OutputFlag;                             ///< Output depth layers in 4:2:0 format
    547704#endif
     705
     706#if NH_3D || NH_3D_VSO
    548707    // Camera parameters
    549 #if NH_3D || NH_3D_VSO
    550708  TChar*    m_pchCameraParameterFile;                         ///< camera parameter file
    551709  TAppComCamPara m_cCameraData;
     
    578736#if NH_3D
    579737  Bool       m_useDLT;                                        ///< flag for using DLT
    580 #endif
    581 #if NH_3D_QTL
    582738  Bool       m_bUseQTL;                                        ///< flag for using depth QuadTree Limitation
    583 #endif
    584 #if NH_3D
     739
    585740  BoolAry1d  m_ivMvPredFlag;
    586741  BoolAry1d  m_ivMvScalingFlag;
     
    601756  // internal member functions
    602757  Void  xCheckParameter ();                                   ///< check validity of configuration values
    603   Void  xPrintParameter ();                                   ///< print configuration values
     758  Void  xPrintParameter ();                                   ///< print configuration values 
     759 
    604760  Void  xPrintUsage     ();                                   ///< print usage
    605761#if NH_MV
     762  Void xConfirmRepFormat( const TComVPS& vps);
     763  Void xDeriveProfAndConstrFlags( const TComVPS& vps );
     764  Void xCheckProfiles           ( const TComVPS& vps );
     765
     766  Void xPrintProfiles();
     767
     768  template< typename T >
     769  Void xConfirmSingleRepFormat(Bool& checkFailed, std::string name, Int curLayer, Int refLayer, T valCur, T valRef )
     770  {
     771    if ( valCur != valRef )
     772    {
     773      printf("Error: %s of layer %d and its reference layer %d must be equal. \n", name.c_str(), curLayer, refLayer );
     774      checkFailed = true;
     775    }
     776  }
     777
     778  GOPEntry*  xGetGopEntries( Int layerIdInVps );
     779  GOPEntry*  xGetGopEntry( Int layerIdInVps, Int poc );
    606780
    607781  template<typename T>
     
    697871  Bool  parseCfg  ( Int argc, TChar* argv[] );                ///< parse configuration file to fill member variables
    698872
     873private:
     874  Void   xConvertRepFormatParameters(
     875    IntAry2d& tmpPad                       ,             
     876    IntAry2d& tmpInputBitDepth             ,
     877    IntAry2d& tmpOutputBitDepth            ,
     878    IntAry2d& tmpMSBExtendedBitDepth       ,
     879    IntAry2d& tmpInternalBitDepth          ,
     880    IntAry1d& tmpInputChromaFormat         ,
     881    IntAry1d& tmpChromaFormat
     882    );
     883
     884  Void xGetMaxValuesOfApplicableLayers(const TComVPS& vps, Int vpsPtlIdx, Int& maxBitDepthLuma, Int& maxBitDepthChroma, ChromaFormat& maxChromaFormatIdc, Int& maxNumRefLayers);
    699885};// END CLASS DEFINITION TAppEncCfg
    700886
Note: See TracChangeset for help on using the changeset viewer.