HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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-2017, 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 #ifndef __COMMONDEF__
42 #error Include CommonDef.h not TypeDef.h
43 #endif
44 
45 #include <vector>
46 #include <utility>
47 #include <iostream>
48 
51 
52 // ====================================================================================================================
53 // Debugging
54 // ====================================================================================================================
55 
56 #define DEBUG_STRING 0
57 #define DEBUG_ENCODER_SEARCH_BINS 0
58 #define DEBUG_CABAC_BINS 0
59 #define DEBUG_INTRA_SEARCH_COSTS 0
60 #define DEBUG_TRANSFORM_AND_QUANTISE 0
61 
62 #define ENVIRONMENT_VARIABLE_DEBUG_AND_TEST 0
63 #define PRINT_MACRO_VALUES 1
64 
65 // TODO: rename this macro to DECODER_DEBUG_BIT_STATISTICS (may currently cause merge issues with other branches)
66 // This can be enabled by the makefile
67 #ifndef RExt__DECODER_DEBUG_BIT_STATISTICS
68 #define RExt__DECODER_DEBUG_BIT_STATISTICS 0
69 #endif
70 
71 // This can be enabled by the makefile
72 #ifndef ENC_DEC_TRACE
73 #define ENC_DEC_TRACE 0
74 #endif
75 #define DEC_NUH_TRACE 0
76 
77 #define PRINT_RPS_INFO 0
78 
79 // ====================================================================================================================
80 // Tool Switches - transitory (these macros are likely to be removed in future revisions)
81 // ====================================================================================================================
82 
83 #define DECODER_CHECK_SUBSTREAM_AND_SLICE_TRAILING_BYTES 1
84 #define X0038_LAMBDA_FROM_QP_CAPABILITY 1
85  // To use this capability enable config parameter LambdaFromQpEnable
86 #define JCTVC_Y0038_PARAMS 1
87 
88 #define JVET_E0059_FLOATING_POINT_QP_FIX 1
89 #define JVET_G0101_QP_SWITCHING 1
90 
91 #define JVET_F0064_MSSSIM 1
92 
93 #ifndef EXTENSION_360_VIDEO
94 #define EXTENSION_360_VIDEO 0
95 #endif
96 
97 #define MCTS_ENC_CHECK 1
98 #define CCV_SEI_MESSAGE 1 // Content Colour Volume SEI message
99 #define RWP_SEI_MESSAGE 1 // region-wise SEI message
100 #define CMP_SEI_MESSAGE 1 // cubemap projection SEI message
101 #define ERP_SR_OV_SEI_MESSAGE 1 // equirectangular projection, sphere rotation, and omni viewport SEI message
102 
103 #define RNSEI 1
104 // ====================================================================================================================
105 // Tool Switches
106 // ====================================================================================================================
107 
108 // Please also refer to "TDecConformance.h" for DECODER_PARTIAL_CONFORMANCE_CHECK
109 
110 #define REDUCED_ENCODER_MEMORY 1
111 
112 #define ADAPTIVE_QP_SELECTION 1
113 
114 #define AMP_ENC_SPEEDUP 1
115 #if AMP_ENC_SPEEDUP
116 #define AMP_MRG 1
117 #endif
118 
119 #define FAST_BIT_EST 1
120 
121 #define HHI_RQT_INTRA_SPEEDUP 1
122 #define HHI_RQT_INTRA_SPEEDUP_MOD 0
123 
124 #if HHI_RQT_INTRA_SPEEDUP_MOD && !HHI_RQT_INTRA_SPEEDUP
125 #error
126 #endif
127 
128 #define MATRIX_MULT 0
129 
130 #define O0043_BEST_EFFORT_DECODING 0
131 
132 #define ME_ENABLE_ROUNDING_OF_MVS 1
133 
134 #define RDOQ_CHROMA_LAMBDA 1
135 
136 // This can be enabled by the makefile
137 #ifndef RExt__HIGH_BIT_DEPTH_SUPPORT
138 #define RExt__HIGH_BIT_DEPTH_SUPPORT 0
139 #endif
140 
141 #if defined __SSE2__ || defined __AVX2__ || defined __AVX__ || defined _M_AMD64 || defined _M_X64
142 #define VECTOR_CODING__INTERPOLATION_FILTER 1
143 #define VECTOR_CODING__DISTORTION_CALCULATIONS 1
144 #else
145 #define VECTOR_CODING__INTERPOLATION_FILTER 0
146 #define VECTOR_CODING__DISTORTION_CALCULATIONS 0
147 #endif
148 
149 // ====================================================================================================================
150 // Derived macros
151 // ====================================================================================================================
152 
153 #if RExt__HIGH_BIT_DEPTH_SUPPORT
154 #define FULL_NBIT 1
155 #define RExt__HIGH_PRECISION_FORWARD_TRANSFORM 1
156 #else
157 #define FULL_NBIT 0
158 #define RExt__HIGH_PRECISION_FORWARD_TRANSFORM 0
159 #endif
160 
161 #if FULL_NBIT
162 # define DISTORTION_PRECISION_ADJUSTMENT(x) 0
163 #else
164 # define DISTORTION_PRECISION_ADJUSTMENT(x) (x)
165 #endif
166 
167 #if DEBUG_STRING
168  #define DEBUG_STRING_PASS_INTO(name) , name
169  #define DEBUG_STRING_PASS_INTO_OPTIONAL(name, exp) , (exp==0)?0:name
170  #define DEBUG_STRING_FN_DECLARE(name) , std::string &name
171  #define DEBUG_STRING_FN_DECLAREP(name) , std::string *name
172  #define DEBUG_STRING_NEW(name) std::string name;
173  #define DEBUG_STRING_OUTPUT(os, name) os << name;
174  #define DEBUG_STRING_APPEND(str1, str2) str1+=str2;
175  #define DEBUG_STRING_SWAP(str1, str2) str1.swap(str2);
176  #define DEBUG_STRING_CHANNEL_CONDITION(compID) (true)
177  #include <sstream>
178  #include <iomanip>
179 #else
180  #define DEBUG_STRING_PASS_INTO(name)
181  #define DEBUG_STRING_PASS_INTO_OPTIONAL(name, exp)
182  #define DEBUG_STRING_FN_DECLARE(name)
183  #define DEBUG_STRING_FN_DECLAREP(name)
184  #define DEBUG_STRING_NEW(name)
185  #define DEBUG_STRING_OUTPUT(os, name)
186  #define DEBUG_STRING_APPEND(str1, str2)
187  #define DEBUG_STRING_SWAP(srt1, str2)
188  #define DEBUG_STRING_CHANNEL_CONDITION(compID)
189 #endif
190 
191 // ====================================================================================================================
192 // Error checks
193 // ====================================================================================================================
194 
195 #if ((RExt__HIGH_PRECISION_FORWARD_TRANSFORM != 0) && (RExt__HIGH_BIT_DEPTH_SUPPORT == 0))
196 #error ERROR: cannot enable RExt__HIGH_PRECISION_FORWARD_TRANSFORM without RExt__HIGH_BIT_DEPTH_SUPPORT
197 #endif
198 
199 // ====================================================================================================================
200 // Basic type redefinition
201 // ====================================================================================================================
202 
203 typedef void Void;
204 typedef bool Bool;
205 
206 typedef char TChar; // Used for text/characters
207 typedef signed char SChar; // Signed 8-bit values
208 typedef unsigned char UChar; // Unsigned 8-bit values
209 typedef short Short;
210 typedef unsigned short UShort;
211 typedef int Int;
212 typedef unsigned int UInt;
213 typedef double Double;
214 typedef float Float;
215 
216 
217 // ====================================================================================================================
218 // 64-bit integer type
219 // ====================================================================================================================
220 
221 #ifdef _MSC_VER
222 typedef __int64 Int64;
223 
224 #if _MSC_VER <= 1200 // MS VC6
225 typedef __int64 UInt64; // MS VC6 does not support unsigned __int64 to double conversion
226 #else
227 typedef unsigned __int64 UInt64;
228 #endif
229 
230 #else
231 
232 typedef long long Int64;
233 typedef unsigned long long UInt64;
234 
235 #endif
236 
237 // ====================================================================================================================
238 // Named numerical types
239 // ====================================================================================================================
240 
241 #if RExt__HIGH_BIT_DEPTH_SUPPORT
242 typedef Int Pel;
243 typedef Int64 TCoeff;
244 typedef Int TMatrixCoeff;
245 typedef Short TFilterCoeff;
246 typedef Int64 Intermediate_Int;
247 typedef UInt64 Intermediate_UInt;
248 #else
249 typedef Short Pel;
250 typedef Int TCoeff;
255 #endif
256 
257 #if FULL_NBIT
258 typedef UInt64 Distortion;
259 #else
260 typedef UInt Distortion;
261 #endif
262 
263 // ====================================================================================================================
264 // Enumeration
265 // ====================================================================================================================
266 
268 {
273 };
274 
276 {
280 };
281 
284 {
285  B_SLICE = 0,
286  P_SLICE = 1,
287  I_SLICE = 2,
289 };
290 
293 {
299 };
300 
302 {
306 };
307 
309 {
314 };
315 
316 enum InputColourSpaceConversion // defined in terms of conversion prior to input of encoder.
317 {
319  IPCOLOURSPACE_YCbCrtoYCrCb = 1, // Mainly used for debug!
320  IPCOLOURSPACE_YCbCrtoYYY = 2, // Mainly used for debug!
323 };
324 
325 enum MATRIX_COEFFICIENTS // Table E.5 (Matrix coefficients)
326 {
338 };
339 
341 {
342  EDGE_VER = 0,
343  EDGE_HOR = 1,
345 };
346 
349 {
351  SIZE_2NxN = 1,
352  SIZE_Nx2N = 2,
353  SIZE_NxN = 3,
359 };
360 
363 {
367 };
368 
371 {
376 };
377 
379 enum DFunc
380 {
382  DF_SSE = 1,
383  DF_SSE4 = 2,
384  DF_SSE8 = 3,
385  DF_SSE16 = 4,
386  DF_SSE32 = 5,
387  DF_SSE64 = 6,
388  DF_SSE16N = 7,
389 
390  DF_SAD = 8,
391  DF_SAD4 = 9,
392  DF_SAD8 = 10,
393  DF_SAD16 = 11,
394  DF_SAD32 = 12,
395  DF_SAD64 = 13,
396  DF_SAD16N = 14,
397 
398  DF_SADS = 15,
399  DF_SADS4 = 16,
400  DF_SADS8 = 17,
401  DF_SADS16 = 18,
402  DF_SADS32 = 19,
403  DF_SADS64 = 20,
404  DF_SADS16N = 21,
405 
406  DF_HADS = 22,
407  DF_HADS4 = 23,
408  DF_HADS8 = 24,
409  DF_HADS16 = 25,
410  DF_HADS32 = 26,
411  DF_HADS64 = 27,
412  DF_HADS16N = 28,
413 
414  DF_SAD12 = 43,
415  DF_SAD24 = 44,
416  DF_SAD48 = 45,
417 
418  DF_SADS12 = 46,
419  DF_SADS24 = 47,
420  DF_SADS48 = 48,
421 
424 };
425 
427 enum CI_IDX
428 {
436 };
437 
440 {
441  MD_LEFT = 0,
446 };
447 
449 {
453 };
454 
456 {
460 };
461 
464 {
470 };
471 
474 {
475  SCAN_DIAG = 0,
476  SCAN_HOR = 1,
477  SCAN_VER = 2,
479 };
480 
482 {
486 };
487 
489 {
495 };
496 
498 {
502 };
503 
505 {
511 };
512 
513 // Slice / Slice segment encoding modes
515 {
516  NO_SLICES = 0,
521 };
522 
523 // For use with decoded picture hash SEI messages, generated by encoder.
525 {
531 };
532 
533 enum SAOMode //mode
534 {
539 };
540 
542 {
546 };
547 
548 
550 {
556 
559 
561 };
562 #define NUM_SAO_EO_TYPES_LOG2 2
563 
565 {
572 };
573 
574 #define NUM_SAO_BO_CLASSES_LOG2 5
575 #define NUM_SAO_BO_CLASSES (1<<NUM_SAO_BO_CLASSES_LOG2)
576 
577 namespace Profile
578 {
579  enum Name
580  {
581  NONE = 0,
582  MAIN = 1,
583  MAIN10 = 2,
585  MAINREXT = 4,
587  };
588 }
589 
590 namespace Level
591 {
592  enum Tier
593  {
594  MAIN = 0,
595  HIGH = 1,
597  };
598 
599  enum Name
600  {
601  // code = (level * 30)
602  NONE = 0,
603  LEVEL1 = 30,
604  LEVEL2 = 60,
605  LEVEL2_1 = 63,
606  LEVEL3 = 90,
607  LEVEL3_1 = 93,
608  LEVEL4 = 120,
609  LEVEL4_1 = 123,
610  LEVEL5 = 150,
611  LEVEL5_1 = 153,
612  LEVEL5_2 = 156,
613  LEVEL6 = 180,
614  LEVEL6_1 = 183,
615  LEVEL6_2 = 186,
616  LEVEL8_5 = 255,
617  };
618 }
619 
621 {
626 };
627 
629 {
635 };
636 
638 {
640  FASTINTERSEARCH_MODE1 = 1, // TODO: assign better names to these.
643 };
644 
646 {
648 //SPS_EXT__MVHEVC = 1, //for use in future versions
649 //SPS_EXT__SHVC = 2, //for use in future versions
651 };
652 
654 {
656 //PPS_EXT__MVHEVC = 1, //for use in future versions
657 //PPS_EXT__SHVC = 2, //for use in future versions
659 };
660 
661 // TODO: Existing names used for the different NAL unit types can be altered to better reflect the names in the spec.
662 // However, the names in the spec are not yet stable at this point. Once the names are stable, a cleanup
663 // effort can be done without use of macros to alter the names used to indicate the different NAL unit types.
665 {
668 
671 
674 
677 
680 
687 
696 
705 
715 
740 };
741 
743 {
745  LUMALVL_TO_DQP_AVG_METHOD = 1, // use average of CTU to determine luma level
746  LUMALVL_TO_DQP_MAX_METHOD = 2, // use maximum value of CTU to determine luma level
748 };
749 
750 // ====================================================================================================================
751 // Type definition
752 // ====================================================================================================================
753 
755 class TComPicSym;
756 
757 #define MAX_NUM_SAO_CLASSES 32 //(NUM_SAO_EO_GROUPS > NUM_SAO_BO_GROUPS)?NUM_SAO_EO_GROUPS:NUM_SAO_BO_GROUPS
758 
759 struct SAOOffset
760 {
761  SAOMode modeIdc; // NEW, MERGE, OFF
762  Int typeIdc; // union of SAOModeMergeTypes and SAOModeNewTypes, depending on modeIdc.
763  Int typeAuxInfo; // BO: starting band index
765 
766  SAOOffset();
767  ~SAOOffset();
768  Void reset();
769 
770  const SAOOffset& operator= (const SAOOffset& src);
771 };
772 
774 {
775 
776  SAOBlkParam();
777  ~SAOBlkParam();
778  Void reset();
779  const SAOBlkParam& operator= (const SAOBlkParam& src);
780  SAOOffset& operator[](Int compIdx){ return offsetParam[compIdx];}
781 private:
783 
784 };
785 
786 
787 struct BitDepths
788 {
789 #if O0043_BEST_EFFORT_DECODING
791  Int stream[MAX_NUM_CHANNEL_TYPE];
792 #else
794 #endif
795 };
796 
798 typedef struct _LFCUParam
799 {
803 } LFCUParam;
804 
805 
806 
807 //TU settings for entropy encoding
809 {
810  const UInt *scan;
811  const UInt *scanCG;
816 };
817 
818 
820 {
821  std::vector<UChar> hash;
822 
823  Bool operator==(const TComPictureHash &other) const
824  {
825  if (other.hash.size() != hash.size())
826  {
827  return false;
828  }
829  for(UInt i=0; i<UInt(hash.size()); i++)
830  {
831  if (other.hash[i] != hash[i])
832  {
833  return false;
834  }
835  }
836  return true;
837  }
838 
839  Bool operator!=(const TComPictureHash &other) const
840  {
841  return !(*this == other);
842  }
843 };
844 
846 {
848  numUnitFieldBasedFlag(false),
849  countingType(0),
850  fullTimeStampFlag(false),
851  discontinuityFlag(false),
852  cntDroppedFlag(false),
853  numberOfFrames(0),
854  secondsValue(0),
855  minutesValue(0),
856  hoursValue(0),
857  secondsFlag(false),
858  minutesFlag(false),
859  hoursFlag(false),
860  timeOffsetLength(0),
861  timeOffsetValue(0)
862  { }
878 };
879 
881 {
887 };
888 
890 {
893  std::vector< std::pair<Int, Int> > mapping;
895 };
896 
898 {
899  Bool isEnabled() const { return enabled; }
905 };
906 
907 class Window
908 {
909 private:
915 public:
917  : m_enabledFlag (false)
918  , m_winLeftOffset (0)
919  , m_winRightOffset (0)
920  , m_winTopOffset (0)
921  , m_winBottomOffset(0)
922  { }
923 
933 
934  Void setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom)
935  {
936  m_enabledFlag = true;
937  m_winLeftOffset = offsetLeft;
938  m_winRightOffset = offsetLRight;
939  m_winTopOffset = offsetLTop;
940  m_winBottomOffset = offsetLBottom;
941  }
942  Bool operator == (const Window &rhs) const
943  {
944  return ( m_enabledFlag && rhs.m_enabledFlag &&
949  );
950  }
951 };
952 
953 #if RNSEI
954 class RNSEIWindow : public Window
955 {
956 private:
958 public:
960  Int getRegionId() const { return getWindowEnabledFlag() ? m_regionId : 0; }
961  Void setRegionId(UInt const val) { m_regionId = val; }
962  // Check two RNSEIWindows are identical
963  Bool operator == (RNSEIWindow const &rhs) const
964  {
965  return ( (m_regionId == rhs.m_regionId) &&
966  Window(*this) == Window(rhs) );
967  }
968  // Check if two windows are identical, even though regions may be different
969  Bool checkSameRegion(RNSEIWindow const &rhs) const
970  {
971  return ( Window(*this) == Window(rhs) );
972  }
973  Bool checkSameID(RNSEIWindow const &rhs) const
974  {
975  return ( m_regionId == rhs.m_regionId );
976  }
977  friend std::ostream& operator<<(std::ostream &os, RNSEIWindow const &region);
978 };
979 typedef std::vector<RNSEIWindow> RNSEIWindowVec;
980 #endif
981 
983 #endif
984 
985 
RNSEIWindow()
Definition: TypeDef.h:959
8xM SSE
Definition: TypeDef.h:384
SliceType
supported slice type
Definition: TypeDef.h:283
8xM SAD with step
Definition: TypeDef.h:400
#define MAX_NUM_SAO_CLASSES
Definition: TypeDef.h:757
MVP of above block.
Definition: TypeDef.h:442
Int getWindowTopOffset() const
Definition: TypeDef.h:929
unsigned short UShort
Definition: TypeDef.h:210
4xM HAD with step
Definition: TypeDef.h:407
PPSExtensionFlagIndex
Definition: TypeDef.h:653
Double chromaQpOffset
Chroma QP Offset (0.0:default)
Definition: TypeDef.h:904
Int m_winLeftOffset
Definition: TypeDef.h:911
ChannelType
Definition: TypeDef.h:301
Short TFilterCoeff
filter coefficient
Definition: TypeDef.h:252
Int typeAuxInfo
Definition: TypeDef.h:763
UInt Distortion
distortion measurement
Definition: TypeDef.h:260
8xM HAD with step
Definition: TypeDef.h:408
void Void
Definition: TypeDef.h:203
MESearchMethod
supported ME search methods
Definition: TypeDef.h:463
std::vector< std::pair< Int, Int > > mapping
first=luma level, second=delta QP.
Definition: TypeDef.h:893
Bool operator==(RNSEIWindow const &rhs) const
Definition: TypeDef.h:963
Int timeOffsetValue
Definition: TypeDef.h:877
Int numberOfFrames
Definition: TypeDef.h:869
best mode index
Definition: TypeDef.h:429
Int getWindowBottomOffset() const
Definition: TypeDef.h:931
Double maxMethodWeight
weight of max luma value when mode = 2
Definition: TypeDef.h:892
Int getWindowLeftOffset() const
Definition: TypeDef.h:925
4xM SAD with step
Definition: TypeDef.h:399
Int typeIdc
Definition: TypeDef.h:762
don&#39;t use slices / slice segments
Definition: TypeDef.h:516
Int offset[32]
Definition: TypeDef.h:764
MVP of above left block.
Definition: TypeDef.h:445
UInt Intermediate_UInt
used as intermediate value in calculations
Definition: TypeDef.h:254
unsigned int UInt
Definition: TypeDef.h:212
Bool clockTimeStampFlag
Definition: TypeDef.h:863
16NxM HAD with step
Definition: TypeDef.h:412
Short Pel
pixel type
Definition: TypeDef.h:249
symmetric motion partition, 2Nx N
Definition: TypeDef.h:351
SAOMode
Definition: TypeDef.h:533
Bool bLeftEdge
indicates left edge
Definition: TypeDef.h:801
friend std::ostream & operator<<(std::ostream &os, RNSEIWindow const &region)
Definition: SEI.cpp:117
Bool getWindowEnabledFlag() const
Definition: TypeDef.h:924
short Short
Definition: TypeDef.h:209
Double chromaQpScale
Chroma QP Scale (0.0:default)
Definition: TypeDef.h:903
Bool isEnabled() const
Definition: TypeDef.h:899
ScalingListSize
Definition: TypeDef.h:504
Int recon[MAX_NUM_CHANNEL_TYPE]
the bit depth as indicated in the SPS
Definition: TypeDef.h:793
parameters for deblocking filter
Definition: TypeDef.h:798
general size SSE
Definition: TypeDef.h:382
16NxM SSE
Definition: TypeDef.h:388
char TChar
Definition: TypeDef.h:206
4xM SSE
Definition: TypeDef.h:383
temporal index
Definition: TypeDef.h:431
horizontal first scan
Definition: TypeDef.h:476
Void setWindowBottomOffset(Int val)
Definition: TypeDef.h:932
const UInt * scanCG
Definition: TypeDef.h:811
Bool m_enabledFlag
Definition: TypeDef.h:910
RDPCMMode
Definition: TypeDef.h:267
Short TMatrixCoeff
transform matrix coefficient
Definition: TypeDef.h:251
Int countingType
Definition: TypeDef.h:865
Bool bInternalEdge
indicates internal edge
Definition: TypeDef.h:800
SAOModeMergeTypes
Definition: TypeDef.h:541
Bool hoursFlag
Definition: TypeDef.h:875
TransformDirection
Definition: TypeDef.h:455
PartSize
supported partition shape
Definition: TypeDef.h:348
Limit maximum number of bytes in a slice / slice segment.
Definition: TypeDef.h:518
Bool secondsFlag
Definition: TypeDef.h:873
LumaLevelToDQPMode mode
use deltaQP determined by block luma level
Definition: TypeDef.h:891
8xM SAD
Definition: TypeDef.h:392
Int Intermediate_Int
used as intermediate value in calculations
Definition: TypeDef.h:253
SignificanceMapContextType
Definition: TypeDef.h:488
HashType
Definition: TypeDef.h:524
SAOOffset offsetParam[MAX_NUM_COMPONENT]
Definition: TypeDef.h:782
symmetric motion partition, 2Nx2N
Definition: TypeDef.h:350
Void setWindowRightOffset(Int val)
Definition: TypeDef.h:928
signed char SChar
Definition: TypeDef.h:207
Int hoursValue
Definition: TypeDef.h:872
bool Bool
Definition: TypeDef.h:204
16NxM SAD with step
Definition: TypeDef.h:404
Int minutesValue
Definition: TypeDef.h:871
const SAOOffset & operator=(const SAOOffset &src)
long long Int64
Definition: TypeDef.h:232
Bool enabled
Enabled flag (0:default)
Definition: TypeDef.h:900
UInt m_regionId
Definition: TypeDef.h:957
total number
Definition: TypeDef.h:435
asymmetric motion partition, 2Nx( N/2) + 2Nx(3N/2)
Definition: TypeDef.h:354
Int m_winTopOffset
Definition: TypeDef.h:913
FastInterSearchMode
Definition: TypeDef.h:637
asymmetric motion partition, (3N/2)x2N + ( N/2)x2N
Definition: TypeDef.h:357
Bool numUnitFieldBasedFlag
Definition: TypeDef.h:864
MVP_DIR
motion vector predictor direction used in AMVP
Definition: TypeDef.h:439
Void setWindowTopOffset(Int val)
Definition: TypeDef.h:930
up-right diagonal scan
Definition: TypeDef.h:475
Double chromaCrQpScale
Chroma Cr QP Scale (1.0:default)
Definition: TypeDef.h:902
Int m_winRightOffset
Definition: TypeDef.h:912
MVP of above right block.
Definition: TypeDef.h:443
general size SAD
Definition: TypeDef.h:390
reference list 0
Definition: TypeDef.h:372
Int TCoeff
transform coefficient
Definition: TypeDef.h:250
16xM SAD with step
Definition: TypeDef.h:401
SAOMode modeIdc
Definition: TypeDef.h:761
SliceConstraint
Definition: TypeDef.h:514
RefPicList
reference list index
Definition: TypeDef.h:370
64xM HAD with step
Definition: TypeDef.h:411
ChromaFormat
chroma formats (according to semantics of chroma_format_idc)
Definition: TypeDef.h:292
intra-prediction mode
Definition: TypeDef.h:365
unsigned char UChar
Definition: TypeDef.h:208
RDPCMSignallingMode
Definition: TypeDef.h:275
COEFF_SCAN_TYPE
coefficient scanning type used in ACS
Definition: TypeDef.h:473
16NxM SAD
Definition: TypeDef.h:396
Limit maximum number of largest coding tree units in a slice / slice segments.
Definition: TypeDef.h:517
chroma intra index
Definition: TypeDef.h:432
Double chromaCbQpScale
Chroma Cb QP Scale (1.0:default)
Definition: TypeDef.h:901
Bool checkSameRegion(RNSEIWindow const &rhs) const
Definition: TypeDef.h:969
Bool discontinuityFlag
Definition: TypeDef.h:867
CostMode
Definition: TypeDef.h:620
Int getRegionId() const
Definition: TypeDef.h:960
CI_IDX
index for SBAC based RD optimization
Definition: TypeDef.h:427
SAOModeNewTypes
Definition: TypeDef.h:549
Name
Definition: TypeDef.h:599
reference list 1
Definition: TypeDef.h:373
LumaLevelToDQPMode
Definition: TypeDef.h:742
Bool minutesFlag
Definition: TypeDef.h:874
float Float
Definition: TypeDef.h:214
const SAOBlkParam & operator=(const SAOBlkParam &src)
MVP of below left block.
Definition: TypeDef.h:444
next best index
Definition: TypeDef.h:430
MVP of left block.
Definition: TypeDef.h:441
Void setWindowLeftOffset(Int val)
Definition: TypeDef.h:926
COEFF_SCAN_TYPE scanType
Definition: TypeDef.h:812
InputColourSpaceConversion
Definition: TypeDef.h:316
asymmetric motion partition, ( N/2)x2N + (3N/2)x2N
Definition: TypeDef.h:356
Bool operator==(const TComPictureHash &other) const
Definition: TypeDef.h:823
unsigned long long UInt64
Definition: TypeDef.h:233
ScalingListMode
Definition: TypeDef.h:497
32xM SAD
Definition: TypeDef.h:394
SAOOffset & operator[](Int compIdx)
Definition: TypeDef.h:780
32xM HAD with step
Definition: TypeDef.h:410
32xM SSE
Definition: TypeDef.h:386
std::vector< UChar > hash
Definition: TypeDef.h:821
std::vector< RNSEIWindow > RNSEIWindowVec
Definition: TypeDef.h:979
Int secondsValue
Definition: TypeDef.h:870
Bool bTopEdge
indicates top edge
Definition: TypeDef.h:802
UShort whitePoint[2]
Definition: TypeDef.h:886
Window()
Definition: TypeDef.h:916
Tier
Definition: TypeDef.h:592
WeightedPredictionMethod
Definition: TypeDef.h:628
general size Hadamard with step
Definition: TypeDef.h:406
Bool operator!=(const TComPictureHash &other) const
Definition: TypeDef.h:839
4xM SAD
Definition: TypeDef.h:391
Int m_winBottomOffset
Definition: TypeDef.h:914
int Int
Definition: TypeDef.h:211
ComponentID
Definition: TypeDef.h:308
PredMode
supported prediction type
Definition: TypeDef.h:362
SPSExtensionFlagIndex
Definition: TypeDef.h:645
struct _LFCUParam LFCUParam
parameters for deblocking filter
Frame-based SSE.
Definition: TypeDef.h:422
StoredResidualType
Definition: TypeDef.h:448
Bool isEnabled() const
Definition: TypeDef.h:894
NalUnitType
Definition: TypeDef.h:664
Int getWindowRightOffset() const
Definition: TypeDef.h:927
DeblockEdgeDir
Definition: TypeDef.h:340
slices / slice segments span an integer number of tiles
Definition: TypeDef.h:519
asymmetric motion partition, 2Nx(3N/2) + 2Nx( N/2)
Definition: TypeDef.h:355
Bool fullTimeStampFlag
Definition: TypeDef.h:866
symmetric motion partition, Nx N
Definition: TypeDef.h:353
inter-prediction mode
Definition: TypeDef.h:364
Int timeOffsetLength
Definition: TypeDef.h:876
64xM SAD with step
Definition: TypeDef.h:403
double Double
Definition: TypeDef.h:213
16xM SSE
Definition: TypeDef.h:385
special mark
Definition: TypeDef.h:375
COEFF_SCAN_GROUP_TYPE
Definition: TypeDef.h:481
vertical first scan
Definition: TypeDef.h:477
64xM SAD
Definition: TypeDef.h:395
Void setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom)
Definition: TypeDef.h:934
32xM SAD with step
Definition: TypeDef.h:402
MATRIX_COEFFICIENTS
Definition: TypeDef.h:325
Void setRegionId(UInt const val)
Definition: TypeDef.h:961
Bool cntDroppedFlag
Definition: TypeDef.h:868
Bool checkSameID(RNSEIWindow const &rhs) const
Definition: TypeDef.h:973
SAOEOClasses
Definition: TypeDef.h:564
16xM HAD with step
Definition: TypeDef.h:409
symmetric motion partition, Nx2N
Definition: TypeDef.h:352
16xM SAD
Definition: TypeDef.h:393
picture symbol class
Definition: TComPicSym.h:83
UShort primaries[3][2]
Definition: TypeDef.h:885
Bool operator==(const Window &rhs) const
Definition: TypeDef.h:942
DFunc
distortion function index
Definition: TypeDef.h:379
64xM SSE
Definition: TypeDef.h:387
general size SAD with step
Definition: TypeDef.h:398