HEVC Test Model (HM)  HM-16.3
TypeDef.h
Go to the documentation of this file.
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-2015, ITU/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 ITU/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 
38 #ifndef __TYPEDEF__
39 #define __TYPEDEF__
40 
41 #include <vector>
42 
45 
46 // ====================================================================================================================
47 // Debugging
48 // ====================================================================================================================
49 
50 // #define DEBUG_STRING // enable to print out final decision debug info at encoder and decoder
51 // #define DEBUG_ENCODER_SEARCH_BINS // enable to print out each bin as it is coded during encoder search
52 // #define DEBUG_CABAC_BINS // enable to print out each bin as it is coded during final encode and decode
53 // #define DEBUG_INTRA_SEARCH_COSTS // enable to print out the cost for each mode during encoder search
54 // #define DEBUG_TRANSFORM_AND_QUANTISE // enable to print out each TU as it passes through the transform-quantise-dequantise-inverseTransform process
55 
56 #ifdef DEBUG_STRING
57  #define DEBUG_STRING_PASS_INTO(name) , name
58  #define DEBUG_STRING_PASS_INTO_OPTIONAL(name, exp) , (exp==0)?0:name
59  #define DEBUG_STRING_FN_DECLARE(name) , std::string &name
60  #define DEBUG_STRING_FN_DECLAREP(name) , std::string *name
61  #define DEBUG_STRING_NEW(name) std::string name;
62  #define DEBUG_STRING_OUTPUT(os, name) os << name;
63  #define DEBUG_STRING_APPEND(str1, str2) str1+=str2;
64  #define DEBUG_STRING_SWAP(str1, str2) str1.swap(str2);
65  #define DEBUG_STRING_CHANNEL_CONDITION(compID) (true)
66  #include <sstream>
67  #include <iomanip>
68 #else
69  #define DEBUG_STRING_PASS_INTO(name)
70  #define DEBUG_STRING_PASS_INTO_OPTIONAL(name, exp)
71  #define DEBUG_STRING_FN_DECLARE(name)
72  #define DEBUG_STRING_FN_DECLAREP(name)
73  #define DEBUG_STRING_NEW(name)
74  #define DEBUG_STRING_OUTPUT(os, name)
75  #define DEBUG_STRING_APPEND(str1, str2)
76  #define DEBUG_STRING_SWAP(srt1, str2)
77  #define DEBUG_STRING_CHANNEL_CONDITION(compID)
78 #endif
79 
80 
81 // ====================================================================================================================
82 // Tool Switches
83 // ====================================================================================================================
84 
85 #define HARMONIZE_GOP_FIRST_FIELD_COUPLE 1
86 #define EFFICIENT_FIELD_IRAP 1
87 #define ALLOW_RECOVERY_POINT_AS_RAP 1
88 #define BUGFIX_INTRAPERIOD 1
89 
90 #define SAO_ENCODE_ALLOW_USE_PREDEBLOCK 1
91 
92 #define TILE_SIZE_CHECK 1
93 
94 #define MAX_NUM_PICS_IN_SOP 1024
95 
96 #define MAX_NESTING_NUM_OPS 1024
97 #define MAX_NESTING_NUM_LAYER 64
98 
99 #define MAX_VPS_NUM_HRD_PARAMETERS 1
100 #define MAX_VPS_OP_SETS_PLUS1 1024
101 #define MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1 1
102 
103 #define MAXIMUM_INTRA_FILTERED_WIDTH 16
104 #define MAXIMUM_INTRA_FILTERED_HEIGHT 16
105 
106 #define MAX_CPB_CNT 32
107 #define MAX_NUM_LAYER_IDS 64
108 
109 #define COEF_REMAIN_BIN_REDUCTION 3
110 
112 #define CU_DQP_TU_CMAX 5
113 #define CU_DQP_EG_k 0
114 
115 #define SBH_THRESHOLD 4
116 
117 #define DISABLING_CLIP_FOR_BIPREDME 1
118 
119 #define C1FLAG_NUMBER 8 // maximum number of largerThan1 flag coded in one chunk : 16 in HM5
120 #define C2FLAG_NUMBER 1 // maximum number of largerThan2 flag coded in one chunk: 16 in HM5
121 
122 #define SAO_ENCODING_CHOICE 1
123 #if SAO_ENCODING_CHOICE
124 #define SAO_ENCODING_RATE 0.75
125 #define SAO_ENCODING_CHOICE_CHROMA 1
126 #if SAO_ENCODING_CHOICE_CHROMA
127 #define SAO_ENCODING_RATE_CHROMA 0.5
128 #endif
129 #endif
130 
131 #define MAX_NUM_SAO_OFFSETS 4
132 
133 #define MAX_NUM_VPS 16
134 #define MAX_NUM_SPS 16
135 #define MAX_NUM_PPS 64
136 
137 #define RDOQ_CHROMA_LAMBDA 1
138 
139 #define MIN_SCAN_POS_CROSS 4
140 
141 #define FAST_BIT_EST 1
142 
143 #define MLS_GRP_NUM 64
144 #define MLS_CG_LOG2_WIDTH 2
145 #define MLS_CG_LOG2_HEIGHT 2
146 #define MLS_CG_SIZE (MLS_CG_LOG2_WIDTH + MLS_CG_LOG2_HEIGHT)
147 
148 #define ADAPTIVE_QP_SELECTION 1
149 #if ADAPTIVE_QP_SELECTION
150 #define ARL_C_PRECISION 7
151 #define LEVEL_RANGE 30
152 #endif
153 
154 #define HHI_RQT_INTRA_SPEEDUP 1
155 #define HHI_RQT_INTRA_SPEEDUP_MOD 0
156 
157 #if HHI_RQT_INTRA_SPEEDUP_MOD && !HHI_RQT_INTRA_SPEEDUP
158 #error
159 #endif
160 
161 #define VERBOSE_RATE 0
162 
163 #define AMVP_DECIMATION_FACTOR 4
164 
165 #define SCAN_SET_SIZE 16
166 #define LOG2_SCAN_SET_SIZE 4
167 
168 #define FAST_UDI_MAX_RDMODE_NUM 35
169 
170 #define NUM_INTRA_MODE 36
171 
172 #define WRITE_BACK 1
173 #define PRINT_RPS_INFO 0
174  // using one nearest frame as reference frame, and the other frames are high quality (POC%4==0) frames (1+X)
175  // this should be done with encoder only decision
176  // but because of the absence of reference frame management, the related code was hard coded currently
177 
178 #define RVM_VCEGAM10_M 4
179 
180 #define PLANAR_IDX 0
181 #define VER_IDX 26 // index for intra VERTICAL mode
182 #define HOR_IDX 10 // index for intra HORIZONTAL mode
183 #define DC_IDX 1 // index for intra DC mode
184 #define NUM_CHROMA_MODE 5 // total number of chroma modes
185 #define DM_CHROMA_IDX 36 // chroma mode index for derived from luma intra mode
186 #define INVALID_MODE_IDX (NUM_INTRA_MODE+1) // value used to indicate an invalid intra mode
187 #define STOPCHROMASEARCH_MODE_IDX (INVALID_MODE_IDX+1) // value used to signal the end of a chroma mode search
188 
189 #define MDCS_ANGLE_LIMIT 4
190 #define MDCS_MAXIMUM_WIDTH 8
191 #define MDCS_MAXIMUM_HEIGHT 8
192 
193 #define FAST_UDI_USE_MPM 1
194 
195 #define RDO_WITHOUT_DQP_BITS 0
196 
197 #define LOG2_MAX_NUM_COLUMNS_MINUS1 7
198 #define LOG2_MAX_NUM_ROWS_MINUS1 7
199 #define LOG2_MAX_COLUMN_WIDTH 13
200 #define LOG2_MAX_ROW_HEIGHT 13
201 
202 #define MATRIX_MULT 0 // Brute force matrix multiplication instead of partial butterfly
203 
204 #define AMP_SAD 1
205 #define AMP_ENC_SPEEDUP 1
206 #if AMP_ENC_SPEEDUP
207 #define AMP_MRG 1
208 #endif
209 
210 #define CABAC_INIT_PRESENT_FLAG 1
211 
212 #define LUMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS 4
213 #define CHROMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS 8
214 
215 #define MAX_NUM_LONG_TERM_REF_PICS 33
216 #define NUM_LONG_TERM_REF_PIC_SPS 0
217 
218 #define DECODER_CHECK_SUBSTREAM_AND_SLICE_TRAILING_BYTES 1
219 
220 #define RD_TEST_SAO_DISABLE_AT_PICTURE_LEVEL 0
221 
222 #define O0043_BEST_EFFORT_DECODING 0
223 
224 #define MAX_QP_OFFSET_LIST_SIZE 6
225 // Cost mode support
226 
227 #define LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP 0
228 #define LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP_PRIME 4
229 
230 // Debug support
231 
232 #define ENVIRONMENT_VARIABLE_DEBUG_AND_TEST 0
233 
234 #define PRINT_MACRO_VALUES 1
235 
236 // TODO: rename this macro to DECODER_DEBUG_BIT_STATISTICS (may currently cause merge issues with other branches)
237 // This can be enabled by the makefile
238 #ifndef RExt__DECODER_DEBUG_BIT_STATISTICS
239 #define RExt__DECODER_DEBUG_BIT_STATISTICS 0
240 #endif
241 
242 // This can be enabled by the makefile
243 #ifndef RExt__HIGH_BIT_DEPTH_SUPPORT
244 #define RExt__HIGH_BIT_DEPTH_SUPPORT 0
245 #endif
246 
247 #define RExt__GOLOMB_RICE_ADAPTATION_STATISTICS_SETS 4
248 #define RExt__GOLOMB_RICE_INCREMENT_DIVISOR 4
249 
250 #define RExt__PREDICTION_WEIGHTING_ANALYSIS_DC_PRECISION 0
251 
252 #define MAX_TIMECODE_SEI_SETS 3
253 
254 //------------------------------------------------
255 // Derived macros
256 //------------------------------------------------
257 
258 #if RExt__HIGH_BIT_DEPTH_SUPPORT
259 #define FULL_NBIT 1
260 #define RExt__HIGH_PRECISION_FORWARD_TRANSFORM 1
261 #else
262 #define FULL_NBIT 0
263 #define RExt__HIGH_PRECISION_FORWARD_TRANSFORM 0
264 #endif
265 
266 #if FULL_NBIT
267 # define DISTORTION_PRECISION_ADJUSTMENT(x) 0
268 #else
269 # define DISTORTION_PRECISION_ADJUSTMENT(x) (x)
270 #endif
271 
272 
273 //------------------------------------------------
274 // Error checks
275 //------------------------------------------------
276 
277 #if ((RExt__HIGH_PRECISION_FORWARD_TRANSFORM != 0) && (RExt__HIGH_BIT_DEPTH_SUPPORT == 0))
278 #error ERROR: cannot enable RExt__HIGH_PRECISION_FORWARD_TRANSFORM without RExt__HIGH_BIT_DEPTH_SUPPORT
279 #endif
280 
281 // ====================================================================================================================
282 // Basic type redefinition
283 // ====================================================================================================================
284 
285 typedef void Void;
286 typedef bool Bool;
287 
288 #ifdef __arm__
289 typedef signed char Char;
290 #else
291 typedef char Char;
292 #endif
293 typedef unsigned char UChar;
294 typedef short Short;
295 typedef unsigned short UShort;
296 typedef int Int;
297 typedef unsigned int UInt;
298 typedef double Double;
299 typedef float Float;
300 
301 
302 // ====================================================================================================================
303 // 64-bit integer type
304 // ====================================================================================================================
305 
306 #ifdef _MSC_VER
307 typedef __int64 Int64;
308 
309 #if _MSC_VER <= 1200 // MS VC6
310 typedef __int64 UInt64; // MS VC6 does not support unsigned __int64 to double conversion
311 #else
312 typedef unsigned __int64 UInt64;
313 #endif
314 
315 #else
316 
317 typedef long long Int64;
318 typedef unsigned long long UInt64;
319 
320 #endif
321 
322 
323 // ====================================================================================================================
324 // Enumeration
325 // ====================================================================================================================
326 
328 {
333 };
334 
336 {
340 };
341 
344 {
345  B_SLICE = 0,
346  P_SLICE = 1,
347  I_SLICE = 2,
349 };
350 
353 {
359 };
360 
362 {
366 };
367 
369 {
374 };
375 
376 enum InputColourSpaceConversion // defined in terms of conversion prior to input of encoder.
377 {
379  IPCOLOURSPACE_YCbCrtoYCrCb = 1, // Mainly used for debug!
380  IPCOLOURSPACE_YCbCrtoYYY = 2, // Mainly used for debug!
383 };
384 
386 {
387  EDGE_VER = 0,
388  EDGE_HOR = 1,
390 };
391 
394 {
396  SIZE_2NxN = 1,
397  SIZE_Nx2N = 2,
398  SIZE_NxN = 3,
404 };
405 
408 {
412 };
413 
416 {
421 };
422 
424 enum DFunc
425 {
427  DF_SSE = 1,
428  DF_SSE4 = 2,
429  DF_SSE8 = 3,
430  DF_SSE16 = 4,
431  DF_SSE32 = 5,
432  DF_SSE64 = 6,
433  DF_SSE16N = 7,
434 
435  DF_SAD = 8,
436  DF_SAD4 = 9,
437  DF_SAD8 = 10,
438  DF_SAD16 = 11,
439  DF_SAD32 = 12,
440  DF_SAD64 = 13,
441  DF_SAD16N = 14,
442 
443  DF_SADS = 15,
444  DF_SADS4 = 16,
445  DF_SADS8 = 17,
446  DF_SADS16 = 18,
447  DF_SADS32 = 19,
448  DF_SADS64 = 20,
449  DF_SADS16N = 21,
450 
451  DF_HADS = 22,
452  DF_HADS4 = 23,
453  DF_HADS8 = 24,
454  DF_HADS16 = 25,
455  DF_HADS32 = 26,
456  DF_HADS64 = 27,
457  DF_HADS16N = 28,
458 
459 #if AMP_SAD
460  DF_SAD12 = 43,
461  DF_SAD24 = 44,
462  DF_SAD48 = 45,
463 
464  DF_SADS12 = 46,
465  DF_SADS24 = 47,
466  DF_SADS48 = 48,
467 
470 #else
471  DF_SSE_FRAME = 32,
472  DF_TOTAL_FUNCTIONS = 33
473 #endif
474 };
475 
477 enum CI_IDX
478 {
486 };
487 
490 {
491  MD_LEFT = 0,
496 };
497 
499 {
503 };
504 
506 {
510 };
511 
514 {
516  DIAMOND = 1,
518 };
519 
522 {
523  SCAN_DIAG = 0,
524  SCAN_HOR = 1,
525  SCAN_VER = 2,
527 };
528 
530 {
534 };
535 
537 {
543 };
544 
546 {
550 };
551 
553 {
559 };
560 
561 // Slice / Slice segment encoding modes
563 {
564  NO_SLICES = 0,
568 };
569 
570 enum SAOMode //mode
571 {
576 };
577 
579 {
583 };
584 
585 
587 {
593 
596 
598 };
599 #define NUM_SAO_EO_TYPES_LOG2 2
600 
602 {
609 };
610 
611 #define NUM_SAO_BO_CLASSES_LOG2 5
612 #define NUM_SAO_BO_CLASSES (1<<NUM_SAO_BO_CLASSES_LOG2)
613 
614 namespace Profile
615 {
616  enum Name
617  {
618  NONE = 0,
619  MAIN = 1,
620  MAIN10 = 2,
622  MAINREXT = 4,
624  };
625 }
626 
627 namespace Level
628 {
629  enum Tier
630  {
631  MAIN = 0,
632  HIGH = 1,
633  };
634 
635  enum Name
636  {
637  // code = (level * 30)
638  NONE = 0,
639  LEVEL1 = 30,
640  LEVEL2 = 60,
641  LEVEL2_1 = 63,
642  LEVEL3 = 90,
643  LEVEL3_1 = 93,
644  LEVEL4 = 120,
645  LEVEL4_1 = 123,
646  LEVEL5 = 150,
647  LEVEL5_1 = 153,
648  LEVEL5_2 = 156,
649  LEVEL6 = 180,
650  LEVEL6_1 = 183,
651  LEVEL6_2 = 186,
652  LEVEL8_5 = 255,
653  };
654 }
655 
657 {
662 };
663 
665 {
667 //SPS_EXT__MVHEVC = 1, //for use in future versions
668 //SPS_EXT__SHVC = 2, //for use in future versions
670 };
671 
673 {
675 //PPS_EXT__MVHEVC = 1, //for use in future versions
676 //PPS_EXT__SHVC = 2, //for use in future versions
678 };
679 
680 // ====================================================================================================================
681 // Type definition
682 // ====================================================================================================================
683 
684 #if RExt__HIGH_BIT_DEPTH_SUPPORT
685 typedef Int Pel;
686 typedef Int64 TCoeff;
687 typedef Int TMatrixCoeff;
688 typedef Short TFilterCoeff;
689 typedef Int64 Intermediate_Int;
690 typedef UInt64 Intermediate_UInt;
691 #else
692 typedef Short Pel;
693 typedef Int TCoeff;
698 #endif
699 
700 #if FULL_NBIT
701 typedef UInt64 Distortion;
702 #else
703 typedef UInt Distortion;
704 #endif
705 
707 class TComPicSym;
708 
709 #define MAX_NUM_SAO_CLASSES 32 //(NUM_SAO_EO_GROUPS > NUM_SAO_BO_GROUPS)?NUM_SAO_EO_GROUPS:NUM_SAO_BO_GROUPS
710 
711 struct SAOOffset
712 {
713  SAOMode modeIdc; // NEW, MERGE, OFF
714  Int typeIdc; // union of SAOModeMergeTypes and SAOModeNewTypes, depending on modeIdc.
715  Int typeAuxInfo; // BO: starting band index
717 
718  SAOOffset();
719  ~SAOOffset();
720  Void reset();
721 
722  const SAOOffset& operator= (const SAOOffset& src);
723 };
724 
726 {
727 
728  SAOBlkParam();
729  ~SAOBlkParam();
730  Void reset();
731  const SAOBlkParam& operator= (const SAOBlkParam& src);
732  SAOOffset& operator[](Int compIdx){ return offsetParam[compIdx];}
733 private:
735 
736 };
737 
738 
740 typedef struct _LFCUParam
741 {
745 } LFCUParam;
746 
747 
748 
749 //TU settings for entropy encoding
751 {
752  const UInt *scan;
753  const UInt *scanCG;
758 };
759 
760 
762 {
763  std::vector<UChar> hash;
764 
765  Bool operator==(const TComDigest &other) const
766  {
767  if (other.hash.size() != hash.size())
768  {
769  return false;
770  }
771  for(UInt i=0; i<UInt(hash.size()); i++)
772  {
773  if (other.hash[i] != hash[i])
774  {
775  return false;
776  }
777  }
778  return true;
779  }
780 
781  Bool operator!=(const TComDigest &other) const
782  {
783  return !(*this == other);
784  }
785 };
786 
788 {
790  numUnitFieldBasedFlag(false),
791  countingType(0),
792  fullTimeStampFlag(false),
793  discontinuityFlag(false),
794  cntDroppedFlag(false),
795  numberOfFrames(0),
796  secondsValue(0),
797  minutesValue(0),
798  hoursValue(0),
799  secondsFlag(false),
800  minutesFlag(false),
801  hoursFlag(false),
802  timeOffsetLength(0),
803  timeOffsetValue(0)
804  { }
820 };
821 
823 {
829 };
831 
832 #endif
833 
834 
8xM SSE
Definition: TypeDef.h:429
SliceType
supported slice type
Definition: TypeDef.h:343
8xM SAD with step
Definition: TypeDef.h:445
#define MAX_NUM_SAO_CLASSES
Definition: TypeDef.h:709
MVP of above block.
Definition: TypeDef.h:492
unsigned short UShort
Definition: TypeDef.h:295
4xM HAD with step
Definition: TypeDef.h:452
PPSExtensionFlagIndex
Definition: TypeDef.h:672
ChannelType
Definition: TypeDef.h:361
Short TFilterCoeff
filter coefficient
Definition: TypeDef.h:695
Int typeAuxInfo
Definition: TypeDef.h:715
UInt Distortion
distortion measurement
Definition: TypeDef.h:703
8xM HAD with step
Definition: TypeDef.h:453
void Void
Definition: TypeDef.h:285
MESearchMethod
supported ME search methods
Definition: TypeDef.h:513
Int timeOffsetValue
Definition: TypeDef.h:819
Int numberOfFrames
Definition: TypeDef.h:811
best mode index
Definition: TypeDef.h:479
4xM SAD with step
Definition: TypeDef.h:444
Int typeIdc
Definition: TypeDef.h:714
don't use slices / slice segments
Definition: TypeDef.h:564
Int offset[32]
Definition: TypeDef.h:716
char Char
Definition: TypeDef.h:291
MVP of above left block.
Definition: TypeDef.h:495
UInt Intermediate_UInt
used as intermediate value in calculations
Definition: TypeDef.h:697
unsigned int UInt
Definition: TypeDef.h:297
Bool clockTimeStampFlag
Definition: TypeDef.h:805
16NxM HAD with step
Definition: TypeDef.h:457
Short Pel
pixel type
Definition: TypeDef.h:692
symmetric motion partition, 2Nx N
Definition: TypeDef.h:396
SAOMode
Definition: TypeDef.h:570
Bool bLeftEdge
indicates left edge
Definition: TypeDef.h:743
short Short
Definition: TypeDef.h:294
ScalingListSize
Definition: TypeDef.h:552
parameters for deblocking filter
Definition: TypeDef.h:740
general size SSE
Definition: TypeDef.h:427
16NxM SSE
Definition: TypeDef.h:433
4xM SSE
Definition: TypeDef.h:428
temporal index
Definition: TypeDef.h:481
horizontal first scan
Definition: TypeDef.h:524
const UInt * scanCG
Definition: TypeDef.h:753
RDPCMMode
Definition: TypeDef.h:327
Short TMatrixCoeff
transform matrix coefficient
Definition: TypeDef.h:694
Int countingType
Definition: TypeDef.h:807
Bool bInternalEdge
indicates internal edge
Definition: TypeDef.h:742
SAOModeMergeTypes
Definition: TypeDef.h:578
Bool hoursFlag
Definition: TypeDef.h:817
TransformDirection
Definition: TypeDef.h:505
PartSize
supported partition shape
Definition: TypeDef.h:393
Limit maximum number of bytes in a slice / slice segment.
Definition: TypeDef.h:566
Bool secondsFlag
Definition: TypeDef.h:815
8xM SAD
Definition: TypeDef.h:437
Int Intermediate_Int
used as intermediate value in calculations
Definition: TypeDef.h:696
SignificanceMapContextType
Definition: TypeDef.h:536
SAOOffset offsetParam[MAX_NUM_COMPONENT]
Definition: TypeDef.h:734
symmetric motion partition, 2Nx2N
Definition: TypeDef.h:395
Bool operator==(const TComDigest &other) const
Definition: TypeDef.h:765
Int hoursValue
Definition: TypeDef.h:814
bool Bool
Definition: TypeDef.h:286
16NxM SAD with step
Definition: TypeDef.h:449
Int minutesValue
Definition: TypeDef.h:813
long long Int64
Definition: TypeDef.h:317
Selective search.
Definition: TypeDef.h:517
total number
Definition: TypeDef.h:485
asymmetric motion partition, 2Nx( N/2) + 2Nx(3N/2)
Definition: TypeDef.h:399
asymmetric motion partition, (3N/2)x2N + ( N/2)x2N
Definition: TypeDef.h:402
Bool numUnitFieldBasedFlag
Definition: TypeDef.h:806
MVP_DIR
motion vector predictor direction used in AMVP
Definition: TypeDef.h:489
up-right diagonal scan
Definition: TypeDef.h:523
MVP of above right block.
Definition: TypeDef.h:493
general size SAD
Definition: TypeDef.h:435
reference list 0
Definition: TypeDef.h:417
Int TCoeff
transform coefficient
Definition: TypeDef.h:693
16xM SAD with step
Definition: TypeDef.h:446
SAOMode modeIdc
Definition: TypeDef.h:713
SliceConstraint
Definition: TypeDef.h:562
RefPicList
reference list index
Definition: TypeDef.h:415
64xM HAD with step
Definition: TypeDef.h:456
ChromaFormat
chroma formats (according to semantics of chroma_format_idc)
Definition: TypeDef.h:352
intra-prediction mode
Definition: TypeDef.h:410
unsigned char UChar
Definition: TypeDef.h:293
RDPCMSignallingMode
Definition: TypeDef.h:335
COEFF_SCAN_TYPE
coefficient scanning type used in ACS
Definition: TypeDef.h:521
16NxM SAD
Definition: TypeDef.h:441
Limit maximum number of largest coding tree units in a slice / slice segments.
Definition: TypeDef.h:565
chroma intra index
Definition: TypeDef.h:482
Bool discontinuityFlag
Definition: TypeDef.h:809
CostMode
Definition: TypeDef.h:656
Full search.
Definition: TypeDef.h:515
std::vector< UChar > hash
Definition: TypeDef.h:763
CI_IDX
index for SBAC based RD optimization
Definition: TypeDef.h:477
SAOModeNewTypes
Definition: TypeDef.h:586
Name
Definition: TypeDef.h:635
reference list 1
Definition: TypeDef.h:418
Bool minutesFlag
Definition: TypeDef.h:816
float Float
Definition: TypeDef.h:299
const SAOBlkParam & operator=(const SAOBlkParam &src)
MVP of below left block.
Definition: TypeDef.h:494
next best index
Definition: TypeDef.h:480
MVP of left block.
Definition: TypeDef.h:491
COEFF_SCAN_TYPE scanType
Definition: TypeDef.h:754
InputColourSpaceConversion
Definition: TypeDef.h:376
asymmetric motion partition, ( N/2)x2N + (3N/2)x2N
Definition: TypeDef.h:401
unsigned long long UInt64
Definition: TypeDef.h:318
ScalingListMode
Definition: TypeDef.h:545
32xM SAD
Definition: TypeDef.h:439
SAOOffset & operator[](Int compIdx)
Definition: TypeDef.h:732
32xM HAD with step
Definition: TypeDef.h:455
32xM SSE
Definition: TypeDef.h:431
Int secondsValue
Definition: TypeDef.h:812
Bool bTopEdge
indicates top edge
Definition: TypeDef.h:744
UShort whitePoint[2]
Definition: TypeDef.h:828
Tier
Definition: TypeDef.h:629
general size Hadamard with step
Definition: TypeDef.h:451
4xM SAD
Definition: TypeDef.h:436
Fast search.
Definition: TypeDef.h:516
const SAOOffset & operator=(const SAOOffset &src)
Bool operator!=(const TComDigest &other) const
Definition: TypeDef.h:781
int Int
Definition: TypeDef.h:296
ComponentID
Definition: TypeDef.h:368
PredMode
supported prediction type
Definition: TypeDef.h:407
SPSExtensionFlagIndex
Definition: TypeDef.h:664
struct _LFCUParam LFCUParam
parameters for deblocking filter
Frame-based SSE.
Definition: TypeDef.h:468
StoredResidualType
Definition: TypeDef.h:498
DeblockEdgeDir
Definition: TypeDef.h:385
slices / slice segments span an integer number of tiles
Definition: TypeDef.h:567
asymmetric motion partition, 2Nx(3N/2) + 2Nx( N/2)
Definition: TypeDef.h:400
Bool fullTimeStampFlag
Definition: TypeDef.h:808
symmetric motion partition, Nx N
Definition: TypeDef.h:398
inter-prediction mode
Definition: TypeDef.h:409
Int timeOffsetLength
Definition: TypeDef.h:818
64xM SAD with step
Definition: TypeDef.h:448
double Double
Definition: TypeDef.h:298
16xM SSE
Definition: TypeDef.h:430
special mark
Definition: TypeDef.h:420
COEFF_SCAN_GROUP_TYPE
Definition: TypeDef.h:529
vertical first scan
Definition: TypeDef.h:525
64xM SAD
Definition: TypeDef.h:440
32xM SAD with step
Definition: TypeDef.h:447
Bool cntDroppedFlag
Definition: TypeDef.h:810
SAOEOClasses
Definition: TypeDef.h:601
16xM HAD with step
Definition: TypeDef.h:454
symmetric motion partition, Nx2N
Definition: TypeDef.h:397
16xM SAD
Definition: TypeDef.h:438
picture symbol class
Definition: TComPicSym.h:83
UShort primaries[3][2]
Definition: TypeDef.h:827
DFunc
distortion function index
Definition: TypeDef.h:424
64xM SSE
Definition: TypeDef.h:432
general size SAD with step
Definition: TypeDef.h:443