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)
21 extern "C" {
22 #endif
23 
30 #define JXL_BOOL int
32 #define JXL_TRUE 1
34 #define JXL_FALSE 0
35 
38 typedef enum {
44 
48 
52 
55 } JxlDataType;
56 
59 typedef enum {
70 
77 typedef struct {
86  uint32_t num_channels;
87 
91 
97 
101  size_t align;
103 
107 typedef enum {
116 
123 
128 
131 typedef struct {
134 
136  uint32_t bits_per_sample;
137 
140 } JxlBitDepth;
141 
144 typedef char JxlBoxType[4];
145 
146 #if defined(__cplusplus) || defined(c_plusplus)
147 }
148 #endif
149 
150 #endif /* JXL_TYPES_H_ */
151 
char JxlBoxType[4]
Definition: types.h:144
JxlBitDepthType
Definition: types.h:107
JxlDataType
Definition: types.h:38
JxlEndianness
Definition: types.h:59
@ JXL_BIT_DEPTH_FROM_PIXEL_FORMAT
Definition: types.h:115
@ JXL_BIT_DEPTH_FROM_CODESTREAM
Definition: types.h:122
@ JXL_BIT_DEPTH_CUSTOM
Definition: types.h:126
@ 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:131
uint32_t bits_per_sample
Definition: types.h:136
JxlBitDepthType type
Definition: types.h:133
uint32_t exponent_bits_per_sample
Definition: types.h:139
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