LIBJXL
types.h
Go to the documentation of this file.
1/* Copyright (c) the JPEG XL Project Authors. All rights reserved.
2 *
3 * Use of this source code is governed by a BSD-style
4 * license that can be found in the LICENSE file.
5 */
6
13#ifndef JXL_TYPES_H_
14#define JXL_TYPES_H_
15
16#include <jxl/jxl_export.h>
17#include <stddef.h>
18#include <stdint.h>
19
20#if defined(__cplusplus) || defined(c_plusplus)
21extern "C" {
22#endif
23
30#define JXL_BOOL int
32#define JXL_TRUE 1
34#define JXL_FALSE 0
35
38typedef enum {
44
48
52
56
59typedef enum {
70
77typedef struct {
86 uint32_t num_channels;
87
91
97
101 size_t align;
103
106typedef enum {
115
122
127
130typedef struct {
133
136
140
143typedef char JxlBoxType[4];
144
153typedef enum {
154 // after completed kRegularFrames
155 kFrames = 0,
156 // after completed DC (1:8)
157 kDC = 1,
158 // after completed AC passes that are the last pass for their resolution
159 // target.
160 kLastPasses = 2,
161 // after completed AC passes that are not the last pass for their resolution
162 // target.
163 kPasses = 3,
164 // during DC frame when lower resolution are completed (1:32, 1:16)
165 kDCProgressive = 4,
166 // after completed groups
167 kDCGroups = 5,
168 // after completed groups
169 kGroups = 6,
171
172#if defined(__cplusplus) || defined(c_plusplus)
173}
174#endif
175
176#endif /* JXL_TYPES_H_ */
177
char JxlBoxType[4]
Definition: types.h:143
JxlBitDepthType
Definition: types.h:106
JxlDataType
Definition: types.h:38
JxlEndianness
Definition: types.h:59
JxlProgressiveDetail
Definition: types.h:153
@ JXL_BIT_DEPTH_FROM_PIXEL_FORMAT
Definition: types.h:114
@ JXL_BIT_DEPTH_FROM_CODESTREAM
Definition: types.h:121
@ JXL_BIT_DEPTH_CUSTOM
Definition: types.h:125
@ JXL_TYPE_UINT16
Definition: types.h:51
@ JXL_TYPE_FLOAT
Definition: types.h:43
@ JXL_TYPE_FLOAT16
Definition: types.h:54
@ JXL_TYPE_UINT8
Definition: types.h:47
@ JXL_BIG_ENDIAN
Definition: types.h:68
@ JXL_LITTLE_ENDIAN
Definition: types.h:66
@ JXL_NATIVE_ENDIAN
Definition: types.h:64
Definition: types.h:130
uint32_t bits_per_sample
Definition: types.h:135
JxlBitDepthType type
Definition: types.h:132
uint32_t exponent_bits_per_sample
Definition: types.h:138
Definition: types.h:77
size_t align
Definition: types.h:101
uint32_t num_channels
Definition: types.h:86
JxlDataType data_type
Definition: types.h:90
JxlEndianness endianness
Definition: types.h:96