1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// Copyright (c) the JPEG XL Project Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
#ifndef LIB_JXL_COMMON_H_
#define LIB_JXL_COMMON_H_
// Shared constants.
#include <cstddef>
#ifndef JXL_HIGH_PRECISION
#define JXL_HIGH_PRECISION 1
#endif
// Macro that defines whether support for decoding JXL files to JPEG is enabled.
#ifndef JPEGXL_ENABLE_TRANSCODE_JPEG
#define JPEGXL_ENABLE_TRANSCODE_JPEG 1
#endif // JPEGXL_ENABLE_TRANSCODE_JPEG
// Macro that defines whether support for decoding boxes is enabled.
#ifndef JPEGXL_ENABLE_BOXES
#define JPEGXL_ENABLE_BOXES 1
#endif // JPEGXL_ENABLE_BOXES
namespace jxl {
// Some enums and typedefs used by more than one header file.
// Maximum number of passes in an image.
constexpr size_t kMaxNumPasses = 11;
// Maximum number of reference frames.
constexpr size_t kMaxNumReferenceFrames = 4;
enum class SpeedTier {
// Try multiple combinations of Glacier flags for modular mode. Otherwise
// like kGlacier.
kTectonicPlate = -1,
// Learn a global tree in Modular mode.
kGlacier = 0,
// Turns on FindBestQuantizationHQ loop. Equivalent to "guetzli" mode.
kTortoise = 1,
// Turns on FindBestQuantization butteraugli loop.
kKitten = 2,
// Turns on dots, patches, and spline detection by default, as well as full
// context clustering. Default.
kSquirrel = 3,
// Turns on error diffusion and full AC strategy heuristics. Equivalent to
// "fast" mode.
kWombat = 4,
// Turns on gaborish by default, non-default cmap, initial quant field.
kHare = 5,
// Turns on simple heuristics for AC strategy, quant field, and clustering;
// also enables coefficient reordering.
kCheetah = 6,
// Turns off most encoder features. Does context clustering.
// Modular: uses fixed tree with Weighted predictor.
kFalcon = 7,
// Currently fastest possible setting for VarDCT.
// Modular: uses fixed tree with Gradient predictor.
kThunder = 8,
// VarDCT: same as kThunder.
// Modular: no tree, Gradient predictor, fast histograms
kLightning = 9
};
} // namespace jxl
#endif // LIB_JXL_COMMON_H_
|